JP3435744B2 - Multiplication circuit - Google Patents

Multiplication circuit

Info

Publication number
JP3435744B2
JP3435744B2 JP22412993A JP22412993A JP3435744B2 JP 3435744 B2 JP3435744 B2 JP 3435744B2 JP 22412993 A JP22412993 A JP 22412993A JP 22412993 A JP22412993 A JP 22412993A JP 3435744 B2 JP3435744 B2 JP 3435744B2
Authority
JP
Japan
Prior art keywords
multiplication
bits
bit
multiplier
modified
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.)
Expired - Fee Related
Application number
JP22412993A
Other languages
Japanese (ja)
Other versions
JPH0784763A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP22412993A priority Critical patent/JP3435744B2/en
Publication of JPH0784763A publication Critical patent/JPH0784763A/en
Application granted granted Critical
Publication of JP3435744B2 publication Critical patent/JP3435744B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、音声処理や、図形処理
に必要な演算等を高速に実行するために開発された、い
わゆるDSP(digital signal processor)等に搭載し
て好適な乗算回路に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiplication circuit suitable for mounting on a so-called DSP (digital signal processor) or the like, which is developed for high-speed execution of operations required for voice processing and graphic processing. .

【0002】[0002]

【従来の技術】従来、2進数の乗算法としてシフト・ア
ンド・アッド(shift and add)法が知られており、こ
のシフト・アンド・アッド法を実行する方法として、並
列乗算器による方法や、2ビット・ブース(2bit−Bo
oth)の方法が知られている。
2. Description of the Related Art Conventionally, a shift and add method has been known as a binary multiplication method. As a method for executing this shift and add method, a method using a parallel multiplier, 2-bit booth (2bit-Bo
oth) method is known.

【0003】並列乗算器による方法は、被乗数Xと乗数
Yとの乗算を行う場合、数1に、たとえば、8ビット×
8ビット→16ビットの乗算を行う場合を例にして示す
ように、被乗数Xに乗数Yの1ビットを掛け合わせた部
分積を算出して、これら部分積を加算することにより、
乗算結果Z14〜Z0を得るというものである。なお、
数1において、S−SSは符号拡張を表わしている。
In the method using the parallel multiplier, when the multiplicand X and the multiplier Y are multiplied, the number 1 is, for example, 8 bits ×
As shown in the example of performing multiplication of 8 bits → 16 bits, a partial product obtained by multiplying the multiplicand X by 1 bit of the multiplier Y is added, and these partial products are added,
The multiplication results Z14 to Z0 are obtained. In addition,
In Expression 1, S-SS represents sign extension.

【0004】[0004]

【数1】 [Equation 1]

【0005】また、2ビット・ブースの方法は、数2
に、たとえば、8ビット×8ビット→16ビットの乗算
の場合を例にして示すように、乗数Yの最下位ビットY
0から2ビット単位での乗算を、最下位評価ビットとし
て0を設定し、表1に示すように、評価ビットを
2j+2 、y 2j+1 、y 2j として部分積の操作を行うことに
より、乗算結果Z14〜Z0を得るというものである。
The 2-bit booth method is represented by
For example, as shown in the case of multiplication of 8 bits × 8 bits → 16 bits, the least significant bit Y of the multiplier Y is
Multiply from 0 by 2 bits, set 0 as the least significant evaluation bit, and perform partial product operation with the evaluation bits y 2j + 2 , y 2j + 1 , y 2j as shown in Table 1. Thus, the multiplication results Z14 to Z0 are obtained.

【0006】なお、この2ビット・ブースの方法では、
数値は全て2の補数表現とされ、符号は符号拡張とされ
る。
In this 2-bit booth method,
All numerical values are represented in 2's complement, and signs are sign-extended.

【0007】[0007]

【数2】 [Equation 2]

【0008】[0008]

【表1】 [Table 1]

【0009】この2ビット・ブースの方法は、並列乗算
器による乗算方法に比較して、生成される部分積の個数
を減らし、加算過程を短縮することができるという利点
を有している。
The 2-bit Booth method has the advantage that the number of partial products generated can be reduced and the addition process can be shortened, as compared with the multiplication method using a parallel multiplier.

【0010】[0010]

【発明が解決しようとする課題】しかし、この2ビット
・ブースの方法であっても、これを論理回路にする場
合、桁が大きくなると、加算の段数が多くなり、この結
果、演算に多大の時間を要し、論理量も増大してしまう
という問題点があった。
However, even with this 2-bit Booth method, when this is used as a logic circuit, the number of stages of addition increases as the number of digits increases, and as a result, a large number of operations are required. There is a problem that it takes time and the amount of logic increases.

【0011】本発明は、かかる点に鑑み、加算の段数を
減らし、演算時間を短縮すると共に、処理すべき論理量
を減らすことができるようにした乗算回路を提供するこ
とを目的とする。
SUMMARY OF THE INVENTION In view of the above points, an object of the present invention is to provide a multiplication circuit capable of reducing the number of stages of addition, shortening the operation time, and reducing the amount of logic to be processed.

【0012】[0012]

【課題を解決するための手段】図1は本発明による乗算
回路の原理を示す図であり、本発明の乗算回路は2nビ
ット×2nビット→2nビット(結果の下位2nビット
は、切り捨て)の乗算を行うとするものである。
FIG. 1 is a diagram showing the principle of a multiplication circuit according to the present invention. The multiplication circuit of the present invention has 2n bits × 2n bits → 2n bits (the lower 2n bits of the result are rounded down). It is assumed that multiplication is performed.

【0013】図中、Xは2nビットの被乗数(但し、n
=2以上の整数)、x1は被乗数Xの上位nビット、x0
は被乗数Xの下位nビット、Yは2nビットの乗数、y
1は乗数Yの上位nビット、y0は乗数Yの下位nビット
を示している。
In the figure, X is a multiplicand of 2n bits (where n is
= Integer greater than or equal to 2), x 1 is the upper n bits of the multiplicand X, x 0
Is the lower n bits of the multiplicand X, Y is the multiplier of 2n bits, y
1 indicates the upper n bits of the multiplier Y, and y 0 indicates the lower n bits of the multiplier Y.

【0014】また、10は乗算部であり、x1を被乗
数、y0を乗数とする乗算x1×y0、x 0を被乗数、y0
を乗数とする乗算x0×y0、x1を被乗数、y1を乗数と
する乗算x1×y1、x0を被乗数、y1を乗数とする乗算
0×y1を行うものである。
Further, 10 is a multiplication unit, and x1To be
Number, y0Multiplication with x as the multiplier1Xy0, X 0Is the multiplicand, y0
Multiplication with x as the multiplier0Xy0, X1Is the multiplicand, y1And the multiplier
Multiplication x1Xy1, X0Is the multiplicand, y1Multiplication with a multiplier
x0Xy1Is to do.

【0015】但し、この乗算部10は、乗算x1×y0
ついては、y0の評価ビットをy0.2 J+2、y0.2J+1
0.2J(但し、J=0、1・・・n/2)と記す場合
に、y0.2 J+2=1、y0.2J+1=0、y0.2J=0の場合に
は、部分積の操作について、x1の反転数(1の補数)
を左へ1ビットシフトした値を加えて2ビット右へシフ
トし、y0.2J+2=1、y0.2J+1=0、y0.2J=1の場
合、及び、y0.2J+2=1、y0. 2J+1=1、y0.2J=0の
場合には、部分積の操作について、x1の反転数を加え
て2ビット右へシフトするように修正された第1の2ビ
ット・ブースの方法に基づいて乗算を行うものである。
However, the multiplying unit 10 performs multiplication x1Xy0To
For y0The evaluation bit of y0.2 J + 2, Y0.2J + 1,
y0.2J(However, when J = 0, 1 ... n / 2)
To y0.2 J + 2= 1, y0.2J + 1= 0, y0.2JWhen = 0
X for partial product operations1Inversion number (1's complement)
Shift 1 bit to the left and add 2 bits to the right
And y0.2J + 2= 1, y0.2J + 1= 0, y0.2J= 1
And y0.2J + 2= 1, y0. 2J + 1= 1, y0.2J= 0
In some cases, for partial product operations, x1Add the inversion number of
The first 2 bits modified to shift right by 2 bits.
The multiplication is performed based on the method of T. Booth.

【0016】また、この乗算部10は、乗算x0×y0
ついては、符号は0を拡張するように修正された第2の
2ビット・ブースの方法に基づいて乗算を行うものであ
る。
Further, the multiplication section 10 performs multiplication for the multiplication x 0 × y 0 based on the second 2-bit Booth method in which the code is modified so as to extend 0.

【0017】また、この乗算部10は、乗算x1×y1
ついては、y1の評価ビットをy1.2 J+2、y1.2J+1
1.2Jと記す場合に、最下位評価ビットの値をy0の最
上位ビットの値Mとし、y1.2J+2=1、y1.2J+1=0、
1.2J=0の場合には、部分積の操作について、x1
反転数を左へ1ビットシフトした値を加えて2ビット右
へシフトし、y1.2J+2=1、y1.2J+1=0、y1.2J=1
の場合、及び、y1.2J+2=1、y1.2J+1=1、y1.2J
0の場合には、部分積の操作について、x1の反転数を
左へ1ビットシフトした値を加えて2ビット右へシフト
するように修正された第3の2ビット・ブースの方法に
基づいて加算を行うものである。
[0017] The multiplication unit 10, for multiplying x 1 × y 1 is, y 1 evaluation bit y 1. 2 J + 2, y 1. 2J + 1,
y 1. when referred to 2J, the value of the least significant evaluation bit value M of the most significant bit of y 0, y 1. 2J + 2 = 1, y 1. 2J + 1 = 0,
y 1. In the case of 2J = 0, for the operation of the partial product, by adding a value obtained by 1-bit shift to left reversal number of x 1 is shifted to the right by 2 bits, y 1. 2J + 2 = 1, y 1. 2J + 1 = 0, y 1. 2J = 1
Cases, and, y 1. 2J + 2 = 1, y 1. 2J + 1 = 1, y 1. 2J =
In the case of 0, the operation of the partial product is based on the third 2-bit Booth method modified by adding the value obtained by shifting the inverted number of x 1 by 1 bit to the left and shifting it to the right by 2 bits. The addition is performed.

【0018】また、この乗算部10は、乗算x0×y1
ついては、最下位評価ビットの値をy0の最上位ビット
の値Mとし、符号は0を拡張するように修正された第4
の2ビット・ブースの方法に基づいて乗算を行うもので
ある。
Further, for the multiplication x 0 × y 1 , the multiplication unit 10 sets the value of the least significant evaluation bit to the value M of the most significant bit of y 0 , and the code is modified to extend 0. Four
Multiplication is performed based on the 2-bit Booth's method.

【0019】また、11は加算部であり、この加算部1
1は、乗算x1×y0、x0×y0、x 1×y1、x0×y1
乗算結果z1、z2、z3、z4について、x1×y0、x0
×y1の乗算結果z1、z4については、桁を同一にし、
乗算x0×y0の乗算結果z2については、x1×y0、x0
×y1の乗算結果z1、z4に対して、nビット右へシフ
トし、乗算x1×y1の乗算結果z3については、乗算x1
×y0、x0×y1の乗算結果z1、z4に対して、nビッ
ト左へシフトした状態で、加算を行うものである。
Numeral 11 is an adder, and this adder 1
1 is multiplication x1Xy0, X0Xy0, X 1Xy1, X0Xy1of
Multiplication result z1, Z2, Z3, ZFourFor x1Xy0, X0
Xy1Multiplication result of z1, ZFourFor, make the digits the same,
Multiplication x0Xy0Multiplication result of z2For x1Xy0, X0
Xy1Multiplication result of z1, ZFourTo n right shift
And multiply x1Xy1Multiplication result of z3For, multiply x1
Xy0, X0Xy1Multiplication result of z1, ZFourAgainst n bit
In the state of shifting to the left, the addition is performed.

【0020】[0020]

【作用】本発明においては、被乗数Xの上位nビットx
1、被乗数Xの下位nビットx0、乗数Yの上位nビット
1、乗数Yの下位nビットy0が乗算部10に転送され
る。
In the present invention, the upper n bits x of the multiplicand X are
1 , the lower n bits x 0 of the multiplicand X, the upper n bits y 1 of the multiplier Y, and the lower n bits y 0 of the multiplier Y are transferred to the multiplication unit 10.

【0021】ここに、乗算部10においては、x1を被
乗数、y0を乗数とする乗算x1×y0と、x0を被乗数、
0を乗数とする乗算x0×y0と、x1を被乗数、y1
乗数とする乗算x1×y1と、x0を被乗数、y1を乗数と
する乗算x0×y1が行われる。
[0021] Here, the multiplying unit 10, the multiplicand a x 1, and multiplying x 1 × y 0 to multiplier of y 0, the multiplicand a x 0,
a multiplying x 0 × y 0 to the y 0 and the multiplier, the multiplicand a x 1, and multiplying x 1 × y 1 to the multiplier of y 1, the multiplicand a x 0, multiplying x 0 × y 1 to the multiplier of y 1 Is done.

【0022】この場合、乗算x1×y0については、y0.
2J+2=1、y0.2J+1=0、y0.2J=0の場合には、部分
積の操作について、x1の反転数を左へ1ビットシフト
した値を加えて2ビット右へシフトし、y0.2J+2=1、
0.2J+1=0、y0.2J=1の場合、及び、y0.2J+2
1、y0.2J+1=1、y0.2J=0の場合には、部分積の操
作について、x1の反転数を加えて2ビット右へシフト
するように修正された第1の2ビット・ブースの方法に
基づいて乗算が行われる。即ち、表2に基づいた部分積
の操作による乗算が行われる。
In this case, for the multiplication x 1 × y 0 , y 0 ..
2J + 2 = 1, y 0 . 2J + 1 = 0, y 0. In the case of 2J = 0, for the operation of the partial product, 2-bit inversion number by adding 1-bit shift value to the left of x 1 It shifted to the right, y 0. 2J + 2 = 1,
y 0. 2J + 1 = 0 , y 0. For 2J = 1, and, y 0. 2J + 2 =
If 1, y 0 .2J + 1 = 1 and y 0 .2J = 0, then for the operation of the partial product, the first modified by adding the inversion number of x 1 to shift right by 2 bits. The multiplication is performed based on the 2-bit Booth method. That is, the multiplication by the operation of the partial product based on Table 2 is performed.

【0023】[0023]

【表2】 [Table 2]

【0024】また、乗算x0×y0については、符号は0
を拡張するように修正された第2の2ビット・ブースの
方法に基づいて乗算が行われる。即ち、表3に基づいた
部分積の操作による乗算が行われる。なお、2の補数と
は、反転数(1の補数)の最下位ビットに1を加えたも
のである。
The sign of the multiplication x 0 × y 0 is 0.
The multiplication is performed based on the second 2-bit Booth method modified to extend That is, the multiplication is performed by the operation of the partial product based on Table 3. The two's complement is the least significant bit of the inversion number (the one's complement) plus one.

