Hardware Reference
In-Depth Information
(1) Zeichenbandobjekt mit einer Textzeile aus einer Datei laden.
(2) Inhalt löschen und neuen Text zuweisen.
(3) Inhalt löschen.
(4) Text anhängen.
(5) Konvertierung in eine Textdarstellung.
Die Grundfunktionen für das Abräumen von Zeichen und Zeichenketten von
einem Zeichenbandobjekt sind:
procedure
get_char(pstr:
inout
tPString; pos:
out
natural;
CharTab:string);
-- (1)
procedure
get_sym(pstr:
inout
tPString; pos:
out
natural;
SymbolTab:string; TZ:character:=' ');
-- (2)
procedure
skip(pstr:
inout
tPString; CharTab:string:=" ");
-- (3)
(1) Abräumen eines Zeichens aus der Zeichentabelle »CharTab« und Rück-
gabe der Zeichenposition.
(2) Abräumen eines Symbols aus mehreren Zeichen aus der Symboltabelle
»SymTab« und Rückgabe der Symbolposition. Mit »TZ« wird das Trenn-
zeichen, das in der Symboltabelle hinter jedem Symbol stehen muss, fest-
gelegt.
(3) Abräumen aller Trennzeichen. Die Zeichenkette »CharTab« legt die Men-
ge der Trennzeichen fest, die beim Aufruf vom Zeichenbandobjekt abge-
räumt werden. Standardmäßig ist das nur das Leerzeichen.
Auf diesen beiden Methoden setzen die überladenen Get-Prozeduren zum Ab-
räumen von Zeichenketten mit den einzulesenden Werten auf:
procedure
get(pstr:
inout
tPString; w:
out
integer; wmin:
integer:=integer'low+
1
; wmax:integer:=integer'high);
-- (1)
procedure
get(pstr:
inout
tPString; w:
out
real; wmin:
real:=real'low/
10.0
; wmax:real:=real'high/
10.0
);
-- (2)
procedure
get(pstr:
inout
tPString; w:
out
time;
wmin:time:=
0
fs; wmax:time:=
1
sec);
-- (3)
procedure
get(pstr:
inout
tPString; w:
out tTyp
);
-- (4)
(1-3) Einlesen von Zahlen- und Zeitwerten mit einstellbarem Wertebereich.
(4) Einlesen der Werte von Datenobjekten vom Typ bit, boolean, std_u-
logic, bit_vector und std_logic_vector.
Die nachfolgenden Prozeduren sind für die Dialogeingabe in Testrahmen vor-
gesehen. Sie geben in einer Schleife solange den Prompt-Text mit einer Ein-
gabeaufforderung aus, bis entweder ein zulässiger Datenwert oder ein Symbol
zur Simulationsbeendigung eingegeben wird. Die Symbole für die Simulati-
onsbeendigung sind »exit«, »Exit«, »stop«, »Stop«, »halt« oder »Halt«:
procedure
read(promt:string; w:
out
integer; wmin:integer:=
integer'low+
1
; wmax:integer:=integer'high);
-- (1)
procedure
read(promt:string; w:
out
real; wmin: