欢迎来到天天文库
浏览记录
ID:36739380
大小:134.00 KB
页数:10页
时间:2019-05-14
《八位二进制乘法器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字逻辑与数字系统——八位二进制乘法器学院:信息科学与技术学院班级:计0805-2学号:姓名:雄鹰指导老师:***完成时间:2010年7月11日目录1课题综述2.1分析问题2.2结构框图2.3原理图3.1上机调试及排错过程3.2波形文件3.3VHDL文本4上机结果分析5总结6致谢7参考资料课题二:八位二进制乘法器1课题综述选择这个课题与我以前做过二进制乘法电路有关,思想源于此,但那次是用组合逻辑电路实现的且是两位二进制乘法,很受局限,由此想扩展它。实现二进制乘法器的电路有多种方法,一种是由组合逻辑电路(与、或、非门)构成的乘法器,速度快但占用PLD的资源比较
2、多,难以实现多位乘法;另一种是基于PLD器件外接ROM九九表的乘法器,但无法构成片上系统,不是很适用。这一次我是采用八位二进制乘法的硬件算法,不同于前面两种乘法器电路,是由一个加法器和移位寄存器构成的时序逻辑方式的八位硬件乘法器。2.1分析问题硬件乘法器的乘法原理是通过逐项移位相加的方法来实现。在计算过程中,先观察乘数的每一位,从最低位开始,若最低位是1,则被乘数被复制到下面,否则复制为全零,复制下来的数值较前一个数值左移一位。最后,将复制的数值相加,它们的和就是乘积。两个n位二进制数相乘的结果最多可以有2n位的二进制数。根据上面这个乘法的过程,可以得出三点
3、:u只对两个二进制数进行相加运算,并用寄存器不断地累加部分积;u将累加的部分积左移,但复制的被乘数不左移;u乘数的对应位若为0时,对累加的部分积不产生影响。2.2结构框图B0AA+dA右移n=0d[7…0]被乘数b[7…0]乘数n为数STA[15..0]0nn-1Z=1输出S001S1S210S201图12.3原理图图2在上图中:d为被乘数输入,b为乘数输入,ST为启动信号,A[15..0]输出端口为乘积。当ST为一时乘法器运算开始,累加寄存器A清零。在S1状态下对乘数最低位b0进行检测,若为1,被乘数加到A中的部分积上;如果b0为0,系统则不操作,直接进入
4、到S2状态。在S2状态中进行累加寄存器A和乘数b的右移一位,并且判断乘数的位数是否运算结束,若运算结束,在S3状态下,输出乘积结果。这是由两个进程的状态机来实现:一个进程描述状态转移,另一个进程描述寄存器操作。累加寄存器q的位数为WIDTHd+WIDTHb+1,其中,q的高位段(WIDTHd+1)进行数的累加,然后向q的低位进行移位,形成部分积。当计数器n减到0时,乘法过程结束。在寄存器操作进程中,由于使用的是时钟同步工作方式,其操作都是在下一个状态完成,因此在乘法结束进入S3状态下,需要对累加寄存器q左移一位,并将寄存器q中的乘积结果输入到乘积输出端A。3
5、.1上机调试及排错过程本次是课题二,有了做课题一的熟悉和经验,调试过程容易多了。具体步骤是:绘制完后—>file—>project—>setprojectcurrentfile,选择之后,再选择,Max+plus2—>compiler开始进入调试。图3compiler调试成功的结果上图是最后调试成功后的结果,在调试没有成功时,曾出现过许多错误,第一个错误也是最普遍的错误就是:error:line1,filee:max+plusⅡmulti_lpm.tdf:TDFsyntaxerror:ExpectedASSERT,CONSTANT,DEFINE,DESI
6、GN,FUNCTION,IF.OPTIONS,PARAMETERS,SUBDESIGN,ORTITLEbutfoundasymbolicname”LIBRARY”上面这个错误是由调试时是用的“。tdf”文件,把文件保存为“.vhd”之后就消除错误。其它的错误也不一一列举,有些错误是逻辑问题,还有的是输入时不小心输入错误,根据错误提示,一步一步的完成排错,最后出现无错的调试结果。3.2波形文件仿真前:图4仿真前波形仿真后:图5仿真后波形3.3VHDL文本LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOG
7、IC_UNSIGNED.ALL;ENTITYmulti_lpmISGENERIC(WIDTHd:INTEGER:=8;WIDTHb:INTEGER:=8);PORT(clk,clrn,st:INSTD_LOGIC;d:INSTD_LOGIC_VECTOR(WIDTHd-1downto0);b:INSTD_LOGIC_VECTOR(WIDTHb-1downto0);A:OUTSTD_LOGIC_VECTOR(WIDTHd+WIDTHb-1DOWNTO0);Z:OUTSTD_LOGIC);ENDmulti_lpm;ARCHITECTUREoneOFmulti_l
8、pmISTYPEssIS(s0,s1,s2,s3);
此文档下载收益归作者所有