CN1101017C - 用于高速二进制乘法器的改进的华莱士(w)-树加法器的结构和方法 - Google Patents
用于高速二进制乘法器的改进的华莱士(w)-树加法器的结构和方法 Download PDFInfo
- Publication number
- CN1101017C CN1101017C CN94192967A CN94192967A CN1101017C CN 1101017 C CN1101017 C CN 1101017C CN 94192967 A CN94192967 A CN 94192967A CN 94192967 A CN94192967 A CN 94192967A CN 1101017 C CN1101017 C CN 1101017C
- Authority
- CN
- China
- Prior art keywords
- row
- adder
- binary data
- order
- data bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5318—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
一个用于二进制乘法器的进位存储加法器,具有减少了的全加法器级数。该进位存储加法器对二进制数据列求和,并构成多个1位和2位全加法器,该1位和2位全加法器构成多个互连的改进的W-树加法器,每个W-树加法器用于将来自至少一列的二进制数据位加和,并生成部分和以及部分进位。
Description
发明领域
本发明涉及一种用于数字乘法的方法和装置,更具体的是一种用于构成二进制乘法器中进位存储加法器的方法和器件。
背景技术
二进制乘法器是计算密集型数字计算机的一个关键单元。为了提高处理速度,乘法功能要用复杂的电路构成,因此是速度的瓶颈。所以二进制乘法器性能的改善直接影响进行计算密集型应用的计算机的性能。典型的二进制乘法器包括做为基本结构单元的进位存储加法器。采用W-树的二进制加法器(WTA)是进位存储加法器的一种形式,是高速二进制乘法器的有效构成的必要单元。W-树加法器进行中间列加合计算,利用乘法器的初步乘积结果,产生对应于列数据的部分和以及分进位。WTA产生一对部分和以及部分进位;每个输入数据列需要一个WTA。因此,在M位乘N位的乘法器中需要N+M-1个WTA,每个WTA都有至多N位输入。W-树加法器采用1位全加法器(FA)做为基本结构单元。对于1位全加法器,三个输入数据位产生两个输出数据位、和以及进位。
WTA包括一组FA,这组FA形成一系列的级。它将列数据从原始大小(N位)减少到所需的两位、部分和以及部分进位。FA的位减特性(即3-2)确定了WTA所需FA级数。因为一给定计算所需的级数直接影响整体速度,所以WTA的构成是处理速度的关键。
FA的3-2的位减特性使WTA中的FA级数与输入位数的对数成比例。如:6位需要3级,32位需要8级,64位需要10级。每个FA的门延时数是由其结构决定的。然而,当位数变大时,FA的级数和乘法器的净延时变大。因此输入位数实际上影响WTA的速度,进而影响处理器的速度。所以,构成一个WTA所需FA级数的任一减少都将极大地提高一个给定二进制乘法器的性能。
发明内容
根据本发明描述了一个具有减少全加法器级数的进位存储加法器,用于对多个二进制数据位列进行求和,并产生多个部分和以及多个部分进位,一个特定列的二进制数据位具有相同的数量级,不同列的二进制数据位具有不同的数量级,此进位存储加法器包括:多个1位全加法器;多个2位全加法器,1位全加法器和2位全加法器被构型成多个互连的列加法器中,每个列加法器用于对至少来自一列的二进制数据位进行求和,并产生一个部分和以及一个部分进位,每个列加法器包括多个级,每级包括1位全加法器和2位全加法器的组合;以及多个连接线,用于将每个列加法器中的级与同一列加法器中的其它级以及进位存储加法器的其它列加法器中的级相连。
另外还根据多个二进制数据位的求和方法对本发明进行了描述,包括的步骤为:将二进制数据位分成不同的列,每列包括具有相同数量级的所有二进制数据位;将每列二进制数据位输入多个列加法器中的至少一个,每个列加法器包括多个互连的1位全加法器和2位全加法器;通过每个列加法器中1位全加法器和2位全加法器的连续的级来减少二进制数据位数;产生多个部分和与多个部分进位。
附图简要说明
结合以下部分的说明和插图可以进一步了解本发明的性质和优点。
图1:示例说明二进制乘法函数和典型的列加法函数,图中显示了三个函数子部:1位乘法,进位存储加法和超前进位加法。
图2A:显示输出信号特征对输入信号电平的1位全加法器函数表。
图2B:用二和三输入的或非门(NOR)与线连或电路(Wired OR)构成的1位全加法器。
图3:示意说明用1位全加法器构成的实现进位存储加法器函数的W-树加法器。
图4:示例说明对常规列-列方式改进的用1位全加法器构成的W-树加法器。
图5:说明W-树加法器所需的1位全加法器的级数是输入数据位数的函数。
图6A:显示输出信号特征对输入信号电平的2位全加法器功能表。
图6B:用二和三输入的或非门与线连或电路构成的2位全加法器。
图6C:显示1位全加法器和2位全加法器一个具体构成的性能的示例计算结果。
图7:包括2位全加法器的改进的W-树加法器。
图8:显示用2位全加法器构成的改进的W-树加法器的连接方案的前两级。
图9:说明改进的W-树加法器所需的级数是输入数据位数的函数。
图10:根据输入数据位数比较W-树加法器所需1位全加法器级数与改进的W-树加法器所需级数的对比表。
图11:显示一对1/2位全加法器与一个1位全加法器之间的连接的可能组合。
图12:显示在第一级与第二级之间第二高位WTA连接最大,2位全加法器级最优利用的32位W-树加法器。
图13:显示在第一级与第二级之间使用混合交叉WTA连接,连接方案的第二个变体的32位W-树加法器。
图14:显示使相邻交叉WTA连接总体最大,连接方案的第三个变体的32位W-数加法器。
优选实施例的详细说明
二进制乘法函数
图1是使用列加法的二进制乘法函数的示例说明。如图所示,此运算采用通常的从右至左的书写方法,中间行2来自乘数4乘以被乘数6的一位乘积。也就是说,如果乘数位是1,则结果行2即为根据乘数位的数量级右移的被乘数6。如果乘数位是0,则结果行2全部为0。行2在列8中按指定位的权(或数量级)对齐。进行上述处理后,N+M-1列8(N是被乘数6的位数)在M行2(M是乘数4的位数)中。在示例中:乘数4是5位,被乘数6是5位;代表位乘的中间结果的行2是5个,列8是9个。另外,还有2行,每个有9位以及部分和10与部分进位12等将在以后讨论。最终和14(10位)是在列8中完成数据的加和的结果。在数字计算机中,二进制乘法能被分解成三个函数部分,它们是:1位乘阵列16,进位存储加法器18的和超前进位加法器20。这些也在图1中标明。1位乘法器16有两个输入字,乘数4(M位)和被乘数6(N位),并对它们进行位乘产生菱形阵列中的N×M个数值。这些数值构成了N+M-1个列8数据,它是进位存储加法器18的输入数据。进位存储加法器18对这些数据进行基本的求和运算,并为每列产生部分和位与部分进位位做为中间结果。它们是超前进位加法器20的输入数据。超前进位加法器20进行最终的求和运算,产生N+M位的最终结果14。二进制列加法函数是二进制乘法器的关键运算。本发明具体涉及做为二进制乘法函数中的列加法器的进位存储加法器18的结构的改进。
W-树加法器(WTA)
W-树二进制加法器是构成二进制乘法器中进位存储加法器18的通常结构单元,是高速二进制乘法器有效实现的必要组成部分。WTA在上述中间计算中做为列加法器,进行中间的列加计算,并为每个列8产生一位部分和以及一位部分进位。每列8都有一个WTA。N×M位的乘法器16则需要N+M-1个N位输入的WTA。这种应用的WTA通常有几种一般的实现形式,它们既可以使用Booth编码也可以不使用。采用一系列1位全加法器(FA)呈树状构成的WTA是一种这是要讨论的常规方法。这种构成将产生多个FA级,级数与输入数据位的对数成比例。
1位全加法器(FA)
1位全加法器(FA)是构成WTA的一种常规基本结构单元。1位全加法器的基本特性如图2a中函数表22所示。1位全加法器具有以下特性:3个输入产生2个输出数据位。输入数据端24通常标为A,B和Ci(进位输入);输出端26为S(和)和Co(进位输出)。函数表22显示了输出数据是三个输入二进制数据所有可能组合(8种)的函数。函数表也显示了FA可视为一个二进制计数器,输出端产生:
0(即S=Co=0)当输入端全为0;
1(即S=1,Co=0)当输入端有一个1;
2(即S=0,Co=1)当输入端任意两个为1和
3(即S=1,Co=1)当输入端全为1。
函数表22显示了FA的输出仅仅依赖于输入1的个数,而不依赖于哪个端被激活。也就是说,FA的所有输入端都是等价的,因此可以相换。输出端没有这种特点,S和Co端是有区别的不能同等对待。一个FA30的门级的具体构成如图2b所示。此处FA的函数是用NOR逻辑元件实现的,输入(A,B和Ci)和输出(S和Co)分别标在顶部和底部,此电路能够完全实现FA30的函数表22中的特性。电路使用了二和三输入NOR元件32以及连线的OR元件。NOR逻辑元件32的特性是只有所有输入全为0时,一个给定元件的输出才为1。此种构成将与以后讨论的2列加法器进行处理速度比较。
常规W-树二进制加法器的构成
FA30是WTA构成中通常的采用的结构单元。这种构成将在这里讨论,WTA34的一个示例构成如图3所示。这是一个13位-2位W-树加法器34,采用了11个FA元件30,分成5级36,它代表了本申请的常规构型。相对于给定列8的13个输入位的输入端38标在图的顶部。因为此电路是列加法器,所以输入位是没有区别的。也就是说,来自1位乘法函数的对应一行的任一位可以输入到任一方便的输入端38,实际上,一列中的任一位都可以接到方便的输入端。在此例中,输入数据的12位由4个FA30组成的第一级36处理,一位直接接到第二级36。第一级36的输出由12个输入位减少到8位,每个进位输出端(Co)的输出给图中40所示的下一个高数量级位列。第二级36其余的输入来自图中42所示的下一个低数量级位列的Co端。同样,第二级36处理输入数据,使位数从9位减少到6位,如此下去直到一个FA30产生一个部分和位44以及一个部分进位位46。于是FA30的所有进位输出位都送给下一个高数量级位列,同样来自下一个低数量级位列的所有进位输出位都送到此WTA。
为了减少代表所讨论WTA34图的复杂性,图4显示了一个描述进位输出数据到下一个高数量级位列及下一个低数量级位列的进位输出数据到此WTA的连接的改进图。此图用带数字的圆圈(此图中数字为1)代替40和42。在以后的讨论中,还会出现带2的圆圈。这表示进位输出数据直接到第二个高数量级位列以及第二个低数量级位列的进位输出数据到此WTA的连接。以后还将使用一个圆圈中带负数的扩展。这表示与原连接相反。例如,如果是-1,则输出数据到前一列,输入数据来自下一列。
为了进一步说明含有FA级的WTA的特点,图5显示了1位全加法器所需级数(底部1-9)对输入列数据位数(3-63)的关系。此图可以由在位数范围内进行排布得到,也可以从第4位起归纳得到,因为它由一和二两种分支组成。此图同样显示了一给定级数的最大输入数据位数。因此,13位(我们的示例)正是以常规方法使用FA级的5级WTA所能求和的最大位数。FA的3-2位减特性产生了一系列的级,级数与输入数据位数的对数成比例,级的位减比的最大值为1.5。
2位全加法器(TFA)
根据本发明,除了1位全加法器外,2位全加法器也是构成改进的WTA的基本结构单元之一。2位全加法器(TFA)的基本特性如图6A的函数表50所示。TFA具有以下特性:五个输入数据产生3个输出数据。输入数据端52由字母A0,B0,Ci(进位输入),A1和B1标出;输出数据端54为S0(和0),S1(和1)和Co(进位溢出)。函数表50显示了输出数据是所有5个输入的32种组合的函数。TFA可被视为一对并置的FA,其中一个FA的进位输出内接到第二个FA的进位输入。这解释了5个输入和3个输出并说明了输入输出之间的函数关系。而且,TFA的功能特性同样显示了A1,B1输入和A0,B0,Ci输入之间的区别。也就是说TFA的所有输入并不是等价的。A1,B1对应于下一个高数量级位。对输出而言,S1对应于下一个高数量级位,Co对应于第二个高数量级位。正如被提到的,TFA可被视为两个并置的FA。对这一点的利用将在以后讨论。
图6b显示了一个具体的TFA的门级构成。同FA一样,TFA功能由NOR逻辑元件32和连线OR元件实现的,输入和输出分别在顶部和底部标明,此电路能完全实现TFA60函数表50的特性。具体的图示结构清楚地显示了TFA60是一对并置的FA。同样,此具体的构成可与FA的构成在所需门级数上进行对比。也就是说,两个构成具有相同的所需门级数,即4级。因此可认为对于两种电路的构成将产生基本相同的延时。通过一个具体CMOS构成的计算机模拟验证这种看法。FA30和TFA60的模拟结果如图6c的表64所示。表64显示了最坏情况下从器件输入到输出的延时。结果显示对于FA,到和输出的延时为1.4纳秒,而TPA到S1输出的延时为1.6纳秒。虽然这些结果依赖于技术和构成,但是它们验证了原先认为两种电路速度基本相同的看法。
改进的W-树加法器
用改进的W-树加法器可以构成一种改进的进位存储加法器。所述改进包括用FA和TFA构成电路结构,这种混合能够以较少的级实现相同的端-端功能。所述改进还包括连接线路拓扑结构的修改以适应由于TFA输入/输出信号的要求所引起的变化。这种改进通过减少WTA的级数提高进位存储加法器的性能。这里将通过图7所示的13位进位存储加法器的一部分来说明这些改进。这个WTA电路70与以前的示例(图4)在功能上是等价的,但是它比以前的常规WTA34需要较少的级数。为了说明改进的WTA70,我们将从输出开始进行回溯。第四级,最后一级72提供两位输出,一个部分和74与一个部分进位76,因此适于一个FA30。此级需要三个输入,因此第三级适于一个TFA60。原先的WTA34和改进的WTA70在连接上的主要不同是数据去往和来自相邻加法器的方式。对于TFA60,除S1输出来自和去往下一个相邻的WTA外,进位输出Co来自和去往相分离的第二个WTA。而且输入A1和B1通常来自下一个高数量级的WTA。第三级和第四级,78和72之间的连接方案说明了这些考虑,第三级78的去向正如上说明。第四级的输入如下:
输入B来自第三级的S0;
输入A来自前一个低数量级的WTA的A1,以及
输入Ci来自第二个前WTA的Co。这是因为前一个低数量级的WTA的输出S1与当前WTA的数量级在功能上是等价的,以及下一个前WTA的输出Co对当前WTA在功能上也是等价的。图7中的第二级80的TFA60和第三级78之间的连接同样说明了这种等价。此处,下一个高数量级位的S1输出与第三级78的B1输入相连,这是因为B1输入要求来自下一个高数量级位的输入。
从输出开始,向输入回溯,第三级所需的五个输入自然要求一个FA30和一个TFA60。连接按照上述规定进行。最终,第二级所需的八个输入同样自然的要求两个TFA60和一个FA30。一对FA/TFA驱动第二级的TFA60,另一个TFA驱动第二级80的FA30。在第一级82输入端A1和B1出现的带圆圈的-1将在下文中讨论。上述说明了改进的WTA70的构成和连接。
对进位存储加法器构型的其余改进是输入列数据的分配方式的重新安排。也就是说,因为TFA的A1和B1输入相对于下一个高数量级位,这要求输入列数据对此加以考虑。这一要求也使图7中WTA的输入端出现了带圆圈的-1。
图8显示了这种连接方案的示例说明,其中显示了三个连续的改进的WTA70的列输入数据的连接,连接用X标明。这也是个13位的例子,显示了每个改进的WTA72的第一级和第二级,82和80的输入的连接方案。三条线(虚线84,粗实线86和细实线88)代表了三个13位WTA的输入模式(即到包括两个TFA和一个FA的第一级)。从底到顶查看第一级82中的粗实线86,其中有三个来自输入列n的输入进入一个TFA(位1,2和3)。另外两个来自输入列n+1的输入(为4和5)如前所述在A1和B1输入进入同一TFA。同样,输入列n的输入位4和5如上述说明的连接方案去往相邻的改进的WTA(用虚线表示)的A1和B1输入。由粗实线表示的WTA的下面三个输入(位6,7和8)是FA的三个输入。其余的连接(位9到13)与前5个相同。
来自第一级的输出产生8个数据位,用于输入的连接方案如图所示。第二级80的输入连接方案与第一级的前八位完全相同,是八位的典型连接方案。
图9将进一步说明由TFA60和FA30组合构成的级的WTA70的特性。此图显示了所需级数与输入列位数(从3位到58位)的关系。此图与图5类似。图9同样显示了一给定级数的最大输入位数。所以13位(我们以前的示例)是四级WTA的最大位数。这比只有FA构成的WTA少一级。这是因为5-3位减比的最大值为1.667,而3-2位减比最大值为1.5。
对任一给定的将N位输入数据减少到2位输出数据的W-树加法器,我们可以通过以下方程近似得到将N部分和减少到只有两个部分和的所需级数。
(M/P)^(级数)=N/2 (1)
此处M是每个加法器的输入位数,P是加法器的输出位数。
此方程说明每级减少(即M/P)的级数次幂等于输入比输出。求解得:
级数=(logN-log2)/(logM-logP) (2)
可以看到,该式中每次乘以M/P后,结果都必须要近似到下一个整数。
只使用1位全加法器时,M=3,P=2方程(2)为
级数=(logN-0.30103)/0.17609 (3)
由于每级中部分和的数目的减少不大于在前级的部分和数目减少的1/3,所以,我们可以看到每级减少0.33333,反之,如果只使用两位全加法器,并且M=5,P=3,则方程式(2)为:
级数=(logN-0.30101)/0.22185 (4)
由于每级中部分和数目的减少不大于在前级的部分和数目减少的3/5,所以我们可以看到每级减少0.4。这样,对于在一位全加法器上加上两位全加法器而言,减少比m/p为最大20%。
如上所述,TFA的5-3数据位减特性使WTA加法器具有比只使用FA的WTA高的减少因子。图10中的表90根据输入数据96的位数比较了常规W-树加法器所需1位全加法器级92的级数和改进的W-树加法器的所需的加法器级94(1位全加法器和2位全加法器的组合)的级数。表90罗列了图5和图9中的数据,但用一种不同的方式以比较本发明的特性和常规构型的。表90在最后一列98中也利用常规构型所需的级数与改进构型的差显示了性能的提高。只有在以下四种情况,改进的WTA不能减少所需级数;即:位数n等于3,4,6和9。
改进的W-树加法器电路构成的多样性
对于求和的每种列位数存在多种可能的电路构成。我们之所以采用13位示例是因为这是一个能说明本发明所有突出特点的适宜位数。然而因为存在许多可能的构成,我们还包括了其它几种具体示例以说明可能变化的范围。
以下研究了那些可实现一对FA/TFA和一个FA之间连接的可能电路组合。这种连接可以贯穿典型WTA的始终,也可以因这两种电路的位减特性而自然出现。另一方面,有许多可能的级内连接方案在功能上是等价的。
对于一对FA/TFA和一个FA之间相对简单的组合,也有10种不同的连接组合。能够实现的可能电路组合如图11所示。也就是说,表100中的每列102都对应一种特定且唯一的电路构型。因为TFA的任意三个输入A0,B0和Ci是等价的,所以它们不被视为不同的电路构型。对TFA的一对输入A1和B1情况也一样。如果这些等价的形式也被视为是有区别的话,则所有可能的组合数还要乘以12(即3!*2!)。表列只显示了位级的连接。也就是说,有可能两个不同的位级进入一个TFA;即:同列和下一个相邻的列。考虑到同一列可视为是局部的,这里分别用[1]和[2]标明:1数量级位[1];2数量级位[2]。此外还有4数量级位[4],是TFA的进位输出。TFA/FA有三种不同的输出级,即:分别来自FA和TFA的两个同列([1])输出;分别来自FA和TFA的两个下一个相邻列([2])输出;和来自TFA的一个相离第二列([4])输出,共5个输出。在表100中,从一对FA/TFA的输出到下一个的TFA输入的连接用上述符号表示。一共有10种可能的组合能实现一对FA/TFA到一个TFA的位减功能(即8输入到3输出)。例如,13位示例(图7)就是按图中第一列的组合连接的,即:[1],[1],[1],[2]和[2]。这种构型既被用于第二级和第三级之间,也被用于第一级和第二级之间。
为了减少说明要讨论的WTA的图的复杂性,一种表示FA30和TFA60的改进图如图12-14a所示。也就是说取消了对应的端口标号(即A,A0等)。这是因为在图中规定连接顺序与以前是相同的。也就是说,如以TFA为例,其输入端在顶部,从左到右为:Ci,B1,B0,A1和A0。输出端在底部,从左到右为Co,S1和S0。
图12以这种表示方式显示了另一个可能连接方案多样性的示例。这是一个35位的W-树加法器110。它具有6级加法器30和60,在第一级全部使用TFA60,如此进行最大化6级加法器所能处理的位数。此例中,第一级112的7个TFA60的输出以最少的连接去往其它的WTA110(输入第二级114)。这是通过最大化第二个高数量级的WTA的连接(带2的圆圈)实现的。图12显示了图11中一对FA/TFA到一个FA的四种可能的连接。它们是:第四级和第五级(118和120)之间的构型#3;第三级和第四级(116和118)之间的构型#6;第二级和第三级(114和116)之间分别在中间和右侧的构型#2和#5。
图13显示了35位改进的W-树加法器的第二个示例130。这种连接的变体与上述电路110(图12)在功能上是等价的,但此例中第一级132的7个WTA60的输出使用了WTA的混合连接(各有5个带1和带2的圆圈)。图13显示了图11中一对FA/TFA到一个FA的另外四种可能的连接。它们具体是:第四级和第五级(138和140)之间;第三级和第四级(136和138)之间;第二级和第三级(134和136)之间中间和右侧的构型#9,#8,#10和#7。
图14显示了35位改进的W-树加法器的第三个示例150。这种连接的变体与上述图12和图13所示的电路在功能上是等价的,但此例使用了总体最大数目的相邻的,下一个高数量级交叉WTA连接(带1的圆圈)。图14也使用了图11中一对FA/TFA到一个FA的另外一种可能的连接。具体是:第四级和第五级(158和160)之间的构型#4。为了进一步说明可能连接方案的多样性,我们考虑图12和图13中35位加法器110和130的第二级(114,134)。其包括三个TFA60和两个FA30,并将21位减少到13位。另外一个等价变体如图14所示。在此例中第二级使用了4个TFA60将20位减少到12位,第21位绕过第二级154直接接到第三级的输入。这种方案与以前的组合在功能上是等价的,使来自第一级152的21位减少到第三级156的所需的13位输入。然而这种连接同时使第二级和第三级避免了以前示例中所使用的一对FA/TFA到一个TFA的连接方案。在第三级156出现了一对FA/TFA,但输出交叉连到右侧的电路FA30。此外,下一个TFA的输入全部来自第三级(即FA和TFA)。这样做是为了说明连接给定W-树加法器中FA30和TFA60以及保持所要求的功能的等价和最小级数有多种不同的方式。这同时也说明等价连接方案不依赖于一致性,周期性,重复性和内部亚电路结构。实际上,可能连接的多样性不仅存在于一组给定的电路类型(如一对FA/TFA和一个FA的组合),还存在于多个TFA和FA组合的适宜的,更高级的可能组合中。因此方程(2)近似给出的结果(由图9精确给出)可以由多种可能的电路组合实现。
虽然根据具体的实施方案对本发明进行了详细的描述,但是只要不背离本发明的精神和范围,前述事项以及形式和细节上的修改将能被技术人员理解。
Claims (10)
1.一个进位存储加法器,用于对多个二进制数据位列进行求和,并产生多个部分和以及多个部分进位,一个特定列的二进制数据位具有相同的数量级,不同列的二进制数据位具有不同的数量级,此进位存储加法器包括:
多个1位全加法器;
多个2位全加法器,1位全加法器和2位全加法器被构型成多个互连的列加法器中,每个列加法器用于对至少来自一列的二进制数据位进行求和,并产生一个部分和以及一个部分进位,每个列加法器包括多个级,每级包括1位全加法器和2位全加法器的组合;以及
多个连接线,用于将每个列加法器中的级与同一列加法器中的其它级以及进位存储加法器的其它列加法器中的级相连。
2.权利要求1所描述的进位存储加法器,其中每个1位全加法器包括:
加数输入端A和B;
第一进位输入输入端Ci;
第一进位输出输出端Co;和
一个和输出端S。
3.权利要求1或2所描述的进位存储加法器,其中每个2位全加法器包括:
第一加数输入端A0和B0;
第二加数输入端A1和B1;
第二进位输入输入端Ci;
第二进位输出输出端Co;
第一和输出端S0;和
第二和输出端S1。
4.权利要求1所描述的进位存储加法器,其中每个列加法器包括:
第一级,用于减少二进制数据位数,该二进制数据位至少来自一列;
多个中间级,用于进一步减少二进制数据位数;
最后一级,包括一个1位全加法器,用于产生部分和以及部分进位。
5.权利要求3所描述的进位存储加法器,其中所述连接线连接接收和发送具有相同数量级的二进制数据位的输入和输出端。
6.权利要求5所描述的进位存储加法器,其中每个列加法器的第一级包括至少一个2位全加法器,第一级中的每个2位全加法器的A1和B1接收来自第一列的具有第一数量级的第一二进制数据位,每个2位全加法器的A0,B0和Ci接收来自第二列的具有第二数量级的第二二进制数据位,第一数量级比第二数量级高一个数量级。
7.权利要求5所描述的进位存储加法器,其中:
每个第二Co只接到对下一个高数量级的二进制数据位进行求和的列加法器的级的A1和B1以及对第二个高数量级的二进制数据位进行求和的列加法器的级的A,B,A0,B0,第一Ci和第二Ci;
每个第一Co和S1只接到同一列加法器的A1和B1以及对下一个高数量级的二进制数据位进行求和的列加法器的A,B,A0,B0,第一Ci和第二Ci;以及
每个S和S0只接到同一列加法器的A,B,A0,B0,第一Ci和第二Ci以及对下一个低数量级的二进制数据位进行求和的列加法器的A1和B1。
8.权利要求5所描述的进位存储加法器,其中每列最大二进制位数为18。
9.权利要求5所描述的进位存储加法器,其中每列最大二进制位数为55。
10.一个用于对多个二进制数据位进行求和的方法,包括的步骤为:
将二进制数据位分成不同的列,每列包括具有相同数量级的所有二进制数据位;
将每列二进制数据位输入多个列加法器中的至少一个,每个列加法器包括多个互连的1位全加法器和2位全加法器;
通过每个列加法器中1位全加法器和2位全加法器的连续的级来减少二进制数据位数;
产生多个部分和与多个部分进位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/102,683 | 1993-08-05 | ||
US08/102,683 US5504915A (en) | 1993-08-05 | 1993-08-05 | Modified Wallace-Tree adder for high-speed binary multiplier, structure and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1128069A CN1128069A (zh) | 1996-07-31 |
CN1101017C true CN1101017C (zh) | 2003-02-05 |
Family
ID=22291118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN94192967A Expired - Fee Related CN1101017C (zh) | 1993-08-05 | 1994-08-01 | 用于高速二进制乘法器的改进的华莱士(w)-树加法器的结构和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5504915A (zh) |
JP (1) | JPH09501526A (zh) |
KR (1) | KR100308723B1 (zh) |
CN (1) | CN1101017C (zh) |
WO (1) | WO1995004964A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0895754A (ja) * | 1994-09-29 | 1996-04-12 | Fujitsu Ltd | 論理演算回路 |
US5790446A (en) * | 1995-07-05 | 1998-08-04 | Sun Microsystems, Inc. | Floating point multiplier with reduced critical paths using delay matching techniques |
US5754459A (en) * | 1996-02-08 | 1998-05-19 | Xilinx, Inc. | Multiplier circuit design for a programmable logic device |
JP3532338B2 (ja) * | 1996-02-27 | 2004-05-31 | 株式会社ルネサステクノロジ | 乗算装置 |
US5974437A (en) * | 1996-12-02 | 1999-10-26 | Synopsys, Inc. | Fast array multiplier |
US6065033A (en) * | 1997-02-28 | 2000-05-16 | Digital Equipment Corporation | Wallace-tree multipliers using half and full adders |
US6109777A (en) * | 1997-04-16 | 2000-08-29 | Compaq Computer Corporation | Division with limited carry-propagation in quotient accumulation |
US6029187A (en) * | 1997-10-28 | 2000-02-22 | Atmel Corporation | Fast regular multiplier architecture |
US6571268B1 (en) | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
US6038271A (en) * | 1999-03-02 | 2000-03-14 | Harris Corporation | Correlator with cascade data paths to facilitate expansion of correlator length |
US6438182B1 (en) | 1999-03-02 | 2002-08-20 | Harris Corporation | Correlator with serial-parallel partition |
US6493405B1 (en) | 1999-03-02 | 2002-12-10 | Harris Corporation | Correlator having enhanced memory for reference and input data |
US6215325B1 (en) | 1999-03-29 | 2001-04-10 | Synopsys, Inc. | Implementing a priority function using ripple chain logic |
US6742011B1 (en) * | 2000-02-15 | 2004-05-25 | Hewlett-Packard Development Company, L.P. | Apparatus and method for increasing performance of multipliers utilizing regular summation circuitry |
US6615229B1 (en) * | 2000-06-29 | 2003-09-02 | Intel Corporation | Dual threshold voltage complementary pass-transistor logic implementation of a low-power, partitioned multiplier |
DE10130484B4 (de) * | 2001-03-01 | 2005-08-18 | Infineon Technologies Ag | 7-zu-3 Bit Carry-Save Addierer und Addierer damit |
DE10130483A1 (de) * | 2001-06-25 | 2003-03-20 | Infineon Technologies Ag | 6-zu-3 Bit Carry-Save Addierer |
US7212959B1 (en) * | 2001-08-08 | 2007-05-01 | Stephen Clark Purcell | Method and apparatus for accumulating floating point values |
DE10139099C2 (de) * | 2001-08-09 | 2003-06-18 | Infineon Technologies Ag | Carry-Ripple Addierer |
DE10201449C1 (de) * | 2002-01-16 | 2003-08-14 | Infineon Technologies Ag | Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor |
US7085797B2 (en) * | 2002-02-26 | 2006-08-01 | Broadcom Corporation | Addition circuit for accumulating redundant binary numbers |
US7185043B2 (en) * | 2003-06-23 | 2007-02-27 | Sun Microsystems, Inc. | Adder including generate and propagate bits corresponding to multiple columns |
US7313585B2 (en) * | 2003-08-30 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Multiplier circuit |
CN105528191B (zh) * | 2015-12-01 | 2017-04-12 | 中国科学院计算技术研究所 | 数据累加装置、方法及数字信号处理装置 |
JP7183079B2 (ja) * | 2019-03-08 | 2022-12-05 | 株式会社東芝 | 半導体装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58142629A (ja) * | 1982-02-17 | 1983-08-24 | Toshiba Corp | 対角型マトリクス回路網 |
US4660165A (en) * | 1984-04-03 | 1987-04-21 | Trw Inc. | Pyramid carry adder circuit |
US4897809A (en) * | 1987-09-14 | 1990-01-30 | Hughes Aircraft Company | High speed adder |
US4839848A (en) * | 1987-09-14 | 1989-06-13 | Unisys Corporation | Fast multiplier circuit incorporating parallel arrays of two-bit and three-bit adders |
US4901270A (en) * | 1988-09-23 | 1990-02-13 | Intel Corporation | Four-to-two adder cell for parallel multiplication |
GB2230361B (en) * | 1989-04-07 | 1993-02-10 | Sony Corp | Binary adding apparatus |
US5265043A (en) * | 1991-12-23 | 1993-11-23 | Motorola, Inc. | Wallace tree multiplier array having an improved layout topology |
US5347482A (en) * | 1992-12-14 | 1994-09-13 | Hal Computer Systems, Inc. | Multiplier tree using nine-to-three adders |
-
1993
- 1993-08-05 US US08/102,683 patent/US5504915A/en not_active Expired - Lifetime
-
1994
- 1994-08-01 CN CN94192967A patent/CN1101017C/zh not_active Expired - Fee Related
- 1994-08-01 WO PCT/US1994/008714 patent/WO1995004964A1/en active Application Filing
- 1994-08-01 KR KR1019960700549A patent/KR100308723B1/ko not_active IP Right Cessation
- 1994-08-01 JP JP7506483A patent/JPH09501526A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR100308723B1 (ko) | 2001-11-30 |
WO1995004964A1 (en) | 1995-02-16 |
KR960704266A (ko) | 1996-08-31 |
CN1128069A (zh) | 1996-07-31 |
US5504915A (en) | 1996-04-02 |
JPH09501526A (ja) | 1997-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1101017C (zh) | 用于高速二进制乘法器的改进的华莱士(w)-树加法器的结构和方法 | |
Ma et al. | Multiplier policies for digital signal processing | |
US6938061B1 (en) | Parallel counter and a multiplication logic circuit | |
US6029187A (en) | Fast regular multiplier architecture | |
JP3244506B2 (ja) | 小型乗算器 | |
CN87100346A (zh) | 最佳分区再生先行进位加法器 | |
CN1503938A (zh) | 乘法逻辑电路 | |
CN102866875A (zh) | 通用多操作数加法器 | |
US5161119A (en) | Weighted-delay column adder and method of organizing same | |
US6883011B2 (en) | Parallel counter and a multiplication logic circuit | |
US5343417A (en) | Fast multiplier | |
CN1108557C (zh) | 减少高速算术单元中超前进位加法器级数的结构和方法 | |
Asadi et al. | Towards designing quantum reversible ternary multipliers | |
US4545028A (en) | Partial product accumulation in high performance multipliers | |
WO1991000568A1 (en) | Conditional-sum carry structure compiler | |
US5072419A (en) | Binary tree multiplier constructed of carry save adders having an area efficient floor plan | |
JPH056892B2 (zh) | ||
CN1290002C (zh) | 高速加法器 | |
Nagendra et al. | Unifying carry-sum and signed-digital number representations for low power | |
SU1032453A1 (ru) | Устройство дл умножени | |
CN209962284U (zh) | 乘法器、装置、芯片及电子设备 | |
CN110597485B (zh) | 模块化多位加法器及计算系统 | |
CN209879492U (zh) | 乘法器、机器学习运算装置及组合处理装置 | |
Krishnamoorthy et al. | Area and delay carry select adder using Brent Kung architecture | |
CN116366030A (zh) | 一种基于fpga的高性能fir滤波器计算电路结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030205 Termination date: 20130801 |