Variablenzuweisung

Sequentielle Anweisungen – Variablenzuweisung

PROCESS (a, b)
VARIABLE x : bit;
BEGIN
x := a AND b;

c <= NOT x;
END PROCESS;


PROCESS (a, b)
VARIABLE v1, v2 : integer := 0;
BEGIN
v1 := 3 * a + 7 * b ;
-- Variablenzuw.
v2 := a * b + 5 * v1 ;
-- Variablenzuw.
y <= v1 + v2 ; -- Signalzuweisung
END PROCESS;
Variablen sind nur innerhalb eines Prozesses gültig (Ausnahme: shared variables in der VHDL-Norm IEEE 1076-1993). Man beachte den Variablenzuweisungsoperator ('' := ''), der sich vom Signalzuweisungsoperator ('' <= '') unterscheidet.

Auch beim Zeitverhalten innerhalb eines Prozesses bestehen Unterschiede: Signalzuweisungen werden in einem Delta-Zyklus erst im Anschluss an die Prozessanweisungen ausgeführt, unabhängig von ihrer Position im Prozess. Besondere Aufmerksamkeit muß daher gegenseitig abhängigen Signal- und Variablenzuweisungen in einem Prozess gelten.