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 />

- Syntax für Vektoren <strong>mit</strong> unbeschränkter Größe:<br />

TYPE array_type_name IS ARRAY ( index_type RANGE ) OF base_type;<br />

- base_type bezieht sich auf den Typ der Elemente des Feldes.<br />

- index_type bezieht sich auf den Typ der Indizierung der Elemente des Feldes. Der Index-Type<br />

muß ein diskreter, kann ansonsten aber ein beliebiger Datentyp sein. Er bestimmt die voreingestellte<br />

Indizierung (Default-Indizierung).<br />

- Ist das Feld beschränkt und der Index-Typ eindeutig, können bei der Deklaration der Index-Typ<br />

und das Schlüsselwort RANGE wegfallen.<br />

- Das Zeichen zeigt dabei die unbeschränkte Länge des Vektors im Rahmen des möglichen<br />

Bereichs des index_type an. Die Konkretisierung des Bereichs erfolgt erst bei der Deklaration<br />

durch die Schlüsselwörter TO bzw. DOWNTO.<br />

- Die unbeschränkten Vektortypen string und bit_vector sind im Package standard deklariert.<br />

- Beispiele:<br />

TYPE my_word IS ARRAY (0 TO 31) OF bit; -- Vektor <strong>mit</strong> 32 Elementen vom Typ bit<br />

TYPE bit_vector IS ARRAY (natural RANGE ) OF bit; -- vorab definierter Typ bit_vector<br />

-- Die möglichen Indexwerte sind durch den vorab definierten Typ natural gegeben.<br />

SIGNAL lowbyte : bit_vector (7 DOWNTO 0) ;<br />

-- Deklaration eines Signals vom Typ bit_vector <strong>mit</strong> Beschränkung auf 8 Elemente<br />

• Mehrdimensionale Felder:<br />

- Im mehrdimensionalen Fall muß für jede Dimension der Indexbereich angegeben werden.<br />

- Ein Vermischen der drei verschiedenen Indizierungsarten (unbeschränkt, beschränkt <strong>mit</strong> aufsteigender<br />

Indizierung und beschränkt <strong>mit</strong> abfallender Indizierung) ist erlaubt.<br />

- Syntax für mehrdimensionale Felder:<br />

TYPE array_type_name IS ARRAY<br />

( [ index_type RANGE ] range_low TO range_high { , further_index } ) OF base_type;<br />

TYPE array_type_name IS ARRAY<br />

( [ index_type RANGE ] range_high DOWNTO range_low<br />

{ , further_index } ) OF base_type;<br />

TYPE array_type_name IS ARRAY<br />

( index_type RANGE { , further_index } ) OF base_type;<br />

<strong>VHDL</strong>-GRUNDLAGEN 26

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!