www.mikrocontroller.net

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


Autor: Jaast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: me (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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... :-)

Autor: Zonk-8000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Quecksilberverzögerungsleitungen

Ist das denn ROHS konform?
;-)

Autor: Jaast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: T. M. (xgcfx)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Jaast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt eine ganze Reihe von sinnvollen und überfälligen Verbesserungen:


Bsp.: sowas geht jetzt endlich :-D
type myArrayType is array (natural range <>) of std_logic_vector;

oder auch nett: case mit don't cares:
  case? sel is
  when "1---" =>
    o <= "11";
  when "-1--" =>
    o <= "10";
  when "--1-" =>
    o <= "01";
  when "---1" =>
    o <= "00";
  when others =>
    null;
  end case;

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö sowas
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:
process (all)
begin
...
end

Aber wer ISE zur Synthese nutzt ist eh selber schuld. Alle wichtigen 
Programme können VHDL 2008.

Und wer
type myArrayType is array (natural range <>) of std_logic_vector;
wirklich braucht, hat auch das Kleingeld für ordentliche Software.

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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)...

Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ....

Autor: dodger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Jaast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Jaast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.