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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

移位相加8位硬件乘法器电路设计报告.docx

1、移位相加8位硬件乘法器电路设计报告 学号: 08437119 课程名称: FPGA设计 题目: 移位相加8位硬件乘法器电路设计 学 生 姓 名: 谈鹏 学 院(系):信息科学与工程学院 专 业 班 级: 通信081 一、 产品设计需求说明本产品实现的功能:比较方便地实现两个8位二进制数的乘法运算。设计参数 使用的芯片/硬件平台GW48实验系统 软件平台 WindowsXP+MuxplusII10.1二、 方案设计及实现1、系统实现原理和总体框图该乘法器是由8位加法器构成的以时序方式设计的8位乘法器。其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次

2、的和相加;若为0,左移后以全零相加,直至被乘数的最高位。从下图可以清楚地看出此乘法器的工作原理。在下图中,START信号的上跳沿及其高电平有两个功能,即16位寄存器清零和被乘数A7.0向移位寄存器SREG8B加载;它的低电平则作为乘法使能信号。CLK为乘法时钟信号。当被乘数被加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。当为1时,与门ANDARITH打开,8位乘数B7.0在同一节拍进入8位加法器,与上一次锁存在16位锁存器REG16B中的高8位进行相加,其和在下一时钟节拍的上升沿被锁进此锁存器。而当被乘数的移出位为0时,与门全零输出。如此往复,直至8个

3、时钟脉冲后,乘法运算过程中止。此时REG16B的输出值即为最后的乘积。此乘法器的优点是节省芯片资源,它的核心元件只是一个8位加法器,其运算速度取决于输入的时钟频率。本设计采用层次描述方式,且用原理图输入和文本输入混合方式建立描述文件。下图是乘法器顶层图形输入文件,它表明了系统由8位右移寄存器(SREG8B)、8位加法器(ADDER8)、选通与门模块(ANDARITH)和16位锁存器(REG16)所组成,它们之间的连接关系如下图所示。原理框图: 移位相加硬件乘法器电路原理图2、主要模块之8位右移寄存器模块的设计模块说明:输入为clk,load和din,输出为qb。模块的主要功能是数据右移 8位右

4、移寄存器工作流程图 源代码:-File:sreg8b.vhd -Designer:谈鹏 -Module: clock -Description: -Simulator:MAX plusII 10.0.9/Window XP-Synthesizer:MAX plusII 10.0.9/Window XP -Date:2011/05/02 -Modify date:2011/05/02LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sreg8b IS -8位右移寄存器 PORT(clk:IN STD_LOGIC; LOAD:IN STD_LOGIC;

5、 din:IN STD_LOGIC_VECTOR(7 DOWNTO 0); qb:OUT STD_LOGIC);END sreg8b;ARCHITECTURE behave OF sreg8b IS SIGNAL reg8:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(clk,load) BEGIN IF load=1THEN reg8=din; -装载新数据 ELSIF CLKEVENT AND CLK=1THEN reg8(6 DOWNTO 0)=reg8(7 DOWNTO 1); -数据右移 END IF; END PROCESS; qb=reg8

6、(0); -输出最低位END behave;仿真图3、主要模块之8位加法寄存器模块的设计模块说明:输入为b,a,输出为s。模块的主要功能是实现两个8位数的加法运算。 8位加法寄存器的工作流程图源代码:-File:adder8.vhd -Designer:谈鹏 -Module: clock -Description: -Simulator:MAX plusII 10.0.9/Window XP-Synthesizer:MAX plusII 10.0.9/Window XP -Date:2011/05/02 -Modify date:2011/05/02LIBRARY IEEE;USE IEEE.

7、STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder8 IS -8位加法器 PORT(b,a:IN STD_LOGIC_VECTOR(7 DOWNTO 0); s:OUT STD_LOGIC_VECTOR(8 DOWNTO 0);END adder8;ARCHITECTURE behave OF adder8 IS BEGIN s=0&a+b; 0,a并置再与b相加END behave;仿真图4、主要模块之选通与门模块的设计模块说明:输入为abin和din,输出为dout。模块的主要功能是完成8位与1位运算。 选通与门模

8、块的工作流程图NY源代码:-File:andarith.vhd -Designer:谈鹏 -Module: clock -Description: -Simulator:MAX plusII 10.0.9/Window XP-Synthesizer:MAX plusII 10.0.9/Window XP -Date:2011/05/02 -Modify date:2011/05/02LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY andarith IS PORT(abin:IN STD_LOGIC; din:IN STD_LOGIC_VECTOR

9、(7 DOWNTO 0); dout:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END andarith;ARCHITECTURE behave OF andarith ISBEGIN PROCESS(abin,din) BEGIN FOR I IN 0 TO 7 LOOP -循环,完成8位与1位运算 DOUT(I)=DIN(I) AND ABIN; END LOOP; END PROCESS;END behave;仿真图5、主要模块之16位锁存器的设计模块说明:输入为clk,clr和d,输出为q。模块的主要功能是将数据锁存。 16位锁存器工作流程图源代码:-File:

10、reg16b.vhd -Designer:谈鹏 -Module: clock -Description: -Simulator:MAX plusII 10.0.9/Window XP-Synthesizer:MAX plusII 10.0.9/Window XP -Date:2011/05/02 -Modify date:2011/05/02LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY reg16b IS PORT(clk,clr:IN STD_LOGIC; d:IN STD_LOGIC_VECTOR(8 DOWNTO 0); q:OUT ST

11、D_LOGIC_VECTOR(15 DOWNTO 0);END reg16b;ARCHITECTURE behave OF reg16b IS SIGNAL R16S:STD_LOGIC_VECTOR(15 DOWNTO 0);BEGIN PROCESS(clk,clr) BEGIN IF clr=1THEN R16S0); -清零信号 ELSIF CLKEVENT AND CLK=1THEN -时钟到来时,锁存输入值,并右移低8位 R16S(6 DOWNTO 0)=R16S(7 DOWNTO 1); -右移低8位 R16S(15 DOWNTO 7)=D; -将输入锁到高8位 END IF; END PROCESS;q=R16S;END behave;仿真图三、 仿真及延时分析系统总体仿真图(时序仿真)系统延时分析图建立/保持时间分析频率分析四、 总结:通过这次期末设计,我对MAX+PLUS的使用更加熟悉,了解了硬件乘法器的工作原理。同时也提高了我对代码编写和阅读的能力。过程中有好多细节需要注意的,比如说VHDL后缀名要用.vhd,保存的名字要跟实体名相一致等。由于时间有限,没能去实验室测试,稍有遗憾,以后有空肯定会去测试下。有些有疑问的地方是同学教我的,谢谢他们。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2