Keyword: WAIT
The wait statement is used to temporarily suspend a process until:
(1) a specified time has passed ("wait for", followed by a time expression), or
(2) a specified condition is met ("wait until", followed by a Boolean expression), or
(3) an event occurs which affects one or more signals ("wait on", followed by a sensitivity list which specifies signals on each of which an event must occur before processing continues).
When a wait statement is used within a process, the process must not include a sensitivity list.
Example
CLOCK: process
variable c: std_ulogic := '0';
constant PERIOD: time := 50 ns;
begin
wait for PERIOD / 2;
c := not c;
clk <= c;
end process;
LRM
8.1
See also