www.mikrocontroller.net

Forum: FPGA, VHDL & Co. write für simulation


Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Tobias O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
--pragma translate off
 hier kommt der Code rein, der nicht synthetisiert werden soll
--pragma translate on

Autor: Jörn Kaipf (joern)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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;

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke,
werde es mit pragma_on, off machen!
Genau das hatte ich gesucht.

 chris

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.