The action of a wait
statement when the
conditions for which the wait
statement is waiting are satisfied.
A suspended process (i.e. a process waiting for a condition specified
in a wait statement to be met) is resumed when the condition is met.
The execution of resumed process is started immediately in the
current simulation cycle (time), unless the process is not postponed.
In the latter case, the process execution is postponed to the last
simulation cycle at the current simulation time.
A resumed process executes its statements sequentially in a loop
until a wait statement is encountered. When this happens, the process
becomes suspended again.
process (CLK, RST)
Q <= '0';
(CLK'event) and (CLK='1')
Q <= D;
In this Example 1
of a D flip-flop, the process is sensitive to the two signals: CLK
and RST. It will resume when any of the two signals will change its
value. Resuming of the process will cause the execution of the 'if'
statement (which his the only one statement in this process) and then
the process will suspend again, waiting for a change on either RST or CLK.