Hardware Reference
In-Depth Information
real:=real'low/ 10.0 ; wmax:real:=real'high/ 10.0 );
-- (2)
procedure read(promt:string; w: out tTyp );
-- (3)
(1,2) Einlesen von Zahlenwerten mit einstellbarer Wertebereichsbeschrän-
kung.
(3) Einlesen der Werte für Datenobjekte vom Typ boolean, std_ulogic
(Basistyp von std_logic), bit, bit_vector und std_logic_vector.
Die folgende Prozedur hält die Simulation bis zum Betätigen der Eingabetaste
an:
procedure read;
Die Prozedur
procedure CheckExit(pstr: inout tPString);
dient zum kontrollierten Simulationsabbruch bei einer Dialogeingabe. Wenn
sie am Anfang des Lesebands eines der Symbole »exit«, »Exit«, »stop«,
»Stop«, »halt« oder »Halt« findet, ruft sie die Funktion »StopSim« aus dem
Package »Tuc.StopSim_pack« auf, die das Flag für die Simulationsbeendi-
gung setzt und den Prozess, der »StopSim« aufruft, schlafen legt.
A.2.4 Arithmetische Operationen (Tuc.Numeric_Sim und
Tuc.Numeric_Synth)
Beide Packages definieren die Datentypen
type tUnsigned is array (natural range <>) of std_logic;
type tSigned
is array (natural range <>) of std_logic;
und überladen für diese die arithmetischen und logischen Operatoren. Für die
Simulation werden die arithmetischen und logischen Operatoren so überladen,
dass für ungültige Eingabewerte der Ergebniswert »ungültig« zurückgegeben
wird. Sonst wird über die standardisierten Konvertierungsfunktionen dieselbe
Operatorfunktion wie für den Typ unsigned bzw. signed aus dem standar-
disierten Package ieee.numeric_bit aufgerufen und das zurückkonvertierte
Ergebnis zurückgegeben. In der Package-Version für die Synthese fehlen die
Sonderbehandlungen für ungültige Operanden und Ergebnisse, weil diese in
einer Synthesebeschreibung nicht zulässig sind. Beim Übergang von einer Si-
mulationsbeschreibung mit ungültigen Werten zu einer Synthesebeschreibung
ist das Package auszutauschen.
• Konvertierungsfunktionen nach und von integer:
function int(x: tUnsigned) return integer;
function int(x: tSigned) return integer;
function to_tUnsigned(x:integer; n:natural) return tUnsigned;
function to_tSigned(x:integer; n:natural) return tSigned;
(
n - Bitanzahl des Rückgabewertes)
Search WWH ::




Custom Search