C 语言支持的所有关系逻辑运算符
&&
逻辑与运算符,&&左右两个条件均为true则结果为true,否则为false;
||
逻辑或运算符,||左右两个条件有一个为true,则结果为true,否则为false;
!
逻辑非运算符,逆反逻辑状态,条件为true,则结果为false,反之同理;
Verilog
verilog中的逻辑操作符的计算结果是一个1bit 的值,0 表示假,1 表示真,x 表示不确定。
对于操作数,只要其不为全0,则就认为其为逻辑1,如果其中存在x不定态,则认为其为x
所以对于A&&B来说:
如果A,B均为一位或逻辑表达式,则可以直接运算;
如果A,B均为多位,则相当于A,B先各自进行按位或(不全0则为1),再进行与;
如果A,B存在不定态x,则结果为x,因为与逻辑对x敏感
对于A || B来说:
同理,只不过如果A,B存在不定态x,不一定会影响结果,例如1 || x = 1;
对于!A来说:
同样先对A进行按位或,再取反。