Case Statements - 2024.1 English

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2024-05-30
Version
2024.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.