“Sensitivity List” vs “wait on”
if you put a sensitivity list in a process,
you can’t have a wait statement!
if you put a wait statement in a process,
you can’t have a sensitivity list!
A process with a sensitivity list, as shown in the process on the left, is implemented as a “WAIT ON sensitivity_list” at the bottom of the process (as shown in the process on the right). This allows every process with a sensitivity list to execute once at the beginning of a simulation and suspend at the bottom waiting for a relevant signal event to occur. Note that the VHDL standard prohibits the use of both process sensitivity lists and wait statements within the same process.