我见过 Verilog 代码,其中使用了按位或运算符(“|”)。目的是什么?
例如
| address[15:14]==0
or
|address[15:14]? io_din : ramrd
不能省略“|”吗在这些情况下?
在这种情况下,它充当归约运算符,例如:
|4'b1000 => 1'b1 (OR)
&4'b1000 => 1'b0 (AND)
^4'b1000 => 1'b1 (XOR)
|4'b0000 => 1'b0
&4'b1111 => 1'b1
^4'b1111 => 1'b0
将整个总线进行或运算为 1 位值,或者对整个总线应用 AND/XOR。
这被称为“一元”运算符,因为它只接受右手参数。 SystemVerilog IEEE1800-2012 的第 11.4.9 节介绍了它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)