我见过使用按位或运算符(“|”)的 Verilog 代码。目的是什么?
例如
| address[15:14]==0
Run Code Online (Sandbox Code Playgroud)
或者
|address[15:14]? io_din : ramrd
Run Code Online (Sandbox Code Playgroud)
我们不能省略“|”吗?在这些情况下?
在这种情况下,它充当归约运算符,例如:
|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
Run Code Online (Sandbox Code Playgroud)
将整个总线 OR 到 1 位值,或对整个总线应用 AND/XOR。
这被称为“一元”运算符,因为它只接受右手参数。它们在 SystemVerilog IEEE1800-2012 的第 11.4.9 节中有介绍。
| 归档时间: |
|
| 查看次数: |
19320 次 |
| 最近记录: |