Forum: FPGA, VHDL & Co. ISE 13.1 - VHDL 2008?


von Jaast (Gast)


Lesenswert?

Hallo,

weiß zufällig jemand, ob die ISE 13.1 jetzt endlich VHDL 2008 
unterstüzt?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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

von me (Gast)


Lesenswert?

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... :-)

von Zonk-8000 (Gast)


Lesenswert?

> Quecksilberverzögerungsleitungen

Ist das denn ROHS konform?
;-)

von Jaast (Gast)


Lesenswert?

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.

von T. M. (xgcfx)


Lesenswert?

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?

von Jaast (Gast)


Lesenswert?

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;

von D. I. (Gast)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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

von Harald (Gast)


Lesenswert?

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.

von D. I. (Gast)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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

von Ulf (Gast)


Lesenswert?

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

von dodger (Gast)


Lesenswert?

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

von Jaast (Gast)


Lesenswert?

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?

von Jaast (Gast)


Lesenswert?

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

von Duke Scarring (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.