- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 9
EDA技术课程大作业
设计题目:移位相加8位硬件乘法器电路设计
院 系: 电子信息与电气工程学院
学生姓名:
学 号: 200902070008
专业班级: 电子信息专升本
2010 年 12
移位相加8位硬件乘法器电路设计
1. 设计背景和设计方案
1.1设计背景
硬件乘法器,其基础就是加法器结构,它已经是现代计算机中必不可少的一部分。乘法器的模型就是基于“移位和相加”的算法。乘法器应用很广泛,其在数字信号处理中经常用到,如用在FFT,数字上下变频、数字滤波、优化卷积、相关以及矩阵运算等算法中。随着科技的发展,我们对乘法器的技术要求越来越高,随着乘数和被乘数位数的增加,乘法器电路中的加法器位数也要相应的增加,我们可以在乘法器中开发出更快的加法阵列。硬件乘法器的快速发展已是现在社会需要的必然。
1.2设计方案
1.内容:由8位加法器构成的以时序逻辑方式设计的8位乘法器乘法通过逐向移位加原理来实现,从被乘数的最低位开始,若为1,则乘数左移与上一次和相加;若为0左移后以全零相加,直至被乘数的最高位
2.设计思路:纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器,基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。这里绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一定的实用价值,而且由FPGA构成实验系统后,可以很容易的用ASIC大型集成芯片来完成,性价比高,可操作性强。其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。
3.设计总体框图
框图的说明
1控制器是一个乘法器的控制模块,用来接受实验系统上的连续脉冲。
2锁存器起锁存的作用,它可以锁存8位乘数。
3移位寄存器起移位的作用,便于被乘数可以逐位移出。
4乘法器功能类似一个特殊的与非门。
5加法器用于8位乘数和高8位相加。
2. 方案实施
2.1 SREG8B(移位寄存器)的模块
1.SREG8B模块的功能:SREG8B是一个移位寄存器。有三个输入端CLK,LOAD,DIN[7..0]);当被乘数被加载于8位右移寄存器后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。有一个输出端(QB)。
2.VHDL程序代码如下
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SREG8B IS
PORT(CLK,LOAD:IN STD_LOGIC;
DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
QB:OUT STD_LOGIC);
END SREG8B;
ARCHITECTURE behav OF SREG8B IS
SIGNAL REG8:STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
PROCESS(CLK,LOAD)
BEGIN
IF CLKEVENT AND CLK=1THEN
IF LOAD=1THEN REG8=DIN;
ELSE REG8(6 DOWNTO 0)=REG8(7 DOWNTO 1);
END IF;
END IF;
END PROCESS;
QB=REG8(0);
END behav;
2.2 ADDER8B(8位加法器)模块
1.ADDER8B模块的功能:ADDER8B是一个8位加法器。有三个输入端(CIN,A[7..0],B[7..0]),其中A[7..0]是被乘数.B[7..0]是乘数。ADDER8B起到使两个数相加的作用;即在加法的基础上才能相乘。所以8位加法器是一个必不可少的模块。
2.VHDL程序代码如下
LIBRARY IEEE;
USE IEEE . STD_LOGIC_1164.ALL;
USE IEEE . STD_LOGIC_UNSIGNED.ALL;
ENTITY ADDER8B IS
PORT(CIN :IN STD_LOGIC;
A ,B:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
S:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
COUT:OUT STD_LOGIC);
END ADDER8B;
ARCHITECTURE BEHAV OF ADDER8B IS
SIGNAL SINT , AA, BB:STD_LOGIC_VECTOR(8 DOWNTO 0);
BEGIN
AA=
您可能关注的文档
最近下载
- 生命体征的观察与照护.pptx VIP
- 电力设计软件:CDEGS二次开发_(6).CDEGS模型创建与编辑.docx VIP
- 《县级(区域)医疗资源集中化运行规范 第2部分:医学影像会诊中心》.docx VIP
- 国有企业内部薪酬分配指引(2025年).docx VIP
- 铁路线路防护栅栏 通线(2023)8001.docx VIP
- 电力系统设计软件:CDEGS二次开发_(5).CDEGS模块深度应用.docx VIP
- 2025年银行业专业人员初级职业资格考试(银行业法律法规与综合能力)历年参考题库含答案详解.docx VIP
- 2021年自考06090人员素质测评理论与方法.pdf VIP
- 本科药理学教学大纲(72学时).doc VIP
- 2024年九年级上册道德与法治期中测试卷含答案.pdf VIP
原创力文档


文档评论(0)