快速规则的乘法器层次结构的制作方法

文档序号:6415879阅读:446来源:国知局
专利名称:快速规则的乘法器层次结构的制作方法
技术领域
本发明涉及用于通过交叉乘积之和来执行二进制乘法的数字电路,即,并行乘法器,特别是,本发明涉及这种用于相加部分乘积的加法器的乘法电路的布局的层次结构。特别关于最优化层次结构来使电路面积最小和/或操作速度最大。还关于带有平衡信号传播延迟来使寄生过渡(spurious transition)最小的乘法器。
背景技术
乘法电路或乘法器主要包括三个部分(1)由与逻辑门矩阵构成的部分乘积发生成器,每个与逻辑门对于一比特被乘数和一比特乘数(这里,数字是相对于电路而言)进行计算,(2)由加法器列构成的乘法器阵列(也称为加法器阵列),它们通过求和将部分乘积简化为两个字,通常这两个字称为“和”字和“进位”字,和(3)用于将和字和进位字相加产生一个输出字(乘积)的向量归并加法器。当将两个二进制数相乘时,M位被乘数和N位乘数,通常产生M×N部分乘积项(虽然可能有一些项来处理负数),另一方面将它看作是N个M位部分乘积,而且所得乘积一般具有M+N位。在大多数乘法电路中,被乘数和乘数可以是相同N位长,因而乘积是2N位宽。
将乘法电路(当用于数字信号处理器中时)与累加器组合,从而可以容易地执行数字滤波和其他信号处理功能。基本计算是ACC=ACC+(A*B),或者ACC=ACC-(A*B)。即,典型地,累加器将乘法结果与以前的累加值相加或相减。一般,累加器是P位宽,其中P>2N,2N位是乘积的宽度,和最左边的(最高有效)P-2N位(称为保护位)用来防止溢出。美国专利第4,575,812号(由Kloker等人获得)描述一个这样的乘法器/累加器电路。直接执行乘法器/累加器电路使得累加器加法器紧跟在乘法器的向量归并加法器之后,从而第一加法将和字和进位字相加来形成乘积,此后将该乘积与在累加器中的值第二次相加。另一方面,通过把一行附加加法器加到乘法器阵列并向向量归并加法器提供两个字结果,可将累加器与乘法器集成在一起。由于只需提供一个最终加法器,所以这简化了设计过程,并提高了速度。
无论只考虑乘法器或者结合乘法器/累加器电路一起考虑,确定操作速度的关键途径包括通过乘法器阵列延延迟和通过最终加法器延迟(加上通过分离的累加器加法器的任何延迟)。乘法器是数字信号处理器的最慢部分,所以对于乘法器的速度提高也提高了处理器的整个速度。例如,对于执行用于数字蜂窝状电话通信的复杂的语音和信道编码算法,需要高速处理。另一个因素在于布局面积和规则性。规则的平面布置图(floor plan)是很容易设计和布局的,而不规则的平面布置图需要化大量时间和力气来布局。对于乘法器层次结构的选择通常包括在面积和速度之间的权衡。树形乘法器层次结构具有与O(logN)成比例的延迟,而阵列乘法器层次结构具有与O(N)成比例的延迟(其中,N是以比特为单位的字长)。于是,树形层次结构更快。然而,由于树形乘法器需要与数据路径垂直的大量数据位移,它们的实施对于路由选择(routing)敏感,要求比阵列乘法器有更大的电路面积。而且,树形层次结构在它们的布局中趋于非常的不规则。
在美国专利第5,343,417号和5,586,071号中,Flora描述了华莱士树形乘法器层次结构,其中选择在乘法器中用来通过连续相加和字和进位字来减小部分乘积的全加器和半加器列,从而在每个加法器级处添加的特定输入符合规定的规则,它增强了乘法器的操作速度。授予Han等人的美国专利第5,181,185号和授予Rarick等人的第5,504,915号揭示了其他高速平行乘法器,它采用改进的华莱士树形加法器来总加部分乘积列。所有的这些揭示的乘法电路示出基本布局的不规则性,它是树形乘法器层次结构的特征。与纯粹的华莱士树形层次结构相比较,经改进的华莱士树牺牲一些速度来获得更高的布局规则性。
授予Galbi等人的美国专利第4,901,270和由G.Goto等人所著的论文(在IEEE的固态电路杂志中,第27卷,第9号,1992年9月,第1229-1234页)描述了在树形乘法器中用4至2(four-to-two)压缩器加法器来进一步提高它们的速度。在美国专利第5,347,482号中,Williams揭示了因为树的更大基本构件块,导致在华莱士树形中用9至3加法器简化了布局和信号路由选择,从而以与3至2(全)加法器有相同数量的加法器延迟而操作。在美国专利第5,265,043号(Naini等人)揭示了华莱士树形乘法器层次结构,它设有以L-折叠布局或平面布置图放置的它的进位保留加法器,以便改进层次结构的布局规则性,并减小所需布局面积。
G.J.Hekstra等人在“快速并行乘法器层次结构”中(电路和系统IEEE讨论会汇编,第2128-2131页)描述了带有与

