The syntax for a case statement is:
case (expression)
value1: statement1;
value2: statement2;
value3: statement3;
default: statement4;
endcase
The default statement inside a case
statement is optional. The tool evaluates the values in order, so if both value1 and value3 are
true, it performs statement1.
In addition to case, there are also
the casex and casez
statements. These statements let you handle don't cares in the values
(casex) or tri-state conditions in the values
(casez).
If you use unique or priority case statements, Vivado synthesis treats them
as parallel_case and full_case, respectively.