www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Initialisierung von Signalen bei der Deklaration


Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde gerne einen std_logic_vector beim PowerUp z.B. über die 
Deklaration initialisieren:

signal a : std_logic_vector (1 downto 0) := "10";

Es handelt sich dabei um FFs, da sie nur getaktet beschrieben werden:
if (rising_edge(CLK)) then
    a <= b & c;
end if;

Ich habe für diese Abfrage keinen echten (passenden) Reset zur 
Verfügung, daher würde ich den Inhalt gerne beim PowerUp des FPGAs 
entsprechend initialisieren - um ungünstige Zustände direkt nach dem 
PowerUp zu vermeiden.

Meine Fragen lauten nun:
1.) Wird die Initialisierung wie oben angegeben auch wirklich 
synthetisiert oder dient sie nur für Testbenches?
2.) Falls es nicht synthetisiert werden sollte, wie müsste der Code 
angepasst werden um es zu erreichen?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1.) ja

Autor: Bescheidenheit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hängt vom synthese tool ab, nach meiner erfahrung ubernimmt XST (ab 
version 6.2 ?) die inits als power Up wert, synplicity nicht.

Power Up werte sind nicht Aufgabe der synthese sondern des mappers 
(Netzliste auf spezif. architecture abbilden. Im "reinen" VHDL kannst du 
die Werte nach synthese nicht zwingend festlegen (VHDL ist ursprünglich 
Simu, nicht Synthese-sprache). Wenn, dann mit Herstellerabhängigen 
Attributen. Besser ist im constraint file (xilinx *.ucf, alters *.acf)
Xilinx: hier heisst des constraint INIT.

Schau also in der Doku des FPGA Herstellers, im VHDL synthesis style 
guide
,constraint guide, oder library guide.

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.