Verilog中的逻辑运算
(2017-11-15 21:09:16)分类: FPGA/CPLD |
相等关系操作符有:
如果比较结果为假,则结果为0;否则结果为1。在全等比较中,值x和z严格按位比较。而在逻辑比较中,值x和z具有通常的意义,且结果可以不为x。也就是说,在逻辑比较中,如果两个操作数之一包含x或z,结果为未知的值(x)。如下例
假定:
Data = 'b11x0;
Addr = 'b11x0;
那么:Data
Data
如果操作数的长度不相等,长度较小的操作数在左侧添0补位,例如:
2'b10 == 4'b0010
与下面的表达式相同:
4'b0010 = = 4'b0010
结果为真(
1)。
逻辑操作符有:
&& (逻辑与)
这些操作符在逻辑值0或1上操作。逻辑操作的结构为0或1。例如,
假定:
Crd = 'b0; //0为假
Dgs = 'b1; //1为真
那么:
Crd && Dgs
结果为0
(假)
Crd || Dgs
结果为1
(真)
!
Dgs
结果为0
(假)
对于向量操作,
非0向量作为1处理。例如,假定:
ABus = 'b0110;
BBus = 'b0100;
那么:
ABus || BBus
结果为1
ABus && BBus
结果为1
! ABus与!
BBus的结果都为0。
如果任意一个操作数包含x,结果也为x。
!x 结果为x