Signalzuweisung (selected signal assignment)

Nebenläufige Anweisungen – Signalzuweisung (selected signal assignment)

ARCHITECTURE behavioral OF signals IS
SIGNAL sig_a : std_ulogic;
BEGIN

ssa: WITH sel SELECT
sig_a <= '1', '0' AFTER 2 ns WHEN 1,
'0', '1' AFTER 3 ns WHEN 2,
'Z' WHEN OTHERS;


END behavioral;
Das ist ein Beispiel für eine bedingte nebenläufige Signalzuweisung (selected signal assignment).
Sie basiert auf mehreren Zuweisungsalternativen, die durch die den Wert von 'sel' gesteuert wird. Ist 'sel' gleich '1', so wird 'sig_a' zuerst der Wert '1' und nach 2 ns der Wert '0' zugewiesen. Trifft 'sel = 2' zu, wird die zweite Alternative genommen.
Werden mit den einzelnen Auswahlalternativen nicht alle möglichen Werte von 'sel' abgefragt, so muß das Schlüsselwort OTHERS gesetzt werden, um die nicht explizit abgefragten Werte zu erfassen. Im Beispiel wird dann 'sig_a' der Wert 'Z' zugewiesen.