【0025】[0025]

【表3】 [Table 3]

【0026】また、乗算x1×y1については、最下位評
価ビットの値をy0の最上位ビットの値Mとし、y1.
2J+2=1、y1.2J+1=0、y1.2J=0の場合には、部分
積の操作について、x1の反転数を左へ1ビットシフト
した値を加えて2ビット右へシフトし、また、y1.2J+2
=1、y1.2J+1=0、y1.2J=1の場合、及び、y1.2J
+2=1、y1.2J+1=1、y1.2J=0の場合には、部分積
の操作について、x1の反転数を加えて2ビット右へシ
フトするように修正された第3の2ビット・ブースの方
法に基づいて乗算が行われる。即ち、表4に基づいた部
分積の操作による乗算が行われる。
For multiplication x 1 × y 1 , the value of the least significant evaluation bit is set to the value M of the most significant bit of y 0 , and y 1 ..
2J + 2 = 1, y 1 . 2J + 1 = 0, y 1. In the case of 2J = 0, for the operation of the partial product, 2-bit inversion number by adding 1-bit shift value to the left of x 1 It shifted to the right, also, y 1. 2J + 2
= 1, y 1. 2J + 1 = 0, y 1. For 2J = 1, and, y 1. 2J
+2 = 1, y 1. In the case of 2J + 1 = 1, y 1 . 2J = 0 , for the operation of the partial product, which is modified to shift by adding an inverted number of x 1 to 2 bits to the right The multiplication is performed based on the third 2-bit Booth method. That is, the multiplication is performed by the operation of the partial product based on Table 4.

【0027】[0027]

【表4】 [Table 4]

【0028】また、乗算x0×y1については、最下位評
価ビットの値をy0の最上位ビットの値Mとし、符号は
0を拡張するように修正された第4の2ビット・ブース
の方法に基づいて乗算が行われる。即ち、表5に基づい
た部分積の操作による乗算が行われる。
For the multiplication x 0 × y 1 , the value of the least significant evaluation bit is set to the value M of the most significant bit of y 0 , and the code is modified to extend 0 to a fourth 2-bit Booth. The multiplication is performed based on the method of. That is, the multiplication is performed by the operation of the partial product based on Table 5.

【0029】[0029]

【表5】 [Table 5]

【0030】そして、加算部11において、乗算x1×
0、x0×y0、x1×y1、x0×y1の乗算結果z1、z
2、z3、z4について、x1×y0、x0×y1の乗算結果
1、z4については、桁を同一にし、乗算x0×y0の乗
算結果z2については、x1×y0、x0×y1の乗算結果
1、z4に対して、nビット右へシフトし、乗算x1×
1の乗算結果z3については、乗算x1×y0、x0×y1
の乗算結果z1、z4に対して、nビット左へシフトした
状態での加算が行われ、ここに、被乗数をX、乗数をY
とする2nビット×2nビット→2nビット(結果の下
位2ビットは切り捨て)の乗算が完了する。
Then, in the adder 11, multiplication x 1 ×
multiplication results z 1 , z of y 0 , x 0 × y 0 , x 1 × y 1 , x 0 × y 1.
For 2 , z 3 and z 4 , the digits of the multiplication results z 1 and z 4 of x 1 × y 0 and x 0 × y 1 are the same, and the multiplication result z 2 of multiplication x 0 × y 0 is The multiplication results z 1 and z 4 of x 1 × y 0 and x 0 × y 1 are shifted to the right by n bits, and multiplication x 1 ×
Regarding the multiplication result z 3 of y 1 , multiplication x 1 × y 0 , x 0 × y 1
The multiplication results z 1 and z 4 are added in the state of being shifted to the left by n bits, where the multiplicand is X and the multiplier is Y.
2n bits × 2n bits → 2n bits (the lower 2 bits of the result are rounded down) are completed.

【0031】ここに、本発明による乗算回路を適用し
て、0111,0101,1111,1011,101
0,1111,1000,01112(1979428
7431 0)を被乗数Xとし、1010,0001,01
01,0110,1011,1110,0011,11
102(−158815072210)を乗数Yとする乗
算を行う場合の演算内容を示すと、次のようになる。
The multiplication circuit according to the present invention is applied here to 0111, 0101, 1111, 1011 and 101.
0,1111,1000,0111 2 (1979428
743 1 0) as the multiplicand X, 1010,0001,01
01, 0110, 1011, 1110, 0011, 11
The content of the calculation in the case of performing multiplication with 10 2 (−1588150722 10 ) as the multiplier Y is as follows.

【0032】この場合、x1=0111,0101,1
111,1011、x0=1010,1111,100
0,0111、y1=1010,0001,0101,
0110、y0=1011,1110,0011,11
10となる。
In this case, x 1 = 0111,0101,1,
111, 1011, x 0 = 1010, 1111, 100
0,0111, y 1 = 1010,000,0101,
0110, y 0 = 1011, 1110, 0011, 11
It becomes 10.

【0033】したがって、乗算x1×y0の演算は数3に
示すように行われ、乗算x0×y0の演算は数4に示すよ
うに行われ、乗算x1×y1の演算は数5に示すように行
われ、乗算x0×y1の演算は数6に示すように行われ、
乗算x1×y0、x0×y0、x 1×y1、x0×y1の乗算結
果z1、z2、z3、z4の加算は数7に示すように行われ
る。
Therefore, the multiplication x1Xy0Is calculated in Equation 3
Done as shown, multiplication x0Xy0The calculation of is shown in Equation 4.
And multiply x1Xy1Is calculated as shown in Equation 5.
I multiply x0Xy1Is calculated as shown in Equation 6,
Multiplication x1Xy0, X0Xy0, X 1Xy1, X0Xy1Multiplication of
Fruit z1, Z2, Z3, ZFourIs added as shown in Equation 7.
It

【0034】[0034]

【数3】 [Equation 3]

【0035】[0035]

【数4】 [Equation 4]

【0036】[0036]

【数5】 [Equation 5]

【0037】[0037]

【数6】 [Equation 6]

【0038】[0038]

【数7】 [Equation 7]

【0039】このように、本発明においては、2nビッ
トの被乗数Xと、2nビットの乗数Yとの乗算を行う場
合に、被乗数Xを上位nビットのx1と、下位nビット
のx0とに分け、また、乗数Yを上位nビットのy1と、
下位nビットのy0とに分けている。
As described above, according to the present invention, when the 2n-bit multiplicand X and the 2n-bit multiplier Y are multiplied, the multiplicand X is set to the upper n bits x 1 and the lower n bits x 0 . , And multiply the multiplier Y by y 1 of the upper n bits,
It is divided into y 0 of the lower n bits.

【0040】そして、x1を被乗数、y0を乗数とする乗
算x1×y0と、x0を被乗数、y0を乗数とする乗算x0
×y0と、x1を被乗数、y1を乗数とする乗算x1×y1
と、x 0を被乗数、y1を乗数とする乗算x0×y1とを、
それぞれ、表2、表3、表4、表5に示す修正された第
1、第2、第3、第4の2ビット・ブースの方法で行
い、これら乗算x1×y0、x0×y0、x1×y1、x0×
1の乗算結果z1、z2、z 3、z4を、図1に示す加算
部11を示すブロック内に示した所定の規則の下に加算
するとしている。
And x1Is the multiplicand, y0Power with
Arithmetic x1Xy0And x0Is the multiplicand, y0Multiplication with x as the multiplier0
Xy0And x1Is the multiplicand, y1Multiplication with x as the multiplier1Xy1
And x 0Is the multiplicand, y1Multiplication with x as the multiplier0Xy1And
The modified numbers shown in Table 2, Table 3, Table 4, and Table 5, respectively.
1st, 2nd, 3rd, 4th 2-bit booth method
Yes, these multiplication x1Xy0, X0Xy0, X1Xy1, X0×
y1Multiplication result of z1, Z2, Z 3, ZFourIs added as shown in Figure 1.
Add under the given rules shown in the block showing part 11
I'm supposed to.

【0041】したがって、本発明によれば、加算段数を
減らし、乗算時間を短縮化すると共に、処理すべき論理
量を低減化することができる。
Therefore, according to the present invention, the number of addition stages can be reduced, the multiplication time can be shortened, and the logical amount to be processed can be reduced.

【0042】なお、乗算x1×y0、x0×y0、x1×
1、x0×y1を修正された第1、第2、第3、第4の
2ビット・ブースの方法で行うことは一例であり、これ
らの方法以外で行うこともできることは勿論である。
The multiplications x 1 × y 0 , x 0 × y 0 , x 1 ×
Performing y 1 , x 0 × y 1 by the modified first, second, third, and fourth 2-bit Booth method is an example, and needless to say, it can be performed by a method other than these methods. is there.

【0043】[0043]

【実施例】以下、図2〜図7を参照して、本発明による
乗算回路の第1実施例〜第5実施例及び第4実施例の使
用例について説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, referring to FIGS. 2 to 7, examples of use of the first to fifth and fourth embodiments of the multiplication circuit according to the present invention will be described.

【0044】第1実施例・・図2 図2は本発明の第1実施例を示す回路図であり、20は
被乗数Xを格納する2nビットのレジスタ、21は乗数
Yを格納する2nビットのレジスタ、22は演算結果を
格納する2nビットのレジスタ、23はレジスタ20〜
22を制御する制御部である。
FIG. 2 is a circuit diagram showing a first embodiment of the present invention, in which 20 is a 2n-bit register for storing a multiplicand X and 21 is a 2n-bit register for storing a multiplier Y. A register, 22 is a 2n-bit register for storing the calculation result, and 23 is a register 20-
22 is a control unit for controlling 22.

【0045】また、24は表2又は表4に基づいてnビ
ット×nビット→2nビットの乗算を行う乗算器、25
は表3又は表5に基づいてnビット×nビット→2nビ
ットの乗算を行う乗算器である。
Further, 24 is a multiplier for multiplying n bits × n bits → 2n bits based on Table 2 or Table 4, 25
Is a multiplier that performs multiplication of n bits × n bits → 2n bits based on Table 3 or Table 5.

【0046】また、26は乗算器24、25から出力さ
れる乗算結果と、レジスタ22の格納値とについて、3
nビット+3nビットの加算を行う加算器である。
Reference numeral 26 denotes the multiplication result output from the multipliers 24 and 25, and the value stored in the register 22.
It is an adder that adds n bits and 3n bits.

【0047】この第1実施例においては、2nビット×
2nビット→2nビットの乗算が行われる場合、レジス
タ20に2nビットの被乗数Xが格納され、レジスタ2
1に2nビットの乗数Yが格納され、レジスタ22はク
リアされる。
In this first embodiment, 2n bits ×
When multiplication of 2n bits → 2n bits is performed, the 2n-bit multiplicand X is stored in the register 20, and the register 2
The 2n-bit multiplier Y is stored in 1 and the register 22 is cleared.

【0048】次に、レジスタ20が格納する被乗数Xの
うち、上位nビットx1が被乗数として乗算器24に転
送され、下位ビットx0が乗算器25に転送されると共
に、レジスタ21が格納する乗数Yのうち、下位ビット
0が乗数として乗算器24、25に転送される。
Next, of the multiplicand X stored in the register 20, the upper n bits x 1 are transferred to the multiplier 24 as the multiplicand, the lower bits x 0 are transferred to the multiplier 25, and the register 21 stores them. Of the multiplier Y, the lower bit y 0 is transferred to the multipliers 24 and 25 as a multiplier.

【0049】ここに、乗算器24においては、表2に基
づいて、x1×y0なる乗算が行われ、その乗算結果z1
が加算器26に転送され、乗算器25においては、表3
に基づいて、x0×y0なる乗算が行われ、その乗算結果
2が加算器26に転送される。
Here, in the multiplier 24, multiplication of x 1 × y 0 is performed based on Table 2, and the multiplication result z 1
Is transferred to the adder 26, and in the multiplier 25,
Based on the above, the multiplication x 0 × y 0 is performed, and the multiplication result z 2 is transferred to the adder 26.

【0050】加算器26においては、乗算x1×y0の乗
算結果z1と、乗算x0×y0の乗算結果z2とについて、
乗算結果z1については、その最下位ビットが加算の際
の最下位ビットとなるようにし、乗算結果z2について
は、n+1ビット目が加算の際の最下位ビットとなるよ
うにした状態で、3nビット+3nビットの加算が行わ
れ、この加算結果のうち、上位2nビットがレジスタ2
2に格納される。
[0050] In the adder 26, for the multiplication result z 1 of the multiplication x 1 × y 0, the multiplication result z 2 of the multiplication x 0 × y 0,
For the multiplication result z 1 , the least significant bit is the least significant bit at the time of addition, and for the multiplication result z 2 , the n + 1th bit is the least significant bit at the time of addition, 3n bits + 3n bits are added, and the upper 2n bits of the addition result are in register 2
Stored in 2.

