Select |
LRM §9.5.2. |
Select is a concurrent signal assignment which assigns expressions depending on the value of the expression at the top.
[ label: ] with expression select target_signal <= [ options ] expression [ after time_expression ] when choices; options = guarded | transport | reject time_expression inertial choices = choice | ... choice = constant_expression | range | others -- the last choice
Select is a concurrent statement which assigns one of several expressions to a signal, depending on the value of the expression at the top. Select is equivalent to a process containing a case statement.
with Addr select A <= '0' when 1, A <= '1' when 2, A <= '0' when 3, A <= '1' when others;