(2) 条件信号赋值语句
条件赋值语句指定在不同的条件下对信号进行不同的赋值。
信号<=选择项
波形1 when 条件1 else
……
波形n-1 when 条件n-1 else
波形n;
等价于含有一个if语句的进程:
process (敏感信号表)
begin
if 条件1 then
信号 <= 选择项 波形1;
……
elsif 条件n-1 then
信号 <= 选择项 波形n-1;
else
信号 <= 选择项 波形n;
end if;
end process;
例:
y <= transport
'1' after Delay when A= 1 and B= 1 else
'0' after Delay ;
等价于
process (A, B)
begin
if A= 1 and B= 1 then
y <= transport 1 after Delay;
else
y <= transport 0 after Delay ;
end if;
end process;
|