Vivado synthesis supports conditional expressions in VHDL-2019 as part of the synthesizable subset of the language. A conditional expression selects one result from ordered condition branches.
Syntax:
conditional_or_unaffected_expression ::= expression_or_unaffected {when condition else expression_or_unaffected } [ when condition ]