【0051】次に、レジスタ21が格納する乗数Yのう
ち、上位nビットy1が乗数として乗算器24、25に
転送されると共に、最下位評価ビットとして、乗数Yの
下位ビットy0の最上位ビットMが乗算器24、25に
転送される。
Next, of the multiplier Y stored in the register 21, the upper n bits y 1 are transferred as multipliers to the multipliers 24 and 25, and the least significant bit y 0 of the multiplier Y is used as the least significant evaluation bit. The high-order bit M is transferred to the multipliers 24 and 25.

【0052】ここに、乗算器24においては、表4に基
づいて、x1×y1なる乗算が行われ、その乗算結果z3
が加算器26に転送され、乗算器25においては、表5
に基づいて、x0×y1なる乗算が行われ、その乗算結果
4が加算器26に転送される。
Here, in the multiplier 24, the multiplication x 1 × y 1 is performed based on Table 4, and the multiplication result z 3
Is transferred to the adder 26, and in the multiplier 25,
Based on the above, the multiplication x 0 × y 1 is performed, and the multiplication result z 4 is transferred to the adder 26.

【0053】加算器26においては、乗算x1×y1の乗
算結果z3と、乗算x0×y1の乗算結果z4と、レジスタ
22の格納値について、乗算結果z3については、その
最上位ビットが加算の際の最上位ビットとなるように
し、乗算結果z4については、その最下位ビットが加算
の際の最下位ビットとなるようにし、レジスタ22の格
納値については、その最上位ビットが加算の際の最上位
ビットとなるようにした状態で、3nビット+3nビッ
トの加算が行われ、この加算結果のうち、上位2nビッ
トがレジスタ22に格納される。
[0053] In the adder 26, the multiplication result z 3 of the multiplication x 1 × y 1, the multiplication result z 4 of the multiplication x 0 × y 1, the value stored in the register 22, the multiplication result z 3, the The most significant bit is the most significant bit during the addition, the least significant bit of the multiplication result z 4 is the least significant bit during the addition, and the stored value of the register 22 is the least significant bit. 3n bits + 3n bits are added in a state where the upper bits are the most significant bits at the time of addition, and the upper 2n bits of the addition result are stored in the register 22.

【0054】ここに、2nビットの被乗数Xと2nビッ
トの乗数Yとについて、2nビット×2nビット→2n
ビットなる乗算の結果がレジスタ22に得られ、乗算は
完了する。
Here, regarding the 2n-bit multiplicand X and the 2n-bit multiplier Y, 2n bits × 2n bits → 2n
The result of the bit multiplication is obtained in the register 22, and the multiplication is completed.

【0055】このように、この第1実施例においては、
2nビットの被乗数Xと2nビットの乗数Yとの乗算を
行う場合、被乗数Xを上位nビットのx1と下位nビッ
トのx0とに分け、乗数Yを上位nビットのy1と下位n
ビットのy0とに分けるようにしている。
As described above, in the first embodiment,
When multiplying the 2n-bit multiplicand X and the 2n-bit multiplier Y, the multiplicand X is divided into upper n bits x 1 and lower n bits x 0 , and the multiplier Y is divided into upper n bits y 1 and lower n.
It is divided into bits y 0 .

【0056】そして、x1を被乗数、y0を乗数とする乗
算x1×y0と、x0を被乗数、y0を乗数とする乗算x0
×y0と、x1を被乗数、y1を乗数とする乗算x1×y1
と、x 0を被乗数、y1を乗数とする乗算x0×y1とを、
それぞれ、表2、表3、表4、表5に示す修正された第
1、第2、第3、第4の2ビット・ブースの方法で行
い、これら乗算x1×y0、x0×y0、x1×y1、x0×
1の乗算結果z1、z2、z 3、z4を、図1に示す加算
部11を示すブロック内に示した所定の規則の下に加算
するとしている。
And x1Is the multiplicand, y0Power with
Arithmetic x1Xy0And x0Is the multiplicand, y0Multiplication with x as the multiplier0
Xy0And x1Is the multiplicand, y1Multiplication with x as the multiplier1Xy1
And x 0Is the multiplicand, y1Multiplication with x as the multiplier0Xy1And
The modified numbers shown in Table 2, Table 3, Table 4, and Table 5, respectively.
1st, 2nd, 3rd, 4th 2-bit booth method
Yes, these multiplication x1Xy0, X0Xy0, X1Xy1, X0×
y1Multiplication result of z1, Z2, Z 3, ZFourIs added as shown in Figure 1.
Add under the given rules shown in the block showing part 11
I'm supposed to.

【0057】したがって、この第1実施例によれば、加
算段数を減らし、乗算時間を短縮すると共に、論理量を
低減化することができる。
Therefore, according to the first embodiment, the number of addition stages can be reduced, the multiplication time can be shortened, and the logical amount can be reduced.

【0058】第2実施例・・図3 図3は本発明の第2実施例を示す回路図であり、図中、
30は2nビットの被乗数Xの上位nビットx1が格納
されるnビットのレジスタ、31は2nビットの被乗数
Xの下位nビットx0が格納されるnビットのレジスタ
である。
Second Embodiment FIG. 3 FIG. 3 is a circuit diagram showing a second embodiment of the present invention.
Reference numeral 30 is an n-bit register that stores the upper n bits x 1 of the 2n-bit multiplicand X, and 31 is an n-bit register that stores the lower n bits x 0 of the 2n-bit multiplicand X.

【0059】また、32は2nビットの乗数Yの上位n
ビットy1が格納されるnビットのレジスタ、33は2
nビットの乗数Yの下位nビットy0が格納されるnビ
ットのレジスタである。
Further, 32 is the upper n of the 2n-bit multiplier Y.
N-bit register in which bit y 1 is stored, 33 is 2
It is an n-bit register that stores the lower n bits y 0 of the n-bit multiplier Y.

【0060】また、34は表2に基づいてnビット×n
ビット→2nビットの乗算を行う乗算器、35は表3に
基づいてnビット×nビット→2nビットの乗算を行う
乗算器である。
Further, 34 is n bits × n based on Table 2.
Reference numeral 35 is a multiplier for performing bit-> 2n-bit multiplication, and 35 is a multiplier for performing n-bit * n-bit-> 2n-bit multiplication based on Table 3.

【0061】また、36は表4に基づいてnビット×n
ビット→2nビットの乗算を行う乗算器、37は表5に
基づいてnビット×nビット→2nビットの乗算を行う
乗算器である。
36 is n bits × n based on Table 4.
A multiplier that performs multiplication of bits → 2n bits, and a multiplier 37 that performs multiplication of n bits × n bits → 2n bits based on Table 5.

【0062】また、38は乗算器34、35、36、3
7から出力される乗算結果について、3nビット+3n
ビットの加算を行う加算器、39は加算器38から出力
される加算結果の上位2nビットを格納する2nビット
のレジスタである。
Further, 38 is a multiplier 34, 35, 36, 3
Regarding the multiplication result output from 7, 3n bits + 3n
An adder for adding bits, 39 is a 2n-bit register for storing the upper 2n bits of the addition result output from the adder 38.

【0063】この第2実施例においては、2nビット×
2nビット→2nビットの乗算が行われる場合、レジス
タ30に被乗数Xの上位nビットx1が格納され、レジ
スタ31に被乗数Xの下位nビットx0が格納され、レ
ジスタ32に乗数Yの上位nビットy1が格納され、レ
ジスタ33に2nビットの乗数Yの下位nビットy0
格納される。
In this second embodiment, 2n bits ×
When multiplication of 2n bits → 2n bits is performed, the upper n bits x 1 of the multiplicand X are stored in the register 30, the lower n bits x 0 of the multiplicand X are stored in the register 31, and the upper n bits of the multiplier Y are stored in the register 32. The bit y 1 is stored, and the lower n bits y 0 of the 2n-bit multiplier Y are stored in the register 33.

【0064】そして、レジスタ30に格納された被乗数
Xの上位nビットx1が被乗数として乗算器34、36
に転送され、レジスタ31に格納された被乗数Xの下位
nビットx0が被乗数として乗算器35、37に転送さ
れる。
The upper n bits x 1 of the multiplicand X stored in the register 30 are used as the multiplicands in the multipliers 34 and 36.
And the lower n bits x 0 of the multiplicand X stored in the register 31 are transferred to the multipliers 35 and 37 as the multiplicand.

【0065】また、レジスタ32に格納された乗数Yの
上位nビットy1が乗数として乗算器36、37に転送
され、レジスタ33に格納された乗数Yの下位nビット
0が乗数として乗算器34、35に転送される。
The upper n bits y 1 of the multiplier Y stored in the register 32 are transferred to the multipliers 36 and 37 as multipliers, and the lower n bits y 0 of the multiplier Y stored in the register 33 are multipliers. 34, 35.

【0066】また、乗算器36、37における最下位評
価ビットとして、レジスタ33に格納された乗数Yの下
位nビットy0の最上位ビットMが乗算器36、37に
転送される。なお、乗算器34、35においては、最下
位評価ビットとして、0が設定される。
As the least significant evaluation bit in the multipliers 36 and 37, the most significant bit M of the least significant n bits y 0 of the multiplier Y stored in the register 33 is transferred to the multipliers 36 and 37. In the multipliers 34 and 35, 0 is set as the least significant evaluation bit.

【0067】ここに、乗算器34においては、表2に基
づいて、x1を被乗数、y0を乗数とする乗算が行われ、
その乗算結果z1が加算器38に転送され、乗算器35
においては、表3に基づいて、x0を被乗数、y0を乗数
とする乗算が行われ、その乗算結果z2が加算器38に
転送される。
Here, in the multiplier 34, based on Table 2, multiplication with x 1 as a multiplicand and y 0 as a multiplier is performed,
The multiplication result z 1 is transferred to the adder 38, and the multiplier 35
In the above, based on Table 3, multiplication with x 0 as a multiplicand and y 0 as a multiplier is performed, and the multiplication result z 2 is transferred to the adder 38.

【0068】また、乗算器36においては、表4に基づ
いて、x1を被乗数、y1を乗数とする乗算が行われ、そ
の乗算結果z3が加算器38に転送され、乗算器37に
おいては、表5に基づいて、x0を被乗数、y1を乗数と
する乗算が行われ、その乗算結果z4が加算器38に転
送される。
Further, in the multiplier 36, based on Table 4, multiplication is carried out with x 1 as the multiplicand and y 1 as the multiplier, and the multiplication result z 3 is transferred to the adder 38, and in the multiplier 37. On the basis of Table 5, multiplication is performed using x 0 as a multiplicand and y 1 as a multiplier, and the multiplication result z 4 is transferred to the adder 38.

【0069】加算器38においては、乗算x1×y0、x
0×y0、x1×y1、x0×y1の乗算結果z1、z2
3、z4について、乗算結果z1については、その最下
位ビットが加算の際の最下位ビットとなるようにし、乗
算結果z2については、n+1ビット目が加算の際の最
下位ビットとなるようにし、乗算結果z3については、
その最上位ビットが加算の際の最上位ビットとなるよう
にし、乗算結果z4については、その最下位ビットが加
算の際の最下位ビットとなるようにした状態で、加算が
行われ、この加算結果のうち、上位2nビットがレジス
タ39に格納される。
In the adder 38, multiplication x 1 × y 0 , x
0 x y 0 , x 1 x y 1 , x 0 x y 1 multiplication results z 1 , z 2 ,
For z 3 and z 4 , the least significant bit of the multiplication result z 1 is the least significant bit at the time of addition, and the n + 1th bit of the multiplication result z 2 is the least significant bit at the time of addition. And the multiplication result z 3 is
The most significant bit is set as the most significant bit at the time of addition, and the multiplication result z 4 is added with the least significant bit at the least significant bit at the time of addition. Of the addition result, the upper 2n bits are stored in the register 39.

【0070】ここに、2nビットの被乗数Xと2nビッ
トの乗数Yとについて、2nビット×2nビット→2n
ビットなる乗算の結果がレジスタ39に得られ、乗算は
完了する。
Here, for the 2n-bit multiplicand X and the 2n-bit multiplier Y, 2n bits × 2n bits → 2n
The result of the bit multiplication is obtained in the register 39, and the multiplication is completed.

【0071】このように、この第2実施例においても、
2nビットの被乗数Xと2nビットの乗数Yとの乗算を
行う場合、被乗数Xを上位nビットのx1と下位nビッ
トのx0とに分け、乗数Yを上位nビットのy1と下位n
ビットのy0とに分けるようにしている。
Thus, also in this second embodiment,
When multiplying the 2n-bit multiplicand X and the 2n-bit multiplier Y, the multiplicand X is divided into upper n bits x 1 and lower n bits x 0 , and the multiplier Y is divided into upper n bits y 1 and lower n.
It is divided into bits y 0 .

【0072】そして、x1を被乗数、y0を乗数とする乗
算x1×y0と、x0を被乗数、y0を乗数とする乗算x0
×y0と、x1を被乗数、y1を乗数とする乗算x1×y1
と、x 0を被乗数、y1を乗数とする乗算x0×y1とを、
それぞれ、表2、表3、表4、表5に示す修正された第
1、第2、第3、第4の2ビット・ブースの方法で行
い、これら乗算x1×y0、x0×y0、x1×y1、x0×
1の乗算結果z1、z2、z 3、z4を、図1に示す加算
部11を示すブロック内に示した所定の規則の下に加算
するとしている。
And x1Is the multiplicand, y0Power with
Arithmetic x1Xy0And x0Is the multiplicand, y0Multiplication with x as the multiplier0
Xy0And x1Is the multiplicand, y1Multiplication with x as the multiplier1Xy1
And x 0Is the multiplicand, y1Multiplication with x as the multiplier0Xy1And
The modified numbers shown in Table 2, Table 3, Table 4, and Table 5, respectively.
1st, 2nd, 3rd, 4th 2-bit booth method
Yes, these multiplication x1Xy0, X0Xy0, X1Xy1, X0×
y1Multiplication result of z1, Z2, Z 3, ZFourIs added as shown in Figure 1.
Add under the given rules shown in the block showing part 11
I'm supposed to.

【0073】したがって、この第2実施例によっても、
加算段数を減らし、乗算時間の短縮化を図ることができ
る。
Therefore, according to the second embodiment as well,
It is possible to reduce the number of addition stages and shorten the multiplication time.

【0074】第3実施例・・図4 図4は本発明の第3実施例を示す回路図であり、40は
被乗数Xを格納する2nビットのレジスタ、41は乗数
Yを格納する2nビットのレジスタ、42は演算結果を
格納する2nビットのレジスタである。
Third Embodiment FIG. 4 FIG. 4 is a circuit diagram showing a third embodiment of the present invention, in which 40 is a 2n-bit register for storing a multiplicand X, 41 is a 2n-bit register for storing a multiplier Y. The register 42 is a 2n-bit register for storing the operation result.

【0075】また、43は表2、表3、表4又は表5に
基づいてnビット×nビット→2nビットの乗算を行う
乗算器、44はレジスタ40〜42及び乗算器43を制
御する制御部、45は乗算器43から出力される乗算結
果とレジスタ42の格納値との加算等を行う加減算器で
ある。
43 is a multiplier for multiplying n bits × n bits → 2n bits based on Table 2, Table 3, Table 4 or Table 5, and 44 is a control for controlling the registers 40 to 42 and the multiplier 43. Reference numeral 45 denotes an adder / subtractor that adds the multiplication result output from the multiplier 43 and the value stored in the register 42.

【0076】なお、乗算器43は、制御部44からモー
ド信号MD0を受けた場合は、表2又は表4に基づいた
乗算を行い、制御部44からモード信号MD1を受けた
場合は、表3又は表5に基づいた乗算を行うようにされ
ている。
When the multiplier 43 receives the mode signal MD0 from the control unit 44, it performs multiplication based on Table 2 or Table 4, and when it receives the mode signal MD1 from the control unit 44, it outputs Table 3 Alternatively, the multiplication based on Table 5 is performed.

【0077】この第3実施例においては、2nビット×
2nビット→2nビットの乗算が行われる場合、レジス
タ40に2nビットの被乗数Xが格納され、レジスタ4
1に2nビットの乗数Yが格納され、レジスタ42はク
リアされる。
In the third embodiment, 2n bits ×
When the multiplication of 2n bits → 2n bits is performed, the 2n-bit multiplicand X is stored in the register 40 and the register 4
The 2n-bit multiplier Y is stored in 1 and the register 42 is cleared.

【0078】次に、レジスタ40に格納されている被乗
数Xのうち、上位nビットx1が被乗数として乗算器4
3に転送されると共に、レジスタ41に格納されている
乗数Yのうち、下位nビットy0が乗数として乗算器4
3に転送される。
Next, among the multiplicands X stored in the register 40, the upper n bits x 1 are used as the multiplicand and the multiplier 4
3 of the multipliers Y stored in the register 41 as well as being transferred to the multiplier 4, the lower n bits y 0 are used as the multipliers.
3 is transferred.

【0079】また、この場合、制御部44から乗算器4
3にモード信号MD0が与えられ、乗算器43において
は、表2に基づいて、x1×y0なる乗算が行われ、この
乗算結果z1が加減算器45に転送される。
Further, in this case, the control section 44 causes the multiplier 4 to
3 is applied with the mode signal MD0, and in the multiplier 43, multiplication of x 1 × y 0 is performed based on Table 2, and the multiplication result z 1 is transferred to the adder / subtractor 45.

【0080】加減算器45においては、乗算x1×y0
乗算結果z1と、レジスタ42の格納値とについて、乗
算結果z1については、その最下位ビットが加算の際の
最下位ビットとなるようにし、レジスタ42の格納値に
ついては、その最上位ビットが加算の際の最上位ビット
となるようにした状態で、加算が行われ、この加算結果
の上位2nビットがレジスタ42に格納される。
[0080] In the adder-subtracter 45, the multiplication result z 1 of the multiplication x 1 × y 0, for a storage value of the register 42, the multiplication result z 1 includes a least significant bit when the least significant bit of the addition With respect to the value stored in the register 42, addition is performed with the most significant bit being the most significant bit at the time of addition, and the upper 2n bits of this addition result are stored in the register 42. It

【0081】次に、レジスタ40に格納されている被乗
数Xのうち、下位nビットx0が被乗数として乗算器4
3に転送され、レジスタ41に格納されている乗数Yの
うち、下位nビットy0が乗数として乗算器43に転送
される。
Next, among the multiplicands X stored in the register 40, the lower n bits x 0 are used as the multiplicand and the multiplier 4
3, the lower n bits y 0 of the multiplier Y stored in the register 41 are transferred to the multiplier 43 as a multiplier.

【0082】また、この場合、制御部44から乗算器4
3にモード信号MD1が与えられ、乗算器43において
は、表3に基づいて、x0×y0なる乗算が行われ、この
乗算結果z2が加減算器45に転送される。
Also, in this case, the control unit 44 causes the multiplier 4 to
3 is supplied with the mode signal MD1, and in the multiplier 43, multiplication of x 0 × y 0 is performed based on Table 3, and the multiplication result z 2 is transferred to the adder / subtractor 45.

【0083】加減算器45においては、乗算x0×y0
乗算結果z2と、レジスタ42の格納値とについて、乗
算結果z2については、そのn+1ビット目が加算の際
の最下位ビットとなるようにし、レジスタ42の格納値
については、その最上位ビットが加算の際の最上位ビッ
トとなるようにした状態で、加算が行われ、この加算結
果の上位2nビットがレジスタ42に格納される。
[0083] In the adder-subtracter 45, the multiplication result z 2 of the multiplication x 0 × y 0, for a storage value of the register 42, the multiplication result z 2 includes a least significant bit of the time of the n + 1-th bit adder With respect to the value stored in the register 42, addition is performed with the most significant bit being the most significant bit at the time of addition, and the upper 2n bits of this addition result are stored in the register 42. It

【0084】次に、レジスタ40に格納されている被乗
数Xのうち、上位nビットx1が被乗数として乗算器4
3に転送され、レジスタ41に格納されている乗数Yの
うち、上位nビットy1が乗数として乗算器43に転送
される。
Next, of the multiplicands X stored in the register 40, the upper n bits x 1 are used as the multiplicands by the multiplier 4
3 of the multipliers Y stored in the register 41, the upper n bits y 1 are transferred to the multiplier 43 as a multiplier.

【0085】また、最下位評価ビットとして、レジスタ
41に格納されている乗数Yの下位nビットy0の最上
位ビットMが乗算器43に転送される。
Further, the most significant bit M of the least significant n bits y 0 of the multiplier Y stored in the register 41 is transferred to the multiplier 43 as the least significant evaluation bit.

【0086】また、この場合、制御部44から乗算器4
3にモード信号MD0が与えられ、乗算器43において
は、表4に基づいて、x1×y1なる乗算が行われ、この
乗算結果z3が加減算器45に転送される。
Further, in this case, the control section 44 causes the multiplier 4 to
3 is applied with the mode signal MD0, and in the multiplier 43, multiplication of x 1 × y 1 is performed based on Table 4, and the multiplication result z 3 is transferred to the adder / subtractor 45.

【0087】加減算器45においては、乗算x1×y1
乗算結果z3と、レジスタ42の格納値とについて、乗
算結果z3については、その最上位ビットが加算の際の
最上位ビットとなるようにし、レジスタ42の格納値に
ついては、その最上位ビットが加算の際の最上位ビット
となるようにした状態で、加算が行われ、この加算結果
の上位2nビットがレジスタ42に格納される。
[0087] In the adder-subtracter 45, the multiplication result z 3 of the multiplication x 1 × y 1, for the value stored in the register 42, the multiplication result z 3 includes a most significant bit of the time of the most significant bit is added With respect to the value stored in the register 42, addition is performed with the most significant bit being the most significant bit at the time of addition, and the upper 2n bits of this addition result are stored in the register 42. It

【0088】次に、レジスタ40に格納されている被乗
数Xのうち、下位nビットx0が被乗数として乗算器4
3に転送され、レジスタ41に格納されている乗数Yの
うち、上位nビットy1が乗数として乗算器43に転送
される。
Next, among the multiplicands X stored in the register 40, the lower n bits x 0 are used as the multiplicand and the multiplier 4
3 of the multipliers Y stored in the register 41, the upper n bits y 1 are transferred to the multiplier 43 as a multiplier.

【0089】また、最下位評価ビットとして、レジスタ
41に格納されている乗数Yの下位nビットy0の最上
位ビットMが乗算器43に転送される。
As the least significant evaluation bit, the most significant bit M of the least significant n bits y 0 of the multiplier Y stored in the register 41 is transferred to the multiplier 43.

【0090】また、この場合、制御部44から乗算器4
3にモード信号MD1が与えられ、乗算器43において
は、表5に基づいて、x0×y1なる乗算が行われ、この
乗算結果 4 が加減算器45に転送される。
Further, in this case, the control section 44 causes the multiplier 4 to
3 is applied with the mode signal MD1, and in the multiplier 43, multiplication of x 0 × y 1 is performed based on Table 5, and the multiplication result z 4 is transferred to the adder / subtractor 45.

【0091】加減算器45においては、乗算x0×y1
乗算結果z4と、レジスタ42の格納値とについて、乗
算結果z4については、その最下位ビットが加算の際の
最下位ビットとなるようにし、レジスタ42の格納値に
ついては、その最上位ビットが加算の際の最上位ビット
となるようにした状態で、加算が行われ、この加算結果
の上位2nビットがレジスタ42に格納される。
[0091] In the adder-subtracter 45, the multiplication result z 4 of the multiplication x 0 × y 1, for the value stored in the register 42, the multiplication result z 4 are the least significant bits of this time the least significant bit of the addition With respect to the value stored in the register 42, addition is performed with the most significant bit being the most significant bit at the time of addition, and the upper 2n bits of this addition result are stored in the register 42. It

【0092】ここに、2nビットの被乗数Xと2nビッ
トの乗数Yとについて、2nビット×2nビット→2n
ビットなる乗算の結果がレジスタ42に得られ、乗算は
完了する。
Here, for the 2n-bit multiplicand X and the 2n-bit multiplier Y, 2n bits × 2n bits → 2n
The result of the bit multiplication is obtained in the register 42, and the multiplication is completed.

【0093】このように、この第3実施例においても、
2nビットの被乗数Xと2nビットの乗数Yとの乗算を
行う場合、被乗数Xを上位nビットのx1と下位nビッ
トのx0とに分け、乗数Yを上位nビットのy1と下位n
ビットのy0とに分けるようにしている。
Thus, also in this third embodiment,
When multiplying the 2n-bit multiplicand X and the 2n-bit multiplier Y, the multiplicand X is divided into upper n bits x 1 and lower n bits x 0 , and the multiplier Y is divided into upper n bits y 1 and lower n.
It is divided into bits y 0 .

【0094】そして、x1を被乗数、y0を乗数とする乗
算x1×y0と、x0を被乗数、y0を乗数とする乗算x0
×y0と、x1を被乗数、y1を乗数とする乗算x1×y1
と、x 0を被乗数、y1を乗数とする乗算x0×y1とを、
それぞれ、表2、表3、表4、表5に示す修正された第
1、第2、第3、第4の2ビット・ブースの方法で行
い、これら乗算x1×y0、x0×y0、x1×y1、x0×
1の乗算結果z1、z2、z 3、z4を、図1に示す加算
部11を示すブロック内に示した所定の規則の下に加算
するとしている。
And x1Is the multiplicand, y0Power with
Arithmetic x1Xy0And x0Is the multiplicand, y0Multiplication with x as the multiplier0
Xy0And x1Is the multiplicand, y1Multiplication with x as the multiplier1Xy1
And x 0Is the multiplicand, y1Multiplication with x as the multiplier0Xy1And
The modified numbers shown in Table 2, Table 3, Table 4, and Table 5, respectively.
1st, 2nd, 3rd, 4th 2-bit booth method
Yes, these multiplication x1Xy0, X0Xy0, X1Xy1, X0×
y1Multiplication result of z1, Z2, Z 3, ZFourIs added as shown in Figure 1.
Add under the given rules shown in the block showing part 11
I'm supposed to.

【0095】したがって、この第3実施例によっても、
加算段数を減らし、乗算時間の短縮化を図ると共に、論
理量の低減化を図ることができる。
Therefore, according to the third embodiment as well,
It is possible to reduce the number of addition stages, shorten the multiplication time, and reduce the logical amount.

【0096】なお、この第3実施例によれば、2nビッ
ト×2nビット→2nビットなる乗算のほか、2nビッ
ト×2nビット系積和演算として、2nビット±2nビ
ット×2nビット→2nビットなる積和演算を行うこと
ができる。
According to the third embodiment, in addition to multiplication of 2n bits × 2n bits → 2n bits, 2n bits × 2n bits × 2n bits × 2n bits → 2n bits as a 2n bit × 2n bit system product sum operation. A product-sum operation can be performed.

【0097】また、2nビット×nビット系積和演算と
して、2nビット×nビット→2nビット、2nビット
±2nビット×nビット→2nビットなる積和演算を行
うことができる。
As a 2n-bit × n-bit product sum operation, a product-sum operation of 2n bits × n bits → 2n bits, 2n bits ± 2n bits × n bits → 2n bits can be performed.

【0098】また、ダブルnビット×nビット系積和演
算として、nビット×nビット±nビット×nビット→
2nビット、2nビット±(nビット×nビット±nビ
ット×nビット)→2nビットなる積和演算を行うこと
ができる。
Also, as a double n-bit × n-bit product sum operation, n-bit × n-bit ± n-bit × n-bit →
A product-sum operation of 2n bits, 2n bits ± (n bits × n bits ± n bits × n bits) → 2n bits can be performed.

