Home > VHDL > Concurrent Statements > with Select Statement

Selected Signal

Assignments (with Select Statement) :

In Selected signal assignment all choices of expression included. The others clause last choice. Ranges and selections are used. Overlap should be rejected. not allowed for choices to overlap. The behavior is also called selected signal assignment.
The syntax is :
with choice_expression select
target
<= { expression when choices, }
expression
when choices;

Examples :

Example 1 :

signal A, B, C, D, Z: BIT;
 signal CONTROL: bit_vector(1 downto
0);
 .
. .
 with CONTROL select
 Z <= A
when 00;
 B when 01;
 C when 10;
 D when 11;
 Example 2 : 
Process
Equivalent to Selected Signal Assignment
 process(CONTROL, A, B, C, D)
 begin
 case CONTROL is
 when 0
=> Z <= A;
 when 1 =>
Z <= B;
 when 2 =>
Z <= C;
 when 3
=> Z <= D;
 end case;
 end process;