CN1117165A - 二进制乘法器中的布斯编码器 - Google Patents

二进制乘法器中的布斯编码器 Download PDF

Info

Publication number
CN1117165A
CN1117165A CN 95108645 CN95108645A CN1117165A CN 1117165 A CN1117165 A CN 1117165A CN 95108645 CN95108645 CN 95108645 CN 95108645 A CN95108645 A CN 95108645A CN 1117165 A CN1117165 A CN 1117165A
Authority
CN
China
Prior art keywords
bit
multiplicand
numerical digit
partial product
numerical
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.)
Pending
Application number
CN 95108645
Other languages
English (en)
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.)
WiniaDaewoo Co Ltd
Original Assignee
Daewoo 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 Daewoo Electronics Co Ltd filed Critical Daewoo Electronics Co Ltd
Priority to CN 95108645 priority Critical patent/CN1117165A/zh
Publication of CN1117165A publication Critical patent/CN1117165A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

将n位及m位二进制乘数和被乘数相乘的二进制乘法器中的部分积发生器包括n/2或(n+1)/2个布斯编码器,各编码器产生一部分积,并含有:第一及第二倒相器,分别对第一及第二扩展了两个数位即m+2位的被乘数倒相;第一分路器,从第一和第二倒相的被乘数中选出一个;加1逻辑电路,在选出的二进制数上加1;第二分路器,选择第一、第二扩展的被乘数、或加1后的二进制数,产生部分积,各分路器的选择由从n位的乘数导出的一选择码控制。

Description

