ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:231.96KB ,
资源ID:16539986      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16539986.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(8位乘法器设计Word格式文档下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

8位乘法器设计Word格式文档下载.docx

1、例如被乘数为00000101,乘数为01101111,初始条件下,部分积为0,乘数最低位为1,加被乘数,和为00000101,使其右移一位,形成新的部分积为00000010,乘数同时右移一位,原和最低位1被放到乘数的最高位,此时,乘数最低位为1,加00000101,和为00000111,使其右移一位,形成新的部分积为0000011,依次类推,循环8次,总共需要进行8次相加和8次移位操作,最终得出乘积结果。其设计流程图所如下所示:38位乘法器的顶层设计 8位移位相加乘法器的原理图如下图所示。在图中,START信号的上升沿及其高电平有两个功能,即16位寄存器清零和被乘数A70向移位寄存器SREG8

2、B加载;它的低电平则作为乘法使能信号。CLK位乘法时钟信号。当被乘数被加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。当为1时,1位乘法器ANDARTIH打开,8位乘数B70在同一节拍进入8位加法器,与上一次锁存在16位锁存器中的高8位进行相加,其和在下一时钟节拍的上升沿被锁进此锁存器。而当被乘数的移出位为0时,与门全零输出。如此反复,直至8个时钟脉冲后。最后乘积完整出现在REG16B端口。移位相加乘法器的原理图如下: 根据上图移位相加乘法器的原理图,利用元例化的方法可得乘法器乘法器的顶层设计的VHDL的代码如下:LIBRARY IEEE;USE IEE

3、E.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ARICTL IS PORT(CLK:IN STD_LOGIC; START: ARIEND:OUT STD_LOGIC; CLKOUT: OUT STD_LOGIC; RSTALL: OUT STD_LOGIC); END ENTITY ARICTL;ARCHITECTURE ART OF ARICTL ISSIGNAL CNT4B: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN RSTALL=START; PROCESS(CLK,START)IS

4、BEGIN IF START=1THEN CNT4B=0000; ELSIF CLKEVENT AND CLK=THEN IF CNT4B8 THEN CNT4B =CNT4B+1; END IF; END PROCESS;PROCESS(CLK,CNT4B,START)IS BEGIN 0 THEN8 THEN CLKOUT =CLK;ARIEND= ELSE CLKOUTEND IF;END PROCESS;END ARCHITECTURE ART;ENTITY ADDER4B ISPORT(C4: IN STD_LOGIC;A4: IN STD_LOGIC_VECTOR(3 DOWNTO

5、 0);B4:S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4:END ENTITY ADDER4B;ARCHITECTURE ART OF ADDER4B ISSIGNAL S5: STD_LOGIC_VECTOR(4 DOWNTO 0);SIGNAL A5,B5:A5&A4;B5B4;S5=A5+B5+C4;S4=S5(3 DOWNTO 0);CO4=S5(4);ENTITY SREG8B ISPORT(CLK:LOAD:DIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0);QB:END ENTITY SREG8B;ARCHITECTUR

6、E ART OF SREG8B ISSIGNAL REG8B: STD_LOGIC_VECTOR(7 DOWNTO 0);PROCESS(CLK,LOAD)ISIF CLKIF LOAD= THEN REG8B=DIN;ELSE REG8B(6 downto 0)=REG8B(7 DOWNTO 1);QB=REG8B(0);ENTITY REG16B ISPORT (CLK: CLR: D: IN STD_LOGIC_VECTOR(8 DOWNTO 0); Q: OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY REG16B;ARCHITECTURE A

7、RT OF REG16B ISSIGNAL R16S: STD_LOGIC_VECTOR(15 DOWNTO 0);PROCESS(CLK,CLR)IS IF CLR= THEN R16S0000000000000000EVENT AND CLK= R16S(6 DOWNTO 0)=R16S(7 DOWNTO 1); R16S(15 DOWNTO 7)=D; QCIN,A4=A(3 DOWNTO 0),B4=B(3 DOWNTO 0),S4=S(3 DOWNTO 0),CO4=SC);U2:SC,A4=A(7 DOWNTO 4),B4=B(7 DOWNTO 4),S(7 DOWNTO 4),C

8、O4=COUT);ENTITY ANDARITH ISPORT(ABIN:DOUT: OUT STD_LOGIC_vector(7 DOWNTO 0);END ENTITY ANDARITH;ARCHITECTURE ART OF ANDARITH ISPROCESS(ABIN,DIN)ISFOR I IN 0 TO 7 LOOPDOUT(I)=DIN(I)AND ABIN;END LOOP;ENTITY MULTI8X8 ISIN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY M

9、ULTI8X8;ARCHITECTURE ART OF MULTI8X8 ISCOMPONENT ARICTL ISSTART:END COMPONENT ARICTL;COMPONENT ANDARITH IS PORT(ABIN: DIN: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT ANDARITH;COMPONENT ADDER8B ISA:B:S:COUT:END COMPONENT ADDER8B ;COMPONENT SREG8B ISEND COMPONENT SREG8B ;COMPONENT REG16B ISEND COM

10、PONENT REG16B ;SIGNAL S1:SIGNAL S2:SIGNAL S3:SIGNAL S4:SIGNAL S6: STD_LOGIC_VECTOR(8 DOWNTO 0);SIGNAL S7: DOUT=S7; S1CLK,START=START, CLKOUT=S2,RSTALL=S3,ARIEND=ARIEND); U2:SREG8B PORT MAP(CLK=S2,LOAD=S3, DIN=A,QB=S4); U3:ANDARITH PORT MAP(ABIN=S4,DIN=B,DOUT=S5); U4:ADDER8B PORT MAP(CIN=S1,A=S7(15 D

11、OWNTO 8), B=S5,S=S6(7 DOWNTO 0),COUT=S6(8); U5:REG16B PORT MAP(CLK=S2,CLR=S3,D=S6(8 DOWNTO 0),Q=S7(15 DOWNTO 0);4乘法器仿真1) 系统仿真情况输入值A=0AH、B=0CH,结果DOUT=0078H;输入值A=0CH、B=0AH,结果DOUT=0078H;输入值A=02H、B=03H,结果DOUT=0006H;仿真图如下:2) 仿真分析当START输入信号为“1”,REG16B清零和被乘数A7.0向移位寄存器加载。此后START信号为“0”,乘法进行。乘法时钟从ARICTL的CLK输入。当被乘数加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。当为1时,与门ANDARITH打开,8位乘数B在同一节拍进入八位加法器,与上一次锁存在16位锁存器REG16B中高8位进行相加,其和在下一时钟节拍的上升沿被锁进此寄存器。而当被乘数移出位为0时,与门全零输出。如此往复,直至八个时钟脉冲后,有ARICTL的控制,乘法运算终止ARIEND输出高电平,以此点亮发光管,以示乘法结束。此时,REG16B的输出值即为最后乘积。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1