关于Verilog中缩减运算符 形式如out=^b;out=|b;out=&b

在学习《通信IC设计》一书时,第一次遇到缩减运算符,书中是这样介绍的:
这里写图片描述

没怎么看懂,后来上网看到比较详细的资料才弄明白,现在分享给大家。
详细资料见:http://bbs.elecfans.com/jishu_546777_1_1.html

下面的例子是 缩位运算符过程就是最低位和次低位进行异或运算,得到的结果在和最高位运算;
历程如下:

module traffic(a,out);
   input [2:0]a;
   output out;
   assign    out=^a;
endmodule

testbench文件

//testbench文件
`timescale 1ns/1ns
module traffic_tb;
reg [2:0]a;
wire out;


traffic traffic0(
.a(a),
.out(out));


initial begin
     a=3'b000;
         #20;
         a=3'b001;
         #20
         a=3'b010;
         #20;
         a=3'b011;
         #20
         a=3'b100;
         #20;
         a=3'b101;
         #20
         a=3'b110;
         #20;
         a=3'b111;
         #20
   $stop;

end

endmodule

“`
关于Verilog中缩减运算符 形式如out=^b;out=|b;out=&b_第1张图片

下面是书中详细的解释:
关于Verilog中缩减运算符 形式如out=^b;out=|b;out=&b_第2张图片

你可能感兴趣的:(通信IC设计)