JPH02300930A - Multiplication circuit - Google Patents
Multiplication circuitInfo
- Publication number
- JPH02300930A JPH02300930A JP1121872A JP12187289A JPH02300930A JP H02300930 A JPH02300930 A JP H02300930A JP 1121872 A JP1121872 A JP 1121872A JP 12187289 A JP12187289 A JP 12187289A JP H02300930 A JPH02300930 A JP H02300930A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- partial products
- carry
- multiplicand
- booth
- 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
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 17
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 18
- 230000000295 complement effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、演算の内部表現に冗長2進(Redun−d
ant Binary 、以下RBという〉表現を用い
た乗算回路に関するものである。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention uses redundant binary (Redundant binary) in the internal representation of operations.
The present invention relates to a multiplication circuit using an ant Binary (hereinafter referred to as RB) expression.
(従来の技術)
従来、このような分野の技術としては、■電子通信学会
論文誌、J6B−DI6](19B3−6)l)、68
3−690、■特開昭60−163128号公報、及び
■「フェアチャイルド ファースト データ ブック(
E^IRCHILD FAST DATA BOOに)
J (1985) (米)9、4−63〜4−65
に記載されるものがあった。(Prior art) Conventionally, as a technology in this field,
3-690, ■Japanese Unexamined Patent Publication No. 60-163128, and ■``Fairchild First Data Book (
E^IRCHILD FAST DATA BOO)
J (1985) (US) 9, 4-63-4-65
There was something written in.
従来、例えば2進の乗算回路は、乗数Yの各桁と被乗数
Xを乗算して9部分積を求め、その部分積の総和を積と
する。ここで、負の数も含む2進数の乗算は、負数を符
号と絶対値で表して絶対値について乗算するか、または
この補数で表示した負数をそのまま用いて乗算する。こ
の補数表示の負数を乗算すると、一般に乗算結果に補正
を加える回路が必要であり、乗算速度が遅くなる。そこ
で、高速乗算を実現する一手段として、この補数表示に
よる負数を補正なしに乗算する方法にブース(Boot
h)のアルゴリズムが知られている。ブースのアルゴリ
ズムは、この補数表示による負数を補正なしに乗算する
方法であり、乗数Yをm(m)2)ビットのパターンに
分けて解読(デコード)することによって部分積数を約
1/(m−1)に減らすことができる。ブースアルゴリ
ズムのうち、最も基本的な2次(m=3>のブースは、
第1表のアルゴリズムを適用する。Conventionally, for example, a binary multiplication circuit multiplies each digit of the multiplier Y by the multiplicand X to obtain a nine-part product, and the sum of the partial products is taken as the product. Here, for multiplication of binary numbers including negative numbers, the negative number is represented by a sign and an absolute value and multiplied by the absolute value, or the negative number represented by the complement of the negative number is used as is and multiplied. Multiplication by a negative number expressed as a complement generally requires a circuit to correct the multiplication result, which slows down the multiplication speed. Therefore, as a means of realizing high-speed multiplication, Booth (Booth
The algorithm h) is known. Booth's algorithm is a method of multiplying negative numbers by complement representation without correction, and by dividing the multiplier Y into m(m)2) bit patterns and decoding them, the partial product number is reduced to approximately 1/( m-1). Among the Booth algorithms, the most basic quadratic (m=3>Booth) is
Apply the algorithm in Table 1.
第1表
2次ブースアルゴリズム
第1表において、左欄の乗数y2i+2.y2i+1゜
y2iのiに例えば’o、o、o”を適用すると、3’
2 、 yl 、 y□となり、それらの乗数y2゜3
’1 、3’0と被乗数Xとの部分積を求めれば、右欄
の演算結果0が得られる。同様にして各部分積0、X、
X、2X、−2X、−X、−X、Oを求め、それらの部
分積の総和をとれば、乗算結果が得られる。ここで、各
部分積は、被乗数Xのシフトまたは符号反転のみで容易
に求まる。Table 1 Quadratic Booth Algorithm In Table 1, the multipliers y2i+2. For example, if 'o, o, o' is applied to i in y2i+1°y2i, 3'
2, yl, y□, and their multiplier y2゜3
If we calculate the partial product of '1, 3'0 and the multiplicand X, we will obtain the calculation result 0 in the right column. Similarly, each partial product 0,
By determining X, 2X, -2X, -X, -X, and O, and taking the sum of their partial products, the multiplication result can be obtained. Here, each partial product can be easily found by simply shifting or inverting the sign of the multiplicand X.
前記文献■では、さらに高速化を図るため、第2表に示
す3次ブースのアルゴリズムを適用している。これによ
り、部分積(ブース〉の数が2次ブースアルゴリズムの
約2/3になり、さらに部分積の加算段数の削減が図れ
る。その−構成例を第2図に示す。In the above-mentioned document (2), the cubic Booth algorithm shown in Table 2 is applied in order to further increase the speed. As a result, the number of partial products (Booth) is reduced to about 2/3 of that of the quadratic Booth algorithm, and the number of addition stages of partial products can be further reduced.An example of its configuration is shown in FIG.
第2表 3次ブースアルゴリズム 第2図は、従来の乗算回路の構成ブロック図である。Table 2 cubic booth algorithm FIG. 2 is a block diagram of a conventional multiplication circuit.
この乗算回路は、乗数Yをデコードして選択信号Sを出
力する3次ブースのデコーダ1と、被乗数Xの±3倍を
求める±3X生成回路2と、前記±3X生成回路2の出
力と被乗数Xを選択信号Sにより選択するシフトセレク
ト回路3と、前記シフトセレクト回路3の出力を加算し
て乗数結果Pを出力する加算回路4とで、構成されてい
る。This multiplication circuit includes a cubic Booth decoder 1 that decodes a multiplier Y and outputs a selection signal S, a ±3X generation circuit 2 that calculates ±3 times the multiplicand X, and an output of the ±3X generation circuit 2 and a multiplicand. It is comprised of a shift select circuit 3 that selects X using a selection signal S, and an adder circuit 4 that adds the outputs of the shift select circuit 3 and outputs a multiplier result P.
以上の構成において、乗数Y及び被乗数Xが供給される
と、3次ブースのデコーダ1は乗数Yをデコードして選
択信号Sをシフトセレクト回路3へ与える。±3X生成
回路2は、被乗数Xを入力して(2X+X)の加算を行
い、±3Xを生成してそれをシフトセレクト回路3へ供
給する。シフトセレクト回路3が部分積を生成すると、
その部分積は、0.±X、±2X、±3X、±4Xの9
種類から、選択信号Sにより選択される。ここで、9種
類の内、±3X以外の7種類は、被乗数Xのシフトまた
は符号反転のみで、シフトセレクト回路3により容易に
求まる。一方、±3Xはデコーダ1の結果に関係なく、
±3X生成回路2で予め求めておいた(2X+X)の加
算結果より、これを使うかどうかをシフトセレクト回路
3において選択信号Sで選択することにより、その±3
xの部分積生成が行える。そして、シフトセレクト回路
3で生成された部分積の総和が加算回路4で加算され、
その加算回路4から乗算結果Pが出力される。In the above configuration, when the multiplier Y and the multiplicand X are supplied, the tertiary Booth decoder 1 decodes the multiplier Y and provides the selection signal S to the shift select circuit 3. The ±3X generation circuit 2 inputs the multiplicand X, performs addition of (2X+X), generates ±3X, and supplies it to the shift select circuit 3. When the shift select circuit 3 generates a partial product,
Its partial product is 0. ±X, ±2X, ±3X, ±4X 9
The type is selected by the selection signal S. Here, among the nine types, seven types other than ±3X can be easily determined by the shift select circuit 3 by simply shifting or inverting the sign of the multiplicand X. On the other hand, ±3X is independent of the result of decoder 1,
Based on the addition result of (2X +
Partial products of x can be generated. Then, the sum of the partial products generated by the shift select circuit 3 is added by the adder circuit 4,
A multiplication result P is output from the adder circuit 4.
(発明が解決しようとする課題)
しかしながら、上記構成の回路では、±3X生成回路2
と加算回路4の加算に桁上げが生じるため、内部演算の
桁数が増加する程、その桁上げに時間が長くなって演算
の高速化が望めないという問題があり、それを解決する
ことが困難であった。(Problem to be Solved by the Invention) However, in the circuit with the above configuration, the ±3X generation circuit 2
Since a carry occurs in the addition of the adder circuit 4, there is a problem that as the number of digits in the internal calculation increases, the time required for the carry increases, making it impossible to speed up the calculation. It was difficult.
本発明は前記従来技術が持っていた課題として、桁数の
増加に伴なって演算速度が低下する点について解決した
乗算回路を提供するものである。The present invention provides a multiplication circuit that solves the problem of the prior art, which is that the calculation speed decreases as the number of digits increases.
〈課題を解決するための手段)
本発明は前記課題を解決するために、3次ブースのアル
ゴリズムを用い、複数ビットの乗数Yの各桁と複数ビッ
トの被乗数Xとを乗算して部分積を求め、その部分積の
総和を積とする乗算回路を、次のように構成したもので
ある。即ち、本発明の乗算回路は、少なくとも、前記乗
数Yを1とソトオーバラップして4ビット毎に解読する
3次ブースのデコーダと、演算時に各桁が−1,0,1
の3値のいずれかをとり得る冗長2進表現(冗長2進表
現−1,0,1を以下、“T°゛、“0”°。<Means for Solving the Problems> In order to solve the above problems, the present invention uses a cubic Booth algorithm to multiply each digit of a multi-bit multiplier Y by a multi-bit multiplicand X to obtain a partial product. A multiplication circuit that uses the total sum of partial products as the product is configured as follows. That is, the multiplication circuit of the present invention includes at least a tertiary Booth decoder that soto-overlaps the multiplier Y with 1 and decodes it every 4 bits, and a 3rd order Booth decoder that decodes the multiplier Y every 4 bits.
A redundant binary expression that can take any of the three values (redundant binary expression -1, 0, 1 is hereinafter referred to as "T°゛,"0''°).
“1”と表わす)を用いて前記被乗数Xの±3倍を求め
る±3X生成回路と、前記冗長2進(Red−unda
nt Binary 、以下rRBJという)表現を用
いて前記±3X生成回路の出力と前記被乗数Xとを前記
デコーダの出力で選択することにより複数の部分積を生
成するシフトセレクト回路と、前記冗長2進表現を用い
て前記複数の部分積の中間和とキャリーを生成する中間
和キャリー生成回路と、前記冗長2進表現を用いて前記
中間和キャリー生成回路の出力を加算するとによって積
X−Yを出力するRBの加算回路と、前記績X−Yを2
進(Binary、以下「B」という)表現に変換する
変換回路とで、構成されている。a ±3X generation circuit that calculates ±3 times the multiplicand X using the redundant binary
nt Binary, hereinafter referred to as rRBJ) expression, by selecting the output of the ±3X generation circuit and the multiplicand X by the output of the decoder, thereby generating a plurality of partial products; and the redundant binary expression. an intermediate sum carry generation circuit that generates an intermediate sum and carry of the plurality of partial products using The RB addition circuit and the result X-Y are 2
It is composed of a conversion circuit that converts into a binary (hereinafter referred to as "B") representation.
(作用)
本発明によれば、以上のように乗算回路を構成したので
、デコーダは3次ブースアルゴリズムを用いて乗数Yを
解読し、部分積数を減少させる働きがある。±3X生成
回路及びシフトセレクト回路は、B/RB変換機能を有
し、R8表現を用いた内部演算を可能にさせる。シフト
セレクト回路は部分積を生成し、その部分積が、中間和
キャリー生成回路及びRB加算回路により加算され、そ
の加算結果がRB/B変換回路でB表現に変換されて乗
算結果として出力される。そして、R8表現を用いた内
部演算は、桁上げを抑制して、桁数に関係なく加算速度
を向上させ、さらに回路構成を簡単化させる働きがある
。従って、前記課題を解決できるのである。(Function) According to the present invention, since the multiplication circuit is configured as described above, the decoder has the function of decoding the multiplier Y using the cubic Booth algorithm and reducing the number of partial products. The ±3X generation circuit and shift select circuit have a B/RB conversion function and enable internal calculations using R8 representation. The shift select circuit generates partial products, the partial products are added by the intermediate sum carry generation circuit and the RB addition circuit, and the addition result is converted into B representation by the RB/B conversion circuit and output as a multiplication result. . The internal calculation using the R8 representation suppresses carry, improves the addition speed regardless of the number of digits, and further simplifies the circuit configuration. Therefore, the above problem can be solved.
(実施例)
第1図は、本発明の一実施例を示す乗算回路の構成ブロ
ック図である。(Embodiment) FIG. 1 is a block diagram of a multiplication circuit showing an embodiment of the present invention.
この乗算回路は、乗数Yを1ビットオーバラツプして4
ビット毎にデコードし4ビットの選択信号s (=s5
. S2 、31 、 So 、但しS、の添付Sは符
号ビットを表わす)を出力する3次ブースのデコーダ1
0と、冗長2進(以下、−RBという)表現を用いて内
部演算を行う内部演算回路20とで、構成されている。This multiplier circuit overlaps the multiplier Y by 1 bit and generates 4
Bit by bit is decoded and a 4-bit selection signal s (=s5
.. A tertiary Booth decoder 1 outputting S2, 31, So (where the appendix S represents a sign bit)
0 and an internal arithmetic circuit 20 that performs internal arithmetic operations using redundant binary (hereinafter referred to as -RB) representation.
内部演算回路20は、被乗数Xを入力する±3X生成回
路21及びシフトセレクト回路22を有し、そのシフト
セレクト回路22の出力側には、中間和キャリー生成回
路23、RBの加算回路24、及びRB/B変換回路2
5が縦続接続されている。The internal arithmetic circuit 20 has a ±3X generation circuit 21 that inputs the multiplicand X and a shift select circuit 22. On the output side of the shift select circuit 22, an intermediate sum carry generation circuit 23, an RB addition circuit 24, and a shift select circuit 22 are provided. RB/B conversion circuit 2
5 are connected in cascade.
±3X生成回路21は、被乗数Xを入力して(2X+X
>という加算を行う回路であり、B表現からR8表現へ
のB/RB変換機能も有している。シフトセレクト回路
22は、被乗数Xと±3Xの3種類のデータを入力し、
±X、±2X。The ±3X generation circuit 21 inputs the multiplicand X and generates (2X+X
This is a circuit that performs the addition of >, and also has a B/RB conversion function from B representation to R8 representation. The shift select circuit 22 inputs three types of data: multiplicand X and ±3X,
±X, ±2X.
±4Xの6種類の部分積を生成し、それらに0゜±3X
を加えた9種類の部分積0.±X、±2X。Generate six types of partial products of ±4X, and add them to 0°±3X
Nine types of partial products including 0. ±X, ±2X.
±3X、±4から1種類を選択信号Sにより選択する回
路であり、B/RB変換機能も有している。This circuit selects one type from ±3X and ±4 using a selection signal S, and also has a B/RB conversion function.
中間和キャリー生成回路23は、RB加算アルゴリズム
に従ってシフトセレクト回路22の出力から中間和とキ
ャリーを生成する回路であり、RB加算回路24は、前
記中間和とキャリーの加算を行う回路である。また、R
B/B変換回路25は、RB加算回路24の出力をB表
現に変換して乗算結果p (−x・Y)を出力する回路
である。The intermediate sum carry generation circuit 23 is a circuit that generates an intermediate sum and a carry from the output of the shift select circuit 22 according to the RB addition algorithm, and the RB addition circuit 24 is a circuit that adds the intermediate sum and carry. Also, R
The B/B conversion circuit 25 is a circuit that converts the output of the RB addition circuit 24 into B representation and outputs the multiplication result p (-x·Y).
第3図は、第1図中のデコーダ10の構成例を示す回路
図である。このデーボタ10は、乗数y31+3Iy3
1+2Iy31,11y31から4ビットの選択信号s
、、s2.s1.soを生成する回路であり、排他的論
理和ゲート(以下、FORゲートという>30−1〜3
0〜4、否定論理積ゲート(以下、NANDゲートとい
う>311〜31−5、及び論理和ゲート(以下、OR
ゲートという>32−4.32−2で構成されている。FIG. 3 is a circuit diagram showing a configuration example of the decoder 10 in FIG. 1. This data button 10 has a multiplier y31+3Iy3
4-bit selection signal s from 1+2Iy31, 11y31
,,s2. s1. This is a circuit that generates an exclusive OR gate (hereinafter referred to as a FOR gate).
0 to 4, NAND gates (hereinafter referred to as NAND gates) >311 to 31-5, and OR gates (hereinafter referred to as OR gates).
It is composed of >32-4.32-2 gates.
第4図(a)、(b)は、第1図中の±3X生成回路2
1の構成例を示す回路図である。Figures 4(a) and (b) show the ±3X generation circuit 2 in Figure 1.
FIG. 1 is a circuit diagram showing a configuration example of No. 1;
nビットの被乗数Xi (i=1〜n)が入力される場
合、i=nのときのみ第4図(a)の回路を用い、O<
i<nのとき第4図(b)の回路が用いられる。±3X
生成回路21は、1個の第4図(a>の回路と、(n−
2>個の第4図(b)の回路とで、構成されている。第
4図(a)の回路は、被乗数X、X、X から部分
積n n−1n−2
±3X、、2±3Xo、1.±3X、を生成する回路で
あり、ORゲート40−1〜40−3と否定論理和ゲー
ト(以下、NORゲートという)41−1〜41−3と
で構成されている。また、第4図(b)・の回路は、被
乗数Xi、X1−1.X1−2から部分積±3Xiを生
成する回路であり、NORゲート42−1〜42−3と
ORゲート43−1.43−2で構成されている。なお
、各部分績“±3X、、2〜±3Xo、±3Xiの後に
付された符号Sは符号ビット、符号Vは通常ビットを表
わしている。When an n-bit multiplicand Xi (i=1 to n) is input, the circuit of FIG. 4(a) is used only when i=n, and O<
When i<n, the circuit shown in FIG. 4(b) is used. ±3X
The generation circuit 21 includes one circuit shown in FIG.
It is composed of 2> circuits shown in FIG. 4(b). The circuit of FIG. 4(a) is constructed from multiplicands X, This circuit generates ±3X, and is composed of OR gates 40-1 to 40-3 and negative OR gates (hereinafter referred to as NOR gates) 41-1 to 41-3. Further, the circuit shown in FIG. 4(b) has multiplicands Xi, X1-1. This circuit generates partial products ±3Xi from X1-2, and is composed of NOR gates 42-1 to 42-3 and OR gates 43-1 and 43-2. Note that the symbol S appended to each partial score "±3X, 2 to ±3Xo, ±3Xi" represents a sign bit, and the symbol V represents a normal bit.
第5図は、第1図中のシフトセレクト回路22のセレク
ト部分の回路図である。この回路は、前記文献■に記載
されているように、インバータ50−1〜50−8、論
理績ゲート(以下、ANDゲートという>51−1〜5
1−8、及びN。FIG. 5 is a circuit diagram of the select portion of the shift select circuit 22 in FIG. 1. This circuit includes inverters 50-1 to 50-8, logical logic gates (hereinafter referred to as AND gates), and
1-8, and N.
Rゲート52からなる8人力1出力選択回路を用いて、
3次ブースのアルゴリズムによる9種類の部分積0.±
X、±2X、±3X、±4Xから1種類Zを選択する機
能を有している。Using an 8-man power 1-output selection circuit consisting of R gates 52,
Nine types of partial products based on cubic Booth algorithm 0. ±
It has a function to select one type of Z from X, ±2X, ±3X, and ±4X.
第6図は、第1図中の中間和キャリー生成回路23の構
成例を示す回路図である。FIG. 6 is a circuit diagram showing a configuration example of the intermediate sum carry generation circuit 23 in FIG. 1.
この回路は、部分積の数(9種類)Xビット数だけ設け
られるもので、その単位回路は、被加数aiL ai及
び加数bi−1、biより、中間和Si及びキャリーC
1を生成するる機能を有し、NANDケー+−60−1
〜60−5、ORゲート61−1〜61−3、FORゲ
ート62−1.62−2、及びNORゲート63より構
成されている。This circuit is provided with the number of partial products (9 types) x the number of bits, and the unit circuit is constructed from the summand aiL ai and the addends bi-1, bi, and the intermediate sum Si and carry C
It has the function of generating 1, and the NAND card +-60-1
60-5, OR gates 61-1 to 61-3, FOR gates 62-1, 62-2, and NOR gate 63.
第7図は、第1図中のRB加算回路24の構成例を示す
回路図である。この回路は、部分積の数(9種類)Xビ
ット数だけ設けられるもので、その単位回路は、中間和
Si とキヤ1ノーC,を加算してR8表現の乗算結果
2.を出力する機能を有し、EORゲート70及びNA
NDゲート71−1〜71−3より構成されている。FIG. 7 is a circuit diagram showing an example of the configuration of the RB adder circuit 24 in FIG. 1. This circuit is provided with the number of partial products (9 types) x the number of bits, and its unit circuit adds the intermediate sum Si and the signal 1/no C, and then calculates the multiplication result 2 in R8 expression. EOR gate 70 and NA
It is composed of ND gates 71-1 to 71-3.
第8図は、第1図中のRB/B変換回路25の構成例を
示す要部回路図である。この回路は、出力ビット数だけ
設けられるもので、その単位回路は、R8表現の乗算結
果Ziから被減数Ciと減数diを生成するEORゲー
ト80で構成されている。FIG. 8 is a main circuit diagram showing an example of the configuration of the RB/B conversion circuit 25 in FIG. 1. This circuit is provided as many as the number of output bits, and its unit circuit is composed of an EOR gate 80 that generates a minuend Ci and a subtractive di from the multiplication result Zi in R8 expression.
次に、動作を説明する。Next, the operation will be explained.
乗数Yが3次ブースのデコーダ10に、被乗数Xが±3
X生成回路21にそれぞれ入力されると、3次ブースの
デコーダ10では、第2表に示す従来の3次ブースアル
ゴリズムを第3表に示すように4ビットの選択信号s8
.s2.s1.soにデコードする。The multiplier Y is input to the cubic Booth decoder 10, and the multiplicand X is ±3.
When input to the X generation circuit 21, the tertiary Booth decoder 10 converts the conventional tertiary Booth algorithm shown in Table 2 into a 4-bit selection signal s8 as shown in Table 3.
.. s2. s1. decode to so.
第3表
(但し、“−′°は不定)
即ち、第3表の3次ブースデコーダ真理値表に示すよう
に、乗数y3i+3〜y31が第3図のデコーダ10に
入力されると、その乗数y3i+3〜y31がEORゲ
ート30−1〜30−3、NANDゲート31−1〜3
1−5及びORゲート32−1 。Table 3 (however, "-'° is indeterminate)" That is, as shown in the cubic Booth decoder truth table in Table 3, when the multipliers y3i+3 to y31 are input to the decoder 10 in FIG. y3i+3 to y31 are EOR gates 30-1 to 30-3 and NAND gates 31-1 to 3
1-5 and OR gate 32-1.
32−2で論理がとられ、選択信号S、〜Soが出力さ
れてシフトセレクト回路22へ与えられる。Logic is determined at 32-2, and selection signals S, .about.So are output and applied to the shift select circuit 22.
一方、±3X生成回路21では、被乗数Xを入力し、(
2X+X>という加算を行うことにより、特に符号反転
を行わずに±3Xを生成し、それをシフトセレクト回路
22へ与える。通常のB数(2進数)の加算は、下位か
らの桁上げの伝搬が生じるが、この回路の入力である被
乗数XをRB数(冗長2進数)として扱うことによって
下位からの桁上げが1桁しか伝搬せず、一定時間で加算
が可能となる。この補数表現からR8表現への変換は容
易で、最上位桁のみ符号反転を行えばよく、その他の桁
はそのままでよい。また、前記文献■に記載されている
ように、R8表現は第4表に示す2値xis、xiv(
=xi )
第4表
で表わし、その加算は、第5表に示すR8表現の加算ア
ルゴリズムに従って実行される。On the other hand, the ±3X generation circuit 21 inputs the multiplicand X and (
By performing the addition 2X+X>, ±3X is generated without particularly inverting the sign, and this is provided to the shift select circuit 22. Normal addition of B numbers (binary numbers) causes propagation of carry from the lower order, but by treating the multiplicand X, which is the input of this circuit, as an RB number (redundant binary number), the carry from the lower order is 1. Only digits are propagated, and addition is possible in a fixed time. Conversion from this complement representation to R8 representation is easy; only the most significant digit needs to be inverted, and the other digits can be left as they are. Moreover, as described in the above-mentioned document (■), the R8 expression is the binary xis, xiv(
=xi) as shown in Table 4, and the addition is performed according to the R8 expression addition algorithm shown in Table 5.
第5表
第5表において、例えば被加数a・と加数biの■
うちの一方が“1”°で他方が“0゛°の場合は、1つ
下位の桁ai−1、bi−1の両方が正(“0′°は正
と考える)ならキャリーCi及び中間和Siが“°1.
T“°、少なくとも一方が負なら0,1”としている。Table 5 In Table 5, for example, if one of the summands a and bi is "1" and the other is "0", the next lower digit ai-1, bi- 1 is positive (“0′° is considered positive), then the carry Ci and the intermediate sum Si are “°1.
T "°, and if at least one of them is negative, it is 0, 1".
また、被加数aHと加数biのうちの一方が“TIIで
他方が“0′°の場合は、1つ下位の桁a・ 、b・
の両方が正ならキャリー+−1+−1
C・及び中間和Siが“0.T”°、少なくとも一方が
負なら“1.1”としている。Also, if one of the summand aH and the addend bi is "TII" and the other is "0'°, then the next lower digit a, b,
If both of are positive, the carry +-1+-1 C. and the intermediate sum Si are "0.T", and if at least one is negative, it is "1.1".
以上のことを用いて、入力である被乗数Xを特にR8表
現に変換することなく、R8表現として扱える。そのた
め、例えば被乗数Xがnビットの場合(XH、i=1〜
n) 、i=nのときのみ第4図(a)の回路を用い、
○<innのとき第4図(b)の回路を用い、第6表に
示すように符号化すれば、±3Xが求まる。Using the above, the input multiplicand X can be handled as an R8 expression without specifically converting it into an R8 expression. Therefore, for example, if the multiplicand X is n bits (XH, i=1~
n), using the circuit in Figure 4(a) only when i=n,
When ○<inn, by using the circuit shown in FIG. 4(b) and encoding as shown in Table 6, ±3X can be found.
第6表
±3X3X生成真理値表
この際、第3図のデコーダ10及び第4図の±3X3X
生成21から明らかなように、信号通過の最大素子段数
は共に3段であり、±3X生成が3次ブースのデコード
と同時にできるため、効率良く±3Xが生成でき、それ
がシフトセレクト回路22へ与えられる。Table 6 ±3X3X generation truth table In this case, decoder 10 in Figure 3 and ±3X3X in Figure 4
As is clear from the generation 21, the maximum number of element stages for signal passage is three, and since ±3X generation can be performed at the same time as the tertiary booth decoding, ±3X can be efficiently generated, and it is sent to the shift select circuit 22. Given.
シフトセレクト回路22では、被乗数Xと±3Xを入力
し、3次ブースアルゴ刀ズムによる9種類の部分積0.
±X、±2X、±3X、±4Xのうち、−X、±2X、
±4Xの5種類は、被乗数Xをそのシフトセレクト回路
22の入力部でシフトし、選択信号S3.S2.Sl、
Soにより選択することにより求め、同時にB/RB変
換も行っている。このような部分積±X、±2X、±3
X、±4Xは、第5図に示すシフトセレクト回路22中
のセレクト部分において、選択信号S、〜Soにより選
択され、信号Zの形で中間和キャリー生成回路23へ出
力される。ここで、部分積0は、選択信号S、が論理“
1゛′のとき、ANDゲート51−1〜51−8の出力
が論理II O11になることを利用して、その部分積
0を選択するようにしている。The shift select circuit 22 inputs the multiplicand X and ±3X, and selects nine types of partial products 0.
Among ±X, ±2X, ±3X, ±4X, -X, ±2X,
In the five types of ±4X, the multiplicand X is shifted at the input part of the shift select circuit 22, and the selection signal S3. S2. Sl,
It is obtained by selecting by So, and B/RB conversion is also performed at the same time. Such partial products ±X, ±2X, ±3
X, ±4X are selected by selection signals S, .about.So in the select portion of the shift select circuit 22 shown in FIG. Here, the partial product 0 means that the selection signal S is logic "
1'', the outputs of the AND gates 51-1 to 51-8 become logic II O11, so that the partial product 0 is selected.
中間和キャリー生成回路23は、シフトセレクト回路2
2で選択された部分積を、第5表のRB加算アルゴリズ
ムに従って中間和5is1Sivとキヤリ−C15,C
1vを生成する。即ち、第6図において、選択された部
分積の被加数ai5.aiv。The intermediate sum carry generation circuit 23 is a shift select circuit 2
The partial products selected in step 2 are divided into intermediate sum 5is1Siv and carry-C15,C according to the RB addition algorithm in Table 5.
Generate 1v. That is, in FIG. 6, the summand ai5. of the selected partial product. aiv.
ai−1s及び加数bis、biv、bi−1sが入力
されると、第7表の真理値表に従って中間和Si5.S
1vとキャリーCis、Civが生成され、それがRB
加算回路24へ出力される。When ai-1s and addends bis, biv, bi-1s are input, the intermediate sum Si5. S
1v and carry Cis, Civ are generated, which is RB
It is output to the adder circuit 24.
第7表
中間和キャリー生成回路真理値表
(但し、“−゛は不定)
この中間和キャリー生成回路23では、第4表に示すR
8表現を用いているので、第5表における1つ下位の桁
の正負判定では、1つ下位の桁の上位側(x Hs >
だけを判定すればいいので、それだけ素子数を削減でき
る。Table 7 Intermediate sum carry generation circuit truth table (however, "-" is undefined) In this intermediate sum carry generation circuit 23, R shown in Table 4 is
Since 8 representation is used, in the sign determination of the next lower digit in Table 5, the upper side of the next lower digit (x Hs >
Since it is only necessary to judge the number of elements, the number of elements can be reduced accordingly.
RB加算回路24では、第7図に示すように、中間和S
・ S・とキャリーCis、Civを入力し、それら
を第8表に示す真理値表に従って加算し、その加算結果
Z−Z・をRB/B変換回路25Is’ IV
へ出力する。In the RB adder circuit 24, as shown in FIG.
- Input S., carry Cis, and Civ, add them according to the truth table shown in Table 8, and output the addition result Z-Z. to the RB/B conversion circuit 25Is' IV.
第8表
なお、第8表の符号*で示す2つの組み合せは、桁上げ
が生じるため、それが存在しないように、第7図の回路
が構成されている。Table 8 Note that in the two combinations indicated by the symbol * in Table 8, a carry occurs, so the circuit of FIG. 7 is configured so that this does not exist.
RB/B変換回路25では、第8図において、加算結果
Zis、Zivを入力し、“は°゛になっている桁だけ
を集めた2進数の被減数C1と、“−1゛′になってい
る桁だけを集めた2進数の減数di とを出力する。R
B/B変換は、前記文献■に記載されているように、被
減数C・と減数d、との通常の減算により求まる。そこ
で、例えばキャリールックアヘッド(桁上げ先見器)型
減算器を用いて被減数Ci と減数diの減算を行えば
、その減算結果が被乗数Xと乗数Yとの積Pとなる。The RB/B conversion circuit 25 inputs the addition results Zis and Ziv in FIG. Outputs the binary subtractive number di, which collects only the digits that exist. R
The B/B conversion is determined by ordinary subtraction between the minuend C. and the subtrahend d, as described in the above-mentioned document (2). Therefore, for example, if a carry lookahead type subtracter is used to subtract the minuend Ci and the subtrahend di, the result of the subtraction will be the product P of the multiplicand X and the multiplier Y.
本実施例では、デコーダ10で3次ブースアルゴリズム
を用いると共に、内部演算回路20でR8表現を用いた
ので、次のような利点かある。In this embodiment, the decoder 10 uses the third-order Booth algorithm and the internal arithmetic circuit 20 uses the R8 expression, which has the following advantages.
(i) ±3X3X生成21における±3X生成が容
易、かつ高速に行え、しかもそれが3次ブースデコード
と同時に行えるため、見かけ上、その±3X生成に特別
な時間を要さない。(i) ±3X Generation The ±3X generation in 21 can be performed easily and quickly, and can be performed simultaneously with the tertiary Booth decoding, so that apparently no special time is required for the ±3X generation.
(ii) 被乗数X及び乗数Yの桁数が増加しても、
高速化が図れる。(ii) Even if the number of digits of multiplicand X and multiplier Y increases,
Speed-up can be achieved.
(iii) 3次ブースアルゴリズムを用いているの
で、部分積数の削減が図れる。(iii) Since the cubic Booth algorithm is used, the number of partial products can be reduced.
(iv) 回路構成が比較的簡単なため、LSI化や
VLSI化が容易である。(iv) Since the circuit configuration is relatively simple, it is easy to implement LSI or VLSI.
なお、本発明は図示の実施例に限定されず、処理すべき
演算の桁数に応じて第1図中の各回路を第3図〜第8図
以外の回路で構成する等、種々の変形が可能である。Note that the present invention is not limited to the illustrated embodiment, and may be modified in various ways, such as configuring each circuit in FIG. 1 with a circuit other than those in FIGS. 3 to 8 depending on the number of digits of the calculation to be processed. is possible.
(発明の効果)
以上詳細に説明したように、本発明によれば、3次ブー
スアルゴリズムを用いてデコーダで乗数Yをデコードし
、そのデコード結果に基づき、R8表現を用いた演算で
、乗算結果を算出するようにしなので、±3X生成が容
易、かつ高速に行え、しかもそれを3次ブースデコード
と同時に行えるため、見かけ上、その±3X生成に時間
を要さない。さらに、桁数が増加しても高速化が図れる
こと、部分積数の削減が図れること、回路構成が簡単な
なめにLSI化やVLSI化等が容易である等の効果が
期待できる。従って、種々の高速演算に適用できる。(Effects of the Invention) As described in detail above, according to the present invention, the multiplier Y is decoded by the decoder using the cubic Booth algorithm, and based on the decoding result, the multiplication result is Therefore, the ±3X generation can be performed easily and quickly, and since it can be performed simultaneously with the tertiary Booth decoding, it appears that no time is required for the ±3X generation. Furthermore, effects such as speeding up even when the number of digits increases, reduction in the number of partial products, and easy implementation into LSI or VLSI due to the simple circuit configuration can be expected. Therefore, it can be applied to various high-speed calculations.
第1図は本発明の実施例を示す乗算回路の構成ブロック
図、第2図は従来の乗算回路の構成ブロック図、第3図
は第1図中のデコーダの回路図、第4図(a>、(b)
は第1図中の±3X3X生成の回路図、第5図は第1図
中のシフトセレクト回路の要部回路図、第6図は第1図
中の中間和キャリー生成回路の回路図、第7図は第1図
中のRB加算回路の回路図、第8図は第1図中のRB/
B変換回路の要部回路図である。
10・・・・・・3次ブースのデコーダ、20・・・・
・・内部演算回路、21・・・・・・±3X3X生成、
22・・・・・・シフトセレクト回路、23・・・・・
・中間和キャリー生成回路、24・・・・・・RB加算
回路、25・・・・・・RB/B変換回路、S・・・・
・・選択信号、X・・・・・・被乗数、Y・・・・・・
乗数、P・・・・・・乗算結果。FIG. 1 is a block diagram of a multiplication circuit according to an embodiment of the present invention, FIG. 2 is a block diagram of a conventional multiplication circuit, FIG. 3 is a circuit diagram of a decoder in FIG. 1, and FIG. >, (b)
is a circuit diagram of the ±3X3X generation in Figure 1, Figure 5 is a circuit diagram of the main part of the shift select circuit in Figure 1, Figure 6 is a circuit diagram of the intermediate sum carry generation circuit in Figure 1, and Figure 6 is a circuit diagram of the intermediate sum carry generation circuit in Figure 1. Figure 7 is a circuit diagram of the RB adder circuit in Figure 1, and Figure 8 is a circuit diagram of the RB/RB adder circuit in Figure 1.
It is a principal part circuit diagram of a B conversion circuit. 10...Third booth decoder, 20...
...Internal calculation circuit, 21...±3X3X generation,
22...Shift select circuit, 23...
・Intermediate sum carry generation circuit, 24...RB addition circuit, 25...RB/B conversion circuit, S...
...Selection signal, X...Multiplicand, Y...
Multiplier, P... Multiplication result.
Claims (1)
Yの各桁と複数ビットの被乗数Xとを乗算して部分積を
求め、その部分積の総和を積とする乗算回路において、 前記乗数Yを1ビットオーバラップして4ビット毎に解
読する3次ブースのデコーダと、 演算時に各桁が−1、0、1の3値のいずれかをとり得
る冗長2進表現を用いて前記被乗数Xの±3倍を求める
±3X生成回路と、 前記冗長2進表現を用いて前記±3X生成回路の出力と
前記被乗数Xとを前記デコーダの出力で選択することに
より複数の部分積を生成するシフトセレクト回路と、 前記冗長2進表現を用いて前記複数の部分積の中間和と
キャリーを生成する中間和キャリー生成回路と、 前記冗長2進表現を用いて前記中間和キャリー生成回路
の出力を加算することによって積X・Yを出力する冗長
2進の加算回路と、 前記積X・Yを2進表現に変換する変換回路とを、 備えたことを特徴とする乗算回路。[Claims] In a multiplication circuit that uses the cubic Booth algorithm to obtain partial products by multiplying each digit of a multi-bit multiplier Y by a multi-bit multiplicand X, and uses the sum of the partial products as a product. , uses a cubic Booth decoder that decodes the multiplier Y every 4 bits with a 1-bit overlap, and a redundant binary representation in which each digit can take one of three values -1, 0, or 1 during calculation. a ±3X generation circuit that calculates ±3 times the multiplicand X by using the redundant binary representation; and a plurality of partial products by selecting the output of the ±3X generation circuit and the multiplicand a shift select circuit that generates an intermediate sum and carry of the plurality of partial products using the redundant binary representation; and an intermediate sum carry generation circuit that uses the redundant binary representation to generate an intermediate sum and carry of the plurality of partial products. A multiplication circuit comprising: a redundant binary addition circuit that outputs a product X and Y by adding the outputs of the two; and a conversion circuit that converts the product X and Y into a binary representation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1121872A JPH02300930A (en) | 1989-05-16 | 1989-05-16 | Multiplication circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1121872A JPH02300930A (en) | 1989-05-16 | 1989-05-16 | Multiplication circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02300930A true JPH02300930A (en) | 1990-12-13 |
Family
ID=14822017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1121872A Pending JPH02300930A (en) | 1989-05-16 | 1989-05-16 | Multiplication circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02300930A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473559A (en) * | 1993-01-14 | 1995-12-05 | Mitsubishi Denki Kabushiki Kaisha | Hardware implemented multiplier |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS603744A (en) * | 1983-06-15 | 1985-01-10 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | Multiplier |
JPS60163128A (en) * | 1984-02-02 | 1985-08-26 | Nec Corp | Multiplier circuit |
JPS6325729A (en) * | 1986-07-18 | 1988-02-03 | Matsushita Electric Ind Co Ltd | Arithmetic processor |
-
1989
- 1989-05-16 JP JP1121872A patent/JPH02300930A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS603744A (en) * | 1983-06-15 | 1985-01-10 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | Multiplier |
JPS60163128A (en) * | 1984-02-02 | 1985-08-26 | Nec Corp | Multiplier circuit |
JPS6325729A (en) * | 1986-07-18 | 1988-02-03 | Matsushita Electric Ind Co Ltd | Arithmetic processor |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473559A (en) * | 1993-01-14 | 1995-12-05 | Mitsubishi Denki Kabushiki Kaisha | Hardware implemented multiplier |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0713742A (en) | Multiplicaton device | |
JP2000259394A (en) | Floating point multiplier | |
JPH09269891A (en) | Method and device for adding partial product, method and device for multiplying floating point, and method and device for floating point product-sum operation | |
JPH01169531A (en) | Fast binary/decimal arithmetic logical computing apparatus and computing of binary coded decimal number | |
EP0811908B1 (en) | Two's complement multiplier | |
Timarchi et al. | Arithmetic circuits of redundant SUT-RNS | |
JP2970231B2 (en) | Parallel multiplication circuit | |
JPH0573269A (en) | Adder | |
JP4273071B2 (en) | Divide and square root calculator | |
Kaivani et al. | Improving the speed of decimal division | |
JP3660075B2 (en) | Dividing device | |
Timarchi et al. | A unified addition structure for moduli set {2 n− 1, 2 n, 2 n+ 1} based on a novel RNS representation | |
JPH02300930A (en) | Multiplication circuit | |
JPH11126157A (en) | Method and circuit for multiplication | |
Kwak et al. | High-speed CORDIC based on an overlapped architecture and a novel σ-prediction method | |
Prusty et al. | A modified redundant binary adder for efficient VLSI architecture | |
Jaberipur et al. | A Parallel Prefix Modulo-(2 q+ 2 q− 1+ 1) Adder via Diminished-1 Representation of Residues | |
JP3540807B2 (en) | Adders, multipliers, and integrated circuits | |
Shapran et al. | DIVISION USING THE BASE RADIX16 NUMBER SYSTEM TO FORM FRACTION DIGITS | |
JPH0667852A (en) | Divider | |
sadat Hoseininasab et al. | A Method for Single Radix-10 constant multiplication | |
Vijaya Vardhan et al. | Ultra-Low-Power Modulo Adder with Thermometer Coding for Uncertain RNS Applications | |
Natarajan et al. | Arithmetic Operations and Circuits | |
JP2000187584A (en) | Arithmetic circuit | |
JP2777265B2 (en) | High radix square root arithmetic unit |