移位相加8位硬件乘法器设计-课程设计报告Word文件下载.docx
- 文档编号:13074871
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:18
- 大小:277.41KB
移位相加8位硬件乘法器设计-课程设计报告Word文件下载.docx
《移位相加8位硬件乘法器设计-课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《移位相加8位硬件乘法器设计-课程设计报告Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
(2)设计与门,根据移位寄存器输出是否为1,决定输入加法器的是8位乘数还是全零。
(3)设计8位加法器,将8位乘数或全零与16位锁存器的高8位进行相加。
(4)设计16位锁存器REG16B,在时钟到来时,锁存来自加法器的输出至高8位,并右移低8位。
要求:
1)根据系统设计要求,采用自顶向下的方法,划分系统主要模块,画出整体设计原理框图。
2)根据工作原理、用硬件描述语言对设计内容实现,列出设计程序清单,给出仿真波形图和调试中存在问题及解决方法。
3)设计内容下载至目标芯片,在EDA的GW48型实验箱进行功能验证。
4)谈谈该课题的课程设计中遇到的问题,获得哪些技能和体会,以及建设性意见。
四、设计步骤和安排:
(1)题目安排;
图书馆查相关资料;
(2)设计原理研究,总体设计;
(3)各主要模块的VHDL设计。
各模块的设计仿真分析。
(4)完成系统顶层文件设计,系统总体功能的仿真分析。
(5)将设计内容进行硬件配置,在GW48实验箱上进行调试。
(6)撰写课程设计报告、答辩并提交报告。
。
移位相加8位硬件0乘法器设计
目 录
1产品设计介绍 1
1.1概念:
1
1.2意义:
1.3主要功能:
1.4设计平台:
1.4.1硬件平台:
1.4.2软件平台:
2方案设计及实现 2
2.1系统实现原理 2
2.2设计步骤 2
2.2.1系统介绍:
2
2.2.2原理框图:
2.3主要模块之8位右移寄存器模块的设计 4
2.3.3源代码:
4
2.3.4仿真图:
5
2.3.5仿真分析:
2.4主要模块之8位加法寄存器模块的设计 6
2.4.3源代码:
6
2.4.4仿真图 6
2.5主要模块之选通与门模块的设计 7
2.5.3源代码:
7
2.5.4仿真图:
8
2.5.5仿真分析:
2.6主要模块之16位锁存器的设计 9
2.6.4仿真图:
10
2.6.5仿真分析:
2.7系统总体仿真 11
2.7.1仿真图:
11
2.7.2仿真分析:
3硬件调试 11
3.1调试方法:
3.2调试步骤:
3.3调试结果及分析 12
4心得体会及总结 12
5参考文献 12
6附录 13
6.1引脚锁定 13
6.2功能扩展 13
1产品设计介绍
1.1概念:
该乘法器是由8位加法器构成的以时序方式设计的8位乘法器。
1.2意义:
基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。
由8位加法器构成的以时序逻辑方式设计的8位乘法器,具有一定的实用价值。
其乘法通过逐项移位相加来实现,从被乘数最低位开始,若为1,则乘数左移后与上次的和相加,若为0,左移后与全0相加,直至被乘数的最高位。
乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;
若为0,左移后以全零相加,直至被乘数的最高位。
GW48EDA实验系统
1.4.2软件平台:
MAX+plus II;
Windows7
移位相加8位硬件9乘法器设计
2方案设计及实现
2.1系统实现原理
在下图中,START信号的上跳沿及其高电平有两个功能,即16位寄存器清零和被乘数A[7..0]向移位寄存器SREG8B加载;
它的低电平则作为乘法使能信号。
CLK为乘法时钟信号。
当被乘数被加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。
当为1时,与门ANDER打开,
8位乘数B[7..0]在同一节拍进入8位加法器,与上一次锁存在16位锁存器REG16B中的高8位进行相加,其和在下一时钟节拍的上升沿被锁进此锁存器。
而当被乘数的移出位为0时,与门全零输出。
如此往复,直至8个时钟脉冲后,乘法运算过程中止。
此时SREG16B的输出值即为最后的乘积。
此乘法器的优点是节省芯片资源,它的核心元件只是一个8位加法器,其运算速度取决于输入的时钟频率。
本设计采用层次描述方式,且用原理图输入和文本输入混合方式建立描述文件。
下图是乘法器顶层图形输入文件,它表明了系统由8位右移寄存器(SREG8B)、8
位加法器(ADDER8)、选通与门模块(ANDER)和16位锁存器(SREG16B)所组成,它们之间的连接关系如下图所示。
2.2设计步骤
2.2.1系统介绍:
此移位相加8位硬件乘法器分为四大部分。
第一部分:
8位寄存器设计
第二部分:
选通与门设计
第三部分:
8位带进位加法器第四部分:
16位锁存器
2.2.2原理框图:
1
clk
输入
加法器
选通与门
8位寄存器
高8
输出
移位相加硬件乘法器电路原理图
2
2.3主要模块之8位右移寄存器模块的设计
2.3.1模块说明:
输入为clk、load和din,输出为q;
2.3.2模块功能:
模块的主要功能是数据右移。
8位右移寄存器工作流程图
开始
Y
clk=’1’’
load=’0’
结束
输出最低位
N
数据右移
装载新数据
2.3.3源代码:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
entitySREG8Bisport(clk,load:
instd_logic;
din:
instd_logic_vector(7downto0);
q:
outstd_logic);
endSREG8B;
architecturebehaveofSREG8Bis
signalreg8:
std_logic_vector(7downto0);
begin
process(load,clk)begin
3
if(clk'
eventandclk='
1'
)thenif(load='
0'
)then
reg8<
=din;
else
reg8(6downto0)<
=reg8(7downto1);
endif;
endif;
endprocess;
q<
=reg8(0);
endbehave;
2.3.4仿真图:
2.3.5仿真分析:
在上升沿脉冲到来且load为0的时候,装载新数据,并输出din(0);
在load为1的时候,进行数据右移,并输出din(0)。
4
2.4主要模块之8位加法寄存器模块的设计
2.4.1模块说明:
输入为a、b,输出为q;
2.4.2模块功能:
模块的主要功能是实现两个8位数的加法运算
=a+b
8位加法寄存器的工作流程图
entityADDER8is
port(a:
b:
outstd_logic_vector(8downto0));
endADDER8;
architecturebehaveofADDER8isbegin
=a+b;
:
2.4.4仿真图:
5
2.4.5仿真分析:
这是一个8位带进位加法器,输出q为输入a与输入b的和,最高位q(8)是进位位
2.5主要模块之选通与门模块的设计
2.5.1模块说明:
输入为abin和din,输出为q;
2.5.2模块功能:
模块的主要功能是完成8位与1位运算。
选通与门模块的工作流程图
="
00000000"
=din
abin=’1’
2.5.3源代码:
entityANDERis
port(abin:
outstd_logic_vector(7downto0));
endANDER;
archit
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 移位 相加 硬件 乘法器 设计 课程设计 报告