Electronic – VHDL process’ sensitivity list

digital-logichardwarehdlsynchronousvhdl

I do not understand the precise role of the sensitivity list in a process in VHDL.

For instance, consider an architecture with 3 input signals: a, b, c.

I read that if we write: PROCESS (a, b)

we get that the process is activated by any variation of a and b. Now I have 2 doubts:

1) What does the sentence "a process is activated" mean? A process is a hardware component, like a flip flop. I do not understand the meaning of "activation".

2) If we write inside the process something like: "if c = '1' then …", the process will depend also on c, although we have inserted only a and b in its sensitivity list. What is the difference? Does it determine a different hardware synthesis?

Best Answer

The process sensitivity list is primarily a hint to a simulator. It only triggers an evaluation of (i.e., "activates") the process when an event occurs on any signal that's listed there.

It does NOT affect synthesis at all, to my knowledge. Synthesis is based entirely on the behavior described inside the process block.