Hallo, ich habe heute in der Uni den "HDL Designer" von Mentor bekommen und habe damit ein bisschen rumgespielt. Der Syntaxchecker scheint mir wesentlich strenger zu sein, als der von ISE. So werden zB. die Preinitialisierungen von Signalen angemeckert (was in der ASIC Welt auch seine Berechtigung haben mag). Des weiteren bekomme ich immer einen Error, sobald ich, wie unten in Zeile 48, integer/positiv/natural verwende, mit dem Hinweis, diese seien nicht IEEE konform. Auch wenn das jetzt ein bissl kleinlich ist (weil korrekt synthetisiert wird es ja), wie lauten denn die konformen IEEE Typen? Ich habe mir schon einige andere Designs angeguckt, aber da werden diese Konstrukte auch verwendet. Non-Standard IEEE type "integer", used for signal "Cnt" 48 45 -- 46 architecture behav of clkdiv is 47 48 signal Cnt : integer range 0 to MAXCNT := 0; 49 signal Clktmp : std_logic := '0'; 50 51 begin Use IEEE types only. Subtypes must be based on IEEE standard types. --- Danke Carsten
Die Synthesetools können nicht den gesamten Sprachumfang von VHDL abbilden. Das einfachste Beispiel ist:
1 | internerwert <= eingangswert after 10 ns; |
Im Gegensatz dazu ist der Synthese-Check von ModelSim so sensibel, dass er syntaktische Beschreibungen, die die Synthesetools längst umsetzen können, noch als kritisch einstuft (z.B. Initialisierungwerte bei FPGAs). Das hatten wir schon im Beitrag "Sensitivity List Problem bei GENERATE-Konstrukten" Sowas
1 | signal Cnt : integer range 0 to MAXCNT := 0; |
verwende ich täglich und bisher klappts immer ;-)
> Die Synthesetools können nicht den gesamten Sprachumfang von VHDL > abbilden. Genau das habe ich aber eigentlich von HDL Designer erwartet. Ich hätte ja auch kein Problem mit einem Warning gehabt, aber deshalb direkt einen Error rauszugeben und die Task zu unterbrechen (habe da auf Simulieren geklickt) finde ich schon übertrieben.
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.