DISCONNECT

Deklarations-Anweisungen – DISCONNECT

ARCHITECTURE behavioral OF guard IS
SIGNAL sig1 : bit REGISTER := '0';
DISCONNECT sig1 : bit AFTER 2.5 ms;

BEGIN
sig1_assignment : BLOCK (clk = '1')
BEGIN
sig1 <= GUARDED d;
END BLOCK;
END behavioral;
Die DISCONNECT-Anweisung wird im Zusammenhang mit kontrollierten Signalen benutzt. Die Kennzeichnung eines kontrollierten Signals erfolgt in der Deklaration mit den Schlüsselwörter BUS oder REGISTER. Ist die kontrollierende Bedingung bei der Signalzuweisung nicht erfüllt, so wird dem Signal sofort NULL zugewiesen ("abgeschaltet'). Mit DISCONNECT kann eine expizite Verzögerungszeit vor der NULL-Zuweisung angegeben werden. So wird 'sig1' erst nach 2.5 ms abgeschaltet, wenn die kontrollierende Bedingung nicht zutrifft.
SIGNAL sig1 : bit BUS := '1';
SIGNAL sig2 : bit REGISTER := '0';
SIGNAL sig3 : bit REGISTER := '1';
DISCONNECT sig1 : bit AFTER 2.5 ms;

DISCONNECT OTHERS : bit AFTER 5 ms;
Jedes kontrollierte Signal darf nur eine DISCONNECT-Anweisung erhalten. Die Schlüsselwörter OTHERS und ALL beschreiben alle noch nicht explizit mit einer Abschaltverzögerung versehenen Signale ('sig2', 'sig3').