成比例的延迟的规则阵列层次结构。于是,它在紧凑和规则的,但是慢的阵列乘法器层次结构,和快速,但是不规则和大电路面积的树形乘法器层次结构(如,华莱士树形乘法器)之间提供一种变通性。Hekstra乘法器层次结构具有基于“阵列的阵列”(array ofarrays)的结构,它包括产生一系列部分和的大量子阵列,其中将部分和馈送到把部分和相加的主阵列来形成乘积。主阵列级包括以4至2缩减器(reductor)结构的两行全加器。子阵列包括全加器行以及部分乘积发生器。子阵列的尺寸变化,而且已仔细选择来平衡传播延迟,从而加数与前级的部分和同步到达主阵列级。这种情况出现在Hekstra的实施方法中,当子阵列的尺寸,即,全加器行数,以2个为一级地从一个子阵列增加到另一个时。
由T.Sakuta等人所著的论文(在对于低功率电子的IEEE讨论会中技术论文摘要,第36-37页,1995年10月)强调了延迟平衡的重要性,以便使寄生过渡最小,从而使不必要功率浪费最小。加法器同时开始计算,而不等待和和进位信号从前一级传播,从而如果加数不同时到达加法器,那么将导致寄生过渡。这些寄生过渡也传播到下一级,导致数量不断增长的从一级到下一个级的过渡。传统的阵列乘法器层次结构是固有不平衡的,从而趋于消耗大量功率。相反,由于华莱士树形乘法器固有的并行结构,导致它们本身平衡,而且具有发生寄生过渡的可能性较低。可将延迟电路插入任何乘积项输入的信号路径中,它跳过加法器阶梯(ladder)来使它们与相应加法器的其他输入同步,如T.Sakuta等人所教导的那样。至于上述Hekstra层次结构那样,乘法器正好是延迟平衡的,只是因为适当地选择了子阵列尺寸。
虽然与华莱士和其他树形层次结构相比,Hekstra型乘法器层次结构很规则,而且几乎与传统阵列乘法器一样紧致,并且还可比阵列乘法器更快,但是它仍然比树形乘法器层次结构慢。因为它们的本身平衡并行结构,使得很容易将4至2、9至3和其他压缩器加法器结构加入树形乘法器,而不损坏它的平衡信号传播,从而增加它的运算速度。此外,改进的树形层次结构和混合树形阵列层次结构允许设计者提高规则性,并在一定程度上减小电路面积,而不牺牲太多的速度。因此,在空间不是非常珍贵的情况下,树形层次结构变成设计选择。在小电路面积是实质的情况下,迫使电路设计者应付(cope with)阵列乘法器,而不管它们的慢速。Hekstra型乘法器不是已知的,而且一般被忽略了。由于馈送到单个主阵列的加法器子阵列的单侧(one-sided)层次结构不是固有平衡的,但是只有通过适当选择子阵列尺寸才平衡,所以任何修改都需要非常注重是否保持平衡。
本发明目的在于提供一种经改进的Hekstra型乘法器层次结构,其运算速度提高,而不牺牲电路面积和规则形或者破坏延迟平衡。
发明概述本目的是一种Hekstra型乘法器层次结构,即,一种将多个加法器子阵列馈送到主加法器阵列的乘法器层次结构,其中以保留信号传播延迟中的平衡从而使部分和同时达到每级主阵列的方式,通过用4至2压缩器加法器电路(下面称为压缩器电路)来替换在子阵列中的全加器对来对它进行改进。在不同的乘法器体系部分中运用两种压缩器电路(称为对称和非对称压缩器)。无论何时不能同时获得它所有的输入时,都得运用非对称压缩器。


