资源描述:
《verilog语言编写八选一数据选择器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Verilog——八选一选择器八选一选择器一、实验目的编写一个八选一的选择器,并在verilog软件上进行仿真。二、代码1、源代码(1)用数据流描述的八选一多路选择器模块,采用了逻辑方程modulemux8_to_1(out,i0,i1,i2,i3,i4,i5,i6,i7,s2,s1,s0);outputout;inputi0,i1,i2,i3,i4,i5,i6,i7;inputs2,s1,s0;assignout=s2?(s1?(s0?i7:i6):(s0?i5:i4)):(s1?(s0?i3:i2):(s0?i1:i0));endmodule
2、(2)用数据流描述的八选一多路选择器模块,采用了条件操作语句modulemux8_to_1(out,i0,i1,i2,i3,i4,i5,i6,i7,s2,s1,s0);outputout;inputi0,i1,i2,i3,i4,i5,i6,i7;inputs2,s1,s0;8Verilog——八选一选择器assignout=(~s2&~s1&~s0&i0)
3、(~s2&~s1&s0&i1)
4、(~s2&s1&~s0&i2)
5、(~s2&s1&s0&i3)
6、(s2&~s1&~s0&i4)
7、(s2&~s1&s0&i5)
8、(s2&s1&~s0&i6)
9、(s2
10、&s1&s0&i7);endmodule(3)用行为及描述的八选一多路选择器模块可描述为:modulemux8_to_1(out,i0,i1,i2,i3,i4,i5,i6,i7,s2,s1,s0);outputout;inputi0,i1,i2,i3,i4,i5,i6,i7;inputs2,s1,s0;regout;always@(s2ors1ors0ori0ori1ori2ori3ori4ori5ori6ori7)begin8Verilog——八选一选择器case({s2,s1,s0})3'b000:out=i0;3'b001:out=i1;3
11、'b010:out=i2;3'b011:out=i3;3'b100:out=i4;3'b101:out=i5;3'b110:out=i6;3'b111:out=i7;defult:$dispiay("Invalidcontrolsignals");endcaseendendmodule或者是:modulemux8_to_1(out,i0,i1,i2,i3,i4,i5,i6,i7,s2,s1,s0);outputout;inputi0,i1,i2,i3,i4,i5,i6,i7;inputs2,s1,s0;regout;8Verilog——八选一选择
12、器always@(s2ors1ors0ori0ori1ori2ori3ori4ori5ori6ori7)begincase({s2,s1,s0})3'd1:out=i0;3'd2:out=i1;3'd3:out=i2;3'd4:out=i3;3'd5:out=i4;3'd6:out=i5;3'd7:out=i6;3'd8:out=i7;defult:$dispiay("Invalidcontrolsignals");endcaseendendmodule1、激励模块`timescale1ns/100psmodulemux8_to_1_tb;reg
13、I0,I1,I2,I3,I4,I5,I6,I7;8Verilog——八选一选择器regS2,S1,S0;wireOUT;mux8_to_1ul(.out(OUT),.i0(I0),.i1(I1),.i2(I2),.i3(I3),.i4(I4),.i5(I5),.i6(I6),.i7(I7),.s2(S2),.s1(S1),.s0(S0));initialbeginI0=1;I1=0;I2=0;I3=1;I4=1;I5=1;I6=0;I7=0;8Verilog——八选一选择器S2=0;S1=0;S0=0;#10S2=0;S1=0;S0=1;#10S
14、2=0;S1=1;S0=0;#10S2=0;S1=1;S0=1;#10S2=1;S1=0;S0=0;#10S2=1;S1=0;S0=1;#10S2=1;S1=1;S0=0;#10S2=1;S1=1;S0=1;endendmodule一、仿真波形8Verilog——八选一选择器一、波形说明波形图中,从上至下依次为:输入数据I0,I1,I2,I3,I4,I5,I6,I7,选择端口S2,S1,S0,输出COUT。该程序实现的是控制选择端口选择对应的数据并输出。当S2=0,S1=0,S0=0时,选择I0,输出I0的值1;当S2=0,S1=0,S0=1时,
15、选择I1,输出I0的值0;当S2=0,S1=1,S0=0时,选择I2,输出I0的值0;当S2=0,S1=1,S0=1时,选择I3,输出I