Signalzuweisung

 

Sequentielle Anweisungen – Signalzuweisung

ARCHITECTURE behavioral1 OF anything IS
BEGIN
PROCESS (a, b)
BEGIN
y <= a NAND b AFTER 2.3 ns;

END PROCESS;
END behavioral1;

ARCHITECTURE behavioral2 OF anything IS
BEGIN
PROCESS (a, b)
BEGIN
IF (a AND b) = '1' THEN
y <= '0' AFTER 2.3 ns;

ELSE
y <= '1' AFTER 2.3 ns;

END IF;
END PROCESS;
END behavioral2;
Signalzuweisungen im sequentiellen Fall (innerhalb von Prozessen) können nur von der nicht-bedingten Form sein.

Bedingte Signalzuweisungen können im nebenläufigen Fall nur mit IF-THEN-ELSE-Anweisungen realisiert werden.

ARCHITECTURE behavioral OF testbench_stimuli IS
BEGIN
y_stimuli : PROCESS
BEGIN
y <= '1' AFTER 2.3 ns,
'0' AFTER 5.0 ns,
'1' AFTER 13.5 ns,
'0' AFTER 25.8 ns,
'1' AFTER 50.0 ns;


WAIT;
END PROCESS;
END behavioral;
Hier wird ein kompletter Signalverlauf zugewiesen. Dafür wird nur eine Anweisung innerhalb eines Prozesses benutzt, der exakt einmal (zum Zeitnullpunkt) durchlaufen wird. Die Verzögerungszeiten müssen in aufsteigender Reihenfolge stehen und beziehen sich auf den Zeitpunkt der Signalzuweisung (Zeitnullpunkt).