图1和2分别是典型现有技术树形乘法器层次结构的元件互连结构和块布局的示图。
图3和4分别是根据本发明的改进的Hekstra型乘法器层次结构的元件互连结构和块布局的示图,其中将图3和4与图1和2并排排列以进行比较。
图5是本发明的较佳乘法器层次结构的详细方框图,它示出通过相加而减小部分乘积的层次结构的乘法器阵列的元件。最终向量归并加法器是传统技术,故未图示。
图6和7是示出通过用已知的交叉乘积和算法(sum-of-cross-productsalgorithms)将m位乘数和n位乘数相乘,来形成用于各无符号和2的(2’s)补码记号(complement notation)的(m+n)位乘积的标准代数记数法。图7的2的补码乘法实施了在美国专利第3,866,030号中揭示的Baugh-Wooley算法,而且由图5的较佳乘法电路执行。
图8-11是在图5的乘法电路中用到的4至2压缩器电路的逻辑门电平电路图。
图12和13是根据本发明的用于两个交替改进Hekstra型乘法器层次结构的元件互连结构示图。
实施本发明的最佳模式参照图1-4,将现有技术树形层次结构与根据本发明的层次结构并排示出,从而可以比较它们各自的结构、路由选择和传播延迟。在图1中,可见现有技术结构完全二叉树,即,华莱士树,其中在加法器的初始级中的每个全加器(F)对于一组部分乘积13进行运算,一般是每个加法器3个,来产生部分和。于是,初始级在该结构的级0处产生等于全加器(F)的数量的一组部分和。加法器(F)还产生等同数量的进位,将它们传递到类似树形结构的级1,它用于总加对于二进制乘积的下一个较高有效级的部分乘积。在图1中,级1包括一组4至2压缩器电路,诸如由Goto等人在固态电路的IEEE杂志中所描述的那些(卷27,第9号,1992年9月,第1229-1235页)。每个压缩器电路连续执行对两个全加器的运算,但是具有大约1.5倍于一个全加器延迟的传播延迟。可以用两个全加器,如果需要的话。在级1中的每个压缩器电路(C)从级0中取4个输入,诸如由在同一树的级0中的两个全加器(F)输出的两个部分和,以及来自树中的等同级0全加器的两个进位,其中上述树用于总加二进制乘积的下一个较低有效级的部分乘积。每个级1的压缩器电路(C)还接收来自下一个较低有效和树中的相应级1压缩器的另一个进位。级1压缩器电路(C)对于在下一个更高有效和树中的相应级1压缩器的进位和对于在下一个较高有效和树中的级2压缩器的第二进位。它还对在与它本身相同的树中的级2压缩器产生部分和。在级2和3中的压缩器以类似方法进行操作。通过这种方法,每个树减小相同有效级的部分乘积(以及来自下一个较低有效总加树的进位)到最后和和最后进位。每个连续级减小了部分和数量的一半,从而所需级的数量(因而传播延迟)大约为log(N)数量级,其中N是要和的部分乘积的数量。在图1中的树能够处理上至24个部分乘积(8个全加器乘以每加法器的3个部分乘积)。
当尝试以有些规则的方法来布局这样的层次结构时,这样的树结构存在一个问题。因为结构是树形的,所以很难进入矩形结构。在图2中,以线性的形式布置用于在最终乘积中的单个逐位有效级的图1的树,从而可以并排排列邻近树来促进进位信号的传递,从一比特-列树(one bit-column tree)到下一个。在图2中的每个块或单元表示全加器(F)或压缩器电路(C)。如前面所述,可用全加器对来代替压缩器电路。在图2中的每个单元还表示它所属的级别(L0、L1、L2、L3)。由在单元之间的箭头表示部分和到下一级的传递。可见树形层次结构造成严重的路由选择问题。单元之间的连接只有一半是本地的(local),而另外一半需要通过一个或多个介入单元来进行路由选择。通过将每个附加级加到树形分层,非本地线路(wire)的长度加倍,从而虽然级0单元和级1单元的连接要求有两个单元长的非本地线路15,但是在级1和2之间的有些连接要求有4个单元长的非本地线路17和在级2和3之间的某些连接需要有8个单元长的线路19。此外,通过在分层中的每个附加级,必须提供通过单元的两个附加路由选择轨迹(routing track)。在图2中的每个单元右边的数字示出通过该单元的单元-单元线路的数量。不同的单元根据它们在单元线中的位置,具有线路可通过的不同数量的交叉轨迹,同时以后的单元趋于要求更多的轨迹。最终情况要求花额外的力气进行附加布局,因为在分层中的每级将要求不同的布局拓扑图。单元的宽度根据它们必须容纳的布线轨迹(wiringtrack)的数量变化。有几个单元块具有两个全加器(F),之后是一个压缩器电路(C)。然而,块1、2和3都是不同的布局类型,因为不同的块要求不同数量的路由选择轨迹。
图3示出根据本发明的层次结构。该层次结构具有一系列连续较长加法器链(CSA0、CSA1、CSA3、CSA3、CSA4),它尝试馈送到一系列主加法器级(MS1、MS2、MS3、MS4)的部分和。两个这样的子阵列(CSA0和CSA1)都包括用于每个部分乘积列的一个全加器单元,并向第一主级加法器MS1提供部分和。所有主级加法器都是4至2压缩器电路。把第一主级加法器MS1的输出和由另一个子阵列CSA2提供的部分和输入到第二主级加法器MS2。为了保持适当的延迟平衡,子阵列CSA2包括全加器单元(F)和压缩器电路(C),从而由子阵列CSA2产生的部分和与第一主级MS1的部分和同时到达第二主级加法器MS2。把第二主级加法器MS2的输出和由子阵列CSA3提供的部分和输出输入到第三主级加法器MS3。再次,为了保持适当的延迟平衡,子阵列CSA3包括全加器(F)和两个压缩器电路(C)来匹配通过第二主级MS2的传播延迟。这个序列可以继续到任意大的结构,同时每级的尺寸都包括另一个主级(例如,MS4)和另一个阵列(例如,CSA4),其中为了适当的平衡,构成馈送到主级加法器的子阵列的连续进位保留阵列在大小上按每个子阵列增加一个压缩器电路。于是,子阵列CSA4包括一个全加器级(F)和三个压缩器级(C)。由于在结构中的“分支”的一面(onesided)本质所致的另一个差异是对于主级(MS1、MS2、MS3、MS4)的压缩器电路(C)是对称电路,因为如果正确地选择子阵列的尺寸,所有输入本质上都同时到达,但是至少在子阵列(CSA2、CSA3、CSA4)中的一些压缩器电路(C)是非对称电路,因为在正常情况下它们的部分乘积比由前一级子阵列输出的部分和要早到。可以包括附加延迟电路,正如在前面所述的T.Sakuta等人的论文中所提到的那样。下面参照图8-11,提供对对称和非对称压缩器的更详细描述。
现在,回到图4,当在块中线性放置加法器级,可见这种经改进Hekstra型结构的优点。与图2的树形层次结构不同,所有连接都是本地的,除了从一个主级到下一个主级的连接,以及从子阵列CSA0到第一主级MS1的连接。于是,无论层次结构的总尺寸如何,即,要减小的乘积项的数量和需要减小它们的主级和子阵列的数量,都不会有通过子阵列单元的多于两个信号路径交叉,而且所有单元可以是相同尺寸来容纳那些信号路径或轨迹。布局非常规则,而且只需要少许不同类型的单元,并在整个结构中重复,从而简化了设计。在每个子阵列中的全加器(F)可以是等同的,主级压缩器电路(C)可以是等同的,而且子阵列压缩器电路(C)可以是等同的,而与它们是否在子阵列CSA2或CSA3或级SA1或SA2,等等中无关。
参照图5,本发明的乘法器电路的较佳实施例适于运用美国专利第3,866,030号的Baugh-Wooley算法,但通过图3和4的经改乘法器层次结构,执行17位乘17位2的补码(complement)二进制乘法。在图5中,在图的顶部和底部上从0至33的数字指的是在所得乘积中的特定位。带有斜线阴影部分的小矩形元件是指乘积项发生器。就在子阵列级SA31上的不同阴影线矩形元件和在半加器单元2C0和2C1上的固体矩形元件也是乘积项,它们为Baugh-Wooley2的补码乘法算法所特有的。下面在图7中详细描述所有乘积项。在电路中用到的加法器单元有三种基本类型半加法器(H)、全加法器(F)和4至2压缩器电路(C)。在现有技术中已知每个这样的加法器。此外,4至2压缩器电路(C)有两种,至少对于在图5中的子阵列级SA31是非对称(与图3和4不同,它将压缩器级SA20和SA32和SA31放置在子阵列CSA2和CSA3的全加器级SA21和SA32之前),以及在其他子阵列级的其他结构中,和至少对于主阵列级MS1、MS2和MS3是对称压缩器电路。下面,参照图8-11,讨论这样两种压缩器的结构。此外,可用全加器(F)替换半加器(H),其中将一个输入固定在逻辑电平0。同样,可用压缩器电路(C)代替在一级中后面是一个半加器(H)(或者甚至是两个半加器)的全加器(F)的组合,其中在压缩器电路(C)中将一个(或两个)输出固定在零。通过这种方法,可以获得更多的规则性,虽然加法器单元要牺牲少许最佳性。
每个单元(H,F或C)产生和项和进位项。箭头示出那些项与在主阵列级MS1、MS3和MS3中的输入的代表性连接。主级的每个单元接收来自前主级的一个和项输出(或者在主阵列级MS1的情况下,来自子阵列SA00)、来自该相同前主级(或子阵列SA00)的进位项输出、来自对它是本地的子阵列级的一个和项输出,即,在它上面的加法器块,同样来自相同本地子阵列级的进位项。和项来自相同位列(bit column)的加法器单元,同时进位项来自下一个较低有效的加法器单元(即,就在提供和项单元的右边)。于是,例如,在主级MS3的位列18中的压缩器单元(C)接收来自主级MS3的位列18中的压缩器C的和项,来自主级MS2的位列17中的压缩器C的进位项、来自子阵列级SA32的位列18中的半加器H的和项和来自子阵列级SA32的位列17中的全加器F的进位项。在一些情况下,两个和项和两个进位项的全补码是不可获得的(特别是在大多数级的最左边和最右边),所以不需要压缩器单元C和全加法器/半加法器组合,或者甚至半加法器/半加法器组合都是所需的。于是,例如,位于主加法器级MS2中的位列9接收来自主级MS1的和和进位,以及只是来自子阵列级SA21的和项。没有产生来自级SA21的位列8的进位项,所以在级MS2-列9处,不需要压缩器单元。如前面所述,可在那些具有适当固定逻辑零输入的位置上用到压缩器(C)。在相同子阵列的连续级之间的连接,即,子阵列CSA2的级SA20和SA21和子阵列CSA3的级SA30、SA31和SA32是纯本地的。
参照图6和7,由乘法器电路产生的部分乘积依赖于所用到的特定二进制数记数法和乘法算法。如图5所示的特定电路执行图7的Baugh_Wooley 2的补码乘法。图6示出在无符号记数法中的两个二进制数的乘法,即,m位被乘数[am-1am-2…a2a1a0]和n位乘数[bn-1…b2b1b0]来形成(m+n)位乘积[pm+n-1pm+n-2pm+n-3…P2P1P0]。所用到的算法是直接交叉乘积的和(sum-of-cross-products)方法。部分乘积的位列(ajbj)与有效位(bit significance)i和j的和相对应,从而,例如,部分乘积(am-2b1)在(m-2)+1=(m-1)的最终乘积中具有有效位,并出现对于Pm-1的位列中。将具有相同有效位的部分乘积的每个列相加,同时将进位转移到下一个更高有效位的列。在图7中,m位被乘数[am-1am-2…a2a1a0]表示数字{-(am-1)2m-1+(am-2)2m-2+…+(a2)22+(a1)21+(a0)20},同样[bn-1…b2b1b0]表示数{-(bn-1)2n-1+…+(b2)22+(b1)21+(b0)20}。注意,在最高有效位位置的减小。Baugh-Wooley算法产生交叉乘积,其中每行(除了最后行之外)的最高有效位(MSB)部分乘积具有来自倒相乘数

)的一个输入,最后行的部分乘积,除了MSB部分乘积,具有来自倒相被乘数

的一个输入,和分别在比特位m-1、n-1、m+n-2、m+n-2和m+n-1上添加附加项am-1,bn-1,am-1,bn-1和1。然而,实践中,实际上不把“1”加到比特位置m+n-2。而是,将来自半加器2C1的进位倒相,并馈送到在主级MS3的比特位置33中的半加器H。还将来自半加器2C1的进位连接到主级MS3的和输出的比特位置34。这种实施细节避免必须在层次结构中提供常数。再次,将具有相同有效位的部分乘积列相加,同时将进位传递到下一个更高有效位列。所得结果的乘积仍是以2的补码标记。在图5中,由于m=n=17,向在位列16和32中的半加器2C0和2C1和在位列33中的主级MS3的半加器(H)提供加法项。
在图3中没有示出向量归并加法器最后相加由图中所示的结构产生的和字和进位字。该向量归并加法器是实质上等同于在现有技术中找到的那些。几种变通方法是可行的进位脉动、超前进位、进位选择,等等。还没有示出的是用于将累加器位值加入集成乘法器-连接器电路的任何附加加法器行,或者在向量归并加法器之前或之后。再者,这正如在现有技术中所发现的那样。最后,关于图1-4,结构不必以全加器行开始。是否使用全加器依赖于手头的乘法器电路的尺寸。例如,如图5所示的本发明的实施例示出17×17乘法器,还需要一个起始全加器行,如图3和4所反映的那样。
参照图8-11,示出各种可行的4至2压缩器电路。这些代替了连续全加器对,但是只有大约1.5个全加器的延迟。延迟减小提高了运算速度,但是当尝试构成平衡乘法器结构时必须特别小心。这些压缩器还已知为5至3压缩器,因为有两个附加进位项Cin和Cout。然而,由于这些附加进位项正常情况下连接在相同行或级中的邻近单元,而且一般不从前一级接收他们或者进位到后一级,所以通常不计数它们,因而不是常规设计的4至2压缩器。
在图8中的压缩器电路如由G.Goto等人在固态电路的IEEE讨论会中(卷27,第9号,第1229-1235页,1992年9月)教导的那样。这是为所有4个输入I1-I4实质上同时到达时所设计的对称压缩器电路。由压缩器执行的逻辑是Cout=I1*I2+I3*I4;C=~{[~(I1^I2)+~(I3^I4)]*[~(I1*I2)+~(I3*I4]}+Cin(I1^I2^I3^I4)};S=[(I1^I2)^(I3^I4)]^Cin;
其中,~、+、^和*分别表示逻辑运算非、或、异或和与。为了比较不同电路,我们假设单元延迟,其中对于一个反相门的1个单元的延迟、对于非反相门的2单元的延迟和对于异或门或异或非(NXOR)门的2单元的延迟。在图中的数字表示在每个门的输出处的延迟。为了产生Cout,要取2单元延迟。在相同级中的下一个较高阶有效位的邻近单元中向Cin提供Cout。为了产生和项S和进位项C,要取6单元延迟。
在图9-11中的电路是全新的。在设计那些电路时要遵循几条法则。对于和输出S的编码是唯一的。S通常是5个输入位I1-I4和Cin的一致校验位。特别是,如果在5个输入位中的1的数量是奇数,那么S是1;否则S为0。对于进位输出Cout和C的编码不是唯一的,这在设计中提供了灵活性。这些进位输出表示在输入模式中存在两个或更多的1。如果在输入中存在两个或更多1,那么在进位输出中有一个或仅有一个1(C或Cout),而且其他进位输出将为0。遵循该规则的任何组合都是有效的组合,它将导致压缩器的正确操作。在最优化电路时所要遵循的另一条规则是使Cout独立于Cin。因此,对于Cout的位的分配应与对于等于0或1的Cin的分配相同。这是因为速度的原因,来避免通过波动传送(rippling through)位位置,因为Cin来自下一个较低有效位和在分级中的相同等级的位位置。图8的压缩器只是这些规则的一个特定例子。
在图9和10中,压缩器逻辑是Cout=[(I1+I2)*(I3+I4)]+(I1*I2)+(I3*I4);C=(I1*I2*I3*I4)+[Cin*(I1^I2^I3^I4)];S=[(I1^I2)^(I3^I4)]^Cin在图9本逻辑的实施过程中,产生Cout取2单元延迟,同时产生和,而且进位项S和C都取6单元延迟。有从输入I1-I4到主输出S和C的相等延迟。换句话说,与图8的压缩器相同,在图9中的电路也是对称的。
在图10中的压缩器是非对称形式的。该形式具有来自输入I1的更短延迟,其次来自输入I2,然后来自输入I3和I4,以产生Cout(而且C结束,这依赖于来自类似邻近电路的Cout的Cin)。同样,进位输出C稍快于和输出S,达1单元延迟(5对6个单元)。当不能同时获得所有输入时,这种非对称形式是较佳的。于是,可以在较短延迟输入I1和I2上提供最慢到达信号,同时可以向较长延迟输入I3和I4提供随即到达信号。在图5中,这样的非对称压缩器可用于子阵列级SA31,其中在部分和从级SA30达到之前产生乘积项。在图3和4的结构中,其中首先设置全加器级SA0,子阵列CSA2、CSA3、CSA4的压缩器级SA1、SA2和SA3最好是非对称的。可以综合其他非对称电路,这依赖于设计者可获得的逻辑单元。
在图11中,压缩器电路实施下列逻辑Cout=(I1+I2)*(I3+I4);C=[(I1*I2)*~(I3^I4)]+[~(I1^I2)*(I3*I4)]+Cin*(I1^I2^I3^I4);S=[(I1^I2)^(I3^I4)]^Cin正如图8和9的压缩器,它相对于输入I1-I4是对称的。然而,如图10所示,它提供稍快于和输出S达1单元延迟的进位输出C(5对6单元)。
下面表格通过比较概括了本发明相对于现有技术的优点。注意,将延迟表达为全加器延迟(FA)。层次结构 布局 传播路径 延迟量级17×17延迟进位尺寸阵列 规则 不平衡(脉动) O(N)15FA树 不规则 固有平衡 O(logN) 6FA带有压缩器的树 不规则 固有平衡 O(logN) 4.5FAHekstra 规则 通过构造平衡

