Case Statements - 2022.1 English

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2022-06-06
Version
2022.1 English

Vivado synthesis supports case statements.

A case statement performs a comparison to an expression to evaluate one of several parallel branches.

°The case statement evaluates the branches in the order they are written.

°The first branch that evaluates to true is executed.

°If none of the branches matches, the default branch is executed.

Do not use unsized integers in case statements. Always size integers to a specific number of bits. Otherwise, results can be unpredictable.

casez treats all z values in any bit position of the branch alternative as a don't care.

casex treats all x and z values in any bit position of the branch alternative as a don't care.

The question mark (?) can be used as a don't care in either the casez or casex case statements.