四选一数据选择器

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

你可能感兴趣的:(四选一数据选择器)