《16位定点数原码一位乘法器的设计与实现---本科毕业论文.docx》由会员分享,可在线阅读,更多相关《16位定点数原码一位乘法器的设计与实现---本科毕业论文.docx(19页珍藏版)》请在第壹文秘上搜索。
1、计算机科学与工程学院课程设计报告题目全称:16位定点数原码一位乘法器的设计与实现课程名称:计算机组成原理指导老师:谭浩职称:序号学生姓名学号班号成绩1刘晓窗201206001000620120600102李育桥201206001002520120600103郭建准4李浩5李志飞678910(注:学生姓名填写按学生对该课程设计的贡献及工作量由高到底排列,分数按排名依次递减。序号排位为“1”的学生成绩最高,排位为“10”的学生成绩最低。)指导老师评语:签字:摘要VerilogHDL语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机
2、制。本实验用VerilOgHDL语言设计了全加器实现的组合乘法器,通过功能仿真,验证了结果。关键词:乘法器,Verilog,组合逻辑,全加器AbstractABSTRACTText.Keywords:目录(自动插入目录)第一章绪论11.1 选题背景及意义11.2 国内外研究现状11.3主要内容与章节安排11. 4本章小结1第二章课程设计的需求分析32. 1环境需求32.2功能需求32. 3性能需求32. 3本章小结3第三章*的设计63. 1总体设计63. 2功能模块设计63. 3本章小结6第四章*的实现83.1 开发环境介绍83.2 主要功能模块的实现84. 3本章小结15第五章测试及成果展示
3、185. 1测试环境185.2测试用例和结果185.3成果展示205.4本章小结20第六章总结与展望23参考文献24第一章绪论第一章绪论1.1 选题背景及意义随着计算机科学技术的发展,人们获得信息的途径更加多样,获取信息的速度更加快捷。硬件的发展允许程序员编出很多精彩的使用软件,也使得计算机更加普及。中央处理器CPU的好坏是影响和制约计算机速度和性能的关键因素。而加法器是组成CPU的的重要部件,一般运算速度的快慢就取决与每秒执行加法的次数,加法器是算术逻辑单元中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。1.2 国内外研究现状1.3 主要内容与章节安排1.4 本章
4、小结第二章课程设计的需求分析2.1 环境需求PC、Win7、ise7.1xc3sl00e-4VqlOO芯片、2.2 功能需求x、y为两个16位定点数,Z为32位数,作为输出。实现16位定点数乘法。2.3 性能需求2.4 本章小结第三章16位乘法器的设计3.1 总体设计3.2 功能模块设计3.3 本章小结第四章*的实现4.1 开发环境介绍4.2 主要功能模块的实现modulemulti16(x,y,clock,z);input15:0x,y;定义乘数inputclock;定义时钟clockoutput31:0z;定义和的输出zreg15:0reg_x;定义寄存器xreg15:0reg_y;定义寄
5、存器yreg31:0reg_z;定义寄存器zwire16:0p,pl,p2,p3,p4,p5,p6,p7,p8,p9,pl,plI,pl2,pl3,pl4,pl5;定义分别用来存储a十六位与b的每一位相与的结果wire75:0jl,kl;wire50:0j2,k2;Wire32:0j3,k3;wire22:0j4,k4;wire15:0j5,k5;wire6:0j6,k6;wire2:0j7,k7;wire8:0j8,k8;Wire21:0j9,k9;assignz=reg_z;将寄存器Z的内容赋给输出和Zalways(posedgeCIoCk)时序逻辑语句块beginreg_x=x;/将加数
6、X的值存到寄存器reg_x中reg_y=y;将被加数y的值存到寄存器reg_y中reg-z=j921,k921ik920,k9l9,k9l8917,k9l6,k9l5,k914,k9l3,k9l2,k9ll91099,k98,k97,k96,k95,k94,k93,k92,k9l,k90,k8070,k60,k50,k40,k30,k20,kl0,p00J/分别求得的和的每一位赋给reg_zend对a的16位与b的每一位相与PPppO(reg_x,reg_yO,pO);PPppl(reg_x,reg_yl,pl);PPpp2(reg_x,reg_y2,p2);PPpp3(reg_x,reg_y
7、3,p3);PPpp4(reg_x,reg_y41,p4);PPpp5(reg_x,reg_y5,p5);PPpp6(reg_x,reg_y6,6);PPpp7(reg_x,reg_y7,7);PPpp8(reg_x,reg_y8,8);PPpp9(reg_x,reg_y9,p9);PPPPIO(reg_x,reg_y10,p10);pppp11(reg_x,reg_y11,11);PPPP2(reg_x,reg_yl2,p12);PPPP13(reg_x,reg_y131,p13);PPPP14(reg_x,reg_y14,p14);PPpp15(reg_x,reg_y15Lpl5);调用全
8、加器与半加器,通过实例化求得利的每一位与每位的进位信号halfadderhal(pl,pl0,kl0,jl0);fulladderfal(p2,pll,p20,kll,jll);fulladderfa2(p3,pl2,p2l,k112,j12);fulladderfa3(p4,p13,p22,kl3,j13);fulladderfa4(p5,pl4,p23,kl4,j14);fulladderfa5(pO6J,pl5,p24J,kl5,jl5);fulladderfa6(p7,p116J,p25,k16J,jI6);fulladderfa7(p8,p17,p26,k17,jI7);fullad
9、derfa8(p9,pl8,p27,kl8,j18);fulladderfa9(p010,pl9,p28,kl9,j19);fulladderfa10(p0ll,pl10,p29,kll0,j1110);fulladderfa11(pf12,p111l,p210,k1111Lj111);fulladderfa12(p0l3,p112,p2ll,kl12,jll2);fulladderfal3(pOl4,pll3Lp2l2,kl13jll3);fulladderfal4(p15,pl14,p213,kl14J114);fulladderfa15(pl15Lp2141,p3131,kl15,jl1
10、5);fulladderfa16(p215Lp314Lp413,kl16jll6);fulladderfal7(p315,p414,p513,kl17Ljl17);fulladderfal8(p4151,p5l46l3,kl18,j118);fulladderfa19(p5151,p614,p7131,kl191,j1191);fulladderfa20(p615,p7l4,p813,kl20J12O);fulladderfa21(p715,p814,p9l3,kl2HJ12H);fulladderfa22(p8151,p9l4,p1013,kl22,j122);fulladderfa23(p
11、915,p10l4,p1113,k123,j1231);fulladderfa24(p1015,pll14,pl213l24,j124);fulladderfa25(pIl15,pl214tpl313,kl25,j1251);fulladderfa26(pl215,pl314,pl413,kl26jl26);fulladderfa27(pl315,pl414,pl513,kl27jl27);fulladderfa28(p32,p4l,p5,kl28jl28);fulladderfa29(p33,p4,p5l,kl29JI29);fulladderfa30(p34,p4f3,p52,kl30.j
12、I30);fulladderfa31(p35,p44,p53,kl31jl31);fulladderfa32(p36,p45,p54,kl32JI32);fulladderfa33(p37,p46,p55,kl33JI331);fulladderfa34(p38,p4f7,p561,kI34J134);fulladderfa35(p39,p48,p57,kl351,jl351);fulladderfa36(p3ll,p49,p58,kl36,j136);fulladderfa37(p3ll,p410,p59,kl37,j137);fulladderfa38(p3l2,p41l,p510,kl3
13、8,j138);fulladderfa39(p412,p511,p610,kI39,j139);fulladderfa40(p512,p611,p710,kl40,jl40);fulladderfa4l(p6l2Lp7ll,p810,kl41,jl41);fulladderfa42(p7l21,p811,p910,kl42,j1421);fulladderfa43(p812,p911,pl101,kl43Lj143);fulladderfa44(p9l2l0lILpl110,kl44,jI44);fulladderfa45(p1012,pl111H,pl2lO,kl45j145);fulladderfa46(pIl12,pl2ll,pl3lO,kl461,j1461);ful