二进制乘法器中的布斯编码器
本发明涉及一种进二制乘法器,较具体地说,涉及一种用于二进制乘法器的改进的布斯(Booth)编码器。
在数字系统中,两个二进制数的相乘所采用的方法和两个十进制数相乘的方法相同。其过程是从乘数的最低位(“LSB”)开始,依次地考察该乘数的各个数字位。如果乘数的某一位为“1”,则复制被乘数,以产生一个部分积;如果该乘数位为“0”,则写入0作为部分积。逐行地写出的各个部分积,每下一行相对于上一行向左移动一位。当考察完所有的乘数位之后,把各相继行中的部分积相加,得到最终的乘积。这种过程对每一个乘数位都要产生一个部分积,因此它比较费时而且需要复杂的硬件。
在要求高速执行的数字应用中,例如数字信号处理器中,已经提出了各种方法来减少部分积的数目。方法之一是布斯算法,其中一个基数为2的乘数X用编码数组{-2,-1,0,1,2}被重新编码成一个基数为4的乘数Z,由此把部分积数目减少为一半。
这种减少可以通过一个重新编码处理而达到,其中乘数Z的每三位数以重叠的方式组成一个数位群,并且给每个数位群指定编码数组{-2,-1,0,1,2}中的一个数。编码数组中的每个编码数确定了被乘数A所需的倍乘数。下面说明例如对二进制乘数X“10001101”的三数位群重新编码处理,从添加在该乘数的最低位(“LSB”)的右侧的一个虚位开始,把三个数位组成一个三数位的群,这就称作数串的(布斯)重新编码,其中两个相邻的三数位群有一个相交叠的数位,最右端三数位群为X1X0(X-1),下一个为X3X2X1等等,其中(X-1)代表虚位“0”:
Figure A9510864500051
上述重新编码方案可概括成表1。
然而,一个普通的采用布斯算法的二进制乘法装置必然需要找出被乘数的倍数或补数,这将造成时间的拖延。这个速度限制使普通的二进制乘法装置比较不适用于高速数字系统。
因此,本发明的一个目的是提供一种适用于高速乘法的改进的二进制法装置。
本发明的另一个目的是提供一种乘法装置中的部分积发生器,它能够以简单的方式执行乘法。
根据本发明,提供了一种二进制乘法装置,它用来将一个并行n位二进制乘数和一个并行m位二进制被乘数相乘,其中n和m都分别是正整数,该装置包括:带有n/2个(若n为偶数)或(n+1)/2个(若n为奇数)部分积发生装置的装置,用来使乘数中的n位与被乘数中的m位相乘,以产生n/2个(若n为偶数)或(n+1)/2个(若n为奇数)部分积;用来把在n位二进制乘数的最低位(“LSB”)的右侧加上了一个虚位的数串分群成n/2个(若n为偶数)或(n+1)/2个(若n为奇数)由三个数位构成的数据群,即三数位群的装置,该分群从虚位的位置开始,上述n/2或(n+1)/2个三数位群中的相邻两个群之间有一个相交叠的数位,其中各个三数位群被分别提供给各个部分积发生装置;用来将n/2或(n+1)个部分积相加以产生一个最终部分积和一个进位部分积的装置;以及用来将最终部分积和进位部分积相加以产生最终乘积的装置,其中每个上述部分积发生装置含有:
第一扩展装置,用来以一个并行m+2位的二进制数ATO来扩展m位的被乘数,其中在上述ATO中的两个扩展位由两次复制m位被乘数的最高位(“MSB”)得到,并放置在MSB的左侧;第二扩展装置,用来以一个并行m+2位二进制BTO来扩展m位的被乘数,其中在上述BTO中的两个扩展位之一是由复制m位被乘数的MSB得到,并放置在MSB的左侧,另一个扩展位是二进制数“0”,放置在LSB的右侧;第一倒相器,用来使来自第一扩展装置的m+2位二进制数ATO倒相,以产生一个倒相m+2位二进制数ATT;第二倒相器,用来使来自第二扩展装置的m+2位二进制数BTO倒相,以产生一个倒相m+2位二进制数BTT;第一分路器,用来在对向它提供的三数位群作出响应时,从倒相m+2位二进制数ATT和倒相m+2位二进制数BTT中选择一个作为输出,其中三位数群中的三位数字被用作选择输出操作的选择码;用来在由第一分路器所选的输出上做逻辑加“1”运算,以产生一个m+2位二进制数CT+1的装置;以及第二分路器,用来在对三数位组作出响应时从m+2位二进制数ATO、m+2位二进制数BTO和m+2位二进制数CT+1中选择一个作为输出,由该第二分路器所选择的输出就是上述每个部分积发生器的部分积。
本发明的上述目的和其他目的及特征将通过下面结合附图对优选实施例的说明而变得清楚,在附图中,
图1示出根据本发明的二进制乘法装置的原理方框图;
图2示出图1中所示部分积发生器的详细方框图;
图3表示图2中所示布斯编码器的详细方框图;以及
图4A至4E给出由部分积发生器所处理的示例性仿真数据。
参见图1,那里示出了根据本发明的二进制乘法装置的原理方框图,该装置用于将一个并行n位二进制乘数X和一个并行m位二进制被乘数A相乘,其中n和m都分别是正整数。该乘法装置包括一个部分积发生器100,一个加法/移位树200和一个最终加法器300。部分积发生器100将乘数X中的n位数和被乘数A中的m位数相乘,产生n/2个部分积(若n为偶数)或(n+1)/2个部分积(若n为奇数)。
如从图2可以看出的那样,部分积发生器100含有n/2个(若n为偶数)或(n+1)/2个(若n为奇数)布斯编码器(BE),图中只画出了其中的5个编码器110、120、130、140和150。在网路10上,在并行n位二进制乘数X的LSB右侧加上了一个虚位“0”,从而得到n+1个数位。然后,如前所述,从虚位的位置开始,该n+1位的二进制数被分成n/2个(若n为偶数)或(n+1)/2个(若n为奇数)三数位群,每个数位群含有三个数位,相邻两个三数位群有一个数位相交叠。现在假定二进制乘数X有9个数位长(000011010),该9位二进制系数X被分成5个三数位群S1、S2、S3、S4和S5,如下所示:其中(X-1)代表虚位。
有时该二进制数可能没有足够的数位来形成完整的三数位群。这时,在该二进制数的MSB左侧添加一个或两个“0”,以补全最后一个三数位群。
这5个三数位群S1、S2、S3、S4和S5被分别提供给5个布斯编码器110、120、130、140和150。各个三数位群分别被用作各个布斯编码器的选择码,对此后面将参考图3予以进一步说明。布斯编码器110、120、130、140和150中的每一个都接收m位的被乘数A和自n位二进制乘数X导出的一个相应的三数位群,以产生一个部分积。
来自部分积发光器100的5个部分积被加法/移位树200相加,以产生一个最终部分积和一个进位部分积。最终加法器300将来自加法器/移位树200的最终部分积和进位部分积相加,以产生一个最终乘积。
图3示出了图2所示的布斯编码器110、120、130、140和150中的一个,例如110的详细电路图,这些编友器具有相同的结构。
在网路20上,并行m位被乘数A的MSB被复制两次,这两个复制的数位被加在MSB的左侧,从而以一个并行m+2位二进制数ATO扩展了该m位被乘数A。这个操作对应于前述从布斯重新编码处理导出编码数“1”的操作。
此外,在网路30上,并行m位被乘数A的MSB被复制一次,该复制的数位被添加在MSB的左侧,从而以一个并行m+1位的二进制数扩展了该m位被乘数A;然后,在该m+1位二进制数的LSB的右侧添加一个二进制数“0”,从而以一个并行m+2位二进制数BTO扩展了该m位被乘数A。这个操作对应于前述从布斯重新编码处理导出编码数“2”的操作。
m+2位二进制数ATO被提供给第一倒相器40,后者产生一个倒相并行m+2位二进制数ATT,该ATO还提供给一个有三个数据输入端的分路器80的第一数据输入端“a”。m+2位二进制数BTO被提供给第二倒相器50,后者产生一个倒相并行m+2位二进制数BTT,该BTO还提供给三输入端分路器80的第二数据输入端“b”。
倒相m+2位二进制数ATT和倒相m+2位二进制数BTT分别被提供给一个有两个数据输入端的分路器60的第一和第二数据输入端“a”和“b”。
另一方面,第一个三数位群S1,例如“100”,被分别提供给二输入端分路器(“MUX”)60和三输入端分路器(“MUX”)80的选择输入端“d”。该提供给分路器60和80的第一个三数位群S1被用作选择码,它确定了哪一个输入应该从分路器通过。这样,二输入端MUX60在对三数位群S1作出响应时,将从它的两个数据中,即从倒相m+2位二进制数ATT和倒相m+2位二进制数BTT中选出一个作为输出。这个操作概括于下列真值表I。
从真值表I可以看出,本例中m+2位二进制数BTT被选作为二输入端分路器60的输出CT。
然后,由二输入端MUX60选择的输出,即m+2位二进制数CT,被提供给一个加“1”逻辑电路70。在加“1”逻辑电路70中,所选择的输出CT被逻辑加上二进制数“1”,从而产生一个m+2位二进制数CT+1。这个操作对应于上述布斯重新编码处理中导出编码数“-1 ”和“-2”的操作。
然后,来自加“1”逻辑电路70的m+2位二进制数CT+1被提供给三输入端MUX80的第三输入端“C”。与二输入端MUX60情形中所用的方式相似,三输入端MUX80在对三数位群S1作出响应时从它的三个输入:m+2位数据ATO、M+2位数据BTO和另一个m+2位数据CT+1中选择一个作为输出。这个操作概括于真值表II。
从真值表II可以看出,本例中m+2位二进制数CT+1被选作为三输入端MUX80的输出TMP1。
其结果是,三输入端MUX80产生一个m+2位二进制数TMP1,这就是布斯编码器110的部分积。
图4A至4E示出了分别由布斯编码器110、120、130、140和150所执行的仿真结果,其中采用了16进制表示来说明布斯编码器的工作过程。例如,在图4A中,如数据串的第二纵列所示,当被乘数A是9位长的二进制数“000011101”,即用16进制符号表示为“01D”、并且乘数X是9位长的二进制数“000011010”,即用16进制符号表示为“01A”时,则ATO变为“00000011101”或“01D”;BTO变为“00000111010”或“03A”;ATT变为“111111100010”或“7E2”;以及BTT变为“111111000101”或“7C5”。然后,因为S1是“100”,所以CT变为BTT的值,即“7C5”,最后TMP1变为“7C6”,这就是布斯编码器110的部分积。
虽然本发明只是对优选实施例进行展示和说明的,但对于熟悉本技术领域的人们来说,很明显可以在不偏离所附权利要求中所定义的本发明的精神和范畴的情形下,作出许多变化和修改。
                      表1    布斯重新编码
