Hardware Reference
In-Depth Information
Zahlentypen in Synthesebeschreibungen
Die Synthese bildet alle Datenobjekte durch Bitvektoren nach. Nicht negative
ganzzahlige Bereiche verwenden eine vorzeichenfreie Darstellung. Die Bitan-
zahl ergibt sich nach Gleichung 1.2 aus der Obergrenze des Wertebereichs.
Zahlenbereiche, die auch negative Werte einschließen, werden im Zweierkom-
plement mit der dafür erforderlichen Bitanzahl dargestellt. Ohne Wertebe-
reichsbeschränkung werden natural, dessen Wertebereich von null bis 2 31 1
reicht, als 31 Bit vorzeichenfreie Zahl und integer, dessen Wertebereich von
2 31 bis 2 31 1 reicht, als 32 Bit Zahl im Zweierkomplement dargestellt.
Wenn die Synthese kürzere Bitvektoren verwenden soll, ist der Wertebereich
des Zahlentyps oder des Datenobjekts entsprechend zu beschränken.
Zahlentypen mit stetigen Wertebereichen kann die Synthese nicht unter-
stützen, weil die erforderliche Darstellungsgenauigkeit nicht in der Typdefiniti-
on enthalten ist. Die Typdefinition erlaubt keine Rückschlüsse darüber, ob ein
reellwertiger Zahlentyp in Hardware als eine Festkomma- oder eine Gleitkom-
mazahl darzustellen ist. Für eine Festkommadarstellung ist die erforderliche
Anzahl der Nachkommastellen und für eine Gleitkommadarstellung die erfor-
derliche Größe der Mantisse nicht ablesbar (siehe Abschnitt 2.4.3 und 2.4.4).
Die Hardware-Darstellung reellwertiger Zahlen verlangt deshalb immer geeig-
nete Bitvektortypen. Die einzige Operation mit reellwertigen Zahlen, die die
Synthese unterstützt, ist die Berechnung von Bitvektorkonstanten aus Zah-
lenkonstanten zum Übersetzungszeitpunkt.
3.2.2 Aufzählungstypen
Ein Aufzählungstyp wird in VHDL durch eine Aufzählung seiner zulässigen
Werte beschrieben. Die Zuordnung der Wertemenge erfolgt mit dem Schlüs-
selwort »is« gefolgt von einer kommaseparierten Liste. Die Listenelemente
dürfen wie bei dem vordefinierten Aufzählungstyp
type bit is ( '0' , '1' );
druckbare Zeichen oder wie bei dem vordefinierten Typ
type boolean is ( false , true );
Bezeichner sein. Druckbare Zeichen haben den Vorteil, dass sich die Werte
der zugehörigen Vektortypen als Zeichenketten darstellen lassen. Unterschied-
liche Aufzählungstypen sind keine eng verwandten Datentypen. Für sie gibt
es nicht die implizit vereinbarten namensgleichen Konvertierungsfunktionen.
Dafür gibt es für die Konvertierung zwei auf alle Aufzählungstypen anwend-
bare Attribute. Das Attribut »
'pos(x)« gibt die Listenposition des Wer-
tes von x in der Definition des Aufzählungstyps »
tAZ
tAZ
« und das Attribut
»tAZ
'val(p)« gibt den Wert zur Position p in der Aufzählung zurück. In der
folgenden Konvertierung von boolean nach bit wird vom zu konvertierenden
Wert die Position und vom Zieltyp der Wert zur Position bestimmt:
Search WWH ::




Custom Search