Event Control Time Control Statement - 2025.2 English - UG901

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2025-12-05
Version
2025.2 English

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 event (value change or edge) activates an always block if it 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.
  • If you substitute an asterisk (*) in the parentheses for a list of signals, you activate the always block on events on any of its signals as described.
  • In combinational processes, explicitly assign every signal in all branches of if or case statements. If you fail to do so, 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