Forum: FPGA, VHDL & Co. richtige generics in vhdl


von daniel (Gast)


Lesenswert?

Hallo,

Heute hatte ich das Buch von Asheden in den Händen und habe
es hier und da gelesen. Mir ist aufgefallen, dass VHDL auch
echte generics hat und nicht nur Konstantenersätzung.
Sowas sollte also möglich sein:

[/vhdl]
entity vec is
    generic(type item);
    port(signal s : item);
end;

architecture vec of vec is
    type itemvec is array(integer range <>) of item;
begin
    -- mach was sinnvolles damit
end;
[vhdl]

ModelSim XE III was ich zusammen mit ISE geladen habe, weigert
sich den Code anzunehmen. Ich würde denken, dass Tools von 
MentorGraphics
State-Of-The-Art sind. Oder liegt es daran, dass die "kostenlosen"
Versionen abgespeckt sind und es nicht unterstützen? Oder liegt es
daran dass kein Kunde nach dem Feature verlangt?
Natürlich ist es von 0 Bedeutung für die Synthese und damit für die
Elektroleute, die erst glücklich sind, wenn ihr Werk auf dem FPGA
läuft. Aber an sich ist es für den Aufbau grösserer Modelle für 
Simulation
durchaus nützlich.
Das angepriesene generics, wo nur Konstanten ersetzt werden ist
ja nur ein Präprozessorlauf ala #define ... so nützlich es ist,
wird es wohl niemand sehr beeindrücken.

Grüsse, Daniel

von daniel (Gast)


Lesenswert?

.. und jetzt habe ich noch die tags vertauscht .. Asche auf mein Haupt 
:)

von Bernhard R. (barnyhh)


Lesenswert?

Hallo Daniel,
VHDL entwickelt sich von einem Standard zum nächsten weiter - das kennt 
man auch von der Programmiersprache "C", wo ggf. ähnliche Probleme 
auftauchen.

Die Implementierung "neuerer" Features in den einzelnen Tools (C: 
Compiler) dauert erheblich; siehe z.B. die GCC History. Das führt dazu, 
daß vielfach die neuen Features erst dann implementiert werden, wenn 
bereits die nächste Überarbeitung des Standards vor der Tür steht".

Bei VHDL kommt noch eins hinzu: Der volle Sprachumfang dient zur 
Beschreibung des Hardware-Verhaltens, nicht zur Generierung in einem 
(z.B.) FPGA. Nimm hier als Beispiel das signal assignment mit der 
Spezifizierung after x ns.

Grüßle
Bernhard

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.