一种改进的Wallace树型乘法器的设计

最新更新时间:2006-11-08来源: 电子设计应用关键字:数字  信号  处理器 手机看文章 扫描二维码
随时随地手机看文章
引言

  在微处理器芯片中,乘法器是进行数字信号处理的核心,同时也是微处理器中进行数据处理的关键部件。乘法器完成一次操作的周期基本上决定了微处理器的主频。乘法器的速度和面积优化对于整个CPU的性能来说是非常重要的。为了加快乘法器的执行速度,减少乘法器的面积,有必要对乘法器的算法、结构及电路的具体实现做深入的研究。

基4Booth算法与乘法器的一般结构

  乘法器工作的基本原理是首先生成部分积,再将这些部分积相加得到乘积。在目前的乘法器设计中,基4Booth算法是部分积生成过程中普遍采用的算法。对于N位有符号数乘法A×B来说,常规的乘法运算会产生N个部分积。如果对乘数B进行基4Booth编码,每次需考虑3位:相邻高位、本位和相邻低位,编码后产生部分积的个数可以减少到[(N+1)/2] ([X]取值为不大于X的整数),确定运算量0、±1A、±2A。对于2A的实现,只需要将A左移一位。因此,对于符号数乘法而言,基4 Booth算法既方便又快捷。而对于无符号数来说,只需对其高位作0扩展,而其他处理方法相同。虽然扩展后可能导致部分积的个数比有符号数乘法多1,但是这种算法很好地保证了硬件上的一致性,有利于实现。对于32位乘法来说,结合指令集的设计,通常情况下需要相加的部分积不超过18个。

  对部分积相加,可以采用不同的加法器阵列结构。而不同的阵列结构将直接影响完成一次乘法所需要的时间,因此,加法器阵列结构是决定乘法器性能的重要因素。重复阵列(Iterative Array,简称IA)和Wallace树型结构是最为典型的两种加法器阵列结构。IA结构规整,易于版图实现,但速度最慢且面积大;理论上,Wallace树型结构是进行乘法操作最快的加法器阵列结构,但传统的Wallace树型结构电路互连复杂,版图实现困难。为了解决这个问题,人们推出了一些连接关系较为简单的树型结构,例如ZM树和OS树。它们都是将IA树分为几段,每段称之为子树,子树内部连接采用IA结构,而子树间采用树型连接,以此来降低连接复杂度,但是这种方法降低了部分积相加的速度。

  在对树型结构进行改进的同时,设计者们也尝试了对加法阵列中基本加法单元的改进。Wallace最早提出的方案中,是以CSA(进位保留加法器)作为基本单元构建加法阵列的。其基本方法是:通过CSA部件,以3∶2的压缩比对部分积进行逐级压缩,直到最后只产生两个输出为止,再通过进位传递加法器对产生的这两个伪和与局部进位相加得出真正的结果。此后,Dadda提出了一种新的加法单元,称为“(j,k)计数器”,它有j个输入和k个输出,其中j≦2k。经过研究和实践,人们发现4-2压缩器(实际上是5-3计数器)具有较好的平衡性和对称性,用其作为基本加法单元构成的乘法器在总体性能上具有一定的优势,因此4-2压缩器也就成为了目前乘法器中较多采用的加法单元。

  图1中列举了乘法器中几种加法器阵列的结构,它们都采用4-2压缩器作为基本加法单元来完成对18个部分积的加和。图中每个矩形代表一组4-2压缩器,带箭头的线段表示部分积与中间结果。

(a)IA阵列      (b)Wallace树
(c)一阶OS树     (d)参考文献[5]中的树型结构



图1 对18个部分积相加所采用的加法阵列结构

  如前所述,图1(a)中的IA阵列,结构最为规整,但很明显,其延时级数大大多于其他结构。(b)是Wallace树结构,由于采用4-2压缩器作为唯一的加法单元,而18不能被4整除,因此在对18个部分积的求和过程中,必然要对其中的两个部分积做额外处理。Wallace树采取的方法是:先将16个部分积通过三级4-2压缩器后产生两个结果,然后与剩下的两个部分积一起再进行一级4-2压缩。(c)中的一阶OS树结构也采用了类似的方法,只是在处理的先后顺序上有所改变。这两种结构,都破坏了树的对称性,造成路径的不等长,因此浪费了硬件资源,且增加了布局布线的复杂度。(d)是参考文献[5]中提出的一种经过改进的树型结构,其求和过程是:将18个部分积分为3组,先对每组中的6个部分积求和,各产生两个中间结果,再把这6个中间结果相加。由于对每组中的6个部分积求和,可以采用相同结构的两组4-2压缩器,这样就很好地降低了布局布线的复杂度。其缺点在于:用4-2压缩器对6个中间结果进行相加的过程中,仍不能避免路径不平衡的问题,因此,还是使关键路径的延时有不必要的增加。