Xn+1 Xn Xn-1     Z     操作
 0    0    00    0    10    1    00    1    11    0    01    0    11    1    01    1    1     0112-21-10 A的一倍A的一倍A的两倍2A的二的补数A的一倍A的二的补数
                              真值表I
 S(选择码)     CT(输出)
    0 0 00 0 10 1 00 1 11 0 01 0 10 1 11 1 1     0000baaO
                                  真值表II
 S(选择码)     CT(输出)
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1 0aabccc0

Claims (1)

1、一种用来将一个并行n位二进制乘数和一个并行m位二进制被乘数相乘的二进制乘法装置,其中n和m都分别为正整数,该装置包括:
带有n/2个(若n为偶数)或(n+1)/2个(若n为奇数)部分积发生装置的装置,用来将乘数中的n个数位与被乘数中的m个数位相乘,以产生n/2个(若n为偶数)或(n+1)/2个(若n为奇数)部分积;
用来把在n位二进制乘数的最低位(“LSB”)的右侧添加了一个虚位的数串分群成n/2个(若n为偶数)或(n+1)/2个(若n为奇数)由三个数位构成的数据群,即三数位群的装置,该分群以虚位的位置开始,上述n/2个或(n+1)/2个三数位群中的两个相邻的三数位群之间有一个相交叠数位,其中各个三数位群被分别提供给各个部分积发生装置;
用来将上述n/2个或(n+1)/2个部分积相加以产生一个最终部分积和一个进位部分积的装置;以及
用来将最终部分积和进位部分积相加以产生一个最终乘积的装置,
其中上述每个部分积发生装置含有:
第一扩展装置,用来以一个并行m+2位二进制数ATO扩展m位被乘数,其中上述ATO中的两个扩展数位由两次复制该m位被乘数中的最高位(“MSB”)得到,它们被添加在该MSB的左侧;
第二扩展装置,用来以一个并行m+2位二进制数BTO扩展m位被乘数,其中上述BTO中的两个扩展数位之一由复制m位被乘数中的MSB得到,它添加在该MSB的左侧,另一个扩展数位是二进制数“0”,添加在LSB的右侧;
第一倒相器,用来对来自第一扩展装置的m+2位二进制数ATO倒相,以产生一个倒相m+2位二进制数ATT;
第二倒相器,用来对来自第二扩展装置的m+2位二进制数BTO倒相,以产生一个倒相m+2位二进制数BTT;
第一分路器,用来在对向它提供的一个三数位群作出响应时从倒相m+2位二进制数ATT和倒相m+2位二进制数BTT中选择一个作为输出,其中该三数位群被用作选择输出操作的选择码;
加“1”逻辑电路,用来在从第一分路器选择的输出上逻辑加上一个二进制数“1”,以产生一个m+2位二进制数CT+1;以及
第二分路器,用来在对三数位群作出响应时从m+2位二进制数ATO、m+2位二进制数BTO、和m+2位二进制数CT+1中选择一个作为输出,由该第二分路器所选择的输出就是上述各个部分积发生器的部分积。
CN 95108645 1995-08-14 1995-08-14 二进制乘法器中的布斯编码器 Pending CN1117165A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 95108645 CN1117165A (zh) 1995-08-14 1995-08-14 二进制乘法器中的布斯编码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 95108645 CN1117165A (zh) 1995-08-14 1995-08-14 二进制乘法器中的布斯编码器

