The following statements describe modeling combinatorial logic with the event control time control statement [@ (at)].
•A combinatorial always block has a sensitivity list appearing within parentheses after always@.
•An always block is activated if an event (value change or edge) appears on one of the sensitivity list signals.
•The sensitivity list can contain:
°Any signal that appears in conditions, such as if or case.
°Any signal appearing on the right-hand side of an assignment.
•By substituting a * (asterisk) in the parentheses for a list of signals, the always block is activated for an event in any of the always block's signals as described.
•In combinatorial processes, if a signal is not explicitly assigned in all branches of if or case statements, Vivado synthesis generates a latch to hold the last value.
•The following statements are used in a process:
°variable and signal assignments
°if-else statements
°case statements
°for-while loop statements
°function and task calls