10 我正在分析一些Verilog代码,发现类似 wire z = |a & b; 模拟时,代码的行为就像 wire z = a & b; 所以我想知道|(管道)符号的含义是什么?它对模拟/合成有影响吗? verilog — 乌利 source
17 这是按位归约运算符。|a & b表示您对a(产生一个位)的所有位应用逻辑或,然后对该位和进行逻辑与b。|a当a为1 时无效。 但是,看到逐位减少应用于单个位值是很普遍的。一种典型的情况是自动生成的代码,其中的实际宽度a可能取决于配置。另一个可能性是这是a曾经有几个位的遗留代码。当a变为单个位值时,此行在技术上仍然正确,因此现在不需要的归约运算符保留下来。 — 德米特里·格里戈里耶夫(Dmitry Grigoryev) source