一、归约操作符包括:
归约与(&),归约与非(~&),归约或(|),归约或非(~|),归约异或(^),归约同或(~^)。
二、归约操作符结果
归约操作符只有一个操作数,它对这个向量操作数逐位进行操作,最终产生一个 1bit 结果。
三、和其他不同
逻辑操作符、按位操作符和归约操作符都使用相同的符号表示,因此有时候容易混淆。区分这些操作符的关键是分清操作数的数目,和计算结果的规则。
1.逻辑操作符主要有 3 个:&&(逻辑与), ||(逻辑或),!(逻辑非)。
2.按位操作符有两个操作数,双目运算。
3.归约操作符只有一个操作数,单目运算。
四、归约操作符
归约与(&):全部是一
归约与非(~&):有一个零
归约或(|):有一个一
归约或非(~|):全部是零
归约异或(^):一的个数是奇数
归约同或(~^):一的个数是偶数
五、例子
A = 4'b1010 ; &A ; //结果为 1 & 0 & 1 & 0 = 1'b0,可用来判断变量A是否全1 ~|A ; //结果为 ~(1 | 0 | 1 | 0) = 1'b0, 可用来判断变量A是否为全0 ^A ; //结果为 1 ^ 0 ^ 1 ^ 0 = 1'b0