欢迎来到天天文库
浏览记录
ID:36710070
大小:215.10 KB
页数:15页
时间:2019-05-10
《《位移位乘法器》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验(1)实验目的:学习应用移位相加原理设计8位乘法器。(2)实验原理:该乘法器是由8位加法器构成的以时序方式设计的8位乘法器。实验8-1移位相加8位硬件乘法器电路设计实验其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。从图9-5的逻辑图及其乘法操作时序图图9-4(示例中的相乘数为9FH和FDH)上可以清楚地看出此乘法器的工作原理。图9-5中,START信号的上跳沿及其高电平有两个功能,即16位寄存器清零和被乘数A[7..0]向移位寄
2、存器SREG8B加载;它的低电平则作为乘法使能信号。CLK为乘法时钟信号。当被乘数被加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。当为1时,1位乘法器ANDARITH打开,8位乘数B[7..0]在同一节拍进入8位加法器,与上一次锁存在16位锁存器REG16B中的高8位进行相加,其和在下一时钟节拍的上升沿被锁进此锁存器。而当被乘数的移出位为0时,与门全零输出。如此往复,直至8个时钟脉冲后,最后乘积完整出现在REG16B端口。在这里,1位乘法器ANDARITH的功能类似于1个特殊的与门,即当ABIN
3、为‘1’时,DOUT直接输出DIN,而当ABIN为‘0’时,DOUT输出全“00000000”。实验8-1移位相加8位硬件乘法器电路设计实验8-1移位相加8位硬件乘法器电路设计电路原理实验8-1移位相加8位硬件乘法器电路设计实验8-1移位相加8位硬件乘法器电路设计实验8-1移位相加8位硬件乘法器电路设计实验8-1移位相加8位硬件乘法器电路设计实验【例8-32】LIBRARYIEEE;--8位右移寄存器USEIEEE.STD_LOGIC_1164.ALL;ENTITYSREG8BISPORT(CLK:INSTD_LOGIC;LOAD:IN
4、STD_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(
5、0);--输出最低位ENDbehav;实验8-1移位相加8位硬件乘法器电路设计实验【例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
6、;实验8-1移位相加8位硬件乘法器电路设计实验【例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)BEGINFORIIN0TO7LO
7、OP--循环,完成8位与1位运算DOUT(I)<=DIN(I)ANDABIN;ENDLOOP;ENDPROCESS;ENDbehav;实验8-1移位相加8位硬件乘法器电路设计实验【例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;ARCHITEC
8、TUREbehavOFREG16BISSIGNALR16S:STD_LOGIC_VECTOR(15DOWNTO0);BEGINPROCESS(CLK,CLR)BEGINIFCLR='1'THENR16S<=
此文档下载收益归作者所有