【0099】第4実施例・・図5 図5は本発明の第4実施例を示す回路図であり、50は
被乗数Xを格納する2nビットのレジスタ、51は乗数
Yを格納する2nビットのレジスタ、52は演算結果を
格納する2nビットのレジスタである。
Fourth Embodiment FIG. 5 FIG. 5 is a circuit diagram showing a fourth embodiment of the present invention, in which 50 is a 2n-bit register for storing a multiplicand X and 51 is a 2n-bit register for storing a multiplier Y. The register 52 is a 2n-bit register for storing the operation result.

【0100】また、53は表2又は表3に基づいてnビ
ット×nビット→2nビットの乗算を行う乗算器、54
は表4又は表5に基づいてnビット×nビット→2nビ
ットの乗算を行う乗算器である。
Further, 53 is a multiplier for multiplying n bits × n bits → 2n bits based on Table 2 or Table 3, 54
Is a multiplier that performs multiplication of n bits × n bits → 2n bits based on Table 4 or Table 5.

【0101】また、55はレジスタ50、51、52及
び乗算器53、54を制御する制御部、56は乗算器5
3、54から出力される乗算結果とレジスタ52の格納
値との加算等を行う加減算器である。
Further, 55 is a control unit for controlling the registers 50, 51 and 52 and the multipliers 53 and 54, and 56 is the multiplier 5
An adder / subtractor that adds the multiplication results output from the registers 3 and 54 to the value stored in the register 52.

【0102】なお、乗算器53は、制御部55からモー
ド信号MD0を受けた場合は、表2又は表4に基づいた
乗算を行い、制御部55からモード信号MD1を受けた
場合は、表3又は表5に基づいた乗算を行うようにされ
ている。
When the multiplier 53 receives the mode signal MD0 from the control unit 55, it performs multiplication based on Table 2 or Table 4, and when it receives the mode signal MD1 from the control unit 55, it outputs the table 3 Alternatively, the multiplication based on Table 5 is performed.

【0103】また、乗算器54は、制御部55からモー
ド信号MD0を受けた場合は、表2又は表4に基づいた
乗算を行い、制御部55からモード信号MD1を受けた
場合は、表3又は表5に基づいた乗算を行うようにされ
ている。
When receiving the mode signal MD0 from the control unit 55, the multiplier 54 performs multiplication based on Table 2 or Table 4, and when receiving the mode signal MD1 from the control unit 55, the multiplier 54 Alternatively, the multiplication based on Table 5 is performed.

【0104】この第4実施例においては、2nビット×
2nビット→2nビットの乗算が行われる場合、レジス
タ50に2nビットの被乗数Xが格納され、レジスタ5
1に2nビットの乗数Yが格納され、レジスタ52はク
リアされる。
In the fourth embodiment, 2n bits ×
When multiplication of 2n bits → 2n bits is performed, the 2n-bit multiplicand X is stored in the register 50 and the register 5
The 2n-bit multiplier Y is stored in 1 and the register 52 is cleared.

【0105】次に、レジスタ50に格納された被乗数X
のうち、上位nビットx1が被乗数として乗算器53、
54に転送されると共に、レジスタ51に格納された乗
数Yのうち、下位nビットy0が乗数として乗算器53
に転送され、上位nビットy1が乗数として乗算器54
に転送される。
Next, the multiplicand X stored in the register 50
Of these, the upper n bits x 1 are multipliers 53,
Of the multipliers Y transferred to the register 54 and stored in the register 51, the lower n bits y 0 are used as multipliers in the multiplier 53.
And the upper n bits y 1 are transferred to the multiplier 54 as a multiplier.
Transferred to.

【0106】また、乗算器54における最下位評価ビッ
トとして、レジスタ51に格納されている乗数Yのう
ち、下位nビットy0の最上位ビットMが乗算器54に
転送される。乗算器53においては、最下位評価ビット
として、0が設定される。
As the least significant evaluation bit in the multiplier 54, the most significant bit M of the least significant n bits y 0 of the multiplier Y stored in the register 51 is transferred to the multiplier 54. In the multiplier 53, 0 is set as the least significant evaluation bit.

【0107】また、この場合、制御部55から乗算器5
3、54にモード信号MD0が与えられ、乗算器53に
おいては、表2に基づいて、x1×y0なる乗算が行わ
れ、その乗算結果z1が加減算器56に転送され、乗算
器54においては、表4に基づいて、x1×y1なる乗算
が行われ、その乗算結果z3が加減算器56に転送され
る。
Further, in this case, the control unit 55 causes the multiplier 5 to
The mode signal MD0 is given to the reference numerals 3 and 54, the multiplication by x 1 × y 0 is performed in the multiplier 53 based on Table 2, and the multiplication result z 1 is transferred to the adder / subtractor 56, and the multiplier 54 In, the multiplication x 1 × y 1 is performed based on Table 4, and the multiplication result z 3 is transferred to the adder / subtractor 56.

【0108】加減算器56においては、乗算x1×y0
乗算結果z1と、乗算x1×y1の乗算結果z3について、
乗算x1×y0の乗算結果z1については、その最下位ビ
ットが加算の際の最下位ビットとなるようにし、乗算x
1×y1の乗算結果z3については、その最上位ビットが
加算の際の最上位ビットとなるようにした状態で、加算
が行われ、その加算結果がレジスタ52に格納される。
[0108] In the adder-subtracter 56, the multiplication result z 1 of the multiplication x 1 × y 0, the multiplication result z 3 of the multiplication x 1 × y 1,
Regarding the multiplication result z 1 of the multiplication x 1 × y 0 , the least significant bit is set to be the least significant bit at the time of addition, and the multiplication x 1
The multiplication result z 3 of 1 × y 1 is added with the most significant bit being the most significant bit at the time of addition, and the addition result is stored in the register 52.

【0109】次に、レジスタ50が格納する被乗数Xの
うち、下位nビットx0が被乗数として乗算器53、5
4に転送されると共に、レジスタ51が格納する乗数Y
のうち、下位nビットy0が乗数として乗算器53に転
送され、上位nビットy1が乗数として乗算器54に転
送される。
Next, among the multiplicands X stored in the register 50, the lower n bits x 0 are used as the multiplicands and the multipliers 53 and 5 are provided.
4 and the multiplier Y stored in the register 51
Among them, the lower n bits y 0 are transferred to the multiplier 53 as a multiplier, and the upper n bits y 1 are transferred to the multiplier 54 as a multiplier.

【0110】また、乗算器54における最下位評価ビッ
トとして、レジスタ51に格納されている乗数Yのう
ち、下位nビットy0の最上位ビットMが乗算器54に
転送される。乗算器53においては、最下位評価ビット
として、0が設定される。
As the least significant evaluation bit in the multiplier 54, the most significant bit M of the least significant n bits y 0 of the multiplier Y stored in the register 51 is transferred to the multiplier 54. In the multiplier 53, 0 is set as the least significant evaluation bit.

【0111】また、この場合、制御部55から乗算器5
3、54にモード信号MD1が与えられ、乗算器53に
おいては、表3に基づいて、x0×y0なる乗算が行わ
れ、その乗算結果z2が加減算器56に転送され、乗算
器54においては、表5に基づいて、x0×y1なる乗算
が行われ、乗算結果z4が加減算器56に転送される。
Further, in this case, the control unit 55 causes the multiplier 5 to
The mode signal MD1 is applied to the reference numerals 3 and 54, and the multiplier 53 performs multiplication x 0 × y 0 based on Table 3, and the multiplication result z 2 is transferred to the adder / subtractor 56, and the multiplier 54 In, the multiplication x 0 × y 1 is performed based on Table 5, and the multiplication result z 4 is transferred to the adder / subtractor 56.

【0112】加減算器56においては、乗算x0×y0
乗算結果z2と、乗算x0×y1の乗算結果z4と、レジス
タ52の格納値とについて、乗算x0×y0の乗算結果z
2については、そのn+1ビット目が加算の際の最下位
ビットとなるようにし、乗算x0×y1の乗算結果z4
ついては、その最下位ビットが加算の際の最下位ビット
となるようにし、レジスタ52の格納値については、そ
の最上位ビットが加算の際の最上位ビットになるように
した状態で、加算が行われ、その加算結果がレジスタ5
2に格納される。
[0112] In the adder-subtracter 56, the multiplication result z 2 of the multiplication x 0 × y 0, the multiplication result z 4 of the multiplication x 0 × y 1, for the value stored in the register 52, the multiplication x 0 × y 0 Multiplication result z
For 2 , the n + 1th bit should be the least significant bit at the time of addition, and for the multiplication result z 4 of multiplication x 0 × y 1 , the least significant bit should be the least significant bit at the time of addition. Regarding the value stored in the register 52, addition is performed with the most significant bit set to the most significant bit at the time of addition, and the addition result is stored in the register 5
Stored in 2.

【0113】ここに、2nビットの被乗数Xと2nビッ
トの乗数Yとについて、2nビット×2nビット→2n
ビットなる乗算の結果がレジスタ52に得られ、乗算は
完了する。
Here, for the 2n-bit multiplicand X and the 2n-bit multiplier Y, 2n bits × 2n bits → 2n.
The result of the bit multiplication is obtained in the register 52, and the multiplication is completed.

【0114】このように、この第4実施例においても、
2nビットの被乗数Xと2nビットの乗数Yとの乗算を
行う場合、被乗数Xを上位nビットのx1と下位nビッ
トのx0とに分け、乗数Yを上位nビットのy1と下位n
ビットのy0とに分けるようにしている。
Thus, also in the fourth embodiment,
When multiplying the 2n-bit multiplicand X and the 2n-bit multiplier Y, the multiplicand X is divided into upper n bits x 1 and lower n bits x 0 , and the multiplier Y is divided into upper n bits y 1 and lower n.
It is divided into bits y 0 .

【0115】そして、x1を被乗数、y0を乗数とする乗
算x1×y0と、x0を被乗数、y0を乗数とする乗算x0
×y0と、x1を被乗数、y1を乗数とする乗算x1×y1
と、x 0を被乗数、y1を乗数とする乗算x0×y1とを、
それぞれ、表2、表3、表4、表5に示す修正された第
1、第2、第3、第4の2ビット・ブースの方法で行
い、これら乗算x1×y0、x0×y0、x1×y1、x0×
1の乗算結果z1、z2、z 3、z4を、図1に示す加算
部11を示すブロック内に示した所定の規則の下に加算
するとしている。
And x1Is the multiplicand, y0Power with
Arithmetic x1Xy0And x0Is the multiplicand, y0Multiplication with x as the multiplier0
Xy0And x1Is the multiplicand, y1Multiplication with x as the multiplier1Xy1
And x 0Is the multiplicand, y1Multiplication with x as the multiplier0Xy1And
The modified numbers shown in Table 2, Table 3, Table 4, and Table 5, respectively.
1st, 2nd, 3rd, 4th 2-bit booth method
Yes, these multiplication x1Xy0, X0Xy0, X1Xy1, X0×
y1Multiplication result of z1, Z2, Z 3, ZFourIs added as shown in Figure 1.
Add under the given rules shown in the block showing part 11
I'm supposed to.

【0116】したがって、この第4実施例によっても、
加算段数を減らし、乗算時間の短縮化を図ると共に、論
理量の低減化を図ることができる。
Therefore, according to the fourth embodiment as well,
It is possible to reduce the number of addition stages, shorten the multiplication time, and reduce the logical amount.

【0117】なお、この第4実施例によれば、2nビッ
ト×2nビット→2nビットなる乗算のほか、2nビッ
ト×2nビット系積和演算として、2nビット±2nビ
ット×2nビット→2nビットなる積和演算を行うこと
ができる。
According to the fourth embodiment, in addition to the multiplication of 2n bits × 2n bits → 2n bits, 2n bits × 2n bits × 2n bits × 2n bits → 2n bits as a 2n bit × 2n bit system multiply-add operation. A product-sum operation can be performed.

【0118】また、2nビット×nビット系積和演算と
して、2nビット×nビット→2nビット、2nビット
±2nビット×nビット→2nビットなる積和演算を行
うことができる。
As a 2n-bit × n-bit product sum operation, a product-sum operation of 2n bits × n bits → 2n bits, 2n bits ± 2n bits × n bits → 2n bits can be performed.

【0119】また、ダブルnビット×nビット系積和演
算として、nビット×nビット±nビット×nビット→
2nビット、2nビット±(nビット×nビット±nビ
ット×nビット)→2nビットなる積和演算を行うこと
ができる。
As a double n-bit × n-bit product sum operation, n-bit × n-bit ± n-bit × n-bit →
A product-sum operation of 2n bits, 2n bits ± (n bits × n bits ± n bits × n bits) → 2n bits can be performed.

【0120】第5実施例・・図6 図6は本発明の第5実施例を示す回路図であり、60は
被乗数Xを格納する2nビットのレジスタ、61は乗数
Yを格納する2nビットのレジスタ、62は演算結果を
格納する2nビットのレジスタである。
Fifth Embodiment FIG. 6 FIG. 6 is a circuit diagram showing a fifth embodiment of the present invention. 60 is a 2n-bit register for storing the multiplicand X, and 61 is a 2n-bit register for storing the multiplier Y. The register 62 is a 2n-bit register for storing the calculation result.

【0121】また、63は表2、表3、表4又は表5に
基づいてnビット×nビット→2nビットの乗算を行う
乗算器、64は表2、表3、表4又は表5に基づいてn
ビット×nビット→2nビットの乗算を行う乗算器であ
る。
Further, 63 is a multiplier for multiplying n bits × n bits → 2n bits based on Table 2, Table 3, Table 4 or Table 5, and 64 is shown in Table 2, Table 3, Table 4 or Table 5. Based on n
It is a multiplier that performs multiplication of bits × n bits → 2n bits.

【0122】また、65は表2、表3、表4又は表5に
基づいてnビット×nビット→2nビットの乗算を行う
乗算器、66は表2、表3、表4又は表5に基づいてn
ビット×nビット→2nビットの乗算を行う乗算器であ
る。
Further, 65 is a multiplier for multiplying n bits × n bits → 2n bits based on Table 2, Table 3, Table 4 or Table 5, and 66 is shown in Table 2, Table 3, Table 4 or Table 5. Based on n
It is a multiplier that performs multiplication of bits × n bits → 2n bits.

