26. November 2018

Quellen des VHDL

In der Freizeit der langen Recherchen zur großen, unheilvollen und doch mächtigen Magie des VHDL stieß ich auf folgende Quellen welche mir bei meinem Abenteuer der Beschreibung der ALU, des Blockcodes und dergleichen behilflich war:

  • https://www.nandland.com/vhdl/modules/module-fifo-regs-with-flags.html
    Hautptsächlich um mir zu helfen wie man mit Arrays arbeitet.
  • http://vhdlguru.blogspot.com/2010/02/arrays-and-records-in-vhdl.html
    Eine Quelle zu arrays war einfach nicht ausreichend
  • https://de.wikibooks.org/wiki/VHDL-Tutorium
    Eine schöne und tolle Überblickszusammenfassung aller Dinge die wichtig sind.
  • https://stackoverflow.com/questions/17904514/vhdl-how-should-i-create-a-clock-in-a-testbench
    In der ersten Antwort findet man den meiner Meinung nach schönsten Weg den Clock für Simulationen zu generieren.
  • http://www.bitweenie.com/listings/vhdl-type-conversion/
    Das eine Bild welches Infos gibt über die Typenkonversion ist Gold wert. Da verzeiht man sogar die fehlerhaften HTML-Tags.
  • http://insights.sigasi.com/tech/vhdl-assert-and-report.html
    Hat mir erklärt wie das printf Equivalent funktioniert.
Sollte ich noch mehr finden was in die brauchbare Richtung geht wird es natürlich nachgereicht. Allgemein lässt sich sagen das nandland eine sehr gute Ressource ist, die mir allerdings erst bei meiner Suche nach dem Verständnis der Arrays zu Hilfe kam. Wer kann denn auch wissen, dass man zuerst den Typen des Arrays erstellen muss und danach erst das Signal-Array initialiseren kann.


type FIFO is array (0 to (4-1)) of std_logic_vector(0 to (8-1));
signal FIFO_Data : FIFO := (others =>(others => '0'));

Nur noch einmal ausgeschrieben.

Gleich der erste Edit:
Zum Debuggen wenn man mit Variablen arbeitet sehr gut geeignet. Einfach im process dazugeben und beim simulieren printet er den Wert. Zum Beispiel für die Variable FIFO_pointer:

report "FIFO_pointer = " & integer'image(FIFO_pointer);

Keine Kommentare:

Kommentar veröffentlichen