您好,欢迎访问三七文档
学生实验报告系别电子信息学院课程名称《EDA综合实验》班级14无线技术实验名称8位硬件乘法器设计姓名王汉生实验时间2016年10月31日学号2014010301032指导教师王红航成绩批改时间2016年月日报告内容一、实验目的和任务1.学习应用移位相加原理设计8位乘法器。2.了解移位相加原理构成乘法器与用组合逻辑电路直接设计的同样功能的电路优势。二、实验原理介绍图18位乘法器逻辑原理图图28位移位相加乘法器运算逻辑波形图三、设计代码(或原理图)、仿真波形及分析1.基于时序电路的移位相加乘法器-16位移位寄存器modulesreg(clk,clr,d,q);inputclk,clr;input[8:0]d;output[15:0]q;reg[15:0]reg16;always@(posedgeclkorposedgeclr)beginif(clr)reg16=16'b0;elsebeginreg16[6:0]=reg16[7:1];//移位相加_16位移位寄存器reg16[15:7]=d;endendassignq=reg16;endmodule2.基于时序电路的移位相加乘法器-8位移位寄存器moduleshift8(clk,load,A,qb);inputclk,load;input[7:0]A;outputqb;reg[7:0]reg8;always@(posedgeclkorposedgeload)beginif(load)reg8=A;elsereg8[6:0]=reg8[7:1];//移位相加_8位二进制加法器endassignqb=reg8[0];endmodule3.基于时序电路的移位相加乘法器-1位乘法器moduleandarith(abin,B,dout);inputabin;input[7:0]B;outputreg[7:0]dout;reg[3:0]i;always@(*)beginfor(i=0;i=7;i=i+4'b1)dout[i]=B[i]&abin;endendmodule4.基于时序电路的移位相加乘法器-8位加法器moduleadder8(cin,A,B,S,cout);inputcin;input[7:0]A,B;output[7:0]S;outputcout;assign{cout,S}=cin+A+B;endmodule5.移位相加乘法器-时序电路VCCCLKINPUTVCCLDINPUTVCCA[7..0]INPUTVCCB[7..0]INPUTq[15..0]OUTPUTcinA[7..0]B[7..0]S[7..0]coutadder8instabinB[7..0]dout[7..0]andarithinst1clkloadA[7..0]qbshift8inst2clkclrd[8..0]q[15..0]sreginst3GNDd[8..0]q[15..8]d[7..0]d[8]PIN_19PIN_18PIN_17PIN_13PIN_12PIN_10PIN_9PIN_8PIN_29PIN_28PIN_27PIN_26PIN_23PIN_22PIN_21PIN_20PIN_98PIN_97PIN_72PIN_70PIN_69PIN_68PIN_67PIN_65PIN_42PIN_41PIN_39PIN_38PIN_37PIN_36PIN_33PIN_32PIN_31PIN_30四、实验结论与心得通过这次设计,进一步加深了对EDA的了解。特别是当每一个子模块编写调试成功时,。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了。器件的选择也很重要,只有选择合适的器件,才能正确的编译,从而能更好的做好本次试验!
本文标题:8位硬件乘法器设计
链接地址:https://www.777doc.com/doc-5333625 .html