SystemVerilog逻辑函数实现及逻辑符号含义咨询
逻辑表达式符号疑问解答
1. a与a的区别是什么?
- 在数字电路规范和SystemVerilog语法中,
~是按位取反运算符,它的位置有明确规则:~a是标准写法,表示对变量a取反(即$\overline{a}$),完全符合语法规范,是所有硬件设计场景中通用的表达。a~属于不规范的书写方式,正规的数字电路文档或SystemVerilog代码里不存在这种写法,几乎可以肯定是排版失误或笔误,实际想表达的应该是~a。
2. 符号ab~应如何理解?
- 数字电路逻辑表达式里,变量直接拼接表示逻辑与(AND),所以
ab~的正确解读是:a为原变量,~作用在b上表示对b取反($\overline{b}$),整体表达a 和 非b 的逻辑与,即 $a \cdot \overline{b}$。- 转换为SystemVerilog代码时,要写成规范的运算符形式:
a & ~b,其中&是按位与运算符,~是按位取反运算符。
内容的提问来源于stack exchange,提问作者Григорий Самарин
相关产品推荐
相关产品推荐

