Sensitivity List
Formal Definition
A list of signals a process is
sensitive to.
Simplified Syntax
(signal_name, signal_name, . . .)
Description
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
statement section.
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.
Examples
Example 1
DFF : process (CLK,RST)
begin
if RST = '1'
then
Q <= '0';
elsif
(CLK'event) and (CLK = '1')
then
Q <= D;
end if;
end process DFF;
-- DFF : process
-- begin
-- if RST = '1'
-- then Q <= '0';
-- elsif (CLK'event) and (CLK = '1')
-- then Q <= D;
-- end if;
-- wait on RST,
CLK;
-- 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.
Important Notes
-
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.
|