Hardware Reference
In-Depth Information
gen. Die Tabelle ist eine Zeichenkettenkonstante, die mit den zu druckenden
Zeichen initialisiert ist. Aufzählungstypen haben zwei Attribute. Das Pos-
Attribut
'pos(x)« gibt die Listenposition des Wertes »x« in der Typ-
vereinbarung und das Val-Attribut »tAZ'val(p)« den Wert mit der Position
»p« zurück (tAZ - Aufzählungstyp, vgl. Abschnitt 3.2.2). Die Str-Funktion
berechnet zuerst aus dem Ausgabewert die Position in der Typvereinbarung
und gibt den zugehörigen Tabellenwert zurück. Achtung, die Positionszählung
der Elemente eines Aufzählungstyps beginnt mit »0« und der Indexbereich ei-
ner Zeichenkette mit »1«, so dass der Tabellenindex immer um »1« größer als
die Positionsnummer ist:
»tAZ
constant STL_Tab:string:= "UX01ZWLH-" ;
function str(x:std_ulogic) return string is
begin
return STL_Tab(std_ulogic'pos(x)+1);
end function ;
)
WEB-Projekt:Tuc/Ausgabe.vhdl
Druckbare Zeichen werden hauptsächlich deshalb als Aufzählungselemente
verwendet, damit die Werte der zugehörigen eindimensionalen Felder als Zei-
chenketten dargestellt werden können. Im nachfolgenden Beispiel werden eine
Konstante und eine Variable mit demselben von »1« aufsteigenden Indexbe-
reich und der Elementanzahl des Eingabevektors vereinbart. Die Konstante
wird mit dem Wert des Eingabevektors initialisiert. Die Variable hat den Typ
string und wird in einer Schleife elementweise mit den in Zeichen konvertier-
ten Elementwerten beschrieben:
function str(x:std_logic_vector) return string is
constant bv:std_logic_vector(1 to x'length):=x;
variable s:string(1 to x'length);
begin
for idx in bv'range loop
s(idx) := str(bv(idx));
end loop ;
return s;
end function ;
) WEB-Projekt:Tuc/Ausgabe.vhdl
Für reellwertige Zahlentypen ist die Textdarstellung, die das image-Attribut
liefert, insbesondere die Anzahl der Nachkommastellen, vom Wert abhängig.
Eine formatierte Darstellung mit einer festen Anzahl von Nachkommastellen
kann z.B. dadurch erzeugt werden, dass je eine Zeichenkette für den ganz-
zahligen Wert der Vorkommastellen und eine Zeichenkette für die Nachkom-
mastellen erzeugt wird. Für die Darstellung mit m Nachkommastellen wird
der Wert mit 10 m multipliziert und in eine ganze Zahl konvertiert. Der ganz-
zahlige Wert der Vorkommastellen ist der durch 10 m geteilte Quotient. Die
Zeichenkette der Nachkommastellen wird aus dem Betrag des Divisionsrests
der Division durch 10 m plus 10 m gebildet. Die Addition von 10 m stellt dabei
eine führende »1« voran und verhindert das Abschneiden führender Nullen.
 
Search WWH ::




Custom Search