资源描述:
《编译多路选择器脉动进位加法器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、FPGA与硬件描述语言实验报告学院:信息技术学院班级:专业:电子信息科学与技术姓名:日期:学号:1.实验目的•掌握数据流级仿真;2・实验内容
2、2・1・编译多路选择器,采用激励模块对其进行甌图见P45,釆用数据流建模方式仿真参照课本P55页,采用数据流流建模方式仿真2・2•采用两种方法设计脉动进位加法器:第一种先实现的是一个一位全加器.然厉使用四个一位全加器组成四位脉动进位全加器。第二种使用操作符+和{},使用书上相同的激励模块仿真。P48modulemux4_to_l(out,i0,il,i2,i3,sO,si);outputout;i
3、nputiO,il,i2,i3;inputsO,si;assignyO=(iO&〜il&〜sO),yl=(il&〜sl&sO),y2二(i2&sl&〜sO),y3=(i3&sl&sO),out=(y0
4、yl
5、y2
6、y3);endmodule2.2⑴modulefulladd4(sum/c.out,a.b^cjn);output[3:0]sum;outputc_out;input[3:0]a,b;inputcjn;wirecl,c2,c3;fulladdfa0(sum[0],cl;a[0],b[0],cJn);fulladdfal(sum
7、[l],cl,a[l],b[l],cl);fulladdfa2(sum[2],cl,a[2],b[2],c2);fulladdfa3(sum⑶,c_out,a[3],b[3],c3);endmodulemodulefulladd4(sum/c_out,a.b.c」n);output[3:0]sum;outputc_out;input[3:0]a,b;inputcjn;assign{c_out,sum}=a+b+cjn;endmodule2.1modulestimulus;regIN0JNlJN2JN3;regSI,SO;wireOUTP
8、UT;mux4_to_lmymuxfOUTPUT,INO,INI,IN2,IN3ZSI,SO);initialbeginIN0=l;INl=0;IN2=l;IN3=0;#1SdisplayflNO=%bJNl=%b,IN2=%b,IN3=%bw,IN0JNl,IN2JN3);Sl=0;so=o;#1$display(“Sl=%b,SO=%b,OUTPUT=%b”,Sl,SO,OUTPUT);Sl=0;S0=1;#1$display(“Sl=%b,SO=%b,OUTPUT=%b”,Sl,SO,OUTPUT);SI二1;SO二0
9、;#1$display(“Sl=%b,SO=%b,OUTPUT=%b”,Sl,SO,OUTPUT);S1=1;SO=1;#1$display(“Sl=%b,SO=%b,OUTPUT=%b”,Sl,SO,OUTPUT);endendmodule2.2modulestimulus;reg[3:0]A,B;regC_IN;wire[3:0]SUM;wireC_OUT;fulladd4FA1_4(SUM,C_OUT,A,B,C」N);initialbegin$monitor($time/A=%blB=%b/CJN=%br-C_OUT=%
10、b,SUM=%b”A,B,C」N,C_OUT,SUM);endinitialbeginA=4'd0;B=4'd0;C」N二1'bO;#5A=4'd3;B=4'd4;#5A=4,d2;B=4,d5;#5A=4'd9;B=4'd9;#5A=4'dl0;B二4'dl5;#5A=4'dlO;B=4'd5;CJN=l'bl;endendmodule3.3.仿真结果:1.输出:#INO=1JN1=OJN2=1JN3=O##SI=0,SO=0,OUTPUT=1#SI=0,SO=1,OUTPUT=1#S1二1,SO二0,OUTPUT=0##SI二1
11、,SO二1,OUTPUT=0#出£2Wave・Default0*/stimulus/lNO“/stimulus/lNl“/stimulus/lN2“/stimulus/lN3"/stimulus/OUTPUT'/stimulus/SOJ/stimulus/SlCursor10Stl00100ns
12、Wave]—qjmjl.vsjjm』n・vJ2.输出:##########0A=0000,B二OOOO,C」N二0,…C_OUT=0,SUM=00005A=0011,B=0100,CJN=0,—C_OUT=0,SUM=011110A=0010/
13、B=0101/CJN=0/—C_OUT=OlSUM=OHl15A=1001,B=1001,CJN=0r-C_OUT=1,SUM=001020A=1010,B=llll,CJN=0r-C_OUT=1,SUM=