|
VHDL 条件信号赋值语句
在 VHDL 中, 条件信号赋值语句是指根据不同条件将不同的表达式赋给目标信号的一种并行信号赋值语句 , 它是一种应用较为广泛的信号赋值语句。一般来说 , 条件信号赋值语句的语法结构如下所示 :
目标信号 <= 表达式 1 WHEN 条件 1 ELSE
表达式 2 WHEN 条件 2 ELSE
表达式 3 WHEN 条件 3 ELSE
……
表达式 n-1 WHEN 条件 n-1 ELSE 表达式 n;
程序执行到该语句时首先要进行条件判断 , 然后根据不同条件的判断情况来将不同的表达式赋给目标信号。如果条件满足, 那么就将条件前面的那个表达式的值赋给目标信号 ; 如果条件不满足 , 那么就去判断下一个条件。可以看出, 语法结构中的最后一个表达式没有条件 , 它表示当前面的所有条件都不满足时 , 程序就将表达式 n 的值赋给目标信号。
使用条件信号赋值语句需要注意以下几个方面 :
1) 只有当条件满足时 , 语句才能将这个条件前面的表达式赋给目标信号。
2) 语句是一种并行描述语句 , 它不能在进程和子程序中使用。
3) 语句对条件进行判断是有顺序的 , 位于语句前面的条件具有较高的优先级 0
4) 语句中最后一个表达式的后面不含有 WHEN 子句。
5) 语句中条件表达式的结果为 boolean 型数值 , 同时允许条件重叠。
6) 条件信号赋值语句不能进行嵌套 , 因此它不能生成锁存器。
|