CSA和4-2压缩器的电路结构和时延分析

  既然CSA和4-2压缩器是加法阵列中主要采用的基本单元,那么,就有必要对CSA和4-2压缩器在电路特性方面做一下分析比较。如图2所示,CSA的电路逻辑实际上就是一位全加器,其关键路径上需要经过两级异或门逻辑的延时。对于4-2压缩器,可以把它看作是两个CSA按照图3形式相连而构成。



图2 CSA电路结构

图3 由两个CSA连接而成的4-2压缩器电路结构

  通过图3所示的连接方式能够很容易地实现4-2压缩器。但这种未经过优化的电路结构很可能造成关键路径不必要的延长。上文已提到,4-2压缩器实际上是由5个权1的输入,产生2个权2的输出(Cout,C)和1个权1的输出(S)。而本文之所以称其为4-2压缩器而非5-3计数器,是基于这样一个事实:将此单元作横向排列后,加数数目可以实现的压缩比为4:2。基于真值表,可以设计出较为理想的4-2电路结构,如图4所示,其中采用了基于2选1多路选择器的异或门电路结构代替传统的异或门。

图4 基于多路选择器的4-2压缩器电路结构

  此外,通过平衡路径,该结构使横向进位链不对关键路径的延迟造成影响,也就是说产生C和S信号所需的时间不决定于Cin信号,电路关键路径为3个异或门的延迟。在90nm工艺条件下,采用Mentor公司的eldoD仿真工具得到的实际电路延迟仿真数据如表1所示。由此可见,一级4-2压缩器的最大延时约为一级CSA最大延迟的1.5倍,但完成了两级CSA所做的相加工作。

表1 4-2压缩器和CSA时延仿真数据

信号延时 P1       P2        P3       P4   信号延时    A     B    C
S (ps)187.76 201.30 194.99 192.77Sum(ps)134.46 138.11 94.492
C (ps)185.79 183.98 187.5 195.14Carry(ps)118.97 111.98 100.73

(a)4-2压缩器时延仿真数据                           (b)CSA时延仿真数据

改进的Wallace树型乘法器结构及性能比较

  对于32位乘法来说,符号数相乘时,基4 Booth编码形成16个编码项,并由此产生16个部分积;无符号数相乘时,编码项与部分积各多出一个。此外,在目前CPU指令集的设计中,乘加/减(C±A×B)指令已被广泛采用。所以,在一次乘法运算中,加法阵列中需要相加的部分积最多达到18个。而部分积个数对阵列结构的设计有着重大的影响,进而也就影响了布局布线的复杂度以及阵列的延迟级数。这一点在上文对图1中各个阵列结构的分析中,可以得到很好的证明。

  为了解决图1中各结构在对部分积求和过程中存在的树型结构对称性不好、规整性差、布局布线复杂度高,以及关键路径延时不必要增加等问题,本文基于传统的Wallace树型结构,对其做出了改进,提出如图5所示的树型阵列结构。



