Previously in VHDL, if-generate
statements took the form of the
following:
if condition generate
--- statements
end generate;
An issue appears if you want to have different conditions; you would need to write
multiple generates and be very careful with the ordering of the generates. VHDL-2008
supports if-else-if
generate statements.
if condition generate
---statements
elsif condition2 generate
---statements
else generate
---statements
end generate;
In addition, VHDL-2008 also offers case-generate
statements:
case expressions generate
when condition =>
statements
when condition2 =>
statements
end generate;