Hardware-Entwurf mit VHDL
Hardware-Entwurf mit VHDL
Hardware-Entwurf mit VHDL
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