图5 CSA与4-2压缩器相结合的树型阵列结构

  此结构中,采用CSA和4-2压缩器共同作为基本加法单元,对18个部分积进行压缩。其具体过程为:先采用CSA对18个部分积做第一次压缩,产生12个中间结果,再采用4-2压缩器进行第二次压缩,然后再分别采用CSA和4-2压缩器对第二个中间结果和随后产生的4个中间结果做压缩,得到最终的两个伪和,送入进位传播加法器得到最终结果。该结构通过在第一次和第三次压缩中采用CSA,使得最初的18个部分积和用4-2压缩器进行第二次压缩产生的6个中间结果能够同时得到处理,使各条路径在时延上达到平衡,相比于只采用4-2压缩器作为基本加法单元的阵列,这就节省了不必要的等待时间。与此同时,用两级CSA取代两级4-2压缩器,也使得关键路径的延时有了明显的缩短,对高速集成电路设计有着很高的实用价值。

  此外,由图5可以看出,此结构具有较好的对称性和规整性,宏模块数量少,有利于布局布线。同时,对于目前指令集设计中常用的乘法指令,该结构对硬件的利用率也是相当高的。概括地说,该结构保持了传统Wallace树型结构求和速度快的优点,又较好地改进了原来那种由单一加法单元构成的阵列的不足。

  为了比较该结构与图1所示各结构阵列的面积,本文在90nm工艺下采用全定制设计方法,利用Cadence的版图工具Virtuoso对各种情况进行了比较。另外,采用经过4-2压缩器级数度量关键路径的时延,不考虑互连延时,再通过AT2标准做了进一步的比较,结果如表2所示。(其中由表1数据可得,1级CSA延时≈0.7级4-2压缩器延时。

表2 各种结构的比较

阵列结构  面积A(μm2) 延时T(4-2级数) AT2 用Wallace树归一化
IA阵列      0.0362           8       2.3168              3.3
Wallace树 0.0437           4       0.6992              1
一阶OS树   0.0402          4        0.6432             0.92
参考文献    0.0414          4        0.6624             0.95
[5]结构
本文提出    0.0418          3.4     0.4832              0.69
结构

结语

  采用CSA与4-2压缩器相结合的电路,在对部分积的求和过程中对硬件达到了最为高效的利用。同时,这种结构既发挥了CSA版图面积小的优点,又体现了4-2压缩器压缩比高、速度快的长处,因此,与其他结构相比,本文提出的改进结构在面积和速度上都达到了相对理想的效果。虽然其在布局布线上有一定的复杂度,但与传统的Wallace树相比,已取得了颇为可观的改进。目前,该结构乘法器的版图设计工作已基本完成,并被用于正在进行的64位高性能嵌入式CPU设计的项目中,预计于2007年3月进行流片。

参考文献
1Bwick G. Fast multiplication:algorithms and implementation[D]. Stanford University, 1994
2Poornaiah, D. Algorithm for designing efficient VLSI concurrent add-multiply and add-multiply-add cells for DSP applications[J]. Electronic Letters, 2000, 36(5):399-400
3Jessani R M, Putrino M. Comparison of Single- and Dual-Pass Multiply-Add Fused Floating - Point Units[J]. IEEE Trans Comput, 1998, 47(9):927-937
4Sousa L, Chaves R.. A universal architecture for designing ef

关键字:数字  信号  处理器 编辑: 引用地址:一种改进的Wallace树型乘法器的设计

上一篇:一种移频MODEM芯片AM7911的扩展技术
下一篇:压控晶体振荡器选用中的几个问题

推荐阅读最新更新时间:2023-10-12 20:12

MSP430多处理器之间的通信方式及协议
摘 要:MSP430的功能已经非常强大,其片内外设丰富,适合众多的场合使用;但是在大型复杂的场合或者实时性要求较高的场合,使用一个处理器处理所有的业务,总是显得有些不足。引入多处理器协作工作的模式,可提高系统的实时性、可靠性和适用性;利用MSP430固有的特点,选择UART模式,采用.ModBus的通信协议,可进行不同处理器之间的数据交换。 关键词:多处理器 UART M0dBus MSP430 在单片机系统中,多处理器是指多个相同类型或者不同类型的单片机协作处理同一个系统的不同工作。它们之间必须具备一定的数据交换和协作处理能力,共同完成一个系统化的工作。不同处理器之间可以采用数据交换方式、并行总线方式、串行总线方式进行通信。
[网络通信]
基于单片机C8051F410的精确信号模拟电路设计
  引言   在对某型发射装置进行检测时.需要提供三组以11.50伏为基准的精确直流电压信号。为配合测试流程,这三组信号需要在不同的时段取18个不同的直流电压值,幅度分布在9.33-12.13伏范围之内。原有的测试仪采用22个精密电阻组成的分压器,配合波段开关选择来产生这18种不同的精确直流电压信号。这种设计方法价格昂贵,并且不能实现自动化检测,需要通过手工拨动波段开关来实现测试步骤的转换。为了实现对发射装置的自动测试。采用微机技术设计了新型的检测仪。新的检查仪以CPU模块为核心,通过程序控制D/A转换器来产生这三组精确直流电压信号,简化了设计,降低了成本,实现了测试步骤的自动切换。但是在检测仪的使用过程中发现经常出现重测合
[单片机]
基于单片机C8051F410的精确<font color='red'>信号</font>模拟电路设计
一种高效灵活数字上变频FPGA设计
摘 要: 数字上变频 器是 软件无线电 的核心部件之一,其基本功能是增加基带信号采样率并把其搬移到载波频率上。本文采用内插滤波器特性较好的积分梳妆滤波CIC和补偿滤波器CFIR级联的插值滤波器结构,载频可编程的数控振荡器(NCO)在Altera FPGA EP2SGX90 上实现了稳定可靠的数字上变频器。 关键词: 软件无线电; 数字上变频; FPGA; 积分梳妆滤波器 软件无线电的基本思想是把A/D变换器尽可能地靠近射频天线,用软件实现无线电系统的各种功能 。数字上变频器是软件无线电中发射机的核心部分,它的基本功能是增加基带信号采样率并将其上变频到载波频率上,经过发射天线发射出去。采用专用芯片实现数字上变频器
[嵌入式]
一种高效灵活<font color='red'>数字</font>上变频FPGA设计
AD9854构成的信号发生电路图
这里采用了AD9854 这款DDS 芯片, 它在300 MHz 时钟驱动下, 按照乃奎斯特采样定律可以产生最高150 MHz 的信号,为了得到信号较好的频率则一般只得到最高100 MHz 的信号。若要得到高于100 MHz 的信号, 则可采用其高次谐波得到。基于AD9854 的 信号发生 电路如图 所示:
[模拟电子]
AD9854构成的<font color='red'>信号</font>发生电路图
风河宣布与德州仪器合作开发高级Linux平台和多媒体功能
全球领先的设备软件优化(DSO)厂商风河系统公司日前宣布,将与全球领先的无线半导体供应商德州仪器(Texas Instruments Incorporated,TI)合作开发支持德州仪器OMAP2430手持设备与个人数字助理(PDA)应用处理器的风河Linux设备软件平台,以及风河Workbench开发工具套件(包含Workbench 片上调试工具等)。通过此次合作开发,风河Linux平台将全面支持OMAP2430处理器的高级多媒体功能,从而使移动手持设备制造商能够更快速、更经济地开发、测试和部署各种下一代赢利型多媒体应用,如视频会议、数字应约、移动终端互联游戏(mobile-to-mobile gaming)和移动电视(mobil
[焦点新闻]
巩固优势 高通在MWC上海推出三款新骁龙处理器
   高通在昨天的MWC上海展会上正式宣布推出旗下分属骁龙600和400系列的三款全新的产品——骁龙632、439以及429移动平台。这三款产品的设计对应了中低端的市场,旨在为更多用户带来更佳的性能、更好的电池续航和更优秀的体验。   据相关数据统计,全球有将近3600多款设备基于高通骁龙600和400系列移动平台打造,持续为用户带来最新的技术,更强劲的手机性能,为众多手机用户创造更优秀的使用体验。   这款骁龙632平台,采用了先进的FinFET制程工艺,内置Kryo 250 CPU和Adreno 506 GPU,相较于上代产品骁龙626,最多能获得40%的性能提升,最高支持FHD+屏幕分辨率,支持2400万单摄像头或者双1
[手机便携]
模拟技术已被数字化挤出芯片设计圈?
在这样一个对数字电路处理有利的世界中,模拟技术更多地用来处理对它们不利的过程。但这个现象可能正在改变。 我们生活在一个模拟世界中,但数字技术已经成为主流技术。混合信号解决方案过去包含大量模拟数据,只需要少量的数字信号处理,这种方案已经迁移到系统应用中,在系统中第一次产生了模数转换过程。 模拟技术衰落有几个原因,其中一些是建立在自身缺陷上的。摩尔定律适用于数字电路而不是模拟电路;晶体管可以而且必须做得更小,这有利于数字电路。但这对模拟晶体管的影响并不大,反而器件尺寸越小,模拟器件特性往往越差。器件的小型化一直是这个世界技术进步的关键,在这一点上模拟技术不能跟上时代,渐渐被遗忘了。 工艺技术已经针对数字化进行了优化,这并不奇怪,但这对
[半导体设计/制造]
使用我们的数字信号控制器简化您的电机控制设计
当我们考虑电机和使用电机的地方时,我们最常想到的是汽车和其他类似的交通方式,如电动摩托车、电动自行车和电动滑板车。但我们并不总是记得电机存在于日常家居用品中,例如吸尘器、电动工具和家用电器。我们的数字信号控制器 (DSC) 解决方案专注于家用电器、汽车、消费电子和工业控制的四个主要电机控制市场。 对于家用电器,dsPIC DSC提供高度集成的低成本器件,采用小型封装,包括可以使用单个dsPIC DSC控制两个电机的器件。 对于汽车应用,dsPIC DSC提供扩展和高温范围以及全5V器件,以支持引擎盖下应用。 对消费和工业应用的支持包括用于高效率的磁场定向控制 (FOC) 算法、用于最大化电机扭矩的最大每安培扭矩 (MT
[嵌入式]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved