Hallo, weiß zufällig jemand, ob die ISE 13.1 jetzt endlich VHDL 2008 unterstüzt?
Jaast schrieb: > jetzt endlich VHDL 2008 unterstüzt? Was davon denn genau? Nur zur Erinnerung: die ISE unterstützt in der Synthese ja noch nicht mal das uralte VHDL Statement wait for 10 ms...
Lothar Miller schrieb: > Nur zur Erinnerung: die ISE unterstützt in der Synthese ja noch nicht > mal das uralte VHDL Statement wait for 10 ms... Das liegt doch nur daran, dass Xilinx es einfach nicht auf die Reihe bekommt, Quecksilberverzögerungsleitungen auf einen FPGA zu integrieren... :-)
Was hat wait for ... jetzt mit VHDL 2008 zu tun :-P Ich errinere mich, dass Xilinx das für diese Version versprochen hat. Auch wenn SystemVerilog angeblich Priorität hat.
Jaast schrieb: > Ich errinere mich, dass Xilinx das für diese Version versprochen hat. Was Xilinx verspricht, muss nicht unbedingt etwas mit der Realität, wie wir sie kennen, zu tun haben ;-) Welche Features von VHDL'08 liegen dir denn besonders auf dem Herzen?
Gibt eine ganze Reihe von sinnvollen und überfälligen Verbesserungen: Bsp.: sowas geht jetzt endlich :-D
1 | type myArrayType is array (natural range <>) of std_logic_vector; |
oder auch nett: case mit don't cares:
1 | case? sel is |
2 | when "1---" => |
3 | o <= "11"; |
4 | when "-1--" => |
5 | o <= "10"; |
6 | when "--1-" => |
7 | o <= "01"; |
8 | when "---1" => |
9 | o <= "00"; |
10 | when others => |
11 | null; |
12 | end case; |
Jaast schrieb: > type myArrayType is array (natural range <>) of std_logic_vector; Das ging doch schon vor 2008? Ich meine sowas schon öfters verwendet zu haben
D. I. schrieb: > Das ging doch schon vor 2008? Ja, und ich meine problemlos. Fast genauso ist doch ein std_logic_vector definiert... Jaast schrieb: > oder auch nett: case mit don't cares: Das geht doch schon immer in der Synthese.... Blöd ist, dass das in der Simulation nicht geht, denn '-' ist ein definierter Wert von std_logic: 'U': uninitialized. This signal hasn't been set yet. 'X': unknown. Impossible to determine this value/result. '0': logic 0 '1': logic 1 'Z': High Impedance 'W': Weak signal, can't tell if it should be 0 or 1. 'L': Weak signal that should probably go to 0 'H': Weak signal that should probably go to 1 '-': Don't care. Da kann vom Simulator nicht einfach irgend was anderes stattdessen eingesetzt werden... :-o
Nö sowas
1 | type myArrayType is array (natural range <>) of std_logic_vector; |
geht nicht. War immer schon bei variablen Typendefinitionen nervig. Keine Ahnung warum das jetzt erst reingekommen ist. Aber noch besser finde ich das sowas jetzt erlaubt ist:
1 | process (all) |
2 | begin
|
3 | ...
|
4 | end
|
Aber wer ISE zur Synthese nutzt ist eh selber schuld. Alle wichtigen Programme können VHDL 2008. Und wer
1 | type myArrayType is array (natural range <>) of std_logic_vector; |
wirklich braucht, hat auch das Kleingeld für ordentliche Software.
Harald schrieb: > Nö sowas > type myArrayType is array (natural range <>) of std_logic_vector; > > geht nicht. nun gut der std_logic_vector ist unconstrained, ... aber prinzipiell geht sowas schon
Harald schrieb: > Aber noch besser finde ich das sowas jetzt erlaubt ist: > process (all) Die Synthese macht das implizit schon ewig. Da wurden schon immmer einfach die nötigen Signale automatisch hinzugefügt, und dann eine nette Info ausgegeben, dass die Liste eigentlich unvollständig sei. Dieses process (all) statement braucht also eigentlich ausschliesslich der Simulator. Weil ja auch nur der die Sensitivliste überhaupt braucht... Und was viel schlimmer ist: mit diesem process (all) muss sich keiner mehr fragen, ob ein bestimmtes Signal überhaupt (funktional) in den Prozess gehört. Oder wenn das später einer liest, dann kann er den gesamten Prozess durchackern (na gut, es gibt ja F3)... Harald schrieb: > Aber wer ISE zur Synthese nutzt ist eh selber schuld. Das sind dann also locker 90% der Xilinx-Anwender. Komm runter von deinem Gaul... :-/ Oder meintest du das so, dass man besser Quartus zur Synthese nehmen sollte? > Und wer > type myArrayType is array (natural range <>) of std_logic_vector; > wirklich braucht, hat auch das Kleingeld für ordentliche Software. Wer das wirklich braucht, der muss sich schon mal fragen lassen: Warum ging das früher auch ohne? Oder meintest du nur: Wer sich damit das Leben erleichtern kann, muss eben auch das Kleingeld für ordentliche Software ausgeben. Kurz: diese beiden billigen und herablassenden Sätze hättest du dir tatsächlich sparen können... :-/ Am Rande: Dir ist schon klar, dass deine "ordentliche" Software heutzutage wegen der kostenlosen Xilinx-Software nur noch ein "Kleingeld" kostet? Frag mal die alteingesessenen Kollegen, welche Beträge da früher für Lizenzen über den Tisch gingen (und rechne das mal auf heutige Preise um)...
>Hallo, >weiß zufällig jemand, ob die ISE 13.1 jetzt endlich VHDL 2008 >unterstüzt? Wirksamerer Ansatz: Frag doch über deinen FAE bei Xilinx an ....
zur frage des synthesetools: was spricht denn gegen xst? was benutzt ihr denn noch? synplify vllt.? mit welchen konkreten vorteilen? ich sehe bisher nur, dass synplify ein wenig schneller synthetisiert, sonst keinerlei vorteile. eher sogar nachteile, weil manche projekte timing-constraints mit netzlisten von synplify nicht eingehalten werden können, mit xst jedoch schon...
Lothar Miller schrieb: > Und was viel schlimmer ist: mit diesem process (all) muss sich keiner > mehr fragen, ob ein bestimmtes Signal überhaupt (funktional) in den > Prozess gehört. Oder wenn das später einer liest, dann kann er den > gesamten Prozess durchackern (na gut, es gibt ja F3)... Ist genau wie if (a=3){..} in C Fehler die man ewig sucht ... Lothar Miller schrieb: >> Und wer >> type myArrayType is array (natural range <>) of std_logic_vector; >> wirklich braucht, hat auch das Kleingeld für ordentliche Software. > Wer das wirklich braucht, der muss sich schon mal fragen lassen: > Warum ging das früher auch ohne? Komische Frage - vielleicht weil beim Entwurf einer Sprache sowas schonmal vergessen wird?
Als Faustregel gilt immernoch Synplify ist dann umso effizienter, je größer das Design. Es reicht aber nicht einfach die Synthese von ISE durch Synplify zu ersetzten. Vielmehr sollte man den "Workflow" komplett in Synplify verlagern. Außerdem gibt es noch einen weiteren Vorteil: Im ISE gibt es die neuen Synthesewerkzeuge nur für die neuen FPGAs. VHDL 2008 / System Verilog wird also nie für einen Spartan 3 oder Virtex 5 unterstützt. Nennt sich dann Marketing :-( dodger schrieb: > zur frage des synthesetools: was spricht denn gegen xst? was benutzt ihr > denn noch? synplify vllt.? mit welchen konkreten vorteilen? ich sehe > bisher nur, dass synplify ein wenig schneller synthetisiert, sonst > keinerlei vorteile. eher sogar nachteile, weil manche projekte > timing-constraints mit netzlisten von synplify nicht eingehalten werden > können, mit xst jedoch schon...
Jaast schrieb: > Im ISE gibt es die neuen Synthesewerkzeuge nur für die neuen FPGAs. VHDL > 2008 / System Verilog wird also nie für einen Spartan 3 oder Virtex 5 > unterstützt. > > Nennt sich dann Marketing :-( Naja, mit den "alten" Dingern läßt sich halt mit aufgepeppter Software kein zusätzliches Geld mehr verdienen. Duke
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.