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;