Hardware Reference
In-Depth Information
2.4.5 Zahlendarstellung und -verarbeitung in VHDL
In VHDL können Zahlenwerte durch Zahlentypen oder Bitvektortypen dar-
gestellt werden. Zahlentypen stellen die Werte abstrakt und Bitvektortypen
stellen sie in der Bitcodierung der Schaltung dar. Der vordefinierte Zahlentyp
type integer is range -2**31 to ( 2 ** 31 )- 1;
stellt seine Werte in der Hardware als 32-Bit-Vektor im Zweierkomplement
dar. Von integer sind zwei wertebereichsbeschränkte Untertypen abgeleitet:
subtype natural is integer range 0 to integer'high;
subtype positive is integer range 1 to integer'high;
Deren Werte werden in der Hardware durch vorzeichenfreie 31-Bit-Vektoren
dargestellt. In Abschnitt 3.2.1 wird später gezeigt, dass in VHDL beliebig viele
weitere ganzzahlige Datentypen und Untertypen mit beliebigen, an die jewei-
lige Aufgabenstellung anpassbaren Wertebereichen vereinbart werden können,
die in der Hardware mit der entsprechenden Bitanzahl und Bitcodierung dar-
gestellt werden. Für alle Zahlentypen sind die arithmetischen Operationen in
Tabelle 2.3 definiert.
Tabelle 2.3. Arithmetische Operatoren für Zahlentypen
Potenzieren a b
ab
+a
Identität
ab
Multiplikation
a
Negation
a=b
Division
abs a Betrag jaj
a rem b Divisionsrest von a b
a + b Addition
a mod b Modulo-Operation
ab Subtraktion
Für Bitvektortypen sind die arithmetischen Operatoren selbst zu program-
mieren. VHDL bietet dazu die Möglichkeit, jeden vordefinierten Operator für
beliebige Datentypen zu überladen. Da die Operationsausführung von der
Zahlendarstellung abhängt, ist für jede Art der Zahlendarstellung ein eige-
ner Bitvektortyp zu definieren
10
. Das Buch verwendet für die Darstellung
vorzeichenfreier ganzer Zahlen und für die Zweierkomplementdarstellung vor-
zeichenbehafteter ganzer Zahlen die beiden mit std_logic_vector eng
verwandten Bitvektortypen
type tUnsigned is array (natural range <>) of std_logic;
type tSigned is array (natural range <>) of std_logic;
10 Das ist die einzige Möglichkeit, die Operatorfunktionen für unterschiedliche Zah-
lendarstellungen unterschiedlich zu überladen.
 
Search WWH ::




Custom Search