【0123】また、67はレジスタ60、61、62及
び乗算器63、64、65、66を制御する制御部、6
8は乗算器63、64、65、66から出力される乗算
結果について、3nビット+3nビットの加算等を行う
加減算器である。
67 is a control unit for controlling the registers 60, 61, 62 and the multipliers 63, 64, 65, 66, and 6
Reference numeral 8 denotes an adder / subtractor which adds 3n bits + 3n bits to the multiplication results output from the multipliers 63, 64, 65 and 66.

【0124】なお、乗算器63、64、65、66は、
制御部67からモード信号MD0を受けた場合は、表2
又は表4に基づいた乗算を行い、制御部67からモード
信号MD1を受けた場合は、表3又は表5に基づいた乗
算を行うようにされている。
The multipliers 63, 64, 65, 66 are
When the mode signal MD0 is received from the control unit 67, Table 2
Alternatively, when the multiplication is performed based on Table 4 and the mode signal MD1 is received from the control unit 67, the multiplication based on Table 3 or Table 5 is performed.

【0125】この第5実施例においては、2nビット×
2nビット→2nビットの乗算が行われる場合、レジス
タ60に被乗数Xが格納され、レジスタ61に乗数Yが
格納される。
In the fifth embodiment, 2n bits ×
When multiplication of 2n bits → 2n bits is performed, the multiplicand X is stored in the register 60 and the multiplier Y is stored in the register 61.

【0126】そして、レジスタ60に格納された被乗数
Xの上位nビットx1が被乗数として乗算器63、65
に転送され、下位nビットx0が被乗数として乗算器6
4、66に転送される。
Then, the upper n bits x 1 of the multiplicand X stored in the register 60 are used as the multiplicands in the multipliers 63 and 65.
And the lower n bits x 0 are transferred to the multiplier 6 as the multiplicand.
4 and 66.

【0127】また、レジスタ61に格納された乗数Yの
上位nビットy1が乗数として乗算器65、66に転送
され、下位nビットy0が乗数として乗算器63、64
に転送される。
The upper n bits y 1 of the multiplier Y stored in the register 61 are transferred to the multipliers 65 and 66 as multipliers, and the lower n bits y 0 are multipliers to the multipliers 63 and 64.
Transferred to.

【0128】また、乗算器65、66における最下位評
価ビットとして、レジスタ61に格納されている乗数Y
の下位nビットy0の最上位ビットMが乗算器65、6
6に転送される。なお、乗算器63、64においては、
最下位評価ビットとして、0が設定される。
The multiplier Y stored in the register 61 is used as the least significant evaluation bit in the multipliers 65 and 66.
The most significant bit M of the lower n bits y 0 of M is the multiplier 65, 6
6 is transferred. In the multipliers 63 and 64,
0 is set as the least significant evaluation bit.

【0129】なお、この場合、制御部67から乗算器6
3にモード信号MD0が与えられ、乗算器63において
は、表2に基づいて、x1を被乗数、y0を乗数とする乗
算が行われ、その乗算結果z1が加減算器68に転送さ
れる。
In this case, the control unit 67 causes the multiplier 6 to
3 is given a mode signal MD0, and in the multiplier 63, multiplication is performed based on Table 2 with x 1 being the multiplicand and y 0 being the multiplier, and the multiplication result z 1 is transferred to the adder / subtractor 68. .

【0130】また、この場合、制御部67から乗算器6
4にモード信号MD1が与えられ、乗算器64において
は、表3に基づいて、x0を被乗数、y0を乗数とする乗
算が行われ、その乗算結果z2が加減算器68に転送さ
れる。
Further, in this case, the control unit 67 causes the multiplier 6 to
4 is supplied with the mode signal MD1, and in the multiplier 64, based on Table 3, multiplication with x 0 as a multiplicand and y 0 as a multiplier is performed, and the multiplication result z 2 is transferred to the adder / subtractor 68. .

【0131】また、この場合、制御部67から乗算器6
5にモード信号MD0が与えられ、乗算器65において
は、表4に基づいて、x1を被乗数、y1を乗数とする乗
算が行われ、その乗算結果z3が加減算器68に転送さ
れる。
Further, in this case, the control unit 67 causes the multiplier 6 to
5 is given the mode signal MD0, and in the multiplier 65, multiplication is carried out based on Table 4 with x 1 being the multiplicand and y 1 being the multiplier, and the multiplication result z 3 is transferred to the adder / subtractor 68. .

【0132】また、この場合、制御部67から乗算器6
5にモード信号MD1が与えられ、乗算器66において
は、表5に基づいて、x0を被乗数、y1を乗数とする乗
算が行われ、その乗算結果z4が加減算器68に転送さ
れる。
Further, in this case, the control unit 67 causes the multiplier 6 to
5, the mode signal MD1 is supplied to the multiplier 5, and in the multiplier 66, based on Table 5, multiplication with x 0 as the multiplicand and y 1 as the multiplier is performed, and the multiplication result z 4 is transferred to the adder / subtractor 68. .

【0133】加減算器68においては、乗算x1×y0
0×y0、x1×y1、x0×y1の乗算結果z1、z2、z
3、z4について、乗算結果z1については、その最下位
ビットが加算の際の最下位ビットとなるようにし、乗算
結果z2については、n+1ビットが加算の際の最下位
ビットとなるようにし、乗算結果z3については、その
最上位ビットが加算の際の最上位ビットになるように
し、乗算結果z4については、その最下位ビットが加算
の際の最下位ビットとなるようにした状態で、加算が行
われ、この加算結果の上位2nビットがレジスタ62に
格納される。
In the adder / subtractor 68, multiplication x 1 × y 0 ,
x 0 × y 0 , x 1 × y 1 , x 0 × y 1 multiplication result z 1 , z 2 , z
For 3 and z 4 , the least significant bit of the multiplication result z 1 is the least significant bit at the time of addition, and the n + 1 bit of the multiplication result z 2 is the least significant bit at the time of addition. For the multiplication result z 3 , the most significant bit is the most significant bit for addition, and for the multiplication result z 4 , the least significant bit is the least significant bit for the addition. In this state, addition is performed, and the upper 2n bits of this addition result are stored in the register 62.

【0134】ここに、2nビットの被乗数Xと2nビッ
トの乗数Yとについて、2nビット×2nビット→2n
ビットなる乗算の結果がレジスタ62に得られ、乗算は
完了する。
Here, for the 2n-bit multiplicand X and the 2n-bit multiplier Y, 2n bits × 2n bits → 2n
The result of the bit multiplication is obtained in the register 62, and the multiplication is completed.

【0135】このように、この第5実施例においても、
2nビットの被乗数Xと2nビットの乗数Yとの乗算を
行う場合、被乗数Xを上位nビットのx1と下位nビッ
トのx0とに分け、乗数Yを上位nビットのy1と下位n
ビットのy0とに分けるようにしている。
Thus, also in this fifth embodiment,
When multiplying the 2n-bit multiplicand X and the 2n-bit multiplier Y, the multiplicand X is divided into upper n bits x 1 and lower n bits x 0 , and the multiplier Y is divided into upper n bits y 1 and lower n.
It is divided into bits y 0 .

【0136】そして、x1を被乗数、y0を乗数とする乗
算x1×y0と、x0を被乗数、y0を乗数とする乗算x0
×y0と、x1を被乗数、y1を乗数とする乗算x1×y1
と、x 0を被乗数、y1を乗数とする乗算x0×y1とを、
それぞれ、表2、表3、表4、表5に示す修正された第
1、第2、第3、第4の2ビット・ブースの方法で行
い、これら乗算x1×y0、x0×y0、x1×y1、x0×
1の乗算結果z1、z2、z 3、z4を、図1に示す加算
部11を示すブロック内に示した所定の規則の下に加算
するとしている。
And x1Is the multiplicand, y0Power with
Arithmetic x1Xy0And x0Is the multiplicand, y0Multiplication with x as the multiplier0
Xy0And x1Is the multiplicand, y1Multiplication with x as the multiplier1Xy1
And x 0Is the multiplicand, y1Multiplication with x as the multiplier0Xy1And
The modified numbers shown in Table 2, Table 3, Table 4, and Table 5, respectively.
1st, 2nd, 3rd, 4th 2-bit booth method
Yes, these multiplication x1Xy0, X0Xy0, X1Xy1, X0×
y1Multiplication result of z1, Z2, Z 3, ZFourIs added as shown in Figure 1.
Add under the given rules shown in the block showing part 11
I'm supposed to.

【0137】したがって、この第5実施例によっても、
加算段数を減らし、乗算時間の短縮化を図ることができ
る。
Therefore, according to the fifth embodiment as well,
It is possible to reduce the number of addition stages and shorten the multiplication time.

【0138】なお、この第5実施例によれば、制御部6
7による制御により、2nビット×2nビット→2nビ
ットなる乗算のほか、2nビット×2nビット系積和演
算として、2nビット±2nビット×2nビット→2n
ビットなる積和演算を行うことができる。
According to the fifth embodiment, the control unit 6
By the control by 7, in addition to multiplication of 2n bits × 2n bits → 2n bits, 2n bits ± 2n bits × 2n bits → 2n as a 2n bit × 2n bit system product sum
It is possible to perform a multiply-accumulate operation consisting of bits.

【0139】また、2nビット×nビット系積和演算と
して、2nビット×nビット→2nビット、2nビット
±2nビット×nビット→2nビットなる積和演算を行
うことができる。
As a 2n-bit × n-bit product sum operation, a product-sum operation of 2n bits × n bits → 2n bits, 2n bits ± 2n bits × n bits → 2n bits can be performed.

【0140】また、2nビット×2nビット系積和演算
として、2nビット×2nビット→2nビット、2nビ
ット±2nビット×2nビット→2nビットなる積和演
算を行うことができる。
As a 2n bit × 2n bit system product-sum operation, a product-sum operation of 2n bit × 2n bit → 2n bit, 2n bit ± 2n bit × 2n bit → 2n bit can be performed.

【0141】また、ダブルnビット×nビット系積和演
算として、nビット×nビット±nビット×nビット→
2nビット、2nビット±(nビット×nビット±nビ
ット×nビット)→2nビットなる積和演算を行うこと
ができる。
As a double n-bit × n-bit product sum operation, n-bit × n-bit ± n-bit × n-bit →
A product-sum operation of 2n bits, 2n bits ± (n bits × n bits ± n bits × n bits) → 2n bits can be performed.

【0142】使用例・・図7 図7は、図5に示す第4実施例(但し、n=16)を搭
載してなるDSPを示すブロック図である。
Example of Use ... FIG. 7 FIG. 7 is a block diagram showing a DSP equipped with the fourth embodiment (where n = 16) shown in FIG.

【0143】図中、70は演算部であり、71、72は
各種算術演算や論理演算や転送命令に使用される演算用
レジスタ、73、74は16ビット×16ビット→32
ビットの乗算を行う乗算器(MUL)、75は加減算器
(ADD/SUB)、76は演算論理ユニット(AL
U)、77は演算結果ラッチ(LTR)である。
In the figure, 70 is an arithmetic unit, 71 and 72 are arithmetic registers used for various arithmetic operations, logical operations and transfer instructions, and 73 and 74 are 16 bits × 16 bits → 32.
Multiplier (MUL) for multiplying bits, 75 adder / subtractor (ADD / SUB), 76 arithmetic logic unit (AL
U) and 77 are operation result latches (LTR).

【0144】但し、乗算系命令で被乗数X、乗数Yの格
納に使用することができるのは、演算用レジスタ71で
あり、演算用レジスタ72は、演算系命令に使用するこ
とができる。
However, it is the arithmetic register 71 that can be used to store the multiplicand X and the multiplier Y in the multiplication instruction, and the arithmetic register 72 can be used for the arithmetic instruction.

【0145】ここに、演算用レジスタ71が図5に示す
レジスタ50、51に該当し、乗算器73、74が図5
に示す乗算器53、54に該当し、加減算器75が図5
に示す加減算器56に該当する。
The arithmetic register 71 corresponds to the registers 50 and 51 shown in FIG. 5, and the multipliers 73 and 74 correspond to the registers shown in FIG.
5 corresponds to the multipliers 53 and 54 shown in FIG.
Corresponds to the adder / subtractor 56.

【0146】また、80はシーケンサ部であり、81〜
83は命令レジスタ、いわゆるインストラクション・レ
ジスタ(IR1、IR1A、IR2)、84はループ処
理の実行時に使用されるループレジスタ(LPR)、8
5はデコーダであり、演算部70は、このシーケンサ部
80により制御される。即ち、シーケンサ部80は図5
に示す制御部55に該当する。
Reference numeral 80 is a sequencer section,
Reference numeral 83 is an instruction register, a so-called instruction register (IR1, IR1A, IR2), 84 is a loop register (LPR) used during execution of loop processing, 8
Reference numeral 5 is a decoder, and the arithmetic unit 70 is controlled by the sequencer unit 80. That is, the sequencer unit 80 is shown in FIG.
Corresponds to the control unit 55 shown in.

【0147】また、90はCPUインタフェース部であ
り、91はCPUアクセス制御部、92はシステム・デ
ータ・ラッチ(SDLT)、93はこのDSPの状態を
示すステータスレジスタ(STR)、94はシステム・
アドレス・ラッチ(SALT)である。
Further, 90 is a CPU interface section, 91 is a CPU access control section, 92 is a system data latch (SDLT), 93 is a status register (STR) indicating the state of this DSP, and 94 is a system
Address latch (SALT).

【0148】なお、CSXはチップセレクト信号、RW
Xはリード/ライト信号、DTACKXはデータアクノ
リッジ信号、D15〜0はデータ信号、A15〜0はア
ドレス信号である。
CSX is a chip select signal and RW.
X is a read / write signal, DTACKX is a data acknowledge signal, D15-0 are data signals, and A15-0 are address signals.

