移位相加8位硬件乘法器.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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=

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档