位移位乘法器_第1页
位移位乘法器_第2页
位移位乘法器_第3页
位移位乘法器_第4页
位移位乘法器_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

位移位乘法器第一页,共十五页,2022年,8月28日实验其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。从图9-5的逻辑图及其乘法操作时序图图9-4(示例中的相乘数为9FH和FDH)上可以清楚地看出此乘法器的工作原理。图9-5中,START信号的上跳沿及其高电平有两个功能,即16位寄存器清零和被乘数A[7..0]向移位寄存器SREG8B加载;它的低电平则作为乘法使能信号。CLK为乘法时钟信号。当被乘数被加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。当为1时,1位乘法器ANDARITH打开,8位乘数B[7..0]在同一节拍进入8位加法器,与上一次锁存在16位锁存器REG16B中的高8位进行相加,其和在下一时钟节拍的上升沿被锁进此锁存器。而当被乘数的移出位为0时,与门全零输出。如此往复,直至8个时钟脉冲后,最后乘积完整出现在REG16B端口。在这里,1位乘法器ANDARITH的功能类似于1个特殊的与门,即当ABIN为‘1’时,DOUT直接输出DIN,而当ABIN为‘0’时,DOUT输出全“00000000”。实验8-1移位相加8位硬件乘法器电路设计第二页,共十五页,2022年,8月28日实验8-1移位相加8位硬件乘法器电路设计电路原理第三页,共十五页,2022年,8月28日实验8-1移位相加8位硬件乘法器电路设计第四页,共十五页,2022年,8月28日实验8-1移位相加8位硬件乘法器电路设计第五页,共十五页,2022年,8月28日实验8-1移位相加8位硬件乘法器电路设计第六页,共十五页,2022年,8月28日实验8-1移位相加8位硬件乘法器电路设计第七页,共十五页,2022年,8月28日实验【例8-32】LIBRARYIEEE;--8位右移寄存器USEIEEE.STD_LOGIC_1164.ALL;ENTITYSREG8BISPORT(CLK:INSTD_LOGIC;LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);QB:OUTSTD_LOGIC);ENDSREG8B;ARCHITECTUREbehavOFSREG8BISSIGNALREG8:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(CLK,LOAD)BEGINIFLOAD='1'THENREG8<=DIN;ELSIFCLK'EVENTANDCLK='1'THENREG8(6DOWNTO0)<=REG8(7DOWNTO1);ENDIF;ENDPROCESS;QB<=REG8(0);--输出最低位ENDbehav;实验8-1移位相加8位硬件乘法器电路设计第八页,共十五页,2022年,8月28日实验【例8-33】LIBRARYIEEE;--8位加法器USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER8ISPORT(B,A:INSTD_LOGIC_VECTOR(7DOWNTO0);S:OUTSTD_LOGIC_VECTOR(8DOWNTO0));ENDADDER8;ARCHITECTUREbehavOFADDER8ISBEGINS<='0'&A+B;ENDbehav;实验8-1移位相加8位硬件乘法器电路设计第九页,共十五页,2022年,8月28日实验【例8-34】LIBRARYIEEE;--1位乘法器USEIEEE.STD_LOGIC_1164.ALL;ENTITYANDARITHIS--选通与门模块PORT(ABIN:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDANDARITH;ARCHITECTUREbehavOFANDARITHISBEGINPROCESS(ABIN,DIN)BEGINFORIIN0TO7LOOP--循环,完成8位与1位运算DOUT(I)<=DIN(I)ANDABIN;ENDLOOP;ENDPROCESS;ENDbehav;实验8-1移位相加8位硬件乘法器电路设计第十页,共十五页,2022年,8月28日实验【例8-35】LIBRARYIEEE;--16位锁存器/右移寄存器USEIEEE.STD_LOGIC_1164.ALL;ENTITYREG16BISPORT(CLK,CLR:INSTD_LOGIC;D:INSTD_LOGIC_VECTOR(8DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDREG16B;ARCHITECTUREbehavOFREG16BISSIGNALR16S:STD_LOGIC_VECTOR(15DOWNTO0);BEGINPROCESS(CLK,CLR)BEGINIFCLR='1'THENR16S<=(OTHERS=>'0');--清零信号ELSIFCLK'EVENTANDCLK='1'THEN--时钟到来时,锁存输入值,并右移低8R16S(6DOWNTO0)<=R16S(7DOWNTO1);--右移低8位R16S(15DOWNTO7)<=D;--将输入锁到高8位ENDIF;ENDPROCESS;Q<=R16S;ENDbehav;实验8-1移位相加8位硬件乘法器电路设计第十一页,共十五页,2022年,8月28日实验

(3)实验内容1:根据给出的乘法器逻辑原理图及其各模块的VHDL描述,在MAX+plusII上完成全部设计,包括编辑、编译、综合和仿真操作等。以87H乘以F5H为例,进行仿真,对仿真波形作出详细解释,包括对8个工作时钟节拍中,每一节拍乘法操作的方式和结果,对照波形图给以详细说明。

(4)实验内容2:编程下载,进行实验验证。实验电路可选择附图1-3,8位乘数和被乘数可分别用键2、键1、键4和键3输入;16位乘积可由4个数码管显示;用键8输入CLK,键7输入START。详细观察每一时钟节拍的运算结果,并与仿真结果进行比较。实验8-1移位相加8位硬件乘法器电路设计第十二页,共十五页,2022年,8月28日实验实验8-1移位相加8位硬件乘法器电路设计图8-48位移位相加乘法器运算逻辑波形图第十三页,共十五页,2022年,8月28日实验

(5)实验内容3:乘法时钟连接实验系统上的连续脉冲,如clock0,设计一个此乘法器的控制模块,接受实验系统上的连续脉冲,如clock0,当给定启动/清0信号后,能自动发出CLK信号驱动乘法运算,当8个脉冲后自动停止。

(6)思考题:用MAX+plusII进行优化设计后,具体说明并比较组合电路乘法器与本乘法器的逻辑资源占用情况和运行速度。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论