对数跳跃加法器结构及电路的制作方法

文档序号:6478927阅读:597来源:国知局
专利名称:对数跳跃加法器结构及电路的制作方法
技术领域
本发明涉及集成电路设计领域。
背景技术
二进制加法是微处理器ALU(算术逻辑单元)中最复杂的操作,是决定ALU运算速度的关键。目前常用的算法和结构有超前进位加法器(Carry LookaheadAdder)、进位跳跃加法器(Carry SkipAdder)、树形结构加法器(Tree-StructuredAdder),如“IEEE Transactions on Circuits and Systems-IIAnalog andDigital Signal Processing,Vol.43,No.10,October 1996,“Area-Time-PowerTradeoffs in Parallel Adders”中的ELM树形结构加法器。超前进位加法器速度较快,但硬件开销大;进位跳跃结构节约面积,但速度有限,不适于16位以上的加法运算;而树形加法器则在扇出或连线复杂度方面有缺陷。常用电路实现有静态、动态、异步等形式。而静态电路以其易于设计、低功耗和抗噪声的特点成为加法器主要的电路实现方式。在加法器的应用中,进到最低位的初始进位经常是需要的。特别是当用加法器实现补2的加/减功能时,初始进位在减法中是必须的。在常用的加法器实现中,初始进位的信息是通过在全部部分进位产生后再用一级逻辑计算最终有效进位,或者是在最低位加一级逻辑,用初始进位产生最低位向上的有效进位,再将这个进位逐级传递。无论哪种方案都需要在关键路径上增加一级逻辑延迟。

