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
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)
--pragma translate off hier kommt der Code rein, der nicht synthetisiert werden soll --pragma translate on
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
@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;
danke, werde es mit pragma_on, off machen! Genau das hatte ich gesucht. chris
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.