Suspend is a process that stops executing and waits either for an event or for a time period to elapse.
When a wait statement is encountered in a process, the process becomes suspended, i.e. it stops its execution until the condition supported by the wait statement is met. Depending upon the type of a wait statement there can be several conditions for resuming (continuing execution of) a suspended process:
timeout specified has expired (wait for statement)
a logical condition is met (wait until statement)
an event on a signal took place (wait on statement)
See wait statement for details.
Example 1
wait until CLK'event and CLK='0';
A process containing such a wait
statement will be suspended until a falling edge on the CLK signal
will be encountered.
If no condition is specified in a wait statement, the process suspends forever.