richtige generics in vhdl

Gast #1220794
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
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.