ISE 13.1 - VHDL 2008?

Gast #2097635
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;
Moderator (Firma: Titel) Persönliche Seite #2097807
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
Gast #2098049
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.
Moderator (Firma: Titel) Persönliche Seite #2098220
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)...
Gast #2098340
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...
Gast #2098387
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?
Gast #2098393
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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren