|变量在verilog中是什么意思?

Ada*_*opp 2 verilog bitwise-operators operator-keyword

我想知道assign hd_trs_detected = |hd_trs_match;verilog中的意思是什么。我最感兴趣的是这|hd_trs_match部分。我知道| 表示按位或,但不确定如何在 之前没有值的情况下解释它|。它是可理解的“1”还是“0”?|hd_trs_match如果它是 '0',那么使用与 just hd_trs_matchashd_trs_detected总是有任何优势相比,有什么优势hd_trs_match is?或者这本身就是一个明智的操作。

wil*_*oft 5

|一个归约运算符。对于多位信号,它会产生一个输出,将操作数应用于向量的每一位。

例如,

wire [3:0] in;
wire out;
assign out = |in; // the same as out = in[3] | in[2] | in[1] | in[0];
Run Code Online (Sandbox Code Playgroud)

&您可以对、^等执行相同操作。