PROCEDURE: Definition

Deklarations-Anweisungen – PROCEDURE

 

PROCEDURE hello IS
BEGIN


ASSERT false REPORT "HELLO world!" SEVERITY note;
END hello;
In der Prozedur-Definition muß die Schnittstellenbeschreibung wiederholt werden. In diesem Beispiel hat die Prozedur 'proc1' keine Argumente. Nach dem Schlüsselwort IS beginnt die eigentliche Prozedurbeschreibung. Sie kann aus allen möglichen sequentiellen Anweisungen bestehen.
Im Beispiel wird mit einer ASSERT-Anweisung "HELLO world!' ausgegeben.
PROCEDURE d_ff (CONSTANT delay : IN  time := 2 ns ;
SIGNAL d,clk : IN bit ;
SIGNAL q,q_bar : OUT bit ) IS
BEGIN


IF clk = '1' AND clk'EVENT THEN
q <= d AFTER delay ;
q_bar <= NOT d AFTER delay ;
END IF ;
END d_ff ;
In dieser Prozedur wird ein D-Flip-Flop beschrieben.
Argumente vom Typ IN (hier: 'd', 'clk', 'delay') können innerhalb der Prozedur nur gelesen werden; verändert werden können nur Argumenten vom Typ OUT oder INOUT ('q', 'q_bar'). Da hier keine RETURN-Anweisung enthalten ist, wird die Prozedur bei einem Aufruf bis zum Ende abgearbeitet.