Verilog HDL学习笔记二
四选一数据选择器
真值表:
控制端S1S0 | 输出OUT |
---|---|
00 | in0 |
01 | in1 |
10 | in2 |
11 | in3 |
设计代码:
module mux4_to_1(out,in0,in1,in2,in3,s1,s0);
input [1:0]in0,in1,in2,in3;
input s1,s0;
output reg [1:0]out;
always @ (*)
begin
case({s1,s0})
2'b00: out=in0;
2'b01: out=in1;
2'b10: out=in2;
default: out=in3;
endcase
end
endmodule
测试代码:
module mux4_to_1tb;
reg [1:0]in0,in1,in2,in3;
reg s1,s0;
wire [1:0]out;
mux4_to_1 unit(
.in0(in0),
.in1(in1),
.in2(in2),
.in3(in3),
.s1(s1),
.s0(s0),
.out(out)
);
initial
begin
in0=2'b00;in1=2'b01;in2=2'b10;in3=2'b11;
s1=1'b0;s0=1'b0;
#20 s1=1'b0;s0=1'b0;
#20 s1=1'b0;s0=1'b1;
#20 s1=1'b1;s0=1'b0;
#20 s1=1'b1;s0=1'b1;
#20;
end
endmodule