Publications (1)

Publication Number Publication Date
CN1117165A true CN1117165A (zh) 1996-02-21

Family

ID=5076832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 95108645 Pending CN1117165A (zh) 1995-08-14 1995-08-14 二进制乘法器中的布斯编码器

Country Status (1)

Country Link
CN (1) CN1117165A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100347666C (zh) * 1998-02-19 2007-11-07 朗迅科技公司 用于中央处理器和数字信号处理器的低功率乘法器
CN111258542A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100347666C (zh) * 1998-02-19 2007-11-07 朗迅科技公司 用于中央处理器和数字信号处理器的低功率乘法器
CN111258542A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258542B (zh) * 2018-11-30 2022-06-17 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备

Similar Documents

Publication Publication Date Title
US4168530A (en) Multiplication circuit using column compression
JP3244506B2 (ja) 小型乗算器
US4831577A (en) Digital multiplier architecture with triple array summation of partial products
US4965762A (en) Mixed size radix recoded multiplier
JPH05150947A (ja) 7ビツト入力3ビツト出力のカウンタ
US3795880A (en) Partial product array multiplier
US5122982A (en) Carry generation method and apparatus
GB2399909A (en) Multiplication of selectively partitioned binary inputs using booth encoding
US4293922A (en) Device for multiplying binary numbers
US4638449A (en) Multiplier architecture
US5530664A (en) Method and apparatus for automatically designing logic circuit, and multiplier
US5339267A (en) Preprocessor of division device employing high radix division system
US5166899A (en) Lookahead adder
CN1117165A (zh) 二进制乘法器中的布斯编码器
US5691930A (en) Booth encoder in a binary multiplier
US4215419A (en) Method for binary multiplication of a number by a sum of two numbers and a digital system for implementation thereof
Duprat et al. Some results about on-line computation of functions
JP3660075B2 (ja) 除算装置
CN1666173A (zh) 快速乘法电路
US3794820A (en) Binary multiplier circuit
US6622154B1 (en) Alternate booth partial product generation for a hardware multiplier
Koç A Tutorial on p-adic Arithmetic
JPS58129653A (ja) 乗算方式
US3798434A (en) Electronic device for quintupling a binary-coded decimal number
Frougny et al. On-line multiplication in real and complex base

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication