四选一多路选择器的设计与仿真

1. 实验题目

        四选一多路选择器的设计与仿真

2. 实验目的

       设计一个四选一多路选择器,并进行仿真测试。

3. 实验要求

        当 s1、s0 均为低电平时,输出 i0;当 s1 为低电平,s0 为高电平时,输出 i1;当 s1 为高电平,s0 为低电平时,输出 i2;当 s1,s0 均为高电平时,输出 i3。

4. 程序代码

VerilogHDL代码:
module choose4(out,i0,i1,i2,i3,s1,s0);
output out;
input i0,i1,i2,i3;
input s1,s0;
reg out;
always @(s1 or s0 or i0 or i1 or i2 or i3)
begin 
   case({s1,s0})
     2'b00: out = i0;
     2'b01: out = i1;
     2'b10: out = i2;
     2'b11: out = i3;
     default:out=1'bx;
   endcase
   end
endmodule

Test bench仿真代码:
module choose4_t;
reg i0,i1,i2,i3;
reg s1,s0;
wire out;
choose4 unit(
	.i0(i0),
	.i1(i1),
	.i2(i2),
	.i3(i3),
	.s1(s1),
	.s0(s0),
	.out(out)
);
initial
	begin
	i0=2'b00;
	i1=2'b01;
	i2=2'b10;
	i3=2'b11;	
	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

5. 实验结果

       根据代码2’b00 : out = i0 ; 2’b01 : out = i1 ; 2’b10 : out =i2 ; 2’b11 : out = i3设定i0、i1、i2、i3的值分别为 00、01、10、11。

       第一段中s0、s1均为低电平,则输出i0即out 00

       第二段中s1为低电平,s0为高电平,输出i1即out 01

       第三段中s1为高电平,s0为低电平,输出i2,即out 10

       第四段中s0、s1均为高电平,输出i3,即out 11

发布了38 篇原创文章 · 获赞 130 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_41587612/article/details/98636360