乘法电路的制作方法

文档序号:6414297阅读:296来源:国知局
专利名称:乘法电路的制作方法
技术领域
本发明涉及一个用于将二进制数字相乘的电路,具体地是涉及一个电路,它执行将一个m比特的二进制被乘数与一个n比特的二进制乘数相乘的乘法运算,然后,作为最后的运算结果,在该乘法运算结果中,求出高位p比特(p<m+n)。
图6展示了一个已知的乘法电路的一般结构。从此图可清楚地看到,一个二进制乘法电路通常包括一个部分乘积加法电路101和一个最后阶段加法电路102。部分乘积加法电路101将自被乘数A和乘数B的值得出的若干部分乘积相加,该电路通过一个进位存储系统或一个Wallace树系统来执行该加法运算。在此所用的术语部分乘积是指通过将被乘数A的比特与乘数B的比特相乘而得到的结果。
最后阶段加法电路102将自部分乘积加法电路101得到的结果输入,然后输出一个最后乘法运算结果A×B。最后阶段加法电路102包括一个进位前瞻加法器或一个进位选择加法器。
当输入数据的被乘数A有m比特位宽,而乘数B有n比特位宽时,由乘法运算结果得到的输出数据比特位宽就是m+n,即,被乘数A及乘数B各自比特位宽的和。例如,在8比特×8比特的乘法运算中,输出数据的比特位宽就是16比特。在这种情况下,最后阶段加法电路102必须包括一个与输出数据比特位宽相应的加法器。
在任何如图形处理之类的特殊乘法运算中,可能有不确切需要乘法运算的全部比特的情况。例如,在8比特×8比特的乘法运算中,会有只需要16比特乘法运算结果的高位8比特的情况。因此,在现有技术中都是由如图6所示的一个标准乘法电路来执行该类特殊运算,并且只求出自最后阶段加法电路102输出的乘法运算结果的高位p比特(p<m+n)来利用,如图7所示。
将m比特的被乘数A与n比特的乘数B相乘的结果就是有m+n位宽的输出数据。当所需最后运算结果的数据为高位p比特,并不确切需要将最后阶段加法电路102中部分乘积的全部比特相加。然而,普通的乘法电路都是要将部分乘积的全部比特相加,因此与不需要相加的任何比特有关的电路的元件都是多余的,而且运算速度还因此而降低了。
本发明的目的是提供一个乘法电路,它能减少其中所需元件的数目,从而实现高速运算。
根据本发明的一个方面,一个乘法电路,它包含一个部分乘积加法电路和一个最后阶段加法电路,用于求出通过m比特的二进制被乘数与n比特的二进制乘数相乘得出的乘法运算结果的高位p比特(p<m+n),作为其运算结果,其中部分乘积加法电路和最后阶段加法电路中的至少一个包含一个和产生电路及一个进位产生电路,该和产生电路执行与高位p比特乘法运算结果直接有关的比特加法运算,该进位产生电路只产生与低位q比特(q=m+n-p)有关的进位。
得到具有m+n比特位宽的数据,作为在上述配置加法电路中将m比特被乘数A与n比特乘数相乘的结果。然而,当只需要高位p比特时,并不确切需要将部分乘积的全部比特相加。因此,仅仅将高位p比特相加,而对低位q比特(q=m+n-p)只产生一个进位,然后将低位q比特的进位加到高位p比特,再执行乘法运算。最后,对低位比特的部分乘积而言,只需要进位信号而已,从而最后阶段加法运算减少了所需元件,相应提高了运算速度。
从参照附图所做的以下说明中,将清楚地展现本发明的上述特点和优点。


图1为本发明一个实施例的方框图;图2A和2B为概念图,分别代表一个4比特×4比特的乘法运算;图3为一个方框图,展示了根据现有技术的一个普通乘法电路的一个配置例子;图4为一个方框图,展示了根据实施例的一个乘法电路的一个配置例子;图5A、5B和5C为方框图,分别展示了一个半加法器、一个全加法器和一个进位产生器的配置例子;图6为一个方框图,展示了一个加法电路的一般配置;及图7为一个方框图,展示了一个用于执行特殊运算的加法电路的配置。
以下将参照附图所对本发明的一个最佳实施例做详细的说明。图1为本发明一个实施例的方框图。
由该实施例所代表的一个乘法电路从输入数据的m比特二进制被乘数A与n比特二进制乘数相乘的运算中,求出m+n比特输出数据的高位p比特(p<m+n),作为最后乘法运算结果。此基本电路配置包括一个部分乘积加法电路10和一个最后阶段加法电路20,部分乘积加法电路10由一个和产生电路11及一个进位产生电路12组成,同样,最后阶段加法电路20也是由一个和产生电路21及一个进位产生电路22组成。
和产生电路11及一个进位产生电路12的每一个都执行与最后所需高位比特乘法运算结果直接有关的比特的加法运算,并且当进位产生电路12或22内有自低位比特的进位时,将进位加至高位比特。对不需相加的低位比特而言,进位产生电路12和22的每一个都只产生一个进位。
在图2A代表4比特乘4比特乘法运算的一个例子中,将全部比特的部分乘积相加,但只取了该加法运算结果的高位4比特作为乘法运算结果。正如结合现有技术所说明的,该例子相当于通过一个标准乘法电路进行计算,然后只求出和使用所需的高位p比特(在此例子中为4比特),作为最后运算结果。
在另一个m比特被乘数A与n比特乘数B相乘的例子中,得出具有m+n比特位宽的数据,作为乘法运算结果。然而,当所需数据为高位p比特(p<m+n)时,并不切实需要将部分乘积的全部比特相加。因此,在图2B中,只将部分乘积的高位4比特相加,而对低位4比特只产生一个进位,并通过将该低位4比特的进位加至高位4比特,得出乘法运算结果。
现在将依据图2A概念的普通乘法电路的配置与依据图2B概念的本实施例的乘法电路的配置进行比较和解释。
图3展示了依据图2A概念的普通乘法电路的一个配置例子。一个采用进位存储系统的部分乘积加法电路101包含16个(4×4)与门、5个全加法器和3个半加法器。16个与门构成四阶段门排31至34,每排由四个门组成。
在门排31至34的每排中,乘数B的最低有效位数据B0作为一输入分别送入第一阶段门排31的四个与门中的每一个,乘数B的第二比特数据B1作为一输入分别送入第二阶段门排32的四个与门中的每一个,乘数B的第三比特数据B2作为一输入分别送入第三阶段门排33的四个与门中的每一个,乘数B的第四比特数据B3作为一输入分别送入第一阶段门排34的四个与门中的每一个。
被乘数A的各个比特数据A0、A1、A2及A3作为其它输入分别送至门排31至34的第一比特与门、第二比特与门、第三比特与门及第四比特与门。第一阶段门排31的第一比特与门的输出作为部分乘积加法电路101的最低有效位数据送至最后阶段加法电路102。
在第一阶段门排31中,第二比特与门的输出作为一加法输入送至一个半加法器35,而第三比特与门及第四比特与门的输出则作为进位输入送至全加法器36及37。在第二阶段门排32中,第一比特与门的输出作为另一加法输入送至一个半加法器35,而第二比特与门及第三比特与门的输出则作为另一加法输入分别送至全加法器36及37。第四比特与门的输出作为一加法输入送至一个半加法器38。
在第三阶段门排33中,第一比特与门及第二比特与门的输出作为另外输入送至全加法器36及37;第三比特与门的输出作为另一加法输入送至一个半加法器38;第四比特与门的输出作为另一加法输入送至一个全加法器42。半加法器35的加法输出作为部分乘积加法电路101的第二比特数据送至最后阶段加法电路102,其进位输出作为一加法输入送至半加法器39。
全加法器36的加法输出作为另一加法输出送至半加法器39,而其进位输出则作为一进位输出送至全加法器40。全加法器37的加法输出作为一加法输出送至全加法器40,而其进位输出则作为一进位输出送至全加法器41。半加法器38的加法输出作为一加法输出送至全加法器41,而其进位输出则作为一进位输出送至全加法器42。
在第四阶段门排34中,第一比特与门至第三比特与门的输出作为另外加法输入分别送至全加法器40至42。半加法器39及全加法器40至42的加法输出和进位输出作为部分乘积加法电路101的第三比特至第七比特数据送至最后阶段加法电路102。第四阶段门排34的第四比特与门的输出作为部分乘积加法电路101的最高有效位数据送至最后阶段加法电路102。
最后阶段加法电路102包括一个半加法器43、一个全加法器44、一个全加法器45和一个全加法器46;在半加法器43中,两个加法输入为部分乘积加法电路101的第四比特数据(半加法器39的进位输出及全加法器40的加法输出);在全加法器44中,两个加法输入为第五比特数据(全加法器40的进位输出及全加法器41的加法输出),其进位输入为半加法器43的进位输出;在全加法器45中,两个加法输入为第六比特数据(全加法器41的进位输出及全加法器42的加法输出),其进位输入为全加法器44的进位输出;在全加法器46中,两个加法输入为第七比特数据(全加法器42的进位输出及第四阶段门排34的第四与门的输出),其进位输入为全加法器45的进位输出。
在最后阶段加法电路102中,当其8比特乘法输出的高位四比特作为最后运算结果送出时,全加法器44的一个加法输出作为第一比特数据C0送出,全加法器45的一个加法输出作为第二比特数据C1送出,全加法器46的一个加法输出作为第三比特数据C2送出,全加法器46的一个进位输出作为第四比特数据C3送出,接着,图4展示了依据图2B概念的实施例乘法电路的一个配置例子。采用进位存储系统的部分乘积加法电路10由十六个(4×4)与门、五个全加法器、一个半加法器和两个进位产生器组成。十六个与门组成四阶段门排51至54,每排包括四个门。
在这些门排51至54中,乘数B的最低有效位数据B0作为一输入分别送至第一阶段门排51的四个与门的每一个,乘数B的第二比特数据B1作为一输入分别送至第二阶段门排52的四个与门的每一个,乘数B的第三比特数据B2作为一输入分别送至第三阶段门排53的四个与门的每一个,乘数B的第四比特数据B3作为一输入分别送至第二阶段门排54的四个与门的每一个。
被乘数A的单个比特的数据A0、A1、A2及A3作为其它输入分别送至门排51至54的第一比特与门、第二比特与门、第三比特与门及第四比特与门。不过,第一阶段门排51的第一比特与门的输出并不送出。
在第一阶段门排51中,第二比特与门的输出作为一输入送至进位产生器55,而第三比特与门和第四比特与门的输出则作为进位输入送至全加法器56和57。在第二阶段门排52中,第一比特与门的输出作为另一输入送至进位产生器55,而第二比特与门和第三比特与门的输出则作为一加法输入分别送至全加法器56和57。第四与门的输出作为一加法输入送至半加法器58。
在第三阶段门排53中,第一比特与门和第二比特与门的输出则作为其它加法输入送至全加法器56和57;第三与门的输出作为另一加法输入送至半加法器58;第四与门的输出作为另一加法输入送至全加法器62。进位产生器55的进位输出作为一输入送至进位产生器59。
全加法器56的加法输出作为另一输入送至进位产生器59,其进位输出则作为一进位输入送至全加法器60。全加法器57的加法输出作为一加法输入送至全加法器60,而其进位输出则作为一进位输入送至全加法器61。半加法器58的加法输出作为一加法输入送至全加法器61,而其进位输出则作为一进位输入送至全加法器62。
在第四阶段门排54中,第一比特与门至第三比特与门的输出作为其它加法输入分别送至全加法器60至62。进位产生器59的输出、全加法器60至62的加法输出和进位输出作为部分乘积加法电路10的第四至比特数据至第七比特数据提供给最后阶段加法电路20。第四阶段门排54的第四比特与门的输出作为部分乘积加法电路10的最高有效位提供给最后阶段加法电路20。
在上述配置的部分乘积加法电路10中,四阶段门排51至54、五个全加法器56、57、60至62及一个半加法器48组成了一个和产生电路11,该电路执行对与最后所需高位四个比特的乘法运算结果直接有关的比特的部分乘积加法运算。两个进位产生器55和59组成一个进位产生电路12,该电路只产生一个与不用于部分乘积加法运算的低位比特的进位。
最后阶段加法电路20包括一个进位产生器63、一个全加法器64、一个全加法器65和一个全加法器66;在进位产生器63中,两个输入为部分乘积加法电路10的第四比特数据(进位产生器59的输出和全加法器60的加法输出);在全加法器64中,两个输入为第五比特数据(全加法器60的进位输出及全加法器61的加法输出),其进位输入为进位产生器63的进位输出;在全加法器65中,两个输入为第六比特数据(全加法器61的进位输出及全加法器62的加法输出),其进位输入为全加法器64的进位输出;在全加法器66中,两个输入为第七比特数据(全加法器62的进位输出及第四阶段门排54的第四与门的输出),其进位输入为全加法器65的进位输出。
在上述配置的最后阶段加法电路20中,三个全加法器64至66组成了一个和产生电路21,该电路执行对与最后所需高位四个比特的乘法运算结果直接有关的比特的加法运算。一个进位产生器63组成一个进位产生电路22,该电路只产生一个与不用于加法运算的低位比特的进位。全加法器64的加法输出作为第一比特数据C0送出,全加法器65的加法输出作为第二比特数据C1送出,全加法器66的加法输出作为第三比特数据C2送出,全加法器66的进位输出作为第四比特数据C3送出。
在现有技术的普通乘法电路和上述实施例的乘法电路中,分别使用了图5A所示的半加法器和图5B所示的全加法器。在实施例的乘法电路中还使用了一个图5C所示的进位产生器。
现在比较图3所示的普通乘法电路的配置与图4所示的实施例乘法电路的配置,进行解释。此实施例之组成使得在进行4比特×4比特乘法运算时,只将部分乘积的高位四个比特相加,而对低位的四个比特,只产生一个进位,并通过将低位四个比特的进位加到高位四个比特,得出最后乘法运算结果。因此,不同于普通电路在低位比特使用半加法器35、39及43,在实施例中可代之以进位产生器55、59及63。
从图5明显看到,一个半加法器是由一个与门及一个异或门每组成,而一个进位产生器则可只用一个与门。结果由于采用实施例的乘法电路配置,如计算4比特×4比特的一个乘法电路,电路配置可相应地简化,取消了三个异或门。当然,被乘数和乘数的比特位宽越增加,这样的电路配置简化就越有意义。此外,由于可以这样简化电路配置,就可能大量减少组成电路所需元件的数目,从而降低功率损耗,实现高速运算。
在实施例中,部分乘积加法电路10和最后阶段加法电路20的每一个都包括一个和产生电路及一个进位产生电路。不过,配置方式不仅限于上述例子,还可能以一个和产生电路及一个进位产生电路来组成部分乘积加法电路10或最后阶段加法电路20。
在上述实施例中,当求出作为在4比特×4比特乘法运算的最后乘法运算结果的高位四个比特时,最后阶段加法电路20的和产生电路21是由一个具有四比特位宽的加法器组成,但该比特位宽并不必须等于高位比特的数目。例如,当求出作为在8比特×8比特乘法运算的最后乘法运算结果的高位八个比特时,和产生电路21可由一个具有九比特位宽的加法器组成,而对低位的七个比特,可产生一个进位。在这种情况下,所需元件数目亦可减少。
尽管参照最佳实施例对本发明做了说明,但应明白本发明不仅限于该实施例,而且对本领域的一般技术人员来说,在不脱离权利要求书中所规定的精神和范围的情况下,可做出其它各种形式和细节的改动。
因此,本发明的范围完全是由所附的权利要求所决定。
权利要求
权利要求书1.一个乘法电路,它包含一个部分乘积加法电路和一个最后阶段加法电路,用于求出通过m比特的二进制被乘数与n比特的二进制乘数相乘得出的乘法运算结果的高位p比特(p<m+n),作为其运算结果,其中部分乘积加法电路和最后阶段加法电路中的至少一个包含一个和产生电路及一个进位产生电路,该和产生电路执行与高位p比特乘法运算结果直接有关的比特加法运算,该进位产生电路只产生与低位q比特(q=m+n-p)有关的进位。
2.根据权利要求1的乘法电路,其特征在于和产生电路包含具有多于p比特位宽的一个加法器。
3.根据权利要求1的乘法电路,其特征在于和产生电路将一个进位信号加入高位比特,该信号是由进位产生电路给出。
全文摘要
一个乘法电路,它包含一个部分乘积加法电路和一个最后阶段加法电路,用于求出通过m比特的二进制被乘数与n比特的二进制乘数相乘得出的乘法运算结果的高位p比特(p< m+n),作为其运算结果,其中部分乘积加法电路和最后阶段加法电路中的至少一个包含一个和产生电路及一个进位产生电路,该和产生电路执行与高位p比特乘法运算结果直接有关的比特加法运算,该进位产生电路只产生与低位q比特(q=m+n-p)有关的进位。
文档编号G06F7/48GK1204804SQ9811518
公开日1999年1月13日 申请日期1998年6月23日 优先权日1998年6月23日
发明者小沼弘一 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1