Event Control Time Control Statement - Event Control Time Control Statement - 2022.2 English - UG901

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2022-11-16
Version
2022.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 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