prepared by P. Bakowski
Contents: entity declaration, architecture declaration, processes, sequential control, processes and assertions, processes and signal attributes, chaining delays in processes, concurrent procedures, exercises
The potential composition of architecture module comprises:
Any event on any signal listed frees the process.
Some examples of conditional control in processes:
select_process: process begin
Some attributes which define signals themselves :
What is the resulting waveform of the output (s) signal? Another example:
architecture accounting of nand_comp is
begin inst1:nand_gate port map(in1,in2,result); output<=result; account_process: -- counts the number of transactions on result signal
The following excl_process is sensitive to two input signals but its behavior depends on whether or not each of the inputs has changed.
architecture pfalling of sh_reg is begin shift_process: process variable reg: bit_vector(7 downto 0); begin
Several consecutive signal assignments may produce different effects depending on the value of signal and type of delays used in the process. When inertial signal assignment is made, all driver values in the queue past the current time are deleted. This is not the case of transport delays which maintains the previously (in time) assigned values.
More precise rule is given in the table below:
adder_proc(a,b,cin: in std_logic; s,cout: out std_logic); -- a,b,cin,s,cout : are formal parameters