7FA本发明 规则 通过构造平衡

5.5FA本发明具有其布局是规则的和它的操作相对较快(5.5全加器延迟),于是将阵列层次结构和树层次结构的有利特征结合起来。另一个优点在于除了在它的主阵列级之间连接之外,所有连接是本地的,从而只需在布局中提供两个信号轨迹,无论它的量级有多大。这是它的规则形的一个方面,因而它的电路面积很小。通过对比,当将它们定标为更大尺寸时,树层次结构需要越来越多的路由选择轨迹。
虽然本发明如同Hekstra层次结构在它传播路径中具有平衡的延迟,但是它们不如树层次结构那样是固有平衡的,但是只通过适当地选择子阵列尺寸构成来达到平衡。因此,当图8-11的压缩器电路加如入到本发明层次结构时,需要特殊关注来保证保持该平衡。特别是,已构成通过任一子阵列和主阵列的每个信号路径,从而它呈现与所有其他信号路径相同数量的压缩器电路。馈送到主加法器阵列的连续级中的每个连续阵列比前子阵列多一个附加压缩器。一个全加器可以(任选地)出现在每个子阵列路径中,如图3-5所示。如果以全加器作为子阵列之首,那么在该子阵列的剩余部分中的任何压缩器都应是非对称型的。如果全加器是在馈送到主阵列之前的子阵列的最后元件,那么第一压缩器电路可以是对称型的。所有主阵列压缩器是对称型的。通过这种仔细构成,可使寄生过渡最小。(当需要处理剩余不平衡时,可以添加附加延迟元件,如由T.Sakuta等人在上面提到的论文中所教导的那样。)此外,通过增加主阵列级和相应子阵列的数量,可以定标本发明的层次结构。例如,可通过4个主加法器级实施32×32乘数,而且在子阵列中没有全加器级(即,只有压缩器)。它具有仅7.5个全加器的传播延迟。可通过6个主激发器级和仅11.5个全加器的延迟实施61×61乘数(仍然快于17×17阵列层次结构),其中子阵列CSA0和CSA1包括全加器,其后紧跟着压缩器,而且每个连续子阵列添加一个附加压缩器。图12和13以与图3相同的方法,分别示出这些结构。最后应注意,可见可容易地修改图13的结构来实现58×58乘数。通过除去全加器F行可以完成这。所得的58×58乘数具有延迟10.5全加器。
权利要求
1.一种乘法电路,其特征在于,包括接收M位被乘数和N位乘数,产生N个M位部分乘积的装置,其中M和N是大于8的整数,具有有效位的每个部分乘积的每一位与(M+N)位乘积的指定位相对应;和加法装置,用于相加所述N个M位部分乘积,从而将具有相同的有效位的所述部分乘积位加起来,其中将所述加法装置组织成层次结构,它的特征在于,形成部分和的多个子阵列和相加所述部分和的多级主阵列,所述层次结构具有非对称但是延迟平衡的分支层次结构,其中第一主阵列级接收来自两个子阵列的部分和,每个后来的主阵列级接收来自一个前主阵列级的部分和以及仅有一个相应子阵列,对于每个后来主阵列的子阵列连续大于对于前一主阵列的子阵列,以为向每个主阵列级提供的部分和保持平衡传播延迟,至少一个子阵列其中包括4至2压缩器电路,和向量归并加法器,接收多位和字和多位进位字,它们一起表示来自所述加法装置的最后主阵列级的部分和,所述向量归并加法器总加所述字和进位字,来产生所述(M+N)位乘积。
2.如权利要求1所述的乘法电路,其特征在于,与所有其他信号传播路径相比,来自第一级子阵列通过该阵列阵列的每一级到所述主阵列级并通过所述主阵列的后来各级的每个信号传播路径具有相等数量的压缩器电路。
3.如权利要求1所述的乘法电路,其特征在于,子阵列级的每个单元和主阵列级的每个单元包括压缩器电路,其中所述单元接收总共四个部分乘积输入并产生和项和进位项。
4.如权利要求1所述的乘法电路,其特征在于,子阵列级的每个单元和主阵列级的每个单元包括顺序排列的全加器和半加器,其中所述单元接收总共三个部分乘积输入并产生和项和进位项。
5.如权利要求1所述的乘法电路,其特征在于,所述被乘数和乘数是用无符号二进制记数法,用于形成部分乘积的所述装置产生所述M位被乘数与所述N位乘数的交叉乘积。
6.如权利要求1所述的乘法电路,其特征在于,所述被乘数和所述乘数是2的补码记数法,用于形成部分乘积的所述装置根据Baugh-Wooley的算法产生交叉乘积。
7.如权利要求1所述的乘法电路,其特征在于,线性地布局所述加法装置,其中所述第一主阵列级紧跟着所述两个子阵列,该第一主阵列级接收来自所述两个子阵列的部分和,将任一子阵列的所有级组合起来,而且在该第一主阵列级之后的每个主阵列级紧跟着与所述主阵列级相对应的所述子阵列的所述级,从而所有信号传播路径是本地,除了在连续主阵列级之间的路径,而且每个子阵列级仅要求两个交叉信号传播路径的轨迹。
8.如权利要求1所述的乘法电路,其特征在于,至少一个所述压缩器电路包括第一信号输入、第二信号输入、第三信号输入、第四信号输入和进位输入;第一逻辑门包括一个2-输入与非门,所述与非门的所述两个输入与所述第一和第二信号输入相连;第二逻辑门包括一个2-输入与非门,所述与非门的所述两个输入与所述第三和第四信号输入相连;第三逻辑门包括一个2-输入或门,所述或门的所述两个输入是反相输入并连到所述第一和第二逻辑门的输出,所述第三逻辑门提供第一进位输出;第四逻辑门包括馈送到一个2-输入与非门的一个输入的一个2-输入或门,所述与非门的第二输入连到所述第一逻辑门的所述输出,所述或门的所述两个输入连到所述第一和第二信号输入;第五逻辑门包括馈送到一个2-输入与非门的一个输入的一个2-输入或门,所述与非门的第二输入连到所述第二逻辑门的所述输出,所述或门的所述两个输入连到所述第三和第四信号输入;第六逻辑门包括馈送到一个2-输入与非门的各输入的第一和第二2-输入或门,所述第一或门的所述两个输入连到所述第一和第二逻辑门的所述输出,所述第二或门的所述两个输入连到所述第四和第五逻辑门的输出;第七逻辑门包括一个2-输入异或门,所述异或门的所述两个输入连到所述第四和第五逻辑门的所述输出;第八逻辑门包括馈送到一个2-输入或门的一个输入的一个2-输入与门,所述或门的第二输入连到所述第六逻辑门的输出,所述非与门的所述两个输入连到所述进位输入和所述第七逻辑门的输出,所述第八逻辑门提供第二进位输出和第九逻辑门包括一个2-输入异或门,所述异或门的所述两个输入连到所述进位输入和所述第七逻辑门的所述输出,所述第九逻辑门提供和输出。
9.如权利要求1所述的乘法电路,其特征在于,至少一个所述压缩器包括第一信号输入、第二信号输入、第三信号输入、第四信号输入和进位输入;第一逻辑门包括一个2-输入或非门,所述或非门的所述两个输入连到所述第一和第二信号输入;第二逻辑门包括一个2-输入或非门,所述或非门的所述两个输入连到所述第三和第四信号输入;第三逻辑门包括一个2-输入与非门,所述与非门的所述两个输入连到所述第一和所述第二信号输入;第四逻辑门包括一个2-输入与非门,所述与非门的所述两个输入连到所述第三和所述第四信号输入;第五逻辑门包括一个2-输入或非门,所述或非门的所述两个输入连到所述第一和所述第二逻辑门的输出;第六逻辑门包括一个2-输入或非门,所述或非门的所述两个输入连到所述第三和第四逻辑门的输出;第七逻辑门包括一个2-输入或非门,所述或非门的所述两个输入连到所述第五和第六逻辑门的输出,所述第七逻辑门提供第一进位输出;第八逻辑门包括一个2-输入或非门,所述或非门的所述两个输入连到所述第三和第四逻辑门的所述输出;第九逻辑门包括馈送到一个2-输入与非门的一个输入的一个2-输入或门,所述与非门的第二输入连到所述第三逻辑门的所述输出,所述或门的所述两个输入连到所述第一和第二信号输入;第十逻辑门包括馈送到一个2-输入与非门的一个输入的一个2-输入或门,所述与非门的第二输入连到所述第四逻辑门的所述输出,所述或门的所述两个输入连到所述第三和第四信号输入;第十一逻辑门包括一个2-输入异或门,所述异或门的所述两个输入连到所述第九和第十逻辑门的输出;第十二逻辑门包括馈送到一个2-输入或门的一个输入的一个2-输入与门,所述或门的第二输入连到所述第八逻辑门的输出,所述与门的所述两个输入连到所述进位输入和所述第十一逻辑门的一个输出,所述第十二逻辑门提供第二进位输出;和第十三逻辑门包括一个2-输入异或门,所述异或门的所述两个输入连到所述进位输入和所述第十一逻辑门的所述输出,所述第十三逻辑门提供和输出。
10.如权利要求1所述的乘法电路,其特征在于,至少一个所述压缩器电路包括第一信号输入、第二信号输入、第三信号输入、第四信号输入和进位输入;第一逻辑门包括馈送到一个2-输入与非门的一个输入端的一个3-输入或门,所述与非门的第二输入连到所述第一信号输入,所述或门的所述三个输入连到所述第二、第三和第四信号输入;第二逻辑门包括馈送到一个2-输入与非门的一个输入的一个2-输入或门,所述与非门的第二输入连到所述第二信号输入,所述或门的所述两个输入连到所述第三和第四信号输入;第三逻辑门包括一个2-输入与非门,所述与非门的所述两个输入连到所述第三和第四信号输入;第四逻辑门包括一个3-输入与非门,所述与非门的所述三个输入连到所述第一、第二和第三逻辑门的输出,所述第四逻辑门提供第一进位输出;第五逻辑门包括一个4-输入与非门,所述与非门的所述四个输入连到所述第一、第二、第三和第四信号输入;第六逻辑门包括一个2-输入异或门,所述异或门的所述两个输入连到所述第一和第二信号输入;第七逻辑门包括一个2-输入异或门,所述异或门的所述两个输入连到所述第三和第四信号输入;第八逻辑门包括一个2-输入异或非门(XNOR),所述异或非门的所述两个输入连到所述第六和第七逻辑门的输出;反相器连到所述进位输入;第九逻辑门包括馈送到一个2-输入与非门的第一输入的一个2-输入或门,所述与非门的第二输入连到所述第五逻辑门的输出,所述或门的所述两个输入连到所述第八逻辑门和所述反相器的输出,所述第九逻辑门提供第二进位输出;和第十逻辑门包括一个2-输入异或门,所述异或门的所述两个输入连到所述第八逻辑门和所述反相器的所述输出,所述第十逻辑门提供和输出。
11.如权利要求1所述的乘法电路,其特征在于,至少一个所述压缩器电路包括第一信号输入、第二信号输入、第三信号输入、第四信号输入和进位输入;第一逻辑门包括一个2-输入或非门,所述或非门的所述两个输入连到所述第一和第二信号输入;第二逻辑门包括一个2-输入或非门,所述或非门的所述两个输入连到所述第三和第四信号输入;第三逻辑门包括一个2-输入或非门,所述或非门的所述两个输入连到所述第一和第二逻辑门的输出,所述第三逻辑门提供第一进位输出;第四逻辑门包括一个2输入异或非门,所述异或非门的所述两个输入连到所述第一和第二信号输入;第五逻辑门包括一个2-输入异或非门,所述异或非门的所述两个输入连到所述第三和第四信号输入;第六逻辑门包括一个3-输入与非门,所述与非门的所述三个输入连到所述第一和第二信号输入和所述第五逻辑门的输出;第七逻辑门包括一个3-输入与非门,所述与非门的所述三个输入连到所述第三和第四信号输入和所述第四逻辑门的输出;第八逻辑门包括一个2-输入异或非门,所述异或非门的所述两个输入连到所述第四和第五逻辑门的所述输出;反相器连到所述进位输入;第九逻辑门包括馈送到一个3-输入与非门的第一输入的一个2-输入或门,所述与非门的第二和第三输入连到所述第六和第七逻辑门的输出,所述或门的所述两个输入连到所述第八逻辑门和所述反相器的输出,所述第九逻辑门提供第二进位输出;和第十逻辑门包括一个2-输入异或门,所述异或门的所述两个输入连到所述第八逻辑门和所述反相器的所述输出,所述第十逻辑门提供和输出。
12.如权利要求1所述的乘法电路,其特征在于,至少一个所述压缩器电路包括多个输入,包括第一信号输入、第二信号输入、第三信号输入、第四信号输入和进位输入;和多个输出,包括第一进位输出、第二进位输出和和输出;所述至少一个所述压缩器电路的特征在于如果在所述多个输入中1的数量是奇数,那么将所述和输出设为1,否则将所述和输出设为0;所述至少一个所述压缩器电路的特征还在于如果在所述多个输入中的1的数量是2或3,那么把一个和只把一个所述第一和第二进位输出设为1;所述至少一个所述压缩器电路的特征还在于如果在所述多个输入中的1的数量是4或5,那么把所述第一和所述第二进位输出设为1。
13.如权利要求12所述的乘法电路,其特征在于,所述至少一个所述压缩器电路的特征还在于独立于所述进位输入确定一个所述进位输出。
14.一种乘法电路,其特征在于,包括接收M位被乘数和N位乘数,用来从中形成部分乘积项的装置,每个乘法乘积项与(M+N)位乘积的指定位相对应;和对于每个乘积位,加法装置,用于将与该乘积位相对应的所有部分乘积项与由对于所述下一个较低有效乘积位的所述加法装置产生的任何进位项相加,每个所述加法装置产生形成所述乘积位的和和要传递到对于所述下一个更高有效乘积位的一个或多个进位项,其中,将每个所述加法装置组织成层次结构,其特征在于,多个加法级形成部分和,将所述加法级组织成多个连续子阵列加法器链和单个连续主阵列加法器链,在所述主阵列加法器链中的第一级是连到两个子阵列加法器链的加法器来从中接收部分和,在所述第一级之后的所述主阵列加法器链中的每一级连到所述主阵列加法器链的后一级以及一个和只有一个子阵列加法器链,其中在所述主阵列加法器链中的每个加法级是4至2压缩加法器电路,下面称为‘压缩器’,连到所述主阵列的所述第一级的所述两个子阵列加法器链在那些链中的每种加法器数量是相等的,连到所述主阵列的以下级的每个子阵列加法器链与连到所述主阵列的前一轨迹的子阵列加法器链在该链中每种加法器的数量方面是相等,除了比所述前一链多一个压缩器之外,从而通过所述子阵列加法器链和所述主阵列的每个信号传播路径具有平衡的延迟,和在所述加法装置之后,向量归并加法器,对于每个乘积位接收来自所述加法装置的多位和字和多位进位字,所述向量归并加法器将所述和字的相同有效位的相应位与所述进位字相加来形成所述(M+N)位乘积。
15.如权利要求13所述的乘法电路,其特征在于,还包括对于所述乘积的至少每一位的累加器加法器行。
16.如权利要求15所述的乘法电路,其特征在于,所述累加器加法器位于所述加法装置和所述向量归并加法器之间。
17.如权利要求14所述的乘法电路,其特征在于,所述被乘数和乘数是用无符号的二进制记数法,用于形成部分乘积项的所述装置根据所述M位被乘数和所述N位乘数产生M×N交叉乘积。
18.如权利要求14所述的乘法电路,其特征在于,所述被乘数和乘数是用2的补码记数法,用于形成部分乘积项的所述装置根据所述Baugh-Wooley算法产生所述项。
19.如权利要求14所述的乘法电路,其特征在于,在除了第一级之外的所述子阵列加法器链的级中的压缩器是非对称压缩器,其中到所述压缩器的两个输入的传播速度要比到所述压缩器的和以及进位输出的两个其他输入要慢。
20.如权利要求14所述的乘法电路,其特征在于,在所述主加法阵列中的所述压缩器和在任一子阵列加法器链的第一级中的任何压缩器是对称压缩器,其中到所述压缩器的4个输入传播速度基本上与所述压缩器的和以及进位输出相等。
全文摘要
根据本发明的乘法器层次结构(图5)提供增加的运算速度,而且保持它的结构的规则性(图3,12或13),以当放到到硅片上时获得小的平面布置图(图4)。通过以保持在经过加法级(SA,MS)的多个传播路径之间的信号延迟平衡的方法来用压缩器电路(C;图8—11)代替多个全加器电路(F),可以改善Hekstra型乘法器。结果是一种具有大大有利于其在硅片上实施的规则布局的层次结构。
文档编号G06F7/53GK1278341SQ98810676
公开日2000年12月27日 申请日期1998年10月22日 优先权日1997年10月28日
发明者英格丽·威尔鲍韦德 申请人:爱特梅尔股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1