A list of signals a process is
(signal_name, signal_name, . . .)
The sensitivity list is a
compact way of specifying the set of signals, events on which may
resume a process. A sensitivity list is specified right after the
keyword process (Example 1).
The sensitivity list is equivalent to the wait
on statement, which is the last statement of the process
Only static signal names, for which reading is permitted, may appear
in the sensitivity list of a process, i.e. no function calls are
allowed in the list.
DFF : process (CLK,RST)
if RST = '1'
Q <= '0';
(CLK'event) and (CLK = '1')
Q <= D;
end process DFF;
-- DFF : process
-- if RST = '1'
-- then Q <= '0';
-- elsif (CLK'event) and (CLK = '1')
-- then Q <= D;
-- end if;
-- wait on RST,
-- end process DFF;
Here, the process is sensitive to the RST and CLK signals, i.e. an
event on any of these signals will cause the process to resume. This
process is equivalent to the one described in the comment section.
A process with a sensitivity list may not contain any explicit wait
statements. Also, if such a process statement is a parent of a
procedure, then that procedure may not contain a wait statement as well.