【0149】また、100はアドレス計算部であり、1
01、102は演算論理ユニット(XALU、YAL
U)、103はインデックスアドレッシング及びサーキ
ュラーアドレッシング時のオフセットとして使用される
オフセットレジスタ、104はプログラムの実行及び動
作モードを制御するコントロールレジスタ(CTR)で
ある。
Reference numeral 100 denotes an address calculation unit, which is 1
01 and 102 are arithmetic logic units (XALU, YAL
U) and 103 are offset registers used as offsets at the time of index addressing and circular addressing, and 104 is a control register (CTR) that controls the execution and operation mode of the program.

【0150】また、105はPUSH/POP命令や、
サブルーチンコール命令の実行時のデータの退避/復帰
アドレスを示すスタックポインタ(SP)、106は内
部アドレス制御部である。
Reference numeral 105 denotes a PUSH / POP instruction,
A stack pointer (SP) 106, which indicates a save / restore address of data when a subroutine call instruction is executed, is an internal address control unit.

【0151】また、107は転送時のオペランドアドレ
スを指定するインデックスレジスタ、108は命令コー
ドが格納されているメモリアドレスを示すプログラムカ
ウンタ(PC)である。
Further, 107 is an index register for designating an operand address at the time of transfer, and 108 is a program counter (PC) showing a memory address in which an instruction code is stored.

【0152】また、110は命令RAM部であり、11
1は256ワード×16ビットの規模を有する命令RA
M(random access memory)、112は命令RAM11
1との接続を図る命令RAMインタフェース部である。
Further, 110 is an instruction RAM unit, and 11
1 is an instruction RA having a scale of 256 words × 16 bits
M (random access memory), 112 is an instruction RAM 11
1 is an instruction RAM interface unit for connecting to 1.

【0153】また、120はプログラム/データ共用の
64Kワード×16ビットの規模を有する外部ROM
(read only memory)との接続を図るメモリ・インタフ
ェース部である。
Further, 120 is an external ROM having a scale of 64K words × 16 bits for program / data sharing.
This is a memory interface unit that is intended for connection with (read only memory).

【0154】ここに、121はメモリアクセス制御部、
122はメモリアドレス(MADDR)制御部、123
はメモリデータラッチ(MDLT)、MMはメモリモー
ド信号、MCEXはメモリチップイネーブル信号、MA
15〜0はメモリアドレス、MD15〜0はメモリデー
タである。
Reference numeral 121 denotes a memory access control unit,
122 is a memory address (MADDR) control unit, and 123 is
Is a memory data latch (MDLT), MM is a memory mode signal, MCEX is a memory chip enable signal, and MA.
15 to 0 are memory addresses, and MDs 15 to 0 are memory data.

【0155】また、130はデータRAM部であり、1
31、132は256ワード×16ビットの規模を有す
るデータRAM、133はデータRAM131、132
との接続を図るデータRAMインタフェース部である。
Reference numeral 130 denotes a data RAM section, which is 1
31 and 132 are data RAMs having a scale of 256 words × 16 bits, and 133 are data RAMs 131 and 132.
This is a data RAM interface section for connection with the.

【0156】また、140は制御部であり、141はク
ロック制御部、142はテスト用回路、RSTXはリセ
ット信号、CLK1は内部クロック信号、CLK0は外
部同期用クロック信号、TEST2〜0はテスト用信号
である。
Further, 140 is a control unit, 141 is a clock control unit, 142 is a test circuit, RSTX is a reset signal, CLK1 is an internal clock signal, CLK0 is an external synchronization clock signal, and TEST2 to 0 are test signals. Is.

【0157】このDSPにおいては、16ビット×16
ビット→32ビットの乗算を行う2個の乗算器73、7
4が搭載されているので、16ビット×16ビット系積
和演算として、16ビット×16ビット→32ビット、
32ビット±16ビット×16ビット→32ビットの積
和演算を行うことができる。
In this DSP, 16 bits × 16
Two multipliers 73, 7 for performing bit-> 32-bit multiplication
Since 4 is installed, 16-bit x 16-bit system multiply-accumulate operation, 16-bit x 16-bit → 32-bit,
32 bits ± 16 bits × 16 bits → 32 bits product-sum operation can be performed.

【0158】また、32ビット×16ビット系積和演算
として、32ビット×16ビット→32ビット、32ビ
ット±32ビット×16ビット→32ビットの積和演算
を行うことができる。
As the 32-bit × 16-bit product sum operation, a 32-bit × 16-bit → 32-bit, 32-bit ± 32-bit × 16-bit → 32-bit product-sum operation can be performed.

【0159】また、32ビット×32ビット系積和演算
として、32ビット×32ビット→32ビット、32ビ
ット±32ビット×32ビット→32ビットなる積和演
算を行うことができる。
As a 32-bit × 32-bit product sum operation, a product-sum operation of 32 bits × 32 bits → 32 bits, 32 bits ± 32 bits × 32 bits → 32 bits can be performed.

【0160】また、ダブル16ビット×16ビット系積
和演算として、16ビット×16ビット±16ビット×
16ビット→32ビット、32ビット±(16ビット×
16ビット±16ビット×16ビット)→32ビットな
る積和演算を行うことができる。
As a double 16-bit × 16-bit product sum operation, 16 bits × 16 bits ± 16 bits ×
16 bits → 32 bits, 32 bits ± (16 bits ×
16 bits ± 16 bits × 16 bits) → 32 bits product-sum operation can be performed.

【0161】このように、このDSPにおいては、たと
えば、32ビットの被乗数Xと32ビットの乗数Yとの
乗算を行う場合、被乗数Xを上位16ビットのx1と下
位16ビットのx0に分けると共に、乗数Yを上位16
ビットのy1と下位16ビットのy0とに分けるように
し、x1を被乗数、y0を乗数とする乗算x1×y0と、x
0を被乗数、y0を乗数とする乗算x0×y0と、x1を被
乗数、y1を乗数とする乗算x1×y1と、x0を被乗数、
1を乗数とする乗算x0×y1とを、それぞれ、表2、
表3、表4、表5に示す修正された第1、第2、第3、
第4の2ビット・ブースの方法で行い、これら乗算x1
×y0、x0×y0、x1×y1、x0×y1の乗算結果z1
2、z3、z4を、図1に示す加算部11を示すブロッ
ク内に示した所定の規則の下に加算することができる。
As described above, in this DSP, for example, when a 32-bit multiplicand X and a 32-bit multiplier Y are multiplied, the multiplicand X is divided into x 1 of upper 16 bits and x 0 of lower 16 bits. And the multiplier Y is the top 16
As divided into a y 1 and the lower 16 bits of y 0 bits, the multiplicand of x 1, and multiplying x 1 × y 0 to multiplier of y 0, x
0 multiplicand, and a multiplier x 0 × y 0 to multiplier of y 0, the multiplicand a x 1, and multiplying x 1 × y 1 to the multiplier of y 1, the multiplicand a x 0,
The multiplication x 0 × y 1 with y 1 as a multiplier is shown in Table 2,
The modified first, second, third, shown in Table 3, Table 4, and Table 5,
4th 2-bit Booth method and multiply these x 1
× y 0 , x 0 × y 0 , x 1 × y 1 , x 0 × y 1 multiplication result z 1 ,
It is possible to add z 2 , z 3 and z 4 under the predetermined rule shown in the block showing the adder 11 shown in FIG.

【0162】したがって、このDSPによれば、図形処
理を行うに必要な演算を行う場合に、加算段数を減ら
し、演算時間の短縮化を図ると共に、論理量の低減化を
図ることができる。
Therefore, according to this DSP, when the calculation necessary for performing the graphic processing is performed, the number of addition stages can be reduced, the calculation time can be shortened, and the logic amount can be reduced.

【0163】[0163]

【発明の効果】以上のように、本発明によれば、2nビ
ットの被乗数Xと2nビットの乗数Yとの乗算を行う場
合に、被乗数Xを上位nビットのx1と下位nビットの
0とに分けると共に、乗数Yを上位nビットのy1と下
位nビットのy0とに分け、x1を被乗数、y0を乗数と
する乗算x1×y0と、x0を被乗数、y0を乗数とする乗
算x0×y0と、x1を被乗数、y1を乗数とする乗算x1
×y1と、x0を被乗数、y1を乗数とする乗算x0×y1
とを、それぞれ、たとえば、表2、表3、表4、表5に
示す修正された第1、第2、第3、第4の2ビット・ブ
ースの方法で行い、これら乗算x1×y0、x0×y0、x
1×y1、x0×y1の結果を所定の規則の下に加算すると
しているので、加算段数を減らし、乗算時間の短縮化を
図ることができると共に、処理すべき論理量の低減化を
図ることができる。
As described above, according to the present invention, when a multiplicand X of 2n bits and a multiplier Y of 2n bits are multiplied, the multiplicand X is x 1 of upper n bits and x of lower n bits. In addition to 0 , the multiplier Y is divided into y 1 of the upper n bits and y 0 of the lower n bits, x 1 is a multiplicand, y 0 is a multiplier x 1 × y 0 , and x 0 is a multiplicand, a multiplying x 0 × y 0 to the y 0 and the multiplier, the multiplicand a x 1, multiplying x 1 to the multiplier of y 1
× and y 1, the multiplicand a x 0, multiplication and multiplier to y 1 x 0 × y 1
And the modified first, second, third, and fourth 2-bit Booth methods shown in Tables 2, 3, 4, and 5, respectively, and multiply these by x 1 × y 0 , x 0 x y 0 , x
Since the result of 1 x y 1 and x 0 x y 1 is added under a predetermined rule, the number of addition stages can be reduced, the multiplication time can be shortened, and the logical amount to be processed can be reduced. Can be achieved.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の原理を示す図である。FIG. 1 is a diagram showing the principle of the present invention.

【図2】本発明の第1実施例を示す回路図である。FIG. 2 is a circuit diagram showing a first embodiment of the present invention.

【図3】本発明の第2実施例を示す回路図である。FIG. 3 is a circuit diagram showing a second embodiment of the present invention.

【図4】本発明の第3実施例を示す回路図である。FIG. 4 is a circuit diagram showing a third embodiment of the present invention.

【図5】本発明の第4実施例を示す回路図である。FIG. 5 is a circuit diagram showing a fourth embodiment of the present invention.

【図6】本発明の第5実施例を示す回路図である。FIG. 6 is a circuit diagram showing a fifth embodiment of the present invention.

【図7】本発明の第4実施例の使用例を示すブロック図
である。
FIG. 7 is a block diagram showing an example of use of a fourth embodiment of the present invention.

【符号の説明】[Explanation of symbols]

X 被乗数 Y 乗数 10 乗算部 11 加算部 X multiplicand Y multiplier 10 Multiplier 11 adder