发明内容
本发明的目的是提出一种新加法器结构和一种进位结合结构及以上结构的电路设计,实现面积小、速度快的二进制加法器,同时使电路实现连线尽量少、结构规整利于布图。
本发明的内容与技术方案如下本发明提出了一种静态CMOS电路实现的二进制数字加法器电路——对数跳跃加法器(Logarithmic Skip Adder),包括以下三部分内容1.对数跳跃加法器的结构设计;2.进位结合(Carry Incoporated)结构的设计;
3.S算子和进位结合模块电路的晶体管级设计。(一)对数跳跃加法器的结构设计1.算法基础本说明书中涉及二进制数字加法器电路的逻辑操作用如下公式表示ab a与ba+ba或bab a异或bA=an-1an-2…a0设两个n位操作数为B=bn-1bn-2…b0初始进位c-1进位产生(Carry-generation)信号 gi=aibi(1)进位传递(Carry-propagation)信号 pi=aibi(2)进位传输(Carry-transition)信号ti=ai+bi(3)则从第i位向第i+1位的进位信号 ci=gi+pici-1(4)或 ci=gi+tici-1(5)第i位的和 Si=aibici-1=pici-1(6)其中的S算子和E算子构成和传递树,E算子计算部分和,S算子计算结果和。P算子和G算子构成进位树。逻辑表达如下P算子Pij=PiPj(7)G算子Gij=Gi+PiGj(8)E算子Psout=PsinG (9)S算子S=Ps(PG) (10)32位这种二进制数字加法器电路将加法分成5组进行,结构如图1。其中的各个模块如图2、3、4、5所示。共有5个模块,都采用ELM树形结构。图1中的U6、两个U7、以及U8*模块中都含有同样的U4模块。这种二进制数字加法器电路将加法按一定的位数分组进行,组内进行加法计算并产生向下一组的进位,组间传递进位。
组间采用二选一多路器,选择信号为本模块内各位进位传递信号P相与的结果;当选择信号为‘1’时,表明前一模块向本模块的进位信号可以直接传递到下一模块作为下一模块的初始进位,即跳过本模块;当选择信号为‘0’时,表明本模块的初始进位一定会在本模块中的某一位被吸收,并且模块中某一位的进位产生信号G会作为进位传递到下一模块作为初始进位。该进位信号与本模块的初始进位无关,因此可以与前面模块作并行计算。这就是进位跳跃的原理。
例如图1中2至4组之间就是二选一多路器Ma、Mb、Mc,选择信号分别为GP1、GP2、GP3GP1=p8p9p10p11p12p13p14;GP2=p15p16p17p18p19p20p21;GP3=p22p23p24p25p26p2;在传统进位跳跃的模块内部,进位信号是串行传递的,这一特点限制了模块内的位数不能过大。因为在本模块的组进位传递信号GP为‘0’,而下一模块的组进位传递信号为‘1’的情况下,进位信号可能串行穿过两个模块及多路选择器,这是一条关键路径。因此模块内的位数过长会有一条很长的关键路径。如果模块内的位数小,又会引起模块数目的增加,进位跳跃次数的增加同样意味着较多的逻辑延时。本发明在组内采用ELM树形加法结构,组间利用进位跳跃算法,使得组内的进位传递实现并行,其关键路径逻辑级与组内的位数呈对数关系。在组内位数为2n时,从各操作位到本组进位输出及各位结果和需要n+1级逻辑。例如在模块内位数为8时,从各操作位到本模块的进位输出及各位结果和需要4级逻辑,即log2n+1,因此称为对数跳跃加法器,而传统组内串行的8位模块则需9级逻辑。2.结构实现图3所示的U8*模块运用进位结合结构,使得包含初始进位c-1的操作数到本模块的进位输出的延时是4级逻辑;图4所示的U7(即图1中的U7a和U7b)模块中低位段有3位,高位段有4位,这样的结构使得该模块的初始进位到进位输出与结果和的延时是3级逻辑;图5所示的U6模块的低位段是3位,高位段是4位,其初始进位到进位输出的延时是2级逻辑。这样图1结构的对数跳跃加法器的关键路径延时是8级逻辑。
关键路径一共共有8种情况。因为GP3、GP2、GP1的可能取值是000到111。图1中画出了三种情况下的关键路径当GP3GP2GP1为(000)时,关键路径是从U7a的某位输入到U7b的某位和;当为(101)时,关键路径从U8*模块的某位输入跳过U7a到U7b的某位和;当为(111)时,从U8*模块的某位输入跳过U7a、U7b、U6到U4的某位和。其它的情况可以相似地得出。以(101)为例,如短虚线所示,关键路径从U8*单元的ab到C3,这是4级逻辑门延时因为GP1等于1,C3可以跳过U7a模块到达多路选择器Ma,经过多路器的一级门延时进入U7b模块,在U7b经过3级门延时到达S21,一共8级逻辑门。这种情况还有一条路径没有画,因为这条路径没有上一条长,不算关键路径因为GP2等于0,这说明进入到U7b中的进位一定会在该模块中的某一位被吸收;因此U7b通过Mb向U6模块的进位与进入到U7b中的进位无关;即U6、U4模块中的进位可以通过U7b中输出的进位获得,而与U7b之前的进位无关;所以当前面的进位从U8*跳过U7a进到U7b的同时,U7b中某位产生的进位信号会经过U7b的四级逻辑,再经过Mb一级逻辑,跳过U6模块(因为GP3等于1),经过Mc一级逻辑,进到U4模块,这一条路径一共7级逻辑。这8种情况可以依此类推,最长的关键路径是8级逻辑门。(二)进位结合结构的设计1.算法基础初始进位c-1是进入到加法器最低位的进位,在很多应用中是必须的。传统的进位结合需要增加一级额外的逻辑。本发明针对对数跳跃加法器,采用Ling’s算法,提出了一种进位结合结构,在不增加延迟的情况下把初始进位嵌入到加法器的进位链中。
结构图如图3中U8*模块的低位段所示。当把初始进位加到树形加法器的最低位,从结构上看树形失去原有的平衡,最低位(a0,b0)到进位输出的一‘枝’比其他‘枝’长,从而增加了关键路径的逻辑延时。在ELM模块中,存在着进位产生(G运算)、进位传递(P运算)、和传递(S运算)三个树。进位树是利用公式(1)、(2)、(4)计算的,其中进位传递树还有产生进位跳跃多路器选择信号的作用。但在图1结构的U8*模块并不需要提供选择信号,利用这一点可以将该模块内的进位树进行改造。ELM模块的进位计算可用下式表示c0=g0+p0c-1(11)c1=g1+p1c0(12)c3=g32+p32c1(13)2.结构实现本设计提出的进位结合结构中,首先用公式(1)、(3)、(5)来计算进位树,这样在关键路径上就用一个或门代替了电路实现起来速度较慢的异或门,减小了延时。其次在图3所示的低位段,我们把c-1、g0、t0、g1送入Ba而把t1、g2、t2、g3、t3送入Bb,而不是像传统的把低2位的四个信号和初始进位送入Ba,把高2位的四个信号送入Bb。在新的进位结合结构中,Ba的输出H并不是有效地进位信号,称为伪进位信号。该信号在下一级与Bb的输出信号结合后,输出有效进位信号c3。这些信号的逻辑表达式如下H1=g1+g0+t0c-1(14)G32=g3+t3g2(15)T321=t3t2t1(16)C3=G32+T321H1(17)这种进位结合结构的设计在不增加延迟的情况下把初始进位嵌入到加法器的进位链中。与传统的实现方式相比,本设计提出的进位结合结构可以减少一级逻辑的关键路径延迟,虽然在硬件上要增加一些开销,因为还需要将H和t相与,把伪进位信号转换为有效的进位信号,然后才能计算本位的结果和,但这部分逻辑不在关键路径上。这样,从c-1到c7的关键路径是三级逻辑,而从(a0,b0)到c7是四级逻辑。本设计提出的进位结合结构并不局限于对数跳跃加法器,也可以应用到其它树形结构加法器。
由于ELM加法器结构中后面几级的扇出很大的而在VLSI电路实现时,门延迟会随着扇出而增加,在大扇出的时候,延时会急剧增加;因此在大扇出的情况需要加缓冲器来限制扇出,但这样又会增加延时,使得ELM加法器实现逻辑延时比结构逻辑延时增加。对于一个四位的二叉树结构来说,是从4位到2位,再从2位到一位。这是平衡结构,一共是三级。如果有5个输入,就会增加一级,也就是从5位到3位,从3位到2位,再从2位到1位,一共4级。对于加法器来说,如果有初始进位,在低四位中就相当于5位的二叉树,是不平衡结构会增加一级,可以采用进位结合结构来解决。本发明的对数跳跃加法器设计中采用8位ELM结构,通过与将加数位数与初始进位的结合分配,构造平衡的二叉树,从而把ELM加法器的最大扇出限制在5个。如图4,对于三位的单元(如U7中的低三位),则加上初始进位,正好可以配成4位的二叉树,是三级的平衡结构。
为了满足最大扇出为5的限制,图1结构的U7、U6模块中,进位结合是通过减少操作数的位数来实现的。7操作数或6操作数加上初始进位可以获得平衡的树形结构。可以看图4、5,对于一个四位的二叉树结构来说,是从4位到2位,再从2位到一位。这是平衡结构,一共是三级。如果有5个输入,就会增加一级,也就是从5位到3位,从3位到2位,再从2位到1位,一共4级。对于加法器来说,如果有初始进位,在低四位中就相当于5位的二叉树,是不平衡结构会增加一级,所以用进位结合结构来解决。但是对于三位的单元,如U7中的低三位,加上初始进位,正好可以配成4位的二叉树,是三级的平衡结构。
同理图6是一种关键路径最大扇出为4的32位对数跳跃加法器结构。其中U7*的低位段为4,采用进位结合结构,高位段为3。其中U6`模块的结构如图7所示。U3的结构与U6`模块的高位段相同。因此整个加法器关键路径上的最大扇出为4,而关键路径长度与图1中结构一样。但该结构与图1的结构相比需要较多的硬件开销。图8是16位的对数跳跃加法器的结构,U5模块的低位段为2,高位段为3。最大扇出为4,关键路径为6级逻辑延迟。(三)电路结构的设计针对对数跳跃加法器结构,我们重点对两块电路进行了晶体管级设计。分别是实现S算子和进位结合结构的电路。
S算子实现的功能是与异或逻辑,见公式(10)。电路结构如图9所示,设计主要目的是用尽量少的晶体管实现功能。因为在图1结构中,共有28个S算子,有效的电路实现方式有利于节约面积,进而降低功耗。电路利用传输门逻辑有效实现异或门的优点和线或逻辑节约晶体管的特点。在结点J实现线或,因为PMOS组成的一路和NMOS一路不会同时导通。MP是PMOS管,Mn是NMOS管。由于PMOS传递‘0’和NMOS传递‘1’的时候有阈值损失,会在结点J出现弱‘0’、弱‘1’,将引起输出反相器晶体管的部分导通,产生静态短路电流,因而增加功耗。MP3和MN3的作用是恢复结点J的信号电平,消除静态功耗。
这两个晶体管要用最小的尺寸,以减少引入的电容对电路速度的影响。在功耗要求不高的应用中也可以不用两个电平恢复管,以获得更快的速度。传统互补CMOS实现的与异或逻辑需要两级门延时,16个晶体管。而图9结构需要一级门延时,加上必要的反相器共10个晶体管。整个图1结构的对数跳跃加法器共可以节约168个晶体管。
进位结合结构的电路设计见图10。设计的目的是快速实现公式(1)、(3)、(14)、(15)、(16)、(17)的逻辑,缩短关键路径。如前面所述式(14)可以用一级与或门实现,但这样的电路会出现三个晶体管串连,等效电阻变大,降低速度。在图10的结构中,将公式(1)、(3)、(14)用下式实现H1=a1b1+a0b0+(a0+b0)cin(18)用图10的结构可以实现以上逻辑,同公式(1)、(3)、(11)相比,同样是用两级门,但避免了三个晶体管串连的情况,有利于提高速度。
说明书


