Hardware Reference
In-Depth Information
muss zum Operatorsymbol passen. Erlaubt sind alle in VHDL vordefinier-
ten Operatorsymbole +, -, *, /,
etc.
(siehe Tabelle 3.1). Neue Operatorsymbole können nicht definiert werden. Als
Beispiel soll der Additionsoperator »+« für den Datentyp bit mit der ODER-
Verknüpfung überladen werden:
abs
,
mod
,
not
,
and
,
or
,
xor
,
xnor
function "+"(a, b: bit ) return bit is
begin
return a or b;
end function;
Wenn jetzt in einem Ausdruck zwei Bit-Werte addiert werden, wird der Opera-
tor »+« durch die neu definiert Funktion, d.h. durch eine ODER-Verknüpfung,
ersetzt:
signal x1, x2, y: bit ;
...
y
x1 + x2 after 2 ns ; -- identisch mit y <= x1 or x2 after 2 ns
<=
3.1.7 Prozeduren
Eine Prozedur ersetzt in der aufrufenden Einheit eine Anweisung oder eine
Anweisungsfolge. Sie hat wie eine Funktion einen Namen und eine Parame-
terliste, aber keinen Rückgabewert:
procedure Prozedurname [(Parameterliste)] is
-- Vereinbarungen der Prozedur
{lokale_Variable/Konstante}
...
begin
-- Anweisungsfolge der Prozedur
Anweisung{Anweisung}
end procedure;
Dafür können die Parameter auch als Ausgabe oder Ein- und Ausgabe definiert
sein. Für die interne Beschreibung stehen alle imperativen Beschreibungsmit-
tel inkl. der Warteanweisung, die im Anweisungsteil von VHDL-Funktionen
nicht erlaubt ist, zur Verfügung. Der Kontrollfluss einer Prozedur kann, aber
muss nicht mit einer Rückkehranweisung enden. Eine optionale Rückkehran-
weisung hat keinen Rückgabewert.
Die Parameterliste einer Prozedur legt für alle Übergabeparameter den
Bezeichner, den Datentyp und optional den Objekttyp, die Übergaberichtung
sowie einen Standardwert fest:
[Objekttyp] Bezeichner{ , Bezeichner} : [Richtung] Typ [ := aw]{ , ... }
mit Objekttyp => signal | file und Richtung => in | out | inout
(aw - Anfangswert). Ohne Richtungsangabe sind die Parameter wie bei ei-
ner Funktion Eingabeparameter. Der Objekttyp ist für Eingabeparameter,
Search WWH ::




Custom Search