CN1056939A - 使用跳跃阵列和变形华莱士树的并行乘法器 - Google Patents

使用跳跃阵列和变形华莱士树的并行乘法器 Download PDF

Info

Publication number
CN1056939A
CN1056939A CN91100375A CN91100375A CN1056939A CN 1056939 A CN1056939 A CN 1056939A CN 91100375 A CN91100375 A CN 91100375A CN 91100375 A CN91100375 A CN 91100375A CN 1056939 A CN1056939 A CN 1056939A
Authority
CN
China
Prior art keywords
unit
adder
output
wallace tree
multiplier
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.)
Granted
Application number
CN91100375A
Other languages
English (en)
Other versions
CN1020806C (zh
Inventor
韩铎敦
牟相晚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1056939A publication Critical patent/CN1056939A/zh
Application granted granted Critical
Publication of CN1020806C publication Critical patent/CN1020806C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3876Alternation of true and inverted stages

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

使用跳跃阵列和变形华莱士树的并行乘法器包 含:用于按变形布斯算法编码乘数的变形布斯编码 器,用于部分积的跳跃阵列,用于将二进制位相加的 变形华莱士树以及将最终两行相加的混合前缀加法 器,其中连续执行O(logn)的快速乘法而没有进位输 出的等待状态,并改进了该并行乘法器布局规则性从 而降低了其芯片面积及制造成本。

Description

本发明涉及并行乘法器,更具体地说,涉及使用变形布斯(Booth)算法、跳跃阵列及变形华莱士(Wallace)树的并行二进制乘法器。
并行二进制乘法器被广泛用于各种系统中,例如,高性能计算机的ALU(运算器)、传真电报、数字信号处理系统、矩阵乘法器,也可用于专用芯片中,因此已提出许多方法来减小芯片面积并提高并行二进制乘法器的运算速度,例如,众所周知的,通过使用变形的布斯算法可显著提高并行乘法器的乘法速度,该变形的布斯算法由John  Wiley父子公司公开于“Computer  Arithmetic”(PP.129-212,1979)及“Nikkei  Electronics”(pp.76-89,1978年5月29日)中。
常规并行乘法器基于各种算法及技术。在已提出的许多乘法器中,可将有较高级性能的一般乘法器分为两种,两种在其初始步骤中皆用变形布斯算法产生n/2个部分乘积行,其中n为乘数Y和被乘数X两个输入的位数。这种并行乘法器的最基本部分是多操作数加法电路,该电路将n/2条部分乘积行彼此相加并减少到两行。为实现该加法器电路,要使用全加器阵列和华莱士(Wallace)树。
将使用阵列的并行乘法器排列为由全加器单元构成的二维阵列结构。在这种乘法器中,将当前行单元的输出顺序地输入到下一行单元。这样,这种乘法器的延迟时间复杂度为O(n)并基本为慢的乘法时间。
图1示意性地示出使用阵列的常规并行乘法器总的结构。图1中,将16位被乘数X提供给8个被乘数加法器单元CL1、CL2、CL3、...CL8,将16位乘数Y提供给变形布斯编码器MBE。然后,变形布斯编码器MBE根据变形布斯算法对16位乘数Y编码,并将编码输出提供给8个加法器单元CL1、CL2、CL3...CL8,其中每个编码输出为3位的信号。
第1到第8行加法器单元CL1-CL8分别将被乘数X加到变形布斯编码器MBE的编码输出,而第一行加法器单元CL1将其输出提供给第二行加法器单元CL2。然后,第一行加法器单元CL1的输出值再次加到第二行加法器单元CL2的输出值上,此外又顺序地加上第二行加法器单元CL2的乘积值,最后提供给快速加法器FAD。对补码乘法,将两个最低位及其补码的4位从每个加法器单元提供给快速加法器FAD。这样,快速加法器FAD的结果最终为2n位的数值。在并行乘法器中,如上所述,将每一行输出顺序提供给下面每一行。
因此,两个输入的乘法时间与输入位数成比例地减慢。尽管这种类型乘法器容易地应用于位数少,低速和小芯片面积中,但不适用于高速乘法。
另一方面,使用华莱士树的并行乘法器具有O(logn)的较快运算时间,但需要不规则结构的大的芯片面积。这样,该华莱士树不适用于小芯片面积和低成本。而且,如图6所示,在一个门延迟后提供一个进位输出,在两个门延迟后提供和输出,因为在一般的CMOS或NMOS电路中是用形成和之前处于备用状态的进位输出来获得和的,因此,不是直接加上前面形成的进位输出。图2示意性地示出使用华莱士树的常规乘法器的总结构而图5示出该华莱士树的示意结构。
在使用阵列或华莱士树的两种乘法器中,最后步骤是将两最后行相加。这种常规乘法器在乘法速度和芯片面积方面仍存在问题。这样就一直存在对能够提高乘法速度和芯片面积的更有效乘法器的需求。
本发明的目的是提供使用变形布斯算法、跳跃阵列和变形华莱士树的并行乘法器,该乘法器使芯片面积最小并提高了乘法速度。按照本发明,通过使用跳跃阵列、变形华莱士树结构和运算时间复杂度为O(logn)混合前缀加法器来提高两个输入的乘法速度。
本发明另一目的是提供通过改进结构规则性使芯片面积最小以及通过使用跳跃阵列和混合前缀加法器使设计简单的并行乘法器。
本发明的这些和其它目的、特点、优点通过结合附图的最佳实施例的以下说明会变得更清楚,附图中:
图1为说明使用常规布斯算法的阵列型并行乘法器的图;
图2说明使用常规布斯算法和华莱士树的并行乘法器;
图3说明按照本发明的并行乘法器;
图4说明按照本发明的跳跃阵列的结构;
图5说明华莱士树的各个结构,其中,图5(A)为常规华莱士树而图5(B)为按照本发明的变形华莱士树;
图6为说明按照本发明的CMOS全加器单元的电路图,其中图6(A)为正输入-负输出逻辑,图6(B)为负输入-正输出逻辑;
图7为说明混合前缀加法器的图。
参考附图更详细地描述本发明。
图3示出按照本发明的并行乘法器的总的原理结构。图3中,本发明包括用于按变形布斯算法对乘数Y的值偏码的变形布斯编码器MBE,连接到变形布斯编码器MBE用以由编码数值产生被乘数X的部分积的行以及用以在跳过预定跳跃间隔后将部分乘积行相加的跳跃阵列SAP,连接到跳跃阵列SAP以迅速加上由跳跃阵列SAP提供的二进制数的变形华莱士树MWT,以及连接到变形华莱士树MWT用于加上由变形华莱士树提供的两行的数值的混合前缀加法器HPA。
首先,使用变形布斯算法产生两个n位信号X和Y的并行乘法的n/2部分乘积行,其中n(=16)指出输入信号的位数。接着,变形布斯编码器MBE由乘数Y产生3*(n/2)编码输出提供给跳跃阵列SAP。然后跳跃阵列SAP通过被乘数X和变形布斯编码器MBE的编码输出产生部分积行并提供给变形华莱士树MWT。
产生部分乘积行的方法和图1所述的相同。具体地说,跳跃阵列SAP将部分乘积从n/2行减小到n/log(n/2)行。该跳跃阵列SAP也改进了乘法时间复杂度为O(logn)的乘法器结构的规则性并用简单设计使芯片面积最小。
其次,使用变形华莱士树MWT通过反复相加将跳跃阵列SAP的结果减小到两行。变形华莱士树MWT由于进位输出设有备用状态而具有比常规华莱士树更短的乘法时间。为改善乘法时间和芯片面积,跳跃阵列SAP和变形华莱士树MWT的每个单元依次由正输入-负输出和负输入-正输出单元加以排列构成。
最后,芯片面积小、速度高的混合前缀加法器HPA用于将最后两行相加。从使用常规阵列的并行乘法器来看,本发明尽管增加了芯片面积,但将乘法时间从O(n)降低到O(logn)。
再,按照本发明,带有跳跃阵列SAP和变形华莱士树MWT的并行乘法器将复杂度从O(2n2logn)降到O(n2logn+2n2)从而使芯片面积最小,而乘法时间尽管和常规场合等价地为O(logn)但在低于128位范围内乘法速度更快。
按照该电路,由于2个n位数相加由变形布斯编码器MBE、跳跃阵列SAP、变形华莱士树MWT和混合前缀加法器HBA的组合实现,所以输出变成2n位并使用按变形布斯算法的变形布斯编码器MBE从乘数Y产生(n/2)*3个编码输出行。所以,第i行的三个编码输出如下:
ONEi= Y2i+ Y2 i - 1
TWOi=(Y2i+ 1)′Y2i·Y2i - 1+ Y2 i+ 1(Y2i)′·(Y2i-1)′
NECi= Y2i + 1(Y2i′+(Y2i-1)′
其中(0≤i≤n/2-1和Y-1=0),符号“′”指“-”、指逻辑“非”。
由于部分积行从三种编码输出行产生,所以可通过将变形布斯编码器MBE的输出行和n位被乘数加到各加法器单元来产生n/2条部分积行。第i部分行积的第j位如下:
Pi,j=(ONEi·Xj+TWOi·Xj-1
Figure 911003754_IMG2
NEGi
(0≤i≤n/2-1,0≤j≤n,X-1=0和Xn=Xn-1
当下标i递增1时,该部分积Pi,j左移两位,使表示列的下标j增加2。
用跳跃阵列SAP将部分积行的数目从n/2减至n/log(n/2)。图4示出跳跃阵列SAP的结构。跳跃阵列SAP包括一行加法器单元CL11,第二行加法器单元CL12,...,和第八行加法器单元CL18。第一行加法器单元CL1通过跳跃3行而与第四行加法器单元CL4运算,同时第二行加法器单元CL12与第五行加法器单元运算。所以,每一行加法器单元跳跃3行后运算。
为使运算时间正比于log(n/2),确定跳跃间隔为n/(2log(n/2))。然而,n/2部分积行每组n/(2log(n/2))行的log(n/2)组构成,其中,前三组由全加器单元同时相加以致于跳跃间隔为log(n/2)-3而该跳跃阵列SAP操作时间变为log(n/2)-2。当前组每个单元的进位与和输出提供给下一组的相应行,具体地将该进位输出提供给权重高1的单元。
第i行第j列全加器单元的进位输出Ci,j与和输出Si,j分别表示如下:
Ci,j=fc(Pi,j,Si-n/2log(n/2),j,Ci-n/2log(n/2),j-1
Si,j=fs(Pi,j,Si-n/2log(n/2),j,Ci-n/2log(n/2),j-1
而fc和fs分别表示获得进位与和输出的函数,三个自变最的每一个分别表示加数,被加数和进位并满足变换律。另外,i范围为n/log(n/2)到n/2-1,而j的范围是2i到2i+n。
另一方面,在Ci,j为0,Si,j等于Pi,j并且0≤i≤n/log(n/2)-1的情形下,那么在i和j的预定范围内,Pi,j,Si,j和Ci,j被认为是0。将n/log(n/2)位行提供给变形华莱士树MWT以最后减到两行。由于各单元去掉了进位输出的备用状态,该变形华莱士树MWT有快的运算速度。然而,在常规华莱士树中,因为该进位输出处于备用状态直至形成和输出,在一个门延迟以后产生CMOS全加器单元的进位输出,而使用进位输出另一门延迟后产生和输出以使该和输出需要如图6所示的两个门的延迟。为了通过消去该进位输出的备用状态来减少运算时间,该变形华莱士树MWT直接产生下一单元的进位输出而没有备用状态,而各全加器单元如下文所述依次用正输入-负输出和负输入-正输出进行布局,作为一实例,图5(B)所示变形华莱士树MWT其芯片面积和常规华莱士树尺寸几乎相同,但乘法速度快。
图5(A)示出常规华莱士树的布局。跳跃阵列SAP的乘法输出值P0-P8提供给全加器11、21和31。全加器11、21和31的进位输出及和输出反复提供给其下一全加器,以最终从两全加器43和44产生2位输出。
图2示出使用变形布斯算法和变形华莱士树的常规并行乘法器,而变形华莱士树具有图5(A)的类似结构,但其全加器仅由正输入-负输出单元构成。全加器44的最终的进位及和输出提供给快速加法器FAD以输出乘法值。在全加器中,FApn表示正输入-负输出单元,而FAnp表示负输入-正输出单元。
图5(B)示出按照本发明的变形华莱士树MWT的结构。该变形华莱士树MWT包含:用于接收跳跃阵列SAP的乘法输出的全加器61、71和81,用于将全加器61、71和81的进位输出相加的全加器91,用于将全加器61、71和81的和输出相加的全加器92,用于将全加器91和输出及全加器91、92的进位输出相加的全加器93,以及,用于将全加器93的进位输出和全加器92和93的和输出相加的全加器94。在该电路中,只用于进位输出的全加器与仅用于和输出的全加器相分离,以致于不出现备用状态。跳跃阵列SAP和变形华莱士树MWT的每个单元基本为全加器构成。
在该并行乘法器中,由于依次布置有正输入-负输出单元和负输入-正输出单元可同时减少单元延迟及芯片面积。这样,便可从单元输出级撤除反相器并只经单门延迟产生各单元的输出,并减少了门个数。全加器单元的正输入-负输出的逻辑等式如下:
Cout'=(cin(a+b)+a·b)'
Sum'=(Cout'(a+b+cin)+a·b·cin)'
图6(A)示出实现这些等式的CMOS全加器,相反,负输入-正输出的全加器单元的逻辑等式如下:
Cout=((cin'+a'·b')·(a'+b'))'
Sum=((Cout+a'·b'·cin')·(a'+b'+cin'))'
图6(B)示出用于实现该等式的CMOS全加器,其中a,b,Cin分别为输入信号,而Cin特指从权重高1的位提供的进位输入。混合前缀加法器HPA用于该并行乘法器最后一级以有效执行加法。该混合前缀加法器HPA足有较小面积较快运算速度的高级加法器,以便当该混合前缀加法器HPA用于乘法器时,提高总的性能。每个单元的逻辑函数如下:
ⅰ)pg单元
(pi,l)'=(ai+bi)'
(gi,l)'=(ai·bi)'
ⅱ)bp单元
(pj,2k+1)'=(pi,2k·pj,2k)'
(gj,2k+1)'=(pj,2k·gi,2k+gj,2k)'
ⅲ)bn单元
pj,2k=((pi,2k-1)'+(pj,2k-1)')'
gj,2k=((pj,2k-1)'+(gi,2k-1)'(gj,2k-1)')'
Iⅴ)白单元
pi,k=(pi,k-1)'
gi,k=(gi,k-1)'
ⅴ)和单元
si=((ci+(pi,l)'·(ci-l)')((gi,l)'+(ci-l)'))'
图7示出将两个16位数(a16,a15,...a1)和(b16,b15,...b1)相加以得到结果(S17,S16,...S1)的混合前缀加法器HPA的结构。图7中,两个下标P或g分别指出行和列,而ai,bi,ci和Si分别指出第i个加数,第j个被加数,第i个进位和第i个和。上述每个单元包含NMOS和PMOS晶体管。该混合前缀加法器HPA已由本发明人在IEEE计算机设计国际会谇上以“高速小面积加法电路的VLSI设计”为题的文章中公开。在本发明中,通过使用混合前缀加法器HPA(参考上述IEEE会议论文)能获得很快的操作速度。本发明的并行乘法器对使用阵列的乘法器来说有较大芯片面积,但可取的是将乘法时间从O(n)降至O(logn)。
与使用已知为最快的并行乘法算法的常规华莱士树的乘法器相比较,使用跳跃阵列SAP和变形华莱士树MWT的乘法器的芯片面积从O(2n2logn)减小到O(n2logn+2n2),尽管常规华莱士树和该变形华莱士树MWT的运算时间都是O(logn)但在小于128位的范围内,变形华莱士树MWT的乘法速度快于常规华莱士树,从而具有以下效果。
1)实现O(logn)的快速乘法,并提高规则性,使芯片面积最小、设计简化从而降低制造成本;
2)通过使用跳跃阵列SAP,改进规则性从而使芯片面积最小并使设计简化,维持O(logn)的运算时间;
3)通过使用变形华莱士树MWT,去掉了进位输出的备用状态802而减少运算时间;
4)通过使用混合前缀加法器HPA,减小运算时间而改进规则性,从而使芯片面积最小;
5)通过依次排列正输入-负输出单元和负输入-正输出单元,减少了延迟时间,也减少了门个数;
6)与使用阵列的并行乘法器相比,虽然其芯片面积大,但运算时间从O(n)降低为O(logn)。进一步与只使用常规华莱士树的并行乘法器相比较,按照本发明的使用跳跃阵列SAP和变形华莱士树MWT的乘法器具有从O(2n2logn)到O(n2logn+2n2)的最小芯片面积而其运算时间在小于128位范围内较快,尽管运算时间复杂度为O(logn)。
7)因此开发出高级的并行乘法器和具有高性能的加法器,以及
8)由于将本发明的并行乘法器用于ALU,传真电报、数字信号处理系统、矩阵乘法器和专用芯片可改进其性能。
本发明并没局限于前述实施例中,所公开实施例的各种变形及本发明其它实施例,对本领域人员参考本发明的说明,是显而易见的,所以期望所附权利要求书覆盖本发明真实范围内的任何这种修改或实施例。

