Hardware Reference
In-Depth Information
Abschnitt 3.2). Die nachfolgende Tabelle zeigt die impliziten Anfangswerte
der eingeführten elementaren Datentypen aus Abschnitt 1.2.1.
bit std_logic boolean character
integer
natural positive
'0'
'U'
false
nul
integer'low
0
1
('low - Attribut, das den kleinsten darstellbaren Wert eines Zahlentyps zurückgibt).
Bei der Vereinbarung von Bitvektoren ist der Indexbereich anzugeben. Die
Vereinbarung kann aufsteigend oder abfallend erfolgen, z.B.:
signal
s:std_logic_vector(
0
to
3
):=
"1100"
;
signal
f:std_logic_vector(
3
downto
0
):=
"1100"
;
Für std_logic_vector ist der Indexbereich auf den Wertebereich von na-
tural beschränkt. Bei aufsteigender Vereinbarung wird bei der Zuweisung
einer Bitvektorkonstante der erste Bitwert der Konstanten an das Vektorele-
ment mit dem kleinsten und der letzte Bitwert an das Vektorelement mit dem
größten Index zugewiesen. Bei einer absteigenden Vereinbarung ist die Zuord-
nung umgekehrt, der erste Bitwert wird wie bei der Zahlendarstellung dem
Vektorelement mit dem größten Index zugeordnet. Die beiden Signalverein-
barungen oben weisen den einzelnen Vektorelementen zueinander gespiegelte
Anfangswerte zu:
Vektorelement s(0) s(1) s(2) s(3)
f(3) f(2) f(1) f(0)
Anfangswert
1
1
0
0
1
1
0
0
Ohne die Angabe des Anfangswertes werden die Vektorelemente mit den typ-
spezifischen Anfangswerten initialisiert. Für Elemente vom Typ bit ist das
»0« und für Elemente vom Typ std_logic »U«.
Textausgabe
Bereits die Kontrolle der Anfangswerte, mit denen die Datenobjekte zum
Simulationsbeginn initialisiert werden, erfordert eine Simulation mit Text-
ausgaben. Der vordefinierte Datentyp für Einzelzeichen ist character. Das
ist ein Aufzählungstyp. Der Wertebereich ist der Latin-1-Zeichensatz, der wie-
derum den ASCII-Zeichensatz als Teilmenge enthält (siehe Anhang A.1.4,
Abb. A.1). Die großen deutschen Umlaute »Ä«, »Ö« und »Ü« und das Zei-
chen für »ß« fehlen und sind selbst in Kommentaren verboten. Die kleinen
Umlaute »ä«, »ö« und »ü« sind erlaubt. Alle druckbaren Zeichen sind in ein-
fache Hochkommas eingerahmt. Die nicht druckbaren Zeichen, z.B. »LF« für
den Zeilenvorschub, sind symbolische Konstanten. Zeichenketten sind eindi-
mensionale Felder von Zeichen:
type string is array (positive range <>) of
character
;