图132位对数跳跃加法器的结构;图2图1、3、4、5中的U4模块图3图1中的U8*模块图4图1中的U7模块图5图1中的U6模块图6最大扇出为4的LSA结构图7图6中的U6`模块图816位的对数跳跃加法器的结构,
图9S算子电路结构图10进位结合电路结构实施例下面结合实施例进行进一步地说明。
图1是一种32位对数跳跃加法器的结构。这种结构将32位分为5组,组间利用进位跳跃算法,组内采用ELM树形加法结构,使得组内的进位传递实现并行,其关键路径逻辑级与组内的位数呈对数关系。从而克服了传统进位跳跃加法器组内串行进位带来的速度的限制。各组的ELM结构如图2、图3、图4、图5所示。
ELM加法器与其它树形结构相比,将求和逻辑嵌入到树形结构中,从而在得到前级进位后,只需要一个逻辑门延时就可以获得各位的和与下一级的进位。而其它树形结构则要先得到本位进位,然后再用一级逻辑计算本位和,因此多一级逻辑。ELM加法器结构中高位段(如U7模块的3至6位)与低位段(如U7模块的0至2位)并行计算;由于这时缺少低位的信息,高位算出的是部分进位与部分和。当低位的进位传到高位段后,获得最终的进位与结果和。这种结构的主要问题是对于较大字长加法器的实现,电路的扇出很大,为(n/2+1),其中n为操作数的字长。32位加法器的最大扇出为17。大的扇出在VLSI实现时需要加多级缓冲器,结果是增加延时。本发明中的加法器结构采用最大字长为8的ELM加法器,大大减少了扇出,同时保留了ELM结构逻辑级少、连线简单的优点。
本发明的优点与积极效果在于同进位跳跃和ELM结构相比,本发明提出的对数跳跃结构是对二者优点的结合。对于有初始进位的32位加法器,图1结构的对数跳跃加法器需要186个逻辑门,8级逻辑,最大扇出为5;而ELM结构需248个逻辑门,7级逻辑,最大扇出为17;4位一组的跳跃进位结构需149个逻辑门,14级逻辑,最大扇出为2。所设计的进位结合结构,实现了速度快、面积小的加法器,具有连线简单、易于集成的优点。采用本发明提出的对数跳跃加法器结构及相应的进位结合结构和电路实现结构,可以有效地实现32位和16位二进制加法器。
权利要求
1.一种二进制数字加法器电路,将加法运算分组进行,组内进行加法计算并产生向下一组的进位,组间跳跃传递进位,其特征在于组内采用ELM树形加法结构,组间利用进位跳跃算法,并行传递组内的进位;组内关键路径延迟与组内的位数呈对数关系。
2.根据权利要求1所述的二进制数字加法器电路,其特征在于组内采用最大字长为8的ELM加法器;通过进位结合结构构造平衡的二叉树,把ELM加法器的最大扇出限制在5个。
3.根据权利要求1或2所述的二进制数字加法器电路,其特征在于组内树形结构加法器采用进位结合结构设计,在不增加关键路径延迟的情况下把初始进位嵌入到加法器的进位链中;即如图3所示结构中的低4位段,将t1信号送入模块Bb;模块Ba输出信号H1=a1b1+a0b0+(a0+b0)c-1;H信号在与模块Bb的输出信号结合后,输出有效进位信号c3。
4.根据权利要求2或3所述的二进制数字加法器电路,其特征在于进位结合结构电路的晶体管级设计如图10,利用支路线或结构实现伪进位逻辑H1=a1b1+a0b0+(a0+b0)cin。
5.根据权利要求1-4任一权利要求之一所述的二进制数字加法器电路,其特征在于二进制数字加法器电路中S算子晶体管级设计如图9所示;利用传输门逻辑实现与异或逻辑,在结点J实现线或。
6.根据权利要求1-5任一权利要求之一所述的二进制数字加法器电路,其特征在于32位这种二进制加法器电路将加法分成5组进行,结构如图1。
7.根据权利要求6所述的二进制数字加法器电路,其特征在于图1中32位加法器结构的最大扇出为5,U6、U7以及U8*模块中都含有同样的U4模块。
8.根据权利要求7所述的二进制数字加法器电路,其特征在于U8*模块运用进位结合结构,如图3所示,包含初始进位c-1的操作数到本模块的进位输出的延时是4级逻辑;U7模块低位段为3位,高位段为4位,该模块从初始进位到输出进位与结果和的延时是3级逻辑,如图4所示;U6模块的低位段为3位,高位段为4位,该模块从初始进位到进位输出的延时是2级逻辑,如图5所示;由此图1中的32位二进制加法器电路关键路径延时是8级逻辑门。
9.根据权利要求1-5任一权利要求之一所述的二进制数字加法器电路,其特征在于32位这种二进制加法器电路将加法分成5组进行,结构如图6;U6’模块结构如图7所示,低位段和高位段各为3位;既保证cin到c5的延时为2级逻辑,又保证c2的扇出为4。
10.根据权利要求1-5任一权利要求之一所述的二进制数字加法器电路,其特征在于16位这种二进制加法器电路将加法分成3组进行,结构如图8;其中U5模块的低位段为2位,高位段为3位;最大扇出为4,关键路径为6级逻辑延迟。
全文摘要
本发明涉及一种二进制数字加法器电路。该电路在分组之间利用进位跳跃算法,分组内部采用ELM树形加法结构,采用新的进位结合结构将初始进位嵌入到进位链中,使得组内的进位传递实现并行,其关键路径延迟与组内的位数呈对数关系。该电路结构实现了速度快、面积小的加法器,具有连线简单、易于集成的优点,可以有效地实现32位和16位二进制加法运算。
文档编号G06F7/00GK1360348SQ02100380
公开日2002年7月24日 申请日期2002年1月17日 优先权日2002年1月17日
发明者吉利久, 贾嵩, 王迎春, 刘凌, 兰景宏, 张钢刚, 傅一玲 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1