Claims (10)

1、一种使用跳跃阵列和变形华莱士树的并行乘法器,包含有:
变形布斯编码器,用以按变形布斯算法对乘数编码并产生编码输出,
跳跃阵列,用于对来自被乘数的部分积和所述变形布斯编码器的所述编码输出在跳过预定间隔后相加,
变形华莱士树,用以高速地将由所述跳跃阵列提供的二进制位相加,以及
混合前缀加法器,用于对由所述变形华莱士树提供的两个最后行相加。
2、如权利要求1所述的并行乘法器,其特征在于:
所述跳跃阵列由第一到第八行加法器单元构成,以便将部分积行数从n/2减小到n/log(n/2),跳跃n/(21og(n/2))后所述加法器单元分别与下一地址单元相乘。
3、如权利要求1所述的并行乘法器,其特征在于所述变形华莱士树包含:
三个第一全加器,用于接收所述跳跃阵列的乘法输出;
第二全加器,用于对所述三个第一加法器的进位输出相加,
第三全加器,用于对所述三个第一加法器的和输出相加,
第四全加器,用于对所述第二和第三全加器的所述和及进位输出相加,以及
第五全加器,用于对所述第四全加器的进位输出与所述第三及第四全加器的和输出相加。
4、如权利要求1所述的并行乘法器,其特征在于,所述混合前缀加法器由pg单元,bp单元,bn单元,白单元及和单元构成,这些单元满足以下等式:
ⅰ)单元
(pi.1)'=(ai+bi)'
(gi.1)'=(ai·bi)'
ⅱ)bp单元
(pj.2k+1)'=(pi,2k·pj.2k)'
(gj.2k+1)'=(pj,2k·gi,2k+gj.2k)'
ⅲ)bn单元
pj.2k=((pi.2k-1)'+(pj.2k-1)')'
gj.2k=((pj.2k-1)'+(gi.2k-1)'(gj.2k-1)')'
ⅳ)白单元
pi.k=(pi.k-1)'
gi.k=(gi.k-1)'
ⅴ)和单元
si=((ci+(pi,1)'·(ci-1)')((gi.1)'+(ci-1)'))'
5、如权利要求1所述的并行乘法器,其特征在于:所述跳跃阵列的所述跳跃间隔为n/(2log(n/2)),所述部分积行用n/(2log(n/2)构成一组,跳跃次数为log(n/2)-3,而跳跃的操作时间复杂度为log(n/2)-2。
6、如权利要求3所述的并行乘法器,其特征在于,所述变形华莱士树包含:
三个第一全加器,用于将所述跳跃阵列的乘法值相加,
第二全加器,用于将进位输出相加;
第三全加器,用于将和输出相加,以及
用于最后步骤的第四和第五全加器,
所述三个第一和第四全加器包括正输入-负输出单元,而
所述第二、第三和第五全加器包括负输入-正输出单元。
7、如权利要求6所述的并行乘法器,其特征在于:所述正输入-负输出单元包括CMOS晶体管,满足以下等式:
Cout'=(cin(a+b)+a·b)'
Sum'=(Cout'(a+b+Cin)+a·b·cin)'
8、如权利要求6所述的并行乘法器,其特征在于:所述负输入-正输出单元包括CMOS晶体管,满足以下等式:
Cout=((cin'+a'·b')·(a'+b'))'
Sum=((Cout+a'·b'·cin')·(a'+b'+cin'))'
9、一种使用跳跃阵列和变形华莱士树的并行乘法器,它包含:
用于对乘数编码并按照变形布斯算法产生编码输出的变形布斯编码器,
用于产生由被乘数与所述编码输出的乘法操作产生的部分积并在跳过预定跳跃间隔后将所述部分积相加的跳跃阵列,
用于将所述跳跃阵列产生的二进制位相加的变形华莱士树,以及
用于将所述变形华莱士树产生的最终两行相加的混合前缀加法器。
10、如权利要求9所述的并行乘法器,其特征在于:所述混合前缀加法器将跳跃阵列和变形华莱士树用作一般快速加法器。
CN91100375A 1990-05-31 1991-01-15 使用跳跃阵列和变形华莱士树的并行乘法器 Expired - Lifetime CN1020806C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR8199/90 1990-05-31
KR1019900008199A KR920006323B1 (ko) 1990-05-31 1990-05-31 스킵(Skip)배열과 수정형 월리스(Wallace)트리를 사용하는 병렬 승산기

Publications (2)

Publication Number Publication Date
CN1056939A true CN1056939A (zh) 1991-12-11
CN1020806C CN1020806C (zh) 1993-05-19

Family

ID=19299764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN91100375A Expired - Lifetime CN1020806C (zh) 1990-05-31 1991-01-15 使用跳跃阵列和变形华莱士树的并行乘法器

Country Status (8)

Country Link
US (1) US5181185A (zh)
JP (1) JP3115009B2 (zh)
KR (1) KR920006323B1 (zh)
CN (1) CN1020806C (zh)
DE (1) DE4101004C2 (zh)
FR (1) FR2662829B1 (zh)
GB (1) GB2244572B (zh)
IT (1) IT1245097B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445471A (zh) * 2016-10-13 2017-02-22 北京百度网讯科技有限公司 处理器和用于在处理器上执行矩阵乘运算的方法
CN107977191A (zh) * 2016-10-21 2018-05-01 中国科学院微电子研究所 一种低功耗并行乘法器
CN110209374A (zh) * 2019-05-23 2019-09-06 浙江大学 一种基于racetrack memory的乘法器及其操作方法
CN110378477A (zh) * 2019-08-30 2019-10-25 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258545A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258633A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258546A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN114840170A (zh) * 2022-04-14 2022-08-02 苏州大学 基于阻类存储器的2bit和4bit华莱士树型乘法器电路

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0721159A1 (en) * 1995-01-03 1996-07-10 Texas Instruments Incorporated Multiple-input binary adder
US5978827A (en) * 1995-04-11 1999-11-02 Canon Kabushiki Kaisha Arithmetic processing
US6066178A (en) * 1996-04-10 2000-05-23 Lsi Logic Corporation Automated design method and system for synthesizing digital multipliers
JP3652447B2 (ja) * 1996-07-24 2005-05-25 株式会社ルネサステクノロジ ツリー回路
KR100425673B1 (ko) * 1996-09-10 2004-06-12 엘지전자 주식회사 피피알기법을이용한곱셈방법
US5943250A (en) * 1996-10-21 1999-08-24 Samsung Electronics Co., Ltd. Parallel multiplier that supports multiple numbers with different bit lengths
US5974437A (en) * 1996-12-02 1999-10-26 Synopsys, Inc. Fast array multiplier
US5935202A (en) * 1997-03-25 1999-08-10 International Business Machines Corporation Compressor circuit in a data processor and method therefor
US6029187A (en) * 1997-10-28 2000-02-22 Atmel Corporation Fast regular multiplier architecture
US7313585B2 (en) * 2003-08-30 2007-12-25 Hewlett-Packard Development Company, L.P. Multiplier circuit
US7769797B2 (en) * 2004-01-20 2010-08-03 Samsung Electronics Co., Ltd. Apparatus and method of multiplication using a plurality of identical partial multiplication modules

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4153938A (en) * 1977-08-18 1979-05-08 Monolithic Memories Inc. High speed combinatorial digital multiplier
JPS5663649A (en) * 1979-10-26 1981-05-30 Nec Corp Parallel multiplication apparatus
FR2524175A1 (fr) * 1982-03-25 1983-09-30 Labo Cent Telecommunicat Structure de multiplieur rapide en circuit integre mos
US4556948A (en) * 1982-12-15 1985-12-03 International Business Machines Corporation Multiplier speed improvement by skipping carry save adders
JPS60105042A (ja) * 1983-08-05 1985-06-10 テキサス インスツルメンツ インコ−ポレイテツド マルチレベル論理回路
JPS60237534A (ja) * 1984-05-09 1985-11-26 Toshiba Corp 並列乗算器
US4575812A (en) * 1984-05-31 1986-03-11 Motorola, Inc. X×Y Bit array multiplier/accumulator circuit
JPS6158036A (ja) * 1984-08-29 1986-03-25 Toshiba Corp 乗算器
JPS61114338A (ja) * 1984-11-09 1986-06-02 Hitachi Ltd 乗算器
GB2189630B (en) * 1986-04-23 1990-02-14 Stc Plc Multiplier
JPS6378229A (ja) * 1986-09-20 1988-04-08 Fujitsu Ltd 乗算器の単位回路
US4809211A (en) * 1986-09-25 1989-02-28 Texas Instruments Incorporated High speed parallel binary multiplier
US4918639A (en) * 1987-11-03 1990-04-17 International Business Machines Corporation Overlapped multiple-bit scanning multiplication system with banded partial product matrix
JPH01228023A (ja) * 1988-03-08 1989-09-12 Nec Corp 全加算器
JPH083787B2 (ja) * 1988-10-21 1996-01-17 株式会社東芝 単位加算器および並列乗算器

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445471A (zh) * 2016-10-13 2017-02-22 北京百度网讯科技有限公司 处理器和用于在处理器上执行矩阵乘运算的方法
CN107977191A (zh) * 2016-10-21 2018-05-01 中国科学院微电子研究所 一种低功耗并行乘法器
CN107977191B (zh) * 2016-10-21 2021-07-27 中国科学院微电子研究所 一种低功耗并行乘法器
CN111258633B (zh) * 2018-11-30 2022-08-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258545A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258633A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258546A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258545B (zh) * 2018-11-30 2022-08-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258546B (zh) * 2018-11-30 2022-08-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN110209374A (zh) * 2019-05-23 2019-09-06 浙江大学 一种基于racetrack memory的乘法器及其操作方法
CN110209374B (zh) * 2019-05-23 2021-04-20 浙江大学 一种基于racetrack memory的乘法器及其操作方法
CN110378477A (zh) * 2019-08-30 2019-10-25 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN110378477B (zh) * 2019-08-30 2023-09-08 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN114840170A (zh) * 2022-04-14 2022-08-02 苏州大学 基于阻类存储器的2bit和4bit华莱士树型乘法器电路
CN114840170B (zh) * 2022-04-14 2024-07-02 苏州大学 基于阻类存储器的2bit和4bit华莱士树型乘法器电路

Also Published As

Publication number Publication date
DE4101004A1 (de) 1991-12-05
GB2244572B (en) 1993-12-01
GB2244572A (en) 1991-12-04
US5181185A (en) 1993-01-19
KR920006323B1 (ko) 1992-08-03
JP3115009B2 (ja) 2000-12-04
FR2662829B1 (fr) 1995-10-20
KR910020549A (ko) 1991-12-20
ITMI910076A1 (it) 1992-07-15
IT1245097B (it) 1994-09-13
ITMI910076A0 (it) 1991-01-15
DE4101004C2 (de) 1994-08-11
JPH0520030A (ja) 1993-01-29
GB9100849D0 (en) 1991-02-27
CN1020806C (zh) 1993-05-19
FR2662829A1 (fr) 1991-12-06

Similar Documents

Publication Publication Date Title
CN1020806C (zh) 使用跳跃阵列和变形华莱士树的并行乘法器
US6029187A (en) Fast regular multiplier architecture
Ma et al. Multiplier policies for digital signal processing
CN1503938A (zh) 乘法逻辑电路
US20110264719A1 (en) High radix digital multiplier
CN87100346A (zh) 最佳分区再生先行进位加法器
Kwon et al. A 16-bit/spl times/16-bit MAC design using fast 5: 2 compressors
Vassiliadis et al. Hard-wired multipliers with encoded partial products
CN1108558C (zh) 面向算术/移位操作的单指令多数据校正电路
CN1781076A (zh) 组合多项式和自然乘法的乘法器架构
CN1108557C (zh) 减少高速算术单元中超前进位加法器级数的结构和方法
US5944776A (en) Fast carry-sum form booth encoder
Sharma et al. Modified booth multiplier using wallace structure and efficient carry select adder
CN1232561A (zh) 数字加法器电路
JPH08504525A (ja) 改良された高速乗算器
CN1164988C (zh) 32位加法器电路结构
CN1735857A (zh) 用于完成乘法运算的方法、系统和设备
CN1290002C (zh) 高速加法器
JPH056892B2 (zh)
JP3558436B2 (ja) 乗算装置及び積和演算装置
JPH05173761A (ja) 2進整数乗算器
JPH0418336B2 (zh)
CN1731344A (zh) 快速多周期二进制及十进制加法器单元的高度并行结构
CN1591824A (zh) 40位带舍入功能的快速累加累减器电路实现结构
Großschadl A unified radix-4 partial product generator for integers and binary polynomials

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C15 Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993)
OR01 Other related matters
C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20110115

Granted publication date: 19930519