フロントページの続き (72)発明者 香月 俊治 東京都千代田区丸の内2丁目6番1号 富士通デバイス株式会社内 (56)参考文献 特開 平3−94328(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 310 Front Page Continuation (72) Inventor Shunji Katsuki 2-6-1, Marunouchi, Chiyoda-ku, Tokyo Fujitsu Device Limited (56) Reference JP-A-3-94328 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G06F 7/52 310

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】2nビット(但し、n=2以上の整数)の
被乗数(X)の上位nビット(x1)を被乗数、2nビ
ットの乗数(Y)の下位nビット(y0)を乗数とする
第1の乗算(x1×y0)と、 前記被乗数(X)の下位nビット(x0)を被乗数、前
記乗数(Y)の下位nビット(y0)を乗数とする第2
の乗算(x0×y0)と、 前記被乗数(X)の上位nビット(x1)を被乗数、前
記乗数(Y)の上位nビット(y1)を乗数とする第3
の乗算(x1×y1)と、 前記被乗数(X)の下位nビット(x0)を被乗数、前
記乗数(Y)の上位nビット(y1)を乗数とする第4
の乗算(x0×y1)とを、 前記第1の乗算(x1×y0)については、前記乗数
(Y)の下位nビット(y0)の評価ビットを
0.2J+2、y0.2J+1、y0.2J(但し、J=0、1・・・
n/2)と記す場合に、y0.2J+2=1、y0.2J+1=0、
0.2J=0の場合には、部分積の操作について、前記被
乗数(X)の上位nビット(x1)の反転数を左へ1ビ
ットシフトした値を加えて2ビット右へシフトし、y0.
2J+2=1、y0.2J+1=0、y0.2J=1の場合、及び、y
0.2J+2=1、y0.2J+1=1、y0.2J=0の場合には、部
分積の操作について、前記被乗数(X)の上位nビット
(x1)の反転数を加えて2ビット右へシフトするよう
に修正された第1の2ビット・ブースの方法に基づいて
行い、 前記第2の乗算(x0×y0)については、符号は0を拡
張するように修正された第2の2ビット・ブースの方法
に基づいて行い、 前記第3の乗算(x1×y1)については、前記乗数
(Y)の上位ビット(y1)の評価ビットをy1.2J+2
1.2J+1、y1.2Jと記す場合に、最下位評価ビットの値
を前記乗数(Y)の下位nビット(y0)の最上位ビッ
トの値(M)とし、y1.2J+2=1、y1.2J+1=0、y1.
2J=0の場合には、部分積の操作について、前記被乗数
(X)の上位nビット(x1)の反転数を左へ1ビット
シフトした値を加えて2ビット右へシフトし、y1.2J+2
=1、y1.2J+1=0、y1.2J=1の場合、及び、y1.
2J+2=1、y1.2J+1=1、y1.2J=0の場合には、部分
積の操作について、前記被乗数(X)の上位nビット
(x1)の反転数を加えて2ビット右へシフトするよう
に修正された第3の2ビット・ブースの方法に基づいて
行い、 前記第4の乗算(x0×y1)については、最下位評価ビ
ットの値を前記乗数(Y)の下位nビット(y0)の最
上位ビットの値(M)とし、符号は0を拡張するように
修正された第4の2ビット・ブースの方法に基づいて行
う乗算部(10)と、 前記第1、第2、第3及び第4の乗算(x1×y0、x0
×y0、x1×y1、x0×y1)の乗算結果(z1、z2
3、z4)について、前記第1及び第4の乗算(x1×
0、x0×y1)の乗算結果(z1、z4)については、
桁を同一にし、前記第2の演算(x0×y0)の乗算結果
(z2)については、前記第1及び第4の乗算(x1×y
0、x0×y1)の乗算結果(z1、z4)に対して、nビ
ット右へシフトし、前記第3の乗算(x1×y1)の乗算
結果(z3)については、前記第1及び第4の乗算(x1
×y0、x0×y1)の乗算結果(z1、z4)に対して、
nビット左へシフトした状態で、加算を行う加算部(1
1)とを設け、 前記被乗数(X)と前記乗数(Y)との乗算を行うよう
にされていることを特徴とする乗算回路。
1. A high-order n bit (x 1 ) of a multiplicand (X) of 2n bits (where n is an integer of 2 or more), a multiplicand of a low-order n bit (y 0 ) of a multiplier of 2n bits (Y). A first multiplication (x 1 × y 0 ) and a lower n bits (x 0 ) of the multiplicand (X) as a multiplicand, and a lower n bits (y 0 ) of the multiplier (Y) as a multiplier.
(X 0 × y 0 ) of the multiplicand (X), the upper n bits (x 1 ) of the multiplicand (X) being the multiplicand, and the upper n bits (y 1 ) of the multiplier (Y) being the multiplier
(X 1 × y 1 ), the lower n bits (x 0 ) of the multiplicand (X) are the multiplicands, and the upper n bits (y 1 ) of the multiplier (Y) are the multipliers.
Multiplication and (x 0 × y 1), wherein the first multiplier (x 1 × y 0), y 0 the evaluation bit lower n bits (y 0) of the multiplier (Y). 2J + 2 , y 0. 2J + 1, y 0. 2J ( where, J = 0,1 ···
When the n / 2) and referred, y 0. 2J + 2 = 1, y 0. 2J + 1 = 0,
y 0. In the case of 2J = 0, for the operation of the partial product, shifted by adding 1-bit shift value to the left by two bits right reversal number of the upper n bits (x 1) of the multiplicand (X) , Y 0 .
2J + 2 = 1, y 0 . 2J + 1 = 0, y 0. For 2J = 1, and, y
0. 2J + 2 = 1, y 0. In the case of 2J + 1 = 1, y 0 . 2J = 0 , for the operation of the partial product, inverting the number of the upper n bits (x 1) of the multiplicand (X) Is added according to the method of the first 2-bit Booth modified to shift to the right by 2 bits, and for the second multiplication (x 0 × y 0 ) the sign is such that 0 is extended. Based on the method of the second 2-bit Booth modified as described above, for the third multiplication (x 1 × y 1 ), the evaluation bit of the high-order bit (y 1 ) of the multiplier (Y) is y. 1. 2J + 2,
y 1. when referred to 2J + 1, y 1. 2J , the lower n bits (y 0) of the most significant bit value of the multiplier the value of the least significant evaluation bit (Y) (M), y 1. 2J + 2 = 1, y 1 . 2J + 1 = 0, y 1.
When 2J = 0, in the operation of the partial product, a value obtained by shifting the inverted number of the upper n bits (x 1 ) of the multiplicand (X) to the left by 1 bit is added to shift to the right by 2 bits, and y 1 .2J + 2
= 1, y 1. 2J + 1 = 0, y 1. For 2J = 1, and, y 1.
2J + 2 = 1, y 1 . 2J + 1 = 1, y 1. In the case of 2J = 0, for the operation of the partial product, the number of inversions of the upper n bits (x 1) of the multiplicand (X) was added And the value of the least significant evaluation bit is multiplied by the multiplier for the fourth multiplication (x 0 × y 1 ). The value of the most significant bit (M) of the lower n bits (y 0 ) of (Y) is used, and the code is modified based on the fourth 2-bit Booth method modified to extend 0 (10). ) And the first, second, third and fourth multiplications (x 1 × y 0 , x 0
× y 0 , x 1 × y 1 , x 0 × y 1 ) multiplication result (z 1 , z 2 ,
z 3 , z 4 ) for the first and fourth multiplications (x 1 ×
Regarding the multiplication result (z 1 , z 4 ) of y 0 , x 0 × y 1 ),
With the same digit, the multiplication result (z 2 ) of the second operation (x 0 × y 0 ) is the first and fourth multiplication (x 1 × y
The multiplication result (z 1 , z 4 ) of 0 , x 0 × y 1 ) is shifted to the right by n bits, and the multiplication result (z 3 ) of the third multiplication (x 1 × y 1 ) is , The first and fourth multiplications (x 1
Xy 0 , x 0 × y 1 ) multiplication result (z 1 , z 4 )
An adder (1 that performs addition in a state of shifting left by n bits
1) is provided, and the multiplicand (X) and the multiplier (Y) are multiplied by each other.
【請求項2】前記乗算部(10)は、前記第1の乗算
(x1×y0)を前記修正された第1の2ビット・ブース
の方法に基づいて行い、前記第3の乗算(x1×y1)を
前記修正された第3の2ビット・ブースの方法に基づい
て行う第1の乗算器と、前記第2の乗算(x0×y0)を
前記修正された第2の2ビット・ブースの方法に基づい
て行い、前記第4の乗算(x0×y1)を前記修正された
第4の2ビット・ブースの方法に基づいて行う第2の乗
算器とを設けて構成されていることを特徴とする請求項
1記載の乗算回路。
2. The multiplication unit (10) performs the first multiplication (x 1 × y 0 ) based on the modified first 2-bit Booth method, and the third multiplication (10). x 1 × y 1 ) based on the modified third 2-bit Booth method and a second multiplier (x 0 × y 0 ) based on the modified second And a second multiplier for performing the fourth multiplication (x 0 × y 1 ) based on the modified fourth 2-bit Booth method. The multiplication circuit according to claim 1, wherein the multiplication circuit is configured as follows.
【請求項3】前記乗算部(10)は、前記第1の乗算
(x1×y0)を前記修正された第1の2ビット・ブース
の方法に基づいて行う第1の乗算器と、前記第2の乗算
(x0×y0)を前記修正してなる第2の2ビット・ブー
スの方法に基づいて行う第2の乗算器と、前記第3の乗
算(x1×y1)を前記修正してなる第3の2ビット・ブ
ースの方法に基づいて行う第3の乗算器と、前記第4の
乗算(x0×y1)を前記修正された第4の2ビット・ブ
ースの方法に基づいて行う第4の乗算器とを設けて構成
されていることを特徴とする請求項1記載の乗算回路。
3. A first multiplier (10) for performing the first multiplication (x 1 × y 0 ) based on the modified first 2-bit Booth method; A second multiplier for performing the second multiplication (x 0 × y 0 ) based on the modified second 2-bit Booth method; and the third multiplication (x 1 × y 1 ). And a fourth multiplier (x 0 × y 1 ) for performing the fourth multiplication (x 0 × y 1 ) based on the modified method of the third 2-bit Booth. 4. The multiplication circuit according to claim 1, wherein the multiplication circuit is provided with a fourth multiplier that performs the above method.
【請求項4】前記乗算部(10)は、前記第1の乗算
(x1×y0)を前記修正された第1の2ビット・ブース
の方法に基づいて行い、前記第2の乗算(x0×y0)を
前記修正された第2の2ビット・ブースの方法に基づい
て行い、前記第3の乗算(x1×y1)を前記修正された
第3の2ビット・ブースの方法に基づいて行い、前記第
4の乗算(x0×y1)を前記修正された第4の2ビット
・ブースの方法に基づいて行う乗算器を設けて構成され
ていることを特徴とする請求項1記載の乗算回路。
4. The multiplication unit (10) performs the first multiplication (x 1 × y 0 ) based on the modified first 2-bit Booth method, and the second multiplication (10). x 0 × y 0 ) based on the modified second 2-bit Booth method and the third multiplication (x 1 × y 1 ) of the modified third 2-bit Booth. And a multiplier for performing the fourth multiplication (x 0 × y 1 ) based on the modified fourth 2-bit Booth method. The multiplication circuit according to claim 1.
【請求項5】前記乗算部(10)は、前記第1の乗算
(x1×y0)を前記修正された第1の2ビット・ブース
の方法に基づいて行い、前記第2の乗算(x0×y0)を
前記修正された第2の2ビット・ブースの方法に基づい
て行う第1の乗算器と、前記第3の乗算(x1×y1)を
前記修正された第3の2ビット・ブースの方法に基づい
て行い、前記第4の乗算(x0×y1)を前記修正された
第4の2ビット・ブースの方法に基づいて行う第2の乗
算器とを設けて構成されていることを特徴とする請求項
1記載の乗算回路。
5. The multiplication unit (10) performs the first multiplication (x 1 × y 0 ) based on the modified first 2-bit Booth method, and the second multiplication (10). x 0 × y 0 ) based on the modified second 2-bit Booth method and a third multiplier (x 1 × y 1 ) based on the modified third And a second multiplier for performing the fourth multiplication (x 0 × y 1 ) based on the modified fourth 2-bit Booth method. The multiplication circuit according to claim 1, wherein the multiplication circuit is configured as follows.
【請求項6】前記乗算部(10)は、前記第1の乗算
(x1×y0)を前記修正された第1の2ビット・ブース
の方法、前記修正された第2の2ビット・ブースの方
法、前記修正された第3の2ビット・ブースの方法又は
前記修正された第4の2ビット・ブースの方法に基づい
て行う第1の乗算器と、前記第2の乗算(x0×y0)を
前記修正された第1の2ビット・ブースの方法、前記修
正された第2の2ビット・ブースの方法、前記修正され
た第3の2ビット・ブースの方法又は前記修正された第
4の2ビット・ブースの方法に基づいて行う第2の乗算
器と、前記第3の乗算(x1×y1)を前記修正された第
1の2ビット・ブースの方法、前記修正された第2の2
ビット・ブースの方法、前記修正された第3の2ビット
・ブースの方法又は前記修正された第4の2ビット・ブ
ースの方法に基づいて行う第3の乗算器と、前記第4の
乗算(x0×y1)を前記修正された第1の2ビット・ブ
ースの方法、前記修正された第2の2ビット・ブースの
方法、前記修正された第3の2ビット・ブースの方法又
は前記修正された第4の2ビット・ブースの方法に基づ
いて行う第4の乗算器とを設けて構成されていることを
特徴とする請求項1記載の乗算回路。
6. The multiplying unit (10) performs the modified first 2-bit Booth method on the first multiplication (x 1 × y 0 ) and the modified second 2-bit method. A first multiplier based on the Booth method, the modified third 2-bit Booth method or the modified fourth 2-bit Booth method, and the second multiplication (x 0 Xy 0 ) the modified first 2-bit Booth method, the modified second 2-bit Booth method, the modified third 2-bit Booth method or the modified A second multiplier based on a fourth 2-bit Booth method, and the modified first 2-bit Booth method, the modified third multiplication (x 1 × y 1 ). The second 2
A third multiplier, which is based on the Bit Booth method, the modified third 2-bit Booth method or the modified fourth 2-bit Booth method, and the fourth multiplication ( x 0 × y 1 ) the modified first 2-bit Booth method, the modified second 2-bit Booth method, the modified third 2-bit Booth method or the 4. The multiplier circuit according to claim 1, further comprising: a fourth multiplier that operates based on the modified fourth 2-bit Booth method.
JP22412993A 1993-09-09 1993-09-09 Multiplication circuit Expired - Fee Related JP3435744B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22412993A JP3435744B2 (en) 1993-09-09 1993-09-09 Multiplication circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22412993A JP3435744B2 (en) 1993-09-09 1993-09-09 Multiplication circuit

Publications (2)

Publication Number Publication Date
JPH0784763A JPH0784763A (en) 1995-03-31
JP3435744B2 true JP3435744B2 (en) 2003-08-11

Family

ID=16809000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22412993A Expired - Fee Related JP3435744B2 (en) 1993-09-09 1993-09-09 Multiplication circuit

Country Status (1)

Country Link
JP (1) JP3435744B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107305B2 (en) * 2001-10-05 2006-09-12 Intel Corporation Multiply-accumulate (MAC) unit for single-instruction/multiple-data (SIMD) instructions
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
JP6886389B2 (en) * 2017-10-23 2021-06-16 日立Astemo株式会社 Arithmetic logic unit and in-vehicle control unit

Also Published As

Publication number Publication date
JPH0784763A (en) 1995-03-31

Similar Documents

Publication Publication Date Title
US4597053A (en) Two-pass multiplier/accumulator circuit
US5001662A (en) Method and apparatus for multi-gauge computation
JP3110288B2 (en) Exponential logarithmic conversion circuit
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
JPH08234962A (en) Apparatus and method for execution of both 24-bit arithmeticoperation and 16-bit arithmetic operation
JP3767085B2 (en) Information processing circuit and microcomputer
JP3476960B2 (en) Arithmetic logic operation device and control method
JPH07121354A (en) Multiplier capable of double precision/signal precision/ inner product operation and complex multiplication
JP3435744B2 (en) Multiplication circuit
US3840727A (en) Binary multiplication by addition with non-verlapping multiplier recording
US5751999A (en) Processor and data memory for outputting and receiving data on different buses for storage in the same location
JPS59178544A (en) Memory access circuit
JP2001216136A (en) Addition circuit and processor
JP3441847B2 (en) Processor with data memory
JPH04314126A (en) Inverse number generating device
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
US7590677B2 (en) Processor with summation instruction using overflow counter
JP3394052B2 (en) Multi-precision calculation method and multi-precision calculation device
JP2675087B2 (en) Microcomputer
JP2972326B2 (en) Square root calculator
JP2508286B2 (en) Square root calculator
US7580968B2 (en) Processor with scaled sum-of-product instructions
JPH01266668A (en) Information processor
JP3522167B2 (en) Arithmetic processing circuit and arithmetic processing method
JP2624738B2 (en) Rounding method

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030506

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090606

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees