写在前面
之前曾经整理过verilog的各类运算符的表达方式,但是在学习的过程中并未深入研究关于逻辑运算符的相关知识,导致在实际使用过程中错误频出,下面是我从网络上整理的相关verilog的逻辑运算符的相关知识,希望对各位有所帮助。
分类
按照常见的几类verilog逻辑运算符可以将其分为以下几类
逻辑运算符:&&、||、!
&&和||是双目运算,用在两个数之间;!为单目运算符用在数字之前
在N = A xx B的逻辑运算中,A、B、N都只存在两个值:true or false,二者在机器中表示1和0;在进行操作时A与B的数据宽度可以不等
位运算符:&、|、~、^、 ^~
其中的&、|、^、 ^~ 均为双目运算符,~为单目运算符;相较于逻辑运算符,位运算符的核心是按位,二者具体的区别可以通过综合后的RTL视图进行区分
需要注意的是位运算符与逻辑运算符一样,两个运算数可以是不同长度,在运算的过程中右对齐,且缺少的位数将用0补齐
缩位运算符:&、|、~
又称为缩减运算符,为单目运算符;对单个操作数进行递推运算,运算结果得到的是一位二进制数
补充:异或同或也可以进行缩位运算,其中的缩位异或常用于奇偶校验
等式运算:==、 !=、=== 、 !==
进行数值的比较操作,相较于==而言===会更加严格;后者在比较时会对高阻态和不定态进行比较
以上便是关于verilog的逻辑运算符的一些基础知识,欢迎各位交流学习。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !