首页> 中国专利> 使用带符号的数位表示的乘法器和移位器

使用带符号的数位表示的乘法器和移位器

摘要

本发明提出一种在时间上串行(而不是并行)进行2的不同乘幂的乘法的乘法器,以便进一步降低硬件实现所需的面积。由此,能够只使用一个和乘法有关的加法器,这有助于降低硬件数量,并降低硬件所需的面积。基于加权二进制移位的移位装置被用于和乘法有关的移位,从而减少了所需硬件的数量(多路复用器和硬连线移位单元的数目),因此进一步降低了硬件实现所需的面积。本发明可用在应用数字乘法的应用中,例如用在数字处理处理DSP,数字滤波器和/或有限脉冲响应滤波器FIR以及可编程和/或自适应数字滤波器中。由于用CSD编码表示乘数,因此可减少必需的移位操作的数目,并且能够减少必需的加法的数目,从而有助于降低硅片上移位装置和乘法器的硬件实现所需的面积。

著录项

  • 公开/公告号CN1454347A

    专利类型发明专利

  • 公开/公告日2003-11-05

    原文格式PDF

  • 申请/专利权人 诺基亚公司;

    申请/专利号CN00819914.0

  • 发明设计人 马科·克索宁;凯利·哈罗宁;

    申请日2000-10-16

  • 分类号G06F5/01;G06F7/52;G06F7/49;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人董莘

  • 地址 芬兰埃斯波

  • 入库时间 2023-12-17 15:01:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-01-05

    未缴年费专利权终止 IPC(主分类):G06F5/01 授权公告日:20070321 终止日期:20091116 申请日:20001016

    专利权的终止

  • 2008-08-27

    专利申请权、专利权的转移(专利权的转移) 变更前: 变更后: 登记生效日:20080718 申请日:20001016

    专利申请权、专利权的转移(专利权的转移)

  • 2007-03-21

    授权

    授权

  • 2004-01-14

    实质审查的生效

    实质审查的生效

  • 2003-11-05

    公开

    公开

说明书

技术领域

本发明涉及乘法器和移位器。

背景技术

随着数字信号处理的扩展,需要适合于倍增数字信号的乘法器。

通常,当把分别表示数字值的两个数字信号相乘时,如下进行乘法。假定A代表被乘数,B代表乘数,并且还假定(仅是举例)A和B分别呈4位表现(通常n位表示)(位也称为数位)。

为了(在十进制中)使A=11乘以B=7(在十进制记数法中这得到77),如果A、B是二进制信号,则必须实现以下所述。

对于乘数的每一位来说,被乘数的值将被移动若干位,所述位数对应于乘数的位的权。即,对于最低有效位(代表20)来说,必须实现被乘数的零移位,而对于n位中的最高有效位(代表2n-1)来说,必须实现(n-1)位的移位。另外,如下所示,这样移位后的被乘数值必须被加起来,从而产生结构。

A           *        B           =       C

11(D)       *        7(D)        =       77(D)

1011(B)     *        0111(B)     =

1011

                     10110

                     101100

                     0000000

                     1001101(B)  =     1001101(B)

换句话说,乘数位用于控制被乘数的各个移位操作(所述各个移位操作对应于乘以二进制表示的2的相应幂值),并且移位后的被乘数被加起来。

在数字信号处理领域中,例如在数字滤波领域中,二进制数据也被表示成2的乘幂和(SOPOT)。利用2的乘幂和(SOPTO)表示的数字可以是规范带符号位(CSD),以便进行滤波运算中所需的乘法。其它2的幂和(SOPOT)表示法可以是带符号位(SD)表示位,最小带符号位(MSD)表示法,下面对它们进行详细说明。

在规范带符号位代码中,1、0和-1值被用作代表数值的数位,而二进制代码只使用0和1。在普通的二进制数中,非零数位的平均数大于CSD编码数中非零数位的平均数,从而CSD编码数具有最少的非零项。

例如,下表表示了n=4位的二进制编码数(该例代表0-15的值)和对应的CSD编码数之间的对应。还表示了相对于二进制和CSD表示法,十进制数16和17的对应。

十进制        二进制          CSD

0             0000            00000

1             0001            00001

2             0010            00010

3(=4-1)      0011            0010-1

4             0100            00100

5             0101            00101

6(=8-2)      0110            010-10

7(=8-1)      0111            0100-1

8             1000            01000

9             1001            01001

10            1010            01010

11(=16-4-1)  1011            10-10-1

12(=16-4)    1100            10-100

13(=16-4+1)  1101            10-101

14(=16-2)    1110            100-10

15(=16-1)    1111            1000-1

16    10000    10000

17    10001    10001

等等。

(就负的二进制数来说,该例可不同。)(应注意对于CSD码表示来说,只是近似表示了数字)。显然,从上例可得到,当利用CSD表示法时,可利用最大数目的非零位表示十进制数。

一般来说,在CSD编码数中,不可把非零项安排成彼此相邻,从而1和/或-1总是被0分隔开。

另外,只是相对于正整数给出了上例。一般来说,通过如下所示以2的乘幂之和及差表示数字,可给出任意数字(X)的CSD表示: >>X>=>>Σ>>i>=>->∞>>>i>=>+>∞> >>g>i>>*>>2>i>>,>>g>i>>∈>{>->1,0,1>}> >

(从而,上面的例子被选择成只使用i的正值)。

从而,乘法中所需的加法的数目(NA)为NA=(L-1),其中L是CSD表示中非零项的数目。

对于十进制数“7”来说,比较CSD码表示和二进制表示,非零项的数目从3减少到2,同样,所需的移位操作的数目被减少(从二进制表示中关于中间2位的两次移位降到CSD表示中关于最高有效位的一次移位操作,因为最低有效位不需要任何移位(移动0)。)

从而,重新参考上面的使A和B相乘(A*B(11*7))的例子,当利用乘数的CSD表示时,这对应于从“8乘A”中减去“1乘A”。但是,减法对应于要减去的数值的二进制补码的加法(通过反转要减去的数值的各位(1的补码),并且随后向其添加二进制“1”产生二进制补码)。

从而,当利用CSD表示时,为数字设计中一部分的乘法器(该部分占用了半导体器件芯片上的大部分面积)被一定数目的加法器替代。加法器的数目取决于乘数的表示精度,而乘数的表示精度又取决于CSD码表示中非零项的数目。

通常通过对于乘法来说,把被乘数(呈二进制和/或二进制补码格式)向左移动对应位数(如上所述),或者对于除法来说,把被乘数向右移动对应位数,实现乘以2的乘幂(即20、21、…、2n)。

一般来说,用所谓的带符号数位表示法来表示利用2的乘幂和(SOPOT)表示的数,其中2的不同乘幂的符号可具有出自数值组1、0、-1的数值。最小带符号数位(MSD)表示是其中利用数目最少的非零项表示数字的格式。可存在相同数字的多种不同MSD表示。规范带符号数位(CSD)表示始终是适当的MSD表示之一,而CSD是其中存在不允许出现相邻的非零信号的限制的格式(从而在CSD表示中不存在任何相邻的非零数位)。例如,假定十进制数“3”,它可被如下表示:

SD                 MSD               CSD

1-1-11             0011              010-1

1-10-1             010-1

0011

010-1

在乘数具有固定值,从而预先已知的情况下,可通过布线实现移位,而不需要任何额外的硬件(逻辑电路)。

但是,这把乘法器的适用性局限于只乘以固定的乘数值。

为了把乘法器的适用领域增大到可变的乘数值,设想了多种方案,根据所述方案,可改变移位量。

图1表示了可供乘法器之用的现有移位装置的结构。该移位装置适合于相对于呈二进制和/或CSD表示的可变控制信号实现可变的移位量。在把移位器用在乘法器中的情况下,控制信号可以是乘数。至少,可从乘数得到控制信号。

如图1中所示,用X表示的被乘数被提供给移位装置。该被乘数被分支,分支的数目对应于乘数的位数(在图1中未被表示成独立信号(控制信号))。如图1中所示,被乘数X被分成8个分支,同时被乘数的信号X的各个分支(X的副本)进行介于0和7之间某一数值的相应固定移位。该移位由通过布线实现的移位单元(未示出)执行,所述布线把供给的信号X移动规定的(预定的)移动量。

信号X的相应一对移位值被提供给第一级多路复用器MUX(2∶1多路复用器)。依据提供给多路复用器的控制信号(未示出)选择移位信号之一。

第一级多路复用器之一的每个输出被提供给第二级多路复用器(2∶1多路复用器)中的相应多路复用器。注意由于在图1的例子中,多路复用器是2∶1多路复用器,因此第一级的相应两个输出信号被提供给第二级的一个多路复用器。依据提供给相应第二级多路复用器的控制信号(未示出),选择该多路复用器的输入信号之一。

第二级多路复用器之一的每个输出被提供给第三级多路复用器(2∶1多路复用器)。依据提供给相应第三级多路复用器的控制信号(未示出)选择要输出的该多路复用器的输入信号之一(图1中标记为Y)。注意如图1中所示,第三级多路复用器只包含一个多路复用器。

乘数的二进制位被直接用作控制第一到第三级多路复用器的控制信号,或者从乘数的二进制位得到控制信号,并且按照使被乘数X被移动和当前处理的乘数的相应位的权对应的数值的方式,把从乘数的二进制位得到控制信号施加给第一到第三级多路复用器。换句话说,假定第一位具有为0的权(最低有效位LSB),第八位具有为7的权(最高有效位MSB),则如果处理乘数的第五位,则该位具有为“4”的权。因此,控制各级多路复用器,以致在移位装置的输出端Y,输出被移位4位的信号X。

显然,为了实现所需的移位量,如图1中所示的移位装置需要大量的逻辑电路和多路复用器。

另外,为了实现乘法运算,如同上面参考乘法运算的例子说明的那样,被乘数的这种已移位数值必须被加起来。

图2表示了用于计算这些已移位数值的总和的加法器的结构。在图中所示的例子中,为了使附图简单,假定乘数只是一个4位乘数。

从而,被乘数X被提供给4个移位装置“移位器”。如同参考图1说明的那样,构成并由乘数控制每个移位装置。

在移位装置的输出端,相应的输出Y0、Y1、Y2和Y3分别表示被移动0位的信号X,被移动1位的信号X,被移动2位的信号X和被移动3位的信号X。

这些移位装置输出信号被分成对,并被提供给由“+”表示的相应加法装置。加法装置被安排成并行进行加法,因为Y0和Y1由加法装置之一加起来,同时Y2和Y3由另一加法装置加起来。

这样获得的部分加法被提供给后一加法器级的另一加法装置,被计算总和,并输出为最终的加法结果(Z)。

从而,为了适合于完成乘以可变乘数的运算,这种使用并行加法的乘法器也需要大量的加法装置和大量的移位装置,即体积大的硬件。

K.K.Parhi在论文“A Systematic Approach For Design OfDigit-Serial Signal Processing Architectures”(IEEE Transactions onCircuits and System,Vol.38,No.4,1991年4月)中公开一种现有技术。该文献提出一种把位串行结构变换成等同的数位串行结构的系统展开技术。但是,为了实现该目的,必须产生并实现功能正确的控制电路,从而增大了(控制)硬件的数量。

W.J.Oh和Y.H.Lee在他们的文献“Implementation OfProgrammable Multiplierless FIR Filters With Powers-Of-TwoCoefficients”(IEEE Transactions On Circuits and Systems-II:AnalogAnd Digital Signal Processing,Vol.42,No.8,1995年8月)中提出一种实现较短移位器的可能性。但是,没有具体涉及乘法器的结构。

Duan,Ko和Daneshrad在他们的文献“Versatile Beamforming ASICArchitecture For Broadband Fixed Wireless Access”(IEEE CustomIntegrated Circuits Conference,1999)中讨论了通常利用移位器和多路复用器实现可编程CSD乘法,而他们对CSD性质的检查显示和上面引用的Oh,Lee的文献说明的一样,通过把移位操作分成预移位和硬连线移位,可减少移位器和多路复用器的数目,从而进一步降低复杂性。但是,本发明的发明人的研究显示能够获得的复杂性降低仍然不是最佳。

这同样适用于上面的作者(Duan等)的论文“A Highly VersatileBeamforming ASIC For Application In Broad-Band Fixed WirelessAccess Systems”(IEEE Journal Of Solid-State Circuits,Vol.35,No.3,2000年3月)。

Khoo,Kwentus和Willson在“A Programmable FIR Digital FilterUsing CSD Coefficients”(IEEE Journal of Solid-State Circuits,Vol.31,No.6,1996年6月)中提出一种采用两级传输门多路复用器网络选择恰当的硬连线预移位数据的系数乘法器。但是,这会导致相当大的延迟,建议利用(额外的)流水线寄存器补偿所述延迟。但是,这不支持把复杂性降低到最小。

Chang,Satyanarayana和Parhi在“Systematic Design OfHigh-Speed and Low-Power Digit-Serial Multipliers”(IEEETransactions On Circuits And Systems-II:Analog And Digital SignalProcessing,Vol.45,No.12,1998年12月)中提出几种乘法器。但是,没有研究呈CSD格式的乘数的处理。

另外,US-A-4967388公开了一种仍然需要相当大量的硅面积的CSD乘法器。

在US-A-5262974中公开了另一种可编程CSD乘法器。但是,为了计算这些输出的总和,要提供几个可编程移位路径和对应的若干加法器。因此,该现有技术也需要体积相当大的硬件,当在硅片上实现时,所述硬件占用相当大的面积。

总之,灵活地实现乘以可变乘数的运算需要额外的硬件,即逻辑电路。

从而,这样的结构体积相当大,并将占用大量的硅片面积,考虑到使IC芯片设计小型化的目的,这是不希望的。另外,这种器件的费用随着占用的芯片面积的增大而增大。

发明内容

鉴于此,本发明的目的是提供一种不存在上述缺陷的乘法器和移位装置,并且能够利用数量最少的硬件构成所述乘法器和移位装置,从而只占用最少的半导体芯片面积。

另外,本发明的目的是提供一种在以CSD格式表示乘数系数的情况下,可和可变的乘数系数一起工作,而不必使用大量的逻辑电路来控制必需的移位的乘法器。

根据本发明,上述目的由把多数位输入信号(X)移动可在0~2B-1的范围内选择的若干数位的移位装置实现,所述移位装置包括B个移位级,每个移位级包括由总共具有B个分量的移位量控制信号的第i个分量控制的一个多路复用器(MUX),用于根据所述移位量控制信号的所述第i个分量的值,输出直接从第(i-1)移位级的多路复用器供给所述多路复用器的信号,或者输出通过第i个移位元件,从第(i-1)移位级的多路复用器提供给所述多路复用器的信号,所述第i个移位元件适合于把提供给它的信号移动2i-1数位。

另外,上述目的由使被乘数(X)乘以由多个数位表示的乘数的乘法器实现,所述乘法器包括:保存和所述乘数的所述多个数位对应的若干(L条)信息的存储装置;根据所述存储装置中的一条信息,对被乘数移位的移位装置(BWS),和加法装置(+),其中顺序读取所述存储装置中的若干信息,并作为控制信号提供给所述移位装置,所述加法装置计算所述移位装置(BWS)的输出和先前获得的所述加法装置的输出的总和。

在各个从属权利要求中陈述了本发明的有利的进一步有改进。

特别地,根据移位装置的进一步改进,

-所述多数位输入信号(X)是二进制信号,

-要移位的所述信号(X)被提供给第一移位级,从第B个移位级输出移位后的信号(Y),

-最大移位量2B-1对应于输入信号要乘以的乘数的数位的数目减1(n-1),

-移位元件由固定的布线实现。

特别地,根据乘法器的进一步改进,

-乘数由规范带符号数位表示;

-和所述乘数的所述多个数位对应的信息的数目(L)对应于所述乘数的数位的数目;

-和所述乘数的所述多个数位对应的信息的数目(L)对应于以CSD表示法表示的所述乘数的非零数位的数目;

-保存在所述存储装置中的信息包括B位宽度的移位控制信号,它代表所述乘数的受关心数位的权的值;指示所述乘数的受关心数位的值为+1还是为-1的符号标志,和指示所述乘数的受关心数位的值是否为0的零标志;

-所述移位装置是如上所述的移位装置;

乘法器还包括适合于输出被乘数的二进制补码的信号处理装置,其中所述符号标志控制多路复用器输出被乘数(X)或者输出被乘数的所述二进制补码(-X)。

从而,在实现本发明的情况下,可获得下述优点:

本发明可用在应用数字乘法的应用中,例如用在数字处理处理DSP,数字滤波器和/或有限脉冲响应滤波器FIR以及可编程和/或自适应数字滤波器中。由于用CSD编码表示乘数,因此可减少必需的移位操作的数目,并且能够减少必需的加法的数目,从而有助于降低硅片上移位装置和乘法器的硬件实现所需的面积。

按照时间串行(而不是并行)进行2的不同乘幂的乘法,以便进一步降低硬件实现所需的面积。由此,在乘法方面能够只使用一个加法器,这有助于降低硬件数量,并且减少硬件所需的面积。

基于二进制加权移位的移位装置被用于和乘法有关的移位,从而降低了所需硬件的数量(多路复用器和硬连线移位元件的数目),从而进一步降低了硬件实现所需的面积。

由于放弃了加法器的并行结构,并且逐次进行加法,因此以更高的运算频率操作乘法器,以便保持计算速度。但是,运算频率取决于乘数的精度。在利用多个不同运算频率的情况下,能够获得和系数相关的能耗(因为当采用静态信号时,以CMOS技术实现的IC不消耗能量,但是只是在信号变化的周期内)

附图说明

结合附图,更易于理解本发明的上述目的、特征和优点,其中:

图1图解说明可用在乘法器中的已知移位装置;

图2描绘了具有并行加法器结构的已知乘法器;

图3表示根据本发明的移位装置;

图4表示根据本发明的乘法器;

图5表示根据本发明的改进乘法器。

具体实施方式

下面将参考附图详细说明本发明的实施例。

当减少硬件数量,从而减小乘法器所需面积时,本发明的一个方面是使移位装置所面的硬件降至最少。

根据本发明,图3中表示了就硬件而论的这种最小化移位装置。

一般来说,连续产生移位,并且每一级适合于实现两个不同的移位值,即0或2(k-1),k是该级的索引(数字),并且k为0~B。B代表所需的最大级数,并且与输入信号(例如应用于乘法器,则为乘数)的位数相联系,以致输入信号(乘数)具有2B位。每一级的移位相对于彼此被二进制加权。借助这样的结构,只利用B个多路复用器(一般利用log2(2B)个多路复用器)即可获得0~2B-1之间的任意移位量。

现在更详细地说明图3中所示的电路结构。

被乘数X(一般呈n位表示)作为要处理的输入信号被提供给移位装置。

信号X被分成两个分支。一个分支被直接提供给第一级多路复用器MUX的输入端,而另一分支在被提供给多路复用器的另一输入端之前,经过移位单元(未具体示出,只是用“1S”表示),所述移位单元适合于把分支信号X移动1位。这样的移位单元通常由布线实现。直接送给多路复用器的信号X的分支不进行任何移位操作。一位宽度的控制信号被提供给第一级的多路复用器,以便选择是要输出未移位的信号X还是输出移动1位的信号X。

第一级的输出信号(即移动0位或1位的X)再次被分成两个分支。一个分支被直接提供给后一级(第二级)的多路复用器MUX的输入端,而不进行移位操作。另一分支在被提供给多路复用器的另一输入端之前,经过移位单元(未具体示出,只是用“2S”表示),所述移位单元适合于把分支信号X移动2位。这样的移位单元通常由布线实现。同样,一位宽度的控制信号被提供给第二级的多路复用器,以便选择是输出从前一级提供的未移位的信号,还是从前一级提供的并且还被移动2位的信号。

第二级多路复用器的输出信号被送给下一级,其结构和前面各级类似。唯一的差别在于各级的移位单元适合于执行数量为2k-1位的移位,k表示移位单元中的级数。

提供给各级的控制信号一起构成宽度为B位的控制信号位矢量或者控制字。

多路复用器被配置成使得为“0”的控制位指示相应一级中“无移位”,而为“1”的控制位指示将由相应一级执行移位操作。

在乘法器中应用移位装置的情况下,被乘数(X)的最大移位量由乘数确定。从而,如果乘数的宽度为8位,则0-7之间的移位变成必需的。控制信号的数目则为B=3,因为2B=23=8,并且在B=3位的情况下,可表示0-7之间的所有数字(即移位量)。

现在将举例详细说明图3中所示的电路结构的操作。

假定B为3,并且假定位矢量B的值为二进制和/或CSD表示法中的“101”。从而,图3中所示的移位单元只包含三级多路复用器,每一级配有适合于分别实现1、2或4的移位量的移位单元。在B=101(对应于十进制“5”)的情况下,第一级把X移动1位,第二级不对已移动1位的信号进行另外的移位,第三级再引入4位的移位。从而,在移位单元的输出端Y输出已移动5位的信号X。从而在这种情况下,X已被移动5位,以便与位数为6的乘数相乘(“5”的权)(假定第一位(代表20)具有为0的权,即LSB)。

从而,由位宽度为B的位矢量表示的值对应于乘数中位的权。更一般地说,具有2B位和/或数位的乘数可由位宽度为B的位矢量表示,以便对乘数的每个2B位位置编码。移位的方向可以从最低有效位LSB到最高有效位MSB。但是,移位的基准点也可以是MSB(从而移位意味着除法)。

因此,如上详细所述,图3图解说明了用于使多数位输入信号(X)移位的移位装置,移位量可在从0~2B-1的范围内选择,所述移位装置包括B个移位级,每个移位级包括由总共具有B个分量的移位量控制信号的第i个分量控制的一个多路复用器,用于根据所述移位量控制信号的所述第i个分量的值,输出直接从第(i-1)移位级的多路复用器提供给所述多路复用器的信号,或者输出通过第i个移位单元,从第(i-1)移位级的多路复用器提供给所述多路复用器的信号,所述第i个移位单元适合于把提供给它的信号移动2i-1数位。

图4中图解说明了根据本发明的乘法器。

一般来说,在图4中所示的结构中,串行进行移位和加法。在所示结构中,只存在乘法所需的一个移位单元(例如参考图3说明的移位单元),一个加法器,符号选择多路复用器置零级和存储寄存器。移位器、非门和置零逻辑电路的数量被除以L(L是乘数的CSD表示中非零项的最大数目)。

现在更详细地说明图4中所示的电路结构。

被乘数X被提供给乘法器。更具体地说,被乘数被提供给临时存储装置或者锁存装置。一般来说,被乘数被提供给宽度足以保存被乘数的数位(位)的寄存器。在图4中,这样的寄存器被表示成以并联设置的D型触发器为基础,所述D型触发器的数目对应于被乘数的宽度(n位)。基于D型触发器的寄存器由控制信号clk/L(后面说明)控制。当施加控制信号(电平或边缘敏感的)时,被乘数X被锁存并被保存,以便被处理(被倍增)。

基于D型触发器的寄存器的输出被分成两个分支。一个分支被直接提供给多路复用器MUX的输入端。另一分支被提供给“NEGAT”装置,所述“NEGAT”装置是适合于在其输出端提供被乘数的二进制补码的处理装置。该输出被提供给多路复用器MUX的另一输入端。多路复用器是受1位控制信号控制的2∶1多路复用器,在其输出端输出X或-X(X的二进制补码)。

多路复用器MUX的输出被提供给与门的输入端。“反向零”信号被提供给与门的另一输入端。于是,在“零信号”(“零标志”)指示零的情况下,这意味着信号零取值为1,以便指示该状态。从而,反向零信号取值为零。结果,与门的输出取值为零。这使提供给与门的另一输入端的任意信号X、-X无效。在零信号不指示零,于是取值为零的情况下,反向零信号取值为1,从而使得能够从与门无变化地输出X或-X(无论哪一个被提供给与门的另一输入端)。

要明白虽然信号“反向零”仅为1位,而X、-X一般为n位,通过利用零标志对X、-X的每一位执行与操作。

与门的输出作为输入信号被提供给移位装置(BWS)。用BWS表示的移位装置被假定为上面结合图3说明的加权二进制移位器。

但是,也可使用其它移位装置,不过如果结合根据本发明的乘法器使用根据本发明的移位装置,可使硬件和所需面积的减少达到最佳。(不过,也可结合其它乘法器使用移位器BWS)。

从而,在位宽度为B的移位控制信号的控制下,移位装置BWS对提供给它的信号(即X或-X)移位,移位量由B的值表示,所述B值对应于当前关于乘法处理的乘数的位的权。

从存储装置把移位装置BWS的位宽度为B的控制信号,1位宽度的零标志和控制多路复用器的控制信号提供给乘法器的相应组件,所述存储装置适合于在其中保存L个移位和符号项。按照后面说明的方式,使这些项和乘数指示的数值相关。

从移位装置BWS输出的移位信号被提供给标记为“+”的加法器的一个输入端。提供给加法器(具有两个输入端)的初值为零。

通过对乘法器施加复位信号获得初值(如果要执行复位,则信号RESET=1),从而反向复位信号取值为零。反向复位信号的为零的值被提供给第二与门的输入端,从而导致该与门的输出为零,而与提供给与门的另一输入端的任意其它信号无关。这样置零的与门输出被反馈(反馈回路)给加法器的另一(第二)输入端。

加法器的输出被提供给第二个基于D型触发器的寄存器,所述寄存器由时钟信号CLK控制。从而,借助各个时钟信号,加法器的输出被提供给与门,并且如果不要实现任何复位,则被反馈给加法器以便进行下一加法运算,从而实现串行加法运算。

在进行了实现乘法所必需次数的加法之后,通过第三个基于D型触发器的寄存器以输出信号Z的形式,输出最终的加法结果。第三输出信号由控制信号CLK/L控制。

如上所述,下面说明适合于保存L个移位和符号项的存储装置。

通过利用映射装置(未示出),映射乘数值,获得移位和符号项,获得要保存的项。下面举例说明所述映射装置的功能。

设想要用值为十进制数15(=16-1)的乘数乘以X(被乘数)的情况,十进制数15对应于二进制1111,用CSD可表示成1000-1。

从而,如果必须实现乘以二进制1111的乘法,则必须对权为1、2、3的位实现三次移位操作,另外还必须实现三次加法运算。

当使用乘数的CSD表示时,如上面的例子中所示,只需要进行一次移位操作(移动4位),因为以CSD表示法表示的乘数中的MSB具有为4的权(LSB不需要移位操作,因为移位会为零)。另外,只需要进行一次加法运算,以便把未移位的被乘数(即被乘数的二进制补码,-X)把移位4位的被乘数X相连。

从而,该信息必须被映射成移位和符号选择项。对于指定的硬件来说,项的数目固定,并且这样选择项的数目,以便能够处理乘数的CSD表示中非零项的最大数目。例如,如果事先已知乘数为1-17,则最多需要CSD表示中的三个非零项。从而,在这种情况下,L=3的移位和符号项足矣。

现在,把CSD “1000-1”(D“15”)映射成三个符号和移位项,产生(例如当乘数的LSB开始时):

A)第一移位和符号项:(-1)

-乘数控制信号,“符号”(1位)被设置成使得多路复用器MUX将选择输出被乘数X的二进制补码,

-“零标志”被设置为“0”(表示乘数的LSB的值不为零,即取值+1或-1),

-宽度为B位的移位控制信号代表所关心的二进制位,这里:LSD的权的数值,从而被设置为零(因此B=000)

B)第二移位和符号项:(0)

-乘数控制信号,“符号”(1位)设置不重要(“不关心”),

-“零标志”被设置为1(表示乘数的权为“1”的二进制位的数值为零),

-宽度为B位的移位控制信号不重要,因为由于乘数中值为零的项对最终结果没有影响,因此它们未被移位。

注意在顺序映射乘数的情况下,在所给出的例子中,如果映射/分析权为“2”和“3”的二进制位,则第三个移位和符号项可临时采取与第二个移位和符号项相同的数值。但是,当处理MSB(权为“4”)时,要用下述数值重写第三移位和符号项中的最后数值:

C)第三移位和符号项:(1)

-乘数控制信号,“符号”(1位)被设置成使得多路复用器MUX要选择输出被乘数X,

-“零标志”被设置为“0”(表示乘数的MSB的值不为零,即取值+1或-1),

-宽度为B位的移位控制信号代表所关心位,这里:MSB的权的值,从而被设定为“4”(因此B=100)。

从而每个移位和符号项由B+2位宽度表示。

注意虽然已参考CSD表示法进行了说明,不过二进制信号也可用作乘数。但是,L个移位和符号项所能代表的可能的乘数值的范围会较小。另外,符号标志总是被设置成防止从多路复用器输出二进制补码的数值。另外,如果可从MSD表示法得到任何益处,则也可使用任意MSD表示法(即MSD以及CSD)。

图4表示了移位和符号项的存储装置。在一种可能的实现中,存储装置可由一系列的基于D型触发器的寄存器实现,每个基于触发器的寄存器保存一个移位和符号项。不过,能够保存移位和符号项,并且能够利用CLK的频率调出所述移位和符号项的任意装置适用于此目的。更准确地说,例如可利用具有L项输入和一项输出的并行输入串行输出型存储元件实现所述存储装置。这种情况下的输入率为CLK/L,输出率为CLK。可以几种方式实现这种操作,每种方式本质上都涉及一组寄存器和一些控制逻辑电路。

移位和符号项的存储装置由时钟信号CLK控制。从而,在L个时钟周期之后,可串行处理由L个移位和符号项表示的乘数。另外,在相同的时钟周期下,即与正向移位装置BWS提供的新的移位和符号项同步地把每个中间加法结果反馈给加法器。但是,由于必须在L个时钟周期内给出要乘以乘数的被乘数,因此以慢L倍的速度把被乘数提供给乘数,并且以慢L倍的速度读取最终的乘法结果,这是图4中所示的第一和第二触发器由信号CLK/L控制的原因。

虽然上面没有明确提及,不过要明白就其位宽来说,基于触发器的寄存器、多路复用器和加法器等都适合于处理n位的信号X。另外,加法器适合于处理在关于乘法的加法过程中有时产生的进位。另外,多位信号通常是多数位信号。

从而,如上所述,图4表示使被乘数(X)乘以由多个数位表示的乘数的乘法器,所述乘法器包括保存和所述乘数的所述多个数位对应的若干(L条)信息的存储装置;根据所述存储装置中的一条信息,对被乘数移位的移位装置(BWS),和加法装置(+),其中顺序读取所述存储装置中的若干信息,并作为控制信号提供给所述移位装置,所述加法装置计算所述移位装置的输出和先前获得的所述加法装置的输出的总和。

图5表示了根据本发明的改进后的乘法器。由于在该变型中只修改了非运算,即被乘数的二进制补码的导出,因此只详细说明这些变化。剩余的电路结构和图4中所示的类似,因此省略对其的重复描述。

如图5中所示,移位后的X的值(值Y)被送给由反向零标志控制的与门。如果零标志为零,则反向零标志为1,与门的输出等于Y。如果零标志为1(意味着存在值为零的一个乘数数位),则与门的输出为0。

反向零标志也被提供给向其提供符号信息(符号标志)的另一与门。类似地,如果指示零(零标志被设置为“1”,反向零标志为“0”),则该与门的输出为零,而如果不指示零,则输出对应于符号标志代表的符号信息。在不指示零(反向零标志为1)并且符号位为1的情况下,异门(XOR)反转从被提供Y信号的上游与门向其提供的所有二进制位。符号位还被送给加法装置的LSB位置的进位输入,从而进行“1”的加法。因此,如果符号位为“1”,则进行Y的二进制补码的非运算(产生“-Y”),而如果符号位为“0”,则不进行任何非运算(产生“Y”)。

借助这种修改,由于至少可节省一个多路复用器,因此可在硬件结构方面使乘法器更简单。

虽然已参考附图中图解说明的具体实施例说明了本发明,不过本发明并不局限于此。应明白在不脱离本发明的精神和范围的情况下,可对其做出各种修改。所有这种修改都在附加权利要求的范围之内。

从而,如上所述,本发明提出一种在时间上串行(而不是并行)进行2的不同乘幂的乘法的乘法器,以便进一步降低硬件实现所需的面积。由此,能够只使用一个和乘法有关的加法器,这有助于降低硬件数量,并降低硬件所需的面积。基于加权二进制移位的移位装置被用于和乘法有关的移位,从而减少了所而硬件的数量(多路复用器和硬连线移位单元的数目),因此进一步降低了硬件实现所需的面积。本发明可用在应用数字乘法的应用中,例如用在数字处理处理DSP,数字滤波器和/或有限脉冲响应滤波器FIR以及可编程和/或自适应数字滤波器中。由于用CSD编码表示乘数,因此可减少必需的移位操作的数目,并且能够减少必需的加法的数目,从而有助于降低硅片上移位装置和乘法器的硬件实现所需的面积。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号