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?
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.
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.