Verilog HDL归约操作符
发布时间:2008/6/5 0:00:00 访问次数:1800
归约操作符在单一操作数的所有位上操作,并产生1位结果。归约操作符有:
* & (归约与)
如果存在位值为0, 那么结果为0;若如果存在位值为x或z,结果为x;否则结果为1。
* ~& (归约与非)
与归约操作符&相反。
* (归约或)
如果存在位值为1,那么结果为1;如果存在位x或z,结果为x;否则结果为0。
* ~ (归约或非)
与归约操作符相反。
* ^ (归约异或)
如果存在位值为x或z,那么结果为x;否则如果操作数中有偶数个1, 结果为0;否则结果为1。
* ~^ (归约异或非)
与归约操作符^正好相反。
如下所示。假定,
a = 'b0110;
b = 'b0100;
那么:
b 结果为1
& b 结果为0
~ a 结果为1
归约异或操作符用于决定向量中是否有位为x。假定,
myreg = 4'b01x0;
那么:
^myreg 结果为x
上述功能使用如下的if语句检测:
if (^myreg = = = 1'bx)
$ display ("there is an unknown in the vector myreg !")
注意逻辑相等(==)操作符不能用于比较;逻辑相等操作符比较将只会产生结果x。全等操作符期望的结果为值1。
* & (归约与)
如果存在位值为0, 那么结果为0;若如果存在位值为x或z,结果为x;否则结果为1。
* ~& (归约与非)
与归约操作符&相反。
* (归约或)
如果存在位值为1,那么结果为1;如果存在位x或z,结果为x;否则结果为0。
* ~ (归约或非)
与归约操作符相反。
* ^ (归约异或)
如果存在位值为x或z,那么结果为x;否则如果操作数中有偶数个1, 结果为0;否则结果为1。
* ~^ (归约异或非)
与归约操作符^正好相反。
如下所示。假定,
a = 'b0110;
b = 'b0100;
那么:
b 结果为1
& b 结果为0
~ a 结果为1
归约异或操作符用于决定向量中是否有位为x。假定,
myreg = 4'b01x0;
那么:
^myreg 结果为x
上述功能使用如下的if语句检测:
if (^myreg = = = 1'bx)
$ display ("there is an unknown in the vector myreg !")
注意逻辑相等(==)操作符不能用于比较;逻辑相等操作符比较将只会产生结果x。全等操作符期望的结果为值1。
归约操作符在单一操作数的所有位上操作,并产生1位结果。归约操作符有:
* & (归约与)
如果存在位值为0, 那么结果为0;若如果存在位值为x或z,结果为x;否则结果为1。
* ~& (归约与非)
与归约操作符&相反。
* (归约或)
如果存在位值为1,那么结果为1;如果存在位x或z,结果为x;否则结果为0。
* ~ (归约或非)
与归约操作符相反。
* ^ (归约异或)
如果存在位值为x或z,那么结果为x;否则如果操作数中有偶数个1, 结果为0;否则结果为1。
* ~^ (归约异或非)
与归约操作符^正好相反。
如下所示。假定,
a = 'b0110;
b = 'b0100;
那么:
b 结果为1
& b 结果为0
~ a 结果为1
归约异或操作符用于决定向量中是否有位为x。假定,
myreg = 4'b01x0;
那么:
^myreg 结果为x
上述功能使用如下的if语句检测:
if (^myreg = = = 1'bx)
$ display ("there is an unknown in the vector myreg !")
注意逻辑相等(==)操作符不能用于比较;逻辑相等操作符比较将只会产生结果x。全等操作符期望的结果为值1。
* & (归约与)
如果存在位值为0, 那么结果为0;若如果存在位值为x或z,结果为x;否则结果为1。
* ~& (归约与非)
与归约操作符&相反。
* (归约或)
如果存在位值为1,那么结果为1;如果存在位x或z,结果为x;否则结果为0。
* ~ (归约或非)
与归约操作符相反。
* ^ (归约异或)
如果存在位值为x或z,那么结果为x;否则如果操作数中有偶数个1, 结果为0;否则结果为1。
* ~^ (归约异或非)
与归约操作符^正好相反。
如下所示。假定,
a = 'b0110;
b = 'b0100;
那么:
b 结果为1
& b 结果为0
~ a 结果为1
归约异或操作符用于决定向量中是否有位为x。假定,
myreg = 4'b01x0;
那么:
^myreg 结果为x
上述功能使用如下的if语句检测:
if (^myreg = = = 1'bx)
$ display ("there is an unknown in the vector myreg !")
注意逻辑相等(==)操作符不能用于比较;逻辑相等操作符比较将只会产生结果x。全等操作符期望的结果为值1。
上一篇:按位操作符