VHDL编程:运算符、数据类型与语句的全面解析
1. VHDL运算符与赋值
VHDL运算符的优先级递增顺序如下表所示:
| 运算符类型 | 运算符 |
| — | — |
| 逻辑运算符 | AND, OR, NAND, NOR, XOR, XNOR |
| 关系运算符 | =, /=, <, <=, >, >= |
| 移位运算符 | SLL, SRL, SLA, SRA, ROL, ROR |
| 加法运算符 | +, –, & |
| 符号运算符 | +, – |
| 乘法运算符 | , /, MOD, REM |
| 杂项运算符 | *, ABS, NOT |
从这个表中可以得出一些结论。VHDL 只有七个优先级级别,逻辑运算符具有相同的优先级,因此混合 AND 和 OR 表达式时需要使用括号 () 进行分组。NOT 运算符优先级最高,不需要括号。VHDL 使用纯文本进行逻辑操作,无需记忆特殊符号,并且逻辑和按位操作使用相同的运算符。
以下是一个逻辑运算的示例,假设 a=‘1’; b=c=‘0’ 且 v=”0011”,u=”1010”:
| 类型 | 布尔表达式 | VHDL 代码 | 值 |
| — | — | — | — |
| 标量 | a * b′ + c | (a AND NOT b) OR c | 1 * 0′ + 0 = 1 |
| 向量 | v′ + u | NOT v OR u | (0011)′ + 1010 = 1110 |
VHDL 中有两个关系运
超级会员免费看
订阅专栏 解锁全文
1134

被折叠的 条评论
为什么被折叠?



