Home > VHDL > Concurrent Statements > Wait Statements

Wait Statements :

The wait statement is specified in process. Wait statement supports conditions on 1) sensitivity list of the process statement, 2) condition clause, and 3) timeout clause. If wait statement not having a sensitivity list, then implicit sensitivity list can be considered. The second condition supported with the wait statement is the condition clause. The timeout clause define time during the process is executed. Single wait statement may be having lot of conditions.

The syntax is :
wait;
wait on
signal_listing;
wait until
conditions;
wait for
timings

Examples :

Examples1 :

signal S1,S2 :Std_Logic; 
 .
. . 
 process 
 begin 
 .
. . 
 wait on Test1, Test2; 
 end process; 
Example 2 :
wait until En = '1'; 
Example 3 :
wait for 50 ns; 
Example 4 :
process 
 begin 
 wait on A, B until
CLK = '1';
Multiple Wait Statements :
The
different wait statements are used in multiple wait statement. A single
statement may be having a signal, until
expression, and for time_expression. 
 Example 1 : 
 WAIT ON test, data UNTIL ((test
= TRUE) 
 or
(data =
TRUE)) FOR 10 msec;