乘法器设计报告.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文档。上传文档
查看更多
乘法器设计报告

有符号乘法器设计报告 ——VLSI课程设计 2010年12月 复旦大学专用集成电路与国家重点实验室 设计要求 完成16*16有符号乘法器的设计。 具体设计方案选择要求如下: 编码方式:non-booth编码,Booth编码,Booth2编码(任选一种) 拓扑结构:简单阵列,双阵列,二进制树,Wallace树(任选一种) 加法器:Ripple Carry Adder,Carry bypass,Carry select,Carry look ahead(任选一种或采用混合方法) 设计报告必须包含设计方案说明及选择该方案的理由、仿真和设计结构等。 设计分析 在微控制器(MCU)、微处理器(MPU)、数字信号处理器(DSP)、滤波器(FIR/IIR)等各种电路中都会用到乘法器,乘法器是最基本、最重要的运算模块之一。并且乘法器往往还是处在关键路径上,所以乘法器的性能就显得更加重要。伴随着现在工艺水平的提高,模块的面积也随着减小,在一定程度下以面积为代价来追求性能的提升,这也是允许的。 本设计是以追求性能为设计目标的,采用全并行的乘法器电路,设计指标设为传播延时为5ns。 乘法器原理分析 乘法器通常有三种结构形式,全串行乘法器、串并行乘法器以及全并行乘法器。全串行乘法器都可以是串行的,需要多个时钟周期,速度很慢;串并行乘法器的一个输入是并行的,另一输入是串行的,乘积串行输出;全并行乘法器,输入和输出都是并行的,电路较为复杂,但是速度极快。本设计追求的就是速度,所以采用全并行乘法器机构。 16位有符号乘法器可以分为三个部分:根据输入的被乘数和乘数产生部分积、部分积压缩产生和和进位、将产生的和和进位相加。这三个部分分别对应着编码方式、拓扑结构以及加法器。 3.1 编码方式 本设计采用booth2编码。 Booth算法的提出主要是为了解决有符号数乘法运算中的复杂的符号修正的问题,所以采用booth2编码对于补码表示的两数就不需要考虑符号的问题。 任何一个有符号数的补码,都可以表示为下面的形式: 附加上一位y-1=0,帮助分析y0,以下简单推导两数的乘法运算。 仔细观察推导出的结果,i是偶数,即隔一位编码一次,每次检验3位,每次检验3位的高位时下一次检验3位的低位。 Booth2算法规则 表中有8种组合,但真正进行的运算只有 3种:+0,+X,+2X,负项 通过补码运算变成加法。负数的补码可通过“取反加 1”实现。 经过booth2编码后,产生的部分积可能是负值,需要考虑符号扩展的问题。如果某个低位的部分积是负数,则需要扩展其符号位使其和高位数对其,无论是正数还是负数,扩展符号位都不会引起数值额变化,所以可以对所有的部分积都扩展符号位。但这样带来的弊处就是增加了硬件开销。可以采用以下的方法来降低开销。 把符号位的高位部分都转化为1,再通过化去高位的1的方法,来减少硬件开销。部分积可以转化为下图所示: 部分积是负数时S=1,部分积是正数时S=0; 当部分积是+0时,E=1,部分积是-0时,E=0,其余情况E=S取反。 3.2 拓扑结构 本设计采用二进制树的拓扑结构。二进制树拓扑结构排列的较为规整,且部分积压缩的速度也非常快。 部分积压缩的目的是为了减小进位传播的延时,采用进位保留加法器,根据当前位信息产生下一位的进位,仅仅产生而没有进位行波传播,这样就可以把当前的多位压缩到较少的位数。经过几次压后,把部分积压缩成和以及进位。 部分积主要是通过counter和compressor进行压缩,通常使用(3:2)counter和(4:2)compressor。 (3:2)counter其实质就是一个全加器,进位输入为ci,进位输出为c; (4:2)compressor可以由两个全加器组成,ci为进位输入,Coin为内部进位,输入到下一位的进位输入Ci,Coex为输出进位。 上图为二进制树的拓扑结构图,每4个部分积输入到一个(4:2)compressor中,产生两个输出,则8个部分积使用3次(4:2)compressor就可以得到和和进位。部分积的压缩方式可以见下图。 如图中所示,加上最后一个部分积的进位,共有9个部分积,本设计把最后的进位位移到第一个部分积上,使用5个全加器,把进位融合到第一个部分积,这样就转变成8个部分积了,再使用两级二进制树压缩,所以总共使用了三级压缩,最终得到部分积的和和进位。为了免去不必要的硬件开销,对于部分积边上的位采用counter压缩。上文提到的符号位扩展的改进方法,其目的也就是减少硬件开销,所以在不影响性能的情况下,单独出来部分积的边缘位是十分有必要的。 3.3 加法器 本设计采用超前进位加法器。为了使得乘法器的延时最小,最后一级的加法器采用传播延时最小的超前进位加法器。 超前进位加法器的

文档评论(0)

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

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

1亿VIP精品文档

相关文档