write für simulation

Gast #388501
Lesenswert?

Hallo,
ich habe ein normalen VHDL code geschrieben.
Für die simulation soll jetzt daten aus einer Datei gelesen bzw
geschrieben werden.
write und read sind ja nicht synthetisierbar ? ...
jetzt dacht ich ich kann mit einer constanten bestimmen ob write und
read ausgeführt wird , nämlich so :

constant  SIM : boolean := true;


simulation:
if SIM generate
begin

    write(L_OUT,CONV_INTEGER(SCR_WORD));    --
    writeline(REG,L_OUT);
end generate;

allerdings kommt immer für die Zeile
if SIM generate
der fehler unexpected generate, expecting then ??

was mach ich falsch ?

  Chris
Gast #388502
Lesenswert?

Grad die Bücher nicht bei der Hand, bin mir also nicht 100% sicher.

-ist das begin dort richtig? oder kommt generate nicht ohne das aus?
-darf man write/writeline ausserhalb eines Prozesses verwenden?
-leigt dein generate innerhalb einer architecture und ausserhal eines
Processes
(sonst klappet es wohl nicht)
#388504
Lesenswert?

Ich verstehe deine Frage nicht ganz. Hast du deinen VHDL Code der
synthetisiert werden soll und deine TB in einer Datei?

Ich halte es so, dass mein zu synthetisierender Code in einer Datei ist
und meine TB in einer anderen. In der TB lade/speiche ich meine Daten
und muss nicht mit Konstanten oder Pragmas zwischen Sim und Syn
umschalten

Gruß
Jörn
Gast #388505
Lesenswert?

@write und read sind ja nicht synthetisierbar ? ...

Natürlich nicht. Den sie wissen nicht was sie tun....

Ich sehe das so wie FPGAküchle. Du solltest schreiben:

begin
-- pragma translate off
simulation: if SIM generate
    write(L_OUT,CONV_INTEGER(SCR_WORD));    --
    writeline(REG,L_OUT);
-- pragma translate off
end generate;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren