11.10.2013 Aufrufe

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Hardware</strong>-<strong>Entwurf</strong> <strong>mit</strong> <strong>VHDL</strong><br />

Prof. Dr.-Ing. Stefan Wolter Elektrotechnik und Informatik<br />

- Im Deklarationsteil können lokale Typen, Untertypen, Variablen, Files, Aliases, Attribute und<br />

ab dem Standard von 1993 auch Gruppen deklariert werden. Ebenso können Attribute definiert,<br />

USE-Anweisungen angegeben und andere Funktionen und Prozeduren deklariert und definiert<br />

werden.<br />

- Der Funktionsteil besteht aus sequentiellen Anweisungen und kann weitere Unterprogrammaufrufe<br />

enthalten.<br />

- Die übergebenen Argumente können innerhalb der Funktion nur gelesen werden (Modus IN).<br />

- Eine Funktion muß an mindestens einer Stelle <strong>mit</strong> der RETURN-Anweisung verlassen werden.<br />

- Der Typ des Rückgabewertes in der Funktionsdefinition muß <strong>mit</strong> dem in der Funktionsdeklaration<br />

konform sein.<br />

- Beispiel für eine Funktion:<br />

-- Funktion zur Umwandlung eines Bitvektors beliebiger Länge in einen Integerwert<br />

FUNCTION vector_to_int (input_vector : bit_vector)<br />

RETURN integer IS<br />

VARIABLE int_val : integer := 0 ;<br />

BEGIN<br />

FOR i IN input_vector’RANGE LOOP -- Attribut ’Range liefert Indexbereich<br />

IF input_vector (i) = ’1’ THEN<br />

int_val := int_val + (2 ** i) ; -- Exponentiation für Stellenwertberechnung<br />

END IF ;<br />

END LOOP ;<br />

RETURN int_val ;<br />

END FUNCTION vector_to_int ;<br />

- Der Aufruf einer Funktion geschieht unter Angabe der aktuellen Argumentwerte. Für die Übergabe<br />

der Argumente ist (wie bei einer PORT MAP) die Zuordnung über eine „positional association“<br />

oder eine „named association“ möglich.<br />

- Wird beim Aufruf kein Aufrufwert angegeben, dann gilt der in der Funktionsdeklaration festgelegte<br />

Defaultwert.<br />

<strong>VHDL</strong>-GRUNDLAGEN 84

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!