JPH11134174A - Arithmetic circuit - Google Patents

Arithmetic circuit

Info

Publication number
JPH11134174A
JPH11134174A JP9294482A JP29448297A JPH11134174A JP H11134174 A JPH11134174 A JP H11134174A JP 9294482 A JP9294482 A JP 9294482A JP 29448297 A JP29448297 A JP 29448297A JP H11134174 A JPH11134174 A JP H11134174A
Authority
JP
Japan
Prior art keywords
data
bits
remainder
output
dividend
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.)
Withdrawn
Application number
JP9294482A
Other languages
Japanese (ja)
Inventor
Kenichi Wakasa
健一 若狭
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP9294482A priority Critical patent/JPH11134174A/en
Publication of JPH11134174A publication Critical patent/JPH11134174A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a multiplication result at high speed in a synchronism circuit. SOLUTION: A partial product gate 10 finds a partial product by multiplying multiplicand data A [m-1:0] of m-bits by data B0 of the lowest order in the multiplier B [n-1:0]. Respective partial product gates 20-x ((x) is 1<=x<=n-1) obtain the partial products by multiplying multiplicand data A [m-1:0] of m-bits by data Bx of x-th bit from the lowest order in the multiplicand B [n-1:0] of n-bits. The partial products found by the respective partial product gates 10 and 20-x are summed up by an addition means 30 and the multiplication result Σ[m+n-1:0] of multiplicand data A [m-1:0] of m-bits and the multiplier B [n-1:0] of n-bits is found.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、同期回路等に組込
まれ、乗算或いは除算を行う演算回路に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic circuit incorporated in a synchronous circuit or the like to perform multiplication or division.

【0002】[0002]

【従来の技術】従来の同期回路には、0番目のビットデ
ータA0 から(m−1)番目(mは、正の整数)のビッ
トデータAm-1 までのmビットのデータで構成される被
乗数データA[m−1:0](ただし、[m−1:0]
はビットデータの範囲を示す)と、0番目のビットデー
タB0 からn−1番目(nは、正の整数)のビットデー
タBn-1 までのnビットのデータで構成される乗数デー
タB[n−1:0]との乗算を行う演算回路を備えたも
のがある。また、従来の同期回路には、0番目のビット
データC0 から(m−1)番目のビットデータCm-1
でのmビットのデータで構成される被除数データC[m
−1:0]と、0番目のビットデータD0から(n−
1)番目のビットデータDn-1 までnビットのデータで
構成される除数データD[n−1:0]との除算を行う
演算回路を備えたものもある。これらの乗算或いは除算
を行う演算回路は、クロックに同期した動作を行い、最
終的な乗算結果である積と、除算結果である商及び余り
とをそれぞれを求めている。図2は、従来の演算回路の
乗算状態を示すタイムチャートである。
2. Description of the Related Art A conventional synchronous circuit comprises m bits of data from a 0th bit data A0 to a (m-1) th (m is a positive integer) bit data Am-1. Multiplicand data A [m-1: 0] (where [m-1: 0]
Indicates the range of bit data), and multiplier data B composed of n- bit data from the 0th bit data B0 to the (n-1) th (n is a positive integer) bit data Bn-1. Some include an arithmetic circuit that performs multiplication with [n-1: 0]. Further, in the conventional synchronous circuit, the dividend data C [m composed of m- bit data from the 0th bit data C0 to the (m-1) th bit data Cm-1 is provided.
−1: 0] and the 0th bit data D 0 to (n−
Some include an arithmetic circuit for performing division with divisor data D [n-1: 0] composed of n- bit data up to the 1) th bit data D n−1 . The arithmetic circuit that performs these multiplications or divisions operates in synchronization with a clock, and obtains a product as a final multiplication result and a quotient and a remainder as division results. FIG. 2 is a time chart showing a multiplication state of a conventional arithmetic circuit.

【0003】クロックClkに同期して乗算を行う演算
回路は、次の(a1)〜(a6)の動作を行い、乗算結
果を求める。 (a1) データを記憶するためのフリップフロップ等
の記憶データをすべてクリアする。 (a2) データA[m−1:0]のデータに対して、
クロックClkに同期してデータB0 を乗算し、この乗
算結果S0 を格納する。 (a3) データA[m−1:0]のデータを1ビット
分桁上げしてそれにビットデータB1 を乗算し、該乗算
結果に前記乗算結果S0 を累積加算し、この累積加算で
得られた加算結果S1 を記憶する。 (a4) データA[m−1:0]のデータを2ビット
分桁上げしてそれにビットデータB2 を乗算し、該乗算
結果に前記加算結果S1 を累積加算し、この累積加算で
得られた累積結果S2 を記憶する。 (a5) データA[m−1:0]のデータを3ビット
分桁上げしてそれにビットデータB3 を乗算し、該乗算
結果に前記累積加算結果S2 を加算し、この累積加算で
得られた累積加算結果S3 を記憶する。 (a6) 上述の(3)或いは(4)と同様の処理を継
続する。つまり、データA[m−1:0]のデータをx
(xは、自然数)ビット分桁上げしてそれにビットデー
タBx を乗算し、該乗算結果に直前に求めた累積加算結
果Sx-1 を加算し、この累積加算で得られた累積結果S
x を記憶する処理を、xがn−1になるまで繰返し、最
後に求め累積結果Sx を、被乗数データA[m−1:
0]と乗数データB[n−1:0]との乗算結果として
出力する。
An arithmetic circuit that performs multiplication in synchronization with the clock Clk performs the following operations (a1) to (a6) to obtain a multiplication result. (A1) Clear all stored data such as flip-flops for storing data. (A2) For the data of data A [m-1: 0],
The data B 0 is multiplied in synchronization with the clock Clk, and the multiplication result S 0 is stored. (A3) data A [m-1: 0] it multiplies the bit data B 1 data up one bit digit of the result of the multiplication S 0 cumulatively adding the multiplication results, obtained in the cumulatively added obtained addition result storing S 1. (A4) Carry data A [m-1: 0] data by two bits, multiply it by bit data B 2 , accumulatively add the addition result S 1 to the multiplication result, and obtain this accumulative addition. cumulatively result storing S 2 which is. (A5) Carry data A [m-1: 0] by three bits, multiply it by bit data B 3 , add the result of the cumulative addition S 2 to the result of the multiplication, and obtain the result by the cumulative addition. cumulative addition results stored S 3 that is. (A6) Processing similar to the above (3) or (4) is continued. That is, the data of the data A [m−1: 0] is x
(X is a natural number) carry by bits and multiply by the bit data B x , add the cumulative addition result S x−1 obtained immediately before to the multiplication result, and obtain the cumulative result S obtained by this cumulative addition.
The process of storing x is repeated until x becomes n-1. Finally, the cumulative result Sx is obtained and the multiplicand data A [m-1:
0] and the multiplier data B [n-1: 0].

【0004】図3は、従来の演算回路の除算状態を示す
タイムチャートである。除算を行う演算回路では、次の
(b1)〜(b5)の動作を行い、除算結果を求めてい
る。 (b1) データを記憶する格納するフリップフロップ
等の記憶データをすべてクリアする。 (b2) クロックClkに同期して除数データD[n
−1:0]の2の補数D* を求め、次のクロックClk
に同期して被除算データの上位nビットのデータC[m
−1:m−n]に対して除数データD[n−1:0]の
2の補数D* を加算し、該加算結果から剰余数Eと商F
を得る。商は加算結果が正または零のときには“1”、
加算結果が負の時には“0”となる。 (b3) クロックClkに同期して除数データD[n
−1:0]の2の補数D* を求め、次のクロックClk
に同期して前記剰余数の上位nビットのデータに対して
除数データD[n−1:0]の2の補数D* を加算し、
該加算結果から剰余数Eと商Fを得る。商は加算結果が
正または零のときには“1”、加算結果が負の時には
“0”となる。 (b4) クロックClkに同期して除数データD[n
−1:0]の2の補数D* を求め、次のクロックClk
に同期して前記(b3)の処理で求めた剰余数の上位n
ビットのデータに対して除数データD[n−1:0]の
2の補数D* を加算し、該加算結果から剰余数Eと商F
を得る。商は加算結果が正または零のときには“1”、
加算結果が負の時には“0”となる。 (b5) 以降、前記(b3),(b4)の処理を順次
繰り返し、加算結果が、がデータBよりも小さくなった
ら演算止める。そして、それまでに求めた商Fを最終的
な商としてパラレルに出力すると共に、最終的に得られ
たEを余りとして出力する。
FIG. 3 is a time chart showing a division state of a conventional arithmetic circuit. The arithmetic circuit that performs the division performs the following operations (b1) to (b5) to obtain the division result. (B1) Clear all stored data such as flip-flops for storing data. (B2) The divisor data D [n] in synchronization with the clock Clk
-1: 0], the two's complement D * of the next clock Clk is obtained.
In synchronization with the uppermost n-bit data C [m
−1: m−n], the two's complement D * of the divisor data D [n−1: 0] is added, and the remainder E and the quotient F are obtained from the addition result.
Get. The quotient is "1" when the addition result is positive or zero,
When the addition result is negative, it becomes "0". (B3) The divisor data D [n] in synchronization with the clock Clk
-1: 0], the two's complement D * of the next clock Clk is obtained.
The 2's complement D * of the divisor data D [n−1: 0] is added to the upper n bits of the remainder in synchronization with
A remainder E and a quotient F are obtained from the addition result. The quotient becomes "1" when the addition result is positive or zero, and becomes "0" when the addition result is negative. (B4) The divisor data D [n] in synchronization with the clock Clk
-1: 0], the two's complement D * of the next clock Clk is obtained.
In synchronism with the upper n of the remainder obtained in the process of (b3).
The 2's complement D * of the divisor data D [n-1: 0] is added to the bit data, and the remainder E and the quotient F are obtained from the addition result.
Get. The quotient is "1" when the addition result is positive or zero,
When the addition result is negative, it becomes "0". (B5) Thereafter, the processes of (b3) and (b4) are sequentially repeated, and the calculation is stopped when the addition result becomes smaller than the data B. Then, the quotient F obtained so far is output in parallel as a final quotient, and the finally obtained E is output as a remainder.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、従来の
演算回路では、次のような課題があった。乗算を行う演
算回路では、図2のように、クロックCKに同期して
(a2)〜(a6)の動作を行うので、演算回路におけ
る除算の状態変化が1クロックで多くても1回であり、
状態変化が多い乗算で最終的な乗算結果を得るまでに、
時間を要するという課題があった。除算を行う演算回路
においても、図3のように、クロックClkに同期して
(b2)〜(b5)の動作を行うので、乗算を行う演算
回路と同様に、状態変化が多い除算で最終的な除算結果
を得るまでに、時間を要するという課題があった。
However, the conventional arithmetic circuit has the following problems. In the arithmetic circuit that performs multiplication, as shown in FIG. 2, the operations (a2) to (a6) are performed in synchronization with the clock CK. Therefore, the state change of the division in the arithmetic circuit is at most one per clock. ,
Until the final multiplication result is obtained by multiplication with many state changes,
There was a problem that it took time. Also in the arithmetic circuit for performing the division, as shown in FIG. 3, the operations (b2) to (b5) are performed in synchronization with the clock Clk. There is a problem that it takes time to obtain a proper division result.

【0006】[0006]

【課題を解決するための手段】前記課題を解決するため
に、本発明のうちの第1及び第2の発明は、mビットの
被乗数とnビットの乗数との乗算を行う演算回路におい
て、次のような第1の部分積ゲート、(n−1)個の第
2の部分積ゲート及び加算手段を設けている。第1の部
分積ゲートは、前記被乗数と前記乗数のうちの最下位ビ
ットの値との乗算を行って部分積を求める回路である。
各第2の部分積ゲートは、前記被乗数をそれぞれパラレ
ルに入力し、該被乗数と前記乗数のうちの前記最下ビッ
トからx(xは、1≦x≦n−1の自然数)ビット目の
データとの乗算を行って部分積をそれぞれ求め、該部分
積をx桁分桁上げした状態でそれぞれ出力するものであ
る。加算手段は、前記第1の部分積ゲート及び前記各第
2の部分積ゲートが求め0部分積を総計する手段であ
る。
In order to solve the above-mentioned problems, the first and second inventions of the present invention provide an arithmetic circuit for multiplying an m-bit multiplicand by an n-bit multiplier. , A (n-1) second partial product gate, and an adding means. The first partial product gate is a circuit that calculates a partial product by multiplying the multiplicand by the value of the least significant bit of the multiplier.
Each of the second partial product gates inputs the multiplicand in parallel, and outputs x-th (x is a natural number of 1 ≦ x ≦ n−1) bit from the least significant bit of the multiplicand and the multiplier. To obtain partial products, respectively, and output the partial products in a state where they are carried up by x digits. The adding means is means for calculating the first partial product gate and the respective second partial product gates and summing up the zero partial products.

【0007】第3及び第4の発明は、mビットの被除数
とnビットの除数との除算を行う演算回路において、次
のような補数手段、第1の除数ブロック、及び(m−
n)段の第2の除算ブロックを備えている。補数手段
は、前記除数の2の補数を求める手段である。第1の除
算ブロックは、被除数の上位nビットに前記2の補数を
加算し、この加算結果が正または零の値を示すときには
“1”を商として出力すると共に該加算結果の有効ビッ
トに対して該被除数の下位(m−n)ビットを付加して
剰余数として出力し、該加算結果が負の値を示すときに
は“0”を商として出力すると共に前記被除数をそのま
ま該剰余数として出力する構成になっている。(m−
n)段の各第2の除算ブロックは、前記第1の除算ブロ
ックに縦続接続され、前段から与えられた剰余数の上位
(n+1)ビットのデータに前記2の補数を加算し、こ
の加算結果が正または零の値を示すときには“1”を商
として出力すると共に該加算結果の有効ビットに対して
該前段から与えられた剰余数の下位(m−n−y)ビッ
ト(yは、1≦y≦m−nの自然数)を付加して自段の
剰余数としてそれぞれ出力し、該加算結果が負の値を示
すときには“0”を商として出力すると共に該前段から
与えられた剰余数の有効ビットを該自段の剰余数として
それぞれ出力するものである。そして、前記被除数を前
記除数で割った商として前記第1の除算ブロック及び前
記各第2の除算ブロックから出力される各商をパラレル
に出力し、前記第2の除算ブロックの最終段から、該被
除数を除数で割った余りを出力する構成にしている。
The third and fourth inventions are directed to an arithmetic circuit for dividing an m-bit dividend and an n-bit divisor, wherein the following complement means, a first divisor block, and (m-
n) stage of second division block. The complement means is means for calculating the two's complement of the divisor. The first division block adds the two's complement to the upper n bits of the dividend and outputs "1" as a quotient when the result of the addition indicates a positive or zero value. Then, the lower (mn) bits of the dividend are added and output as a remainder, and when the addition result indicates a negative value, "0" is output as a quotient and the dividend is output as the remainder as it is. It has a configuration. (M-
Each second division block of the n) stage is cascade-connected to the first division block, and adds the two's complement to the data of the upper (n + 1) bits of the remainder number given from the previous stage, and this addition result Indicates a positive or zero value, "1" is output as a quotient, and the lower (m-n-y) bits (y is 1) of the remainder given from the preceding stage to the effective bit of the addition result. ≤ y ≤ mn) and output them as remainders of the own stage. When the addition result indicates a negative value, "0" is output as a quotient and the remainder number given from the preceding stage Are output as the remainders of the stage. Then, each quotient output from the first division block and each of the second division blocks is output in parallel as a quotient obtained by dividing the dividend by the divisor, and the quotient is output from the last stage of the second division block. The remainder is obtained by dividing the dividend by the divisor.

【0008】第1及び第2の発明によれば、以上のよう
に演算回路を構成したので、第1のの部分積ゲートと、
(n−1)個の第2の部分積ゲートに、被乗数と乗数と
を与えることにより、乗算に必要な部分積がクロックに
依存せずに求められる。これらの部分積を加算すること
により、被乗数と乗数の乗算結果が即時に求められる。
第3及び第4の発明によれば、補数手段に除数を与える
ことにより、該除数の2の補数が求められる。第1の除
算ブロックに、その2の補数が与えられると、該第1の
除算ブロックにより、商と剰余数とが求められる。(m
−n)段の各第2の除算ブロックは、前段から与えられ
た剰余数と2の補数との加算を行い、該加算結果に応じ
た商を求めると共に、剰余数をそれぞれ求めて後段側へ
それぞれ与える。これらの動作は、クロックに同期せず
に行われる。第1の除算ブロックと、(m−n)段の各
第2の除算ブロックで求められた商が、パラレルに出力
されることにより、被除数を除数で割った最終的な商が
出力される。そして、その商に対応する余りが、最終段
の第2の除算ブロックから出力される。従って、前記課
題を解決できるのである。
According to the first and second inventions, since the arithmetic circuit is configured as described above, the first partial product gate,
By providing a multiplicand and a multiplier to the (n-1) second partial product gates, a partial product required for multiplication can be obtained independently of a clock. By adding these partial products, the result of multiplication of the multiplicand and the multiplier is immediately obtained.
According to the third and fourth aspects of the present invention, by giving a divisor to the complement means, the two's complement of the divisor is obtained. When the two's complement is given to the first division block, the quotient and the remainder are obtained by the first division block. (M
-N) Each second division block of the stage performs addition of the remainder number given from the previous stage and a two's complement, obtains a quotient according to the addition result, and obtains the remainder number, respectively, to the subsequent stage. Give each. These operations are performed without synchronization with the clock. The quotients obtained in the first division block and the respective second division blocks in the (mn) stages are output in parallel, so that the final quotient obtained by dividing the dividend by the divisor is output. Then, the remainder corresponding to the quotient is output from the second division block in the final stage. Therefore, the above problem can be solved.

【0009】[0009]

【発明の実施の形態】第1の実施形態 図1は、本発明の第1の実施形態を示す演算回路の構成
図である。この演算回路は同期回路等に設けられ、与え
られた被乗数データA[m−1:0]と乗数データB
[n−1:0]との乗算を行う回路であり、パラレルな
被乗数データA[m−1:0]が入力される第1の部分
積ゲート10と、パラレルな被乗数データA[m−1:
0]がそれぞれ入力される(n−1)個の第2の部分積
ゲート20−1 〜20−(n-1) とを備えている。部分積
ゲート10,20−1〜20−(n-1) の出力側に、加算
手段30が接続されている。図4(a),(b)は、図
1中の部分積ゲートの構成例を示す回路図であり、同図
4(a)は部分積ゲート10、及び同図(b)は各部分
積ゲート20−x(xは、1≦x≦n−1の自然数)を
示している。部分積ゲート10は、被乗数データA[m
−1:0]と、乗数データB[n−1:0]のうちのデ
ータB0 とを乗算して第1の部分積S10を求めるもの
であり、各データA0 〜Am-1 が入力される入力端子列
と、データB0 が入力される入力端子とを有すると共
に、各データA0 〜Am-1 が一方の入力端子にそれぞれ
入力され、他方の入力端子にデータB0 が共通に入力さ
れるm個の2入力ANDゲート110 〜11m-1 をそれ
ぞれ備えている。各ANDゲート110 〜11m- 1 は、
データA0 〜Am-1 とデータB0 との積をそれぞれ求め
るものであり、これらANDゲート110 〜11m-1
出力データが部分積S10となる構成になっている。
DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment FIG. 1 is a block diagram of an arithmetic circuit according to a first embodiment of the present invention. This arithmetic circuit is provided in a synchronizing circuit or the like, and provided multiplicand data A [m−1: 0] and multiplier data B
This is a circuit that performs multiplication with [n-1: 0], a first partial product gate 10 to which parallel multiplicand data A [m-1: 0] is input, and a parallel multiplicand data A [m-1]. :
0] are input to each of the (n-1) second partial product gates 20-1 to 20- (n-1). Adder means 30 is connected to the output side of the partial product gates 10, 20-1 to 20- (n-1). 4A and 4B are circuit diagrams showing examples of the configuration of the partial product gate in FIG. 1. FIG. 4A shows the partial product gate 10, and FIG. 4B shows each partial product gate. A gate 20-x (x is a natural number of 1 ≦ x ≦ n−1) is shown. The partial product gate 10 outputs the multiplicand data A [m
-1: 0], the multiplier data B [n-1: 0] is intended to obtain the first partial product S10 by multiplying the data B 0 of, each data A 0 to A m-1 an input terminal sequence input, and having an input terminal to which data B 0 is input, the data a 0 ~A m-1 is input to one input terminal, the data B 0 to the other input terminal common to the m input 2 input aND gate 11 0 to 11 m-1 to have respectively provided. Each AND gate 11 0 to 11 m-1, the
The product of the data A 0 -A m-1 and the data B 0 is obtained, and the output data of the AND gates 11 0 -11 m-1 is a partial product S10.

【0010】各部分積ゲート20−xは、被乗数データ
A[m−1:0]と、乗数データB[n−1:0]のう
ちのデータBx とを乗算して部分積S20−xをそれぞ
れ求めるものであり、各データA0 〜Am-1 が入力され
る入力端子列と、データBxが入力される入力端子とを
有すると共に、各データA0 〜Am-1 が一方の入力端子
にそれぞれ入力され、他方の入力端子にデータBx が共
通に入力されるm個の2入力ANDゲート210 〜21
m-1 をそれぞれ備えている。各ANDゲート210 〜2
m-1 は、データA0 〜Am-1 とデータBx との積をそ
れぞれ求めるものであり、これらANDゲート210
21m-1 の出力データが部分積S20−xとなる構成に
なっている。なお、各部分積S20−1が、部分積S1
0に対してx桁分だけそれぞれ桁上げされて加算手段3
0に入力されるように、各部分積ゲート20−xに入力
される被乗数データA[m−1:0]は、バスをずらし
て入力されている。
[0010] Each partial product gate 20-x is multiplicand data A [m-1: 0] and, multiplier data B [n-1: 0] Data B x and the multiply partial products S20-x of the are those respectively obtained, and the input terminal rows each data a 0 ~A m-1 is input, and having an input terminal to which data B x is input, each data a 0 ~A m-1 one M input 2-input AND gates 21 0 to 21 to which data B x is commonly input to the other input terminals.
m-1 . Each AND gate 21 0 to 2
1 m-1 is for obtaining the product of the data A 0 to A m-1 and the data B x, respectively, these AND gates 21 0 ~
The output data of 21 m-1 is configured to be a partial product S20-x. Note that each partial product S20-1 is a partial product S1.
0 is carried by x digits each, and the adding means 3
The multiplicand data A [m-1: 0] input to each of the partial product gates 20-x is input while shifting the bus so that the input is 0.

【0011】図5は、図1の乗算状態を示すタイムチャ
ートであり、この図5を参照しつつ、図1の動作を説明
する。クロックClkに同期して、図1の演算回路に被
乗数データA[m−1:0]と乗数B[n−1:0]と
が与えられると、部分積ゲート10が被乗数データA
[m−1:0]とデータB0 との積を求めて部分積S1
0として出力する。各部分積ゲート20−xが被乗数デ
ータA[m−1:0]とデータBx との積を求めて部分
積S20−xとしてそれぞれ出力する。部分積S10,
20−xは、桁調整された状態で加算手段30に与えら
れ、該加算手段30がこれら部分積S10及び20−x
の総計Σ[m+n−1:0]を求める。これら加算手段
30の出力する総計Σ[m+n−1:0]が、被乗数デ
ータA[m−1:0]と乗数B[n−1:0]の乗算結
果になる。以上のように、この第1の実施形態では、被
乗数データA[m−1:0]と乗数B[n−1:0]と
の乗算を行う演算回路を、部分積ゲート10と、(n−
1)個の部分積ゲート20−xと、加算手段30とで構
成したので、非同期に演算が実行され、図5のように、
従来ではnビット分のクロック時間(n×1時間)だけ
乗算にかかっていた演算時間が演算回路内で発生するゲ
ート遅延のみで終了できる。
FIG. 5 is a time chart showing the multiplication state of FIG. 1. The operation of FIG. 1 will be described with reference to FIG. When the multiplicand data A [m−1: 0] and the multiplier B [n−1: 0] are given to the arithmetic circuit of FIG. 1 in synchronization with the clock Clk, the partial product gate 10 causes the multiplicand data A
The product of [m−1: 0] and data B 0 is obtained to obtain a partial product S1
Output as 0. Each partial product gate 20-x obtains a product of the multiplicand data A [m-1: 0] and the data Bx and outputs the product as a partial product S20-x. Partial product S10,
20-x is given to the adding means 30 in a state where the digits are adjusted, and the adding means 30 makes these partial products S10 and 20-x
Σ [m + n−1: 0]. The sum Σ [m + n−1: 0] output from the adding means 30 is a multiplication result of the multiplicand data A [m−1: 0] and the multiplier B [n−1: 0]. As described above, in the first embodiment, the arithmetic circuit that performs the multiplication of the multiplicand data A [m−1: 0] and the multiplier B [n−1: 0] includes the partial product gate 10 and (n −
Since 1) partial product gates 20-x and the adding means 30 are used, the operation is executed asynchronously, and as shown in FIG.
Conventionally, the operation time required for multiplication by the clock time for n bits (n × 1 time) can be completed only by the gate delay generated in the operation circuit.

【0012】第2の実施形態 図6は、本発明の第2の実施形態を示す演算回路の構成
図である。この演算回路は、同期回路等に設けられ、与
えられた被除数データC[m−1:0]と除数データD
[n−1:0]との除算を行う回路であり、該除数デー
タD[n−1:0]の2の補数D* [n−1:0]を求
める補数手段40と、第1の除算ブロック50と、該除
算ブロック50の出力側に縦続接続された(m−n)段
の第2の除算ブロック60−1,60−2,…,60−
(m-n )とを備えている。各除算50,60−1〜60
−(m-n )には、補数手段40で求めた2の補数D
* [n−1:0]がバスbを介して入力される構成にな
っている。図7(a)(b)は、図6中の除算ブロック
を示す構成図であり、同図(a)は除算ブロック50を
示し、同図(b)は除算ブロック60−(m-n-y )を示
している。但し、yは、1≦y≦m−nの自然数であ
る。除算ブロック50は、加算器51と該加算器51に
接続された2入力セレクタ52とを有している。加算器
51は、例えば一般的な、ハーフアダー回路を最下位ビ
ットとして上位側をフルアダー回路で構成した2入力の
加算器で構成されている。加算器51では、被除数デー
タC[m−1:0]のうちの上位nビットのデータに2
の補数D* [n−1:0]を加算するために、被除数デ
ータC[m−1:0]に対して2の補数D[n−1:
0]が、バス位置をずらして入力されている。加算器5
1の加算結果s50の出力側がセレクタ52の一方の入
力側に接続され、かつ、該加算器51のキャリー信号c
50がセレクタ52の選択端子に入力される接続になっ
ている。セレクタ52の他方の入力側には、被除数デー
タC[m−1:0]が入力される接続になっていると共
に、該セレクタ52の出力する剰余数データH[m−
1:0]が後段側へ出力される構成になっている。
Second Embodiment FIG. 6 is a configuration diagram of an arithmetic circuit according to a second embodiment of the present invention. This arithmetic circuit is provided in a synchronous circuit or the like, and is provided with dividend data C [m−1: 0] and divisor data D
A circuit for performing division with [n-1: 0], a complement means 40 for obtaining a two's complement D * [n-1: 0] of the divisor data D [n-1: 0], A division block 50 and second division blocks 60-1, 60-2, ..., 60- of (mn) stages cascade-connected to the output side of the division block 50.
(Mn). Each division 50, 60-1 to 60
− (Mn) is the two's complement D obtained by the complement means 40
* [N-1: 0] is input via the bus b. FIGS. 7A and 7B are block diagrams showing the division block in FIG. 6, wherein FIG. 7A shows the division block 50 and FIG. 7B shows the division block 60- (mny). ing. Here, y is a natural number satisfying 1 ≦ y ≦ mn. The division block 50 has an adder 51 and a two-input selector 52 connected to the adder 51. The adder 51 is composed of, for example, a two-input adder in which a general half adder circuit is the least significant bit and the upper side is a full adder circuit. The adder 51 adds 2 bits to the upper n bits of the dividend data C [m−1: 0].
In order to add the complement D * [n-1: 0], the two's complement D [n-1:
0] is input with the bus position shifted. Adder 5
The output side of the addition result s50 of 1 is connected to one input side of the selector 52, and the carry signal c of the adder 51
a 50 is a connection input to the selection terminal of the selector 52. The other input side of the selector 52 is connected to receive the dividend data C [m−1: 0], and the remainder number data H [m−
1: 0] is output to the subsequent stage.

【0013】各除算ブロック60−(m-n-y )は同様の
構成であり、加算器61と該加算器61に接続された2
入力セレクタ62とをそれぞれ有している。加算器61
は、例えば一般的な、ハーフアダー回路を最下位ビット
として上位側をフルアダー回路で構成した2入力の加算
器でそれぞれ構成されている。各加算器61において
は、前段から与えられた剰余データH[m−y:0]の
うちの上位(n+1)ビットのデータに2の補数D
* [n−1:0]を加算するために、被除数データC
[m−1:0]に対して2の補数D* [n−1:0]
が、バス位置をずらしてそれぞれ入力されている。各加
算器61の加算結果s61の出力側がセレクタ62の一
方の入力側に接続され、かつ、該各加算器61のキャリ
ー信号cay がセレクタ62の選択端子に入力される接
続になっている。セレクタ62の他方の入力側には、デ
ータH[m−y:0]が入力される接続であると共に、
該セレクタ62の出力するデータH[m−y−1:0]
が後段側へそれぞれ出力される構成になっている。そし
て、最終段の(m−n)段目の第2の除算ブロック60
−(m-n )中のセレクタ62の出力側から、最終的な剰
余数データH[n−1:0]が出力される構成になって
いる。
Each of the division blocks 60- (mny) has the same configuration, and includes an adder 61 and a 2 connected to the adder 61.
And an input selector 62. Adder 61
Are each configured by, for example, a two-input adder in which a half adder circuit is the least significant bit and the upper side is a full adder circuit. In each adder 61, the data of the higher (n + 1) bits of the remainder data H [my: 0] given from the preceding stage is added to the two's complement D
* To add [n-1: 0], the dividend data C
Two's complement D * [n-1: 0] for [m-1: 0]
Are input while shifting the bus position. The output side of the addition result s61 of the respective adders 61 is connected to one input of the selector 62 and the carry signal ca y of each of the adders 61 are in connected inputted to the selection terminal of the selector 62. The other input side of the selector 62 is connected to input data H [my: 0],
Data H [my-1: 0] output from the selector 62
Are output to the subsequent stages, respectively. Then, the second division block 60 of the (mn) -th stage of the last stage
The configuration is such that the final remainder number data H [n−1: 0] is output from the output side of the selector 62 in − (mn).

【0014】図8は、図6の演算回路の除算状態を示す
タイムチャートであり、この図8を参照しつつ、図6の
動作を説明する。クロックClkに同期して、図6の演
算回路に被除数データC[m−1:0]と除数データD
[n−1:0]とが与えられると、補数手段40が除数
データD[n−1:0]の2の補数D* [n−1:0]
を求め、この2の補数D* [n−1:0]が、各除算ブ
ロック50,60−(m-n-y )の加算器51,61にそ
れぞれ与えられる。除算ブロック50中の加算器51
は、被除数データC[m−1:0]の上位nビットのデ
ータに2の補数D* [n−1:0]を加算し、加算結果
s50をセレクタ52の一方の入力側に与える。これと
同時に、加算器51は、2の補数D*[n−1:0]が
被除数データC[m−1:0]よりも大きければ、商と
して“0”のキャリー信号ca50を出力し、2の補数D
* [n−1:0]が被除数データC[m−1:0]より
も等しいか小さければ、商として“1”のキャリー信号
ca50を出力する。キャリー信号ca50を入力したセレ
クタ52は、キャリー信号ca50が“0”の場合には、
被除数データC[m−1:0]をそのまま選択して剰余
数としてデータH[m−1:0]を出力し、キャリー信
号ca50が“1”の場合には、加算結果s51を選択し
て下位側に被除数データC[m−1:0]の下位(m−
n)ビットを付加し、これを剰余数としてデータH[m
−1:0]を出力する。
FIG. 8 is a time chart showing the division state of the arithmetic circuit of FIG. 6. The operation of FIG. 6 will be described with reference to FIG. In synchronization with the clock Clk, the dividend data C [m−1: 0] and the divisor data D
When [n-1: 0] is given, the complement means 40 outputs the two's complement D * [n-1: 0] of the divisor data D [n-1: 0].
And the two's complement D * [n-1: 0] is given to the adders 51 and 61 of each of the division blocks 50 and 60- (mny). Adder 51 in division block 50
Adds a 2's complement D * [n-1: 0] to the upper n bits of data of the dividend data C [m-1: 0], and provides an addition result s50 to one input side of the selector 52. At the same time, the adder 51, two's complement D * [n-1: 0 ] is the dividend data C [m-1: 0] is greater than, and outputs a carry signal ca 50 of "0" as the quotient , Two's complement D
* [N-1: 0] is the dividend data C: smaller than or equal to [m-1 0], and outputs a carry signal ca 50 "1" as the quotient. When the carry signal ca 50 is “0”, the selector 52 receiving the carry signal ca 50 outputs
Dividend data C [m-1: 0] data H as it is selected and the number of remainder [m-1: 0] outputs, in the case of the carry signal ca 50 is "1", selects the addition result s51 On the lower side of the dividend data C [m-1: 0].
n) bits are added, and this is set as a remainder, and the data H [m
-1: 0] is output.

【0015】各除算ブロック60−(m-n-y ) 中の加算
器61は、前段から与えられた剰余数データH[m−
y:0]の上位(n+1)ビットに、2の補数D* [n
−1:0]を加算し、加算結果s61をセレクタ62の
一方の入力側にそれぞれ与える。これと同時に、各加算
器61は、2の補数D* [n−1:0]がデータH[m
−y:0]よりも大きければ、商として“0”のキャリ
ー信号cay を出力し、2の補数D* [n−1:0]が
前段から与えられたデータH[m−y:0]に等しいか
小さければ、商として“1”のキャリー信号cay をそ
れぞれ出力する。キャリー信号cay を入力した各セレ
クタ62は、キャリー信号cay が“0”の場合には剰
余数データH[m−y:0]のうちの有効なデータH
[m−y−1:0]を選択して剰余数として出力し、キ
ャリー信号cay が“1”の場合には、加算結果s61
を選択して下位側にデータH[m−y:0]の下位(m
−n−1)ビットを付加し、これを剰余数データH[m
−y−1:0]としてそれぞれ出力する。各ブロック5
0及び60−(m-n-y )中で求められたキャリー信号c
50,cay が、被除数C[m−1:0]を除数D[n
−1:0]で除算した商としてパラレルに出力される。
この場合、キャリー信号ca50が再上位ビットとなり、
cam-n が、最下位ビットとのデータになる。また、最
終段の除算ブロック60−(m-n )の出力側からは、余
りとなるデータH[n−1:0]が出力される。
The adder 61 in each of the division blocks 60- (mny) has a remainder number data H [m-
y: 0], the 2's complement D * [n
−1: 0], and the addition result s61 is provided to one input side of the selector 62. At the same time, each adder 61 converts the two's complement D * [n-1: 0] to the data H [m
-Y: larger than 0, and outputs a carry signal ca y "0" as the quotient, 2's complement D * [n-1: Data 0] is given from the preceding stage H [m-y: 0 smaller or equal to, and outputs the carry signal ca y "1" as the quotient. Each selector 62 inputs the carry signal ca y is the carry signal ca y is a residue number data H in the case of "0" [m-y: 0] Valid data H of the
[M-y-1: 0 ] selects and outputs the dividend, in the case of the carry signal ca y is "1", the addition result s61
To the lower side of the data H [my: 0] (m
-N-1) bits, and the remainder is represented by the remainder data H [m
-Y-1: 0]. Each block 5
Carry signal c determined between 0 and 60- (mny)
a 50, ca y is the dividend C [m-1: 0] of the divisor D [n
-1: 0] and output in parallel as a quotient divided by [-1: 0].
In this case, carry signal ca 50 becomes the uppermost bit,
ca mn becomes the data of the least significant bit. From the output side of the last division block 60- (mn), the remaining data H [n-1: 0] is output.

【0016】以上のように、この第2の実施形態では、
除算を行う演算回路を補数手段40と、第1の除算ブロ
ック50と、(m−n)段の第2の除算ブロック60−
1,60−2,…,60−(m-n )とを備え、各除算ブ
ロック50,60−1〜60−(m-n )を加算器51,
61とセレクタ52,62とで構成している。そのた
め、被除数データC[m−1:0]と除数データD[n
−1:0]との除算を行う際に、従来では2クロック分
の時間で除算状態を変化させ、全体としては2×(m−
n)クロック分の時間が必要であったが、図6の構成で
は、1つのクロックに同期して被除数データC[m−
1:0]及び除数データD[n−1:0]を入力すれ
ば、これらの商と余りが自動的に求められる。つまり、
1クロック時間で処理が終了する。なお、本発明は、上
記実施形態に限定されず種々の変形が可能である。その
変形例としては、例えば次のようなものがある。
As described above, in the second embodiment,
The arithmetic circuit for performing the division is a complement means 40, a first division block 50, and a second division block 60 of (mn) stages.
, 60- (mn), each of the division blocks 50, 60-1 to 60- (mn) is added to an adder 51,
61 and selectors 52 and 62. Therefore, the dividend data C [m-1: 0] and the divisor data D [n
-1: 0], the division state is conventionally changed in a time of two clocks, and as a whole 2 × (m−
n) Although the time required for the clock is required, in the configuration of FIG. 6, the dividend data C [m−
1: 0] and the divisor data D [n-1: 0], the quotient and remainder are automatically obtained. That is,
The process ends in one clock time. Note that the present invention is not limited to the above embodiment, and various modifications are possible. For example, there are the following modifications.

【0017】(1) 第1の実施形態では、各部分積ゲ
ート20−xに入力される被乗数データA[m−1:
0]は、バス位置をずらして入力される構成にしている
が、バス位置を固定して適宜“0”の値を入力する構成
を採っても、部分積S10に対してx桁分だけそれぞれ
桁上げした状態を設定できる。 (2) 第2の実施形態では、各除算ブロック60−
(m-n-y)において、前段から与えられた剰余データH
[m−y:0]のうちの上位(n+1)ビットのデータ
に2の補数D* [n−1:0]を加算するために、被除
数データC[m−1:0]に対して2の補数D* [n−
1:0]が、バス位置をずらしてそれぞれ入力する構成
にしているが、バス位置を固定して適宜“0”の値を入
力する構成を採っても、同様の動作が可能であり、同様
の効果を奏する。
(1) In the first embodiment, multiplicand data A [m-1: input to each partial product gate 20-x:
[0] is input while shifting the bus position. However, even if a configuration in which the bus position is fixed and a value of “0” is input as appropriate is adopted, each of the partial products S10 by x digits may be used. You can set the carry state. (2) In the second embodiment, each division block 60-
(Mny), the residual data H given from the previous stage
In order to add the two's complement D * [n-1: 0] to the data of the upper (n + 1) bits of [my: 0], 2 is added to the dividend data C [m-1: 0]. The complement D * [n−
1: 0] are input while shifting the bus position, but the same operation is possible even if a configuration is adopted in which the bus position is fixed and a value of “0” is input as appropriate. Has the effect of

【0018】[0018]

【発明の効果】以上詳細に説明したように、第1及び第
2の発明によれば、被乗数と乗数の最下位ビットの値と
の乗算を行う第1の部分積ゲートと、被乗数と乗数の最
下ビットからxビット目のデータとの乗算を行う複数の
第2の部分積ゲートと、第1の部分積ゲート及び各第2
の部分積ゲートが求めた部分積を総計する加算手段と
で、演算回路を構成したので、mビットの被乗数とnビ
ットの乗数との乗算が、クロック時間に関係なく求めら
れ、演算時間が大幅に短縮できる。第3及び第4の発明
によれば、除数の2の補数を求める補数手段と、被除数
の上位nビットに2の補数を加算し、この加算結果に基
づき商と剰余数を求める第1の除算ブロックと、第1の
除算ブロックに縦続接続され、前段から与えられた剰余
数の上位(n+1)ビットのデータに2の補数を加算
し、この加算結果に基づき商と剰余数を求める複数の第
2の除算ブロックとを備え、被除数を除数で割った商と
して第1の除算ブロック及び各第2の除算ブロックから
出力される各商をパラレルに出力し、第2の除算ブロッ
クの最終段から、被除数を除数で割った余りを出力する
構成にしたので、mビットの被除数とnビットの除数と
の除算が、クロック時間に関係なく求められ、演算時間
が大幅に短縮できる。
As described above in detail, according to the first and second aspects, the first partial product gate for multiplying the multiplicand by the value of the least significant bit of the multiplier, A plurality of second partial product gates for performing multiplication with the data of the x-th bit from the least significant bit;
And the addition means for summing the partial products obtained by the partial product gates of (1) and (2) form an arithmetic circuit, so that the multiplication of the m-bit multiplicand and the n-bit multiplier can be obtained irrespective of the clock time, and the operation time is greatly Can be shortened to According to the third and fourth aspects of the present invention, the complement means for obtaining the 2's complement of the divisor, the first division for adding the 2's complement to the upper n bits of the dividend, and obtaining the quotient and the remainder based on the addition result Block and a first division block, cascade-connected to each other, add a two's complement to the data of the upper (n + 1) bits of the remainder number given from the previous stage, and calculate a quotient and a remainder number based on the addition result. 2 divided blocks are output in parallel as quotients obtained by dividing the dividend by the divisor. The quotients output from the first division block and the respective second division blocks are output in parallel from the last stage of the second division block. Since the remainder obtained by dividing the dividend by the divisor is output, the division of the m-bit dividend and the n-bit divisor is obtained irrespective of the clock time, and the operation time can be greatly reduced.

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

【図1】本発明の第1の実施形態を示す演算回路の構成
図である。
FIG. 1 is a configuration diagram of an arithmetic circuit according to a first embodiment of the present invention.

【図2】従来の演算回路の乗算状態を示すタイムチャー
トである。
FIG. 2 is a time chart showing a multiplication state of a conventional arithmetic circuit.

【図3】従来の演算回路の除算状態を示すタイムチャー
トである。
FIG. 3 is a time chart showing a division state of a conventional arithmetic circuit.

【図4】図1中の部分積ゲートの構成例を示す回路図で
ある。
FIG. 4 is a circuit diagram showing a configuration example of a partial product gate in FIG. 1;

【図5】図1の乗算状態を示すタイムチャートである。FIG. 5 is a time chart showing a multiplication state in FIG. 1;

【図6】本発明の第2の実施形態を示す演算回路の構成
図である。
FIG. 6 is a configuration diagram of an arithmetic circuit according to a second embodiment of the present invention.

【図7】図6中の除算ブロックを示す構成図である。FIG. 7 is a configuration diagram illustrating a division block in FIG. 6;

【図8】図6の除算状態を示すタイムチャートである。FIG. 8 is a time chart showing a division state of FIG. 6;

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

10 第1の部分
積ゲート 20−1〜20−(n-1) 第2の部分
積ゲート 30 加算手段 40 補数手段 50 第1の除算
ブロック 60−1〜60−(m-n) 第2の除算
ブロック A[m−1:0] 被乗数 B[n−1:0] 乗数 S10,S20−x 部分積 C[m−1:0] 被除数 D[n−1:0] 除数 H[n−1:0],H[m−y−1:0] 剰余数 ca50,cay キャリー信
号(商)
10 First partial product gate 20-1 to 20- (n-1) Second partial product gate 30 Addition means 40 Complement means 50 First division block 60-1 to 60- (mn) Second division block A [m-1: 0] Multiplicand B [n-1: 0] Multiplier S10, S20-x Partial product C [m-1: 0] dividend D [n-1: 0] divisor H [n-1: 0] ], H [m-y- 1: 0] dividend ca 50, ca y carry signal (quotient)

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 mビット(mは、正の整数)の被乗数と
nビット(nは、正の整数)の乗数との乗算を行う演算
回路において、 前記被乗数と前記乗数のうちの最下位ビットの値との乗
算を行って部分積を求める第1の部分積ゲートと、 前記被乗数をそれぞれパラレルに入力し、該被乗数と前
記乗数のうちの前記最下ビットからx(xは、1≦x≦
n−1の自然数)ビット目のデータとの乗算を行って部
分積をそれぞれ求め、該部分積をx桁分桁上げした状態
でそれぞれ出力する(n−1)個の第2の部分積ゲート
と、 前記第1の部分積ゲート及び前記各第2の部分積ゲート
が求めた部分積を総計する加算手段とを、備えたことを
特徴とする演算回路。
An arithmetic circuit for multiplying a multiplicand of m bits (m is a positive integer) by a multiplier of n bits (n is a positive integer), wherein a least significant bit of the multiplicand and the multiplier is And a first partial product gate for obtaining a partial product by multiplying the multiplicand with the value of the multiplicand. The multiplicand is input in parallel, and x (x is 1 ≦ x) from the least significant bit of the multiplicand and the multiplier. ≤
(n-1) second partial product gates are obtained by multiplying the data by the (n-1) th bit to obtain partial products, and outputting the partial products in a state where they are carried up by x digits. And an adding means for summing partial products obtained by the first partial product gate and each of the second partial product gates.
【請求項2】 同期回路に組込まれ、mビット(mは、
正の整数)の被乗数とnビット(nは、正の整数)の乗
数との乗算を行う演算回路において、 前記被乗数と前記乗数のうちの最下位ビットの値との乗
算を行って部分積を求める第1の部分積ゲートと、 前記被乗数をそれぞれパラレルに入力し、該被乗数と前
記乗数のうちの前記最下ビットからx(xは、1≦x≦
n−1の自然数)ビット目のデータとの乗算を行って部
分積をそれぞれ求め、該部分積をx桁分桁上げした状態
でそれぞれ出力する(n−1)個の第2の部分積ゲート
と、 前記第1の部分積ゲート及び前記各第2の部分積ゲート
が求めた部分積を総計する加算手段とを、備えたことを
特徴とする演算回路。
2. It is incorporated in a synchronous circuit and has m bits (m is
An arithmetic circuit for multiplying a multiplicand of (positive integer) by an n-bit (n is a positive integer) multiplier, multiplying the multiplicand by the value of the least significant bit of the multiplier to obtain a partial product The first partial product gate to be obtained and the multiplicand are input in parallel respectively, and x (x is 1 ≦ x ≦ 1) from the least significant bit of the multiplicand and the multiplier
(n-1) second partial product gates are obtained by multiplying the data by the (n-1) th bit to obtain partial products, and outputting the partial products in a state where they are carried up by x digits. And an adding means for summing partial products obtained by the first partial product gate and each of the second partial product gates.
【請求項3】 mビット(mは、正の整数)の被除数と
nビット(nは、m≧nの正の整数)の除数との除算を
行う演算回路において、 前記除数の2の補数を求める補数手段と、 前記被除数の上位nビットに前記2の補数を加算し、こ
の加算結果が正または零の値を示すときには“1”を商
として出力すると共に該加算結果の有効ビットに対して
該被除数の下位(m−n)ビットを付加して剰余数とし
て出力し、該加算結果が負の値を示すときには“0”を
商として出力すると共に前記被除数をそのまま該剰余数
として出力する第1の除算ブロックと、 前記第1の除算ブロックに縦続接続され、前段から与え
られた剰余数の上位(n+1)ビットのデータに前記2
の補数を加算し、この加算結果が正または零の値を示す
ときには“1”を商として出力すると共に該加算結果の
有効ビットに対して該前段から与えられた剰余数の下位
(m−n−y)ビット(yは、1≦y≦m−nの自然
数)を付加して自段の剰余数としてそれぞれ出力し、該
加算結果が負の値を示すときには“0”を商として出力
すると共に該前段から与えられた剰余数の有効ビットを
該自段の剰余数としてそれぞれ出力する(m−n)段の
第2の除算ブロックとを備え、 前記被除数を前記除数で割った商として前記第1の除算
ブロック及び前記各第2の除算ブロックから出力される
各商をパラレルに出力し、前記第2の除算ブロックの最
終段から、該被除数を除数で割った余りを出力する構成
にしたことを特徴とする演算回路。
3. An arithmetic circuit for dividing a dividend of m bits (m is a positive integer) and a divisor of n bits (n is a positive integer of m ≧ n), wherein a two's complement of the divisor is The complement means to be obtained; and adding the two's complement to the upper n bits of the dividend, and outputting a "1" as a quotient when the addition result indicates a positive or zero value. The lower (mn) bits of the dividend are added and output as a remainder, and when the addition result indicates a negative value, "0" is output as a quotient and the dividend is output as the remainder as it is. 1 division block and the first division block are cascaded, and the data of the higher (n + 1) bits of the remainder number given from the previous stage is added to the 2
When the result of the addition indicates a positive or zero value, "1" is output as a quotient, and the lower bits (m-n) of the remainder given from the preceding stage to the effective bits of the addition result are added. −y) bits (y is a natural number of 1 ≦ y ≦ mn) are added and output as the remainder of the own stage, and when the addition result indicates a negative value, “0” is output as a quotient. And (m-n) second division blocks each of which outputs a significant bit of the remainder number given from the previous stage as the remainder number of the own stage, wherein the divide by the dividend is divided by the divisor. Each quotient output from the first division block and each of the second division blocks is outputted in parallel, and the remainder obtained by dividing the dividend by the divisor is outputted from the last stage of the second division block. An arithmetic circuit characterized by the above.
【請求項4】 同期回路に組込まれ、mビット(mは自
然数)の被除数とnビット(nは、m≧nの自然数)の
除数との除算を行う演算回路において、 前記除数の2の補数を求める補数手段と、 前記被除数の上位nビットに前記2の補数を加算し、こ
の加算結果が正または零の値を示すときには“1”を商
として出力すると共に該加算結果の有効ビットに対して
該被除数の下位(m−n)ビットを付加して剰余数とし
て出力し、該加算結果が負の値を示すときには“0”を
商として出力すると共に前記被除数をそのまま該剰余数
として出力する第1の除算ブロックと、 前記第1の除算ブロックに縦続接続され、前段から与え
られた剰余数の上位(n+1)ビットのデータに前記2
の補数を加算し、この加算結果が正または零の値を示す
ときには“1”を商として出力すると共に該加算結果の
有効ビットに対して該前段から与えられた剰余数の下位
(m−n−y)ビット(yは、1≦y≦m−nの自然
数)を付加して自段の剰余数としてそれぞれ出力し、該
加算結果が負の値を示すときには“0”を商として出力
すると共に該前段から与えられた剰余数の有効ビットを
該自段の剰余数としてそれぞれ出力する(m−n)段の
第2の除算ブロックとを備え、 前記被除数を前記除数で割った商として前記第1の除算
ブロック及び前記各第2の除算ブロックから出力される
各商をパラレルに出力し、前記第2の除算ブロックの最
終段から、該被除数を除数で割った余りを出力する構成
にしたことを特徴とする演算回路。
4. An arithmetic circuit incorporated in a synchronous circuit for performing a division of an m-bit (m is a natural number) dividend and an n-bit (n is a natural number of m ≧ n) divisor, wherein a 2's complement of the divisor is provided. And the two's complement is added to the upper n bits of the dividend, and when the addition result indicates a positive or zero value, “1” is output as a quotient and the effective bit of the addition result is Then, the lower (mn) bits of the dividend are added and output as a remainder, and when the addition result indicates a negative value, "0" is output as a quotient and the dividend is output as the remainder as it is. A first division block, cascade-connected to the first division block, and the upper (n + 1) -bit data of the remainder number given from the previous stage
When the result of the addition indicates a positive or zero value, "1" is output as a quotient, and the lower bits (m-n) of the remainder given from the preceding stage to the effective bits of the addition result are added. −y) bits (y is a natural number of 1 ≦ y ≦ mn) are added and output as the remainder of the own stage, and when the addition result indicates a negative value, “0” is output as a quotient. And (m-n) second division blocks each of which outputs a significant bit of the remainder number given from the previous stage as the remainder number of the own stage, wherein the divide by the dividend is divided by the divisor. Each quotient output from the first division block and each of the second division blocks is outputted in parallel, and the remainder obtained by dividing the dividend by the divisor is outputted from the last stage of the second division block. An arithmetic circuit characterized by the above.
JP9294482A 1997-10-27 1997-10-27 Arithmetic circuit Withdrawn JPH11134174A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9294482A JPH11134174A (en) 1997-10-27 1997-10-27 Arithmetic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9294482A JPH11134174A (en) 1997-10-27 1997-10-27 Arithmetic circuit

Publications (1)

Publication Number Publication Date
JPH11134174A true JPH11134174A (en) 1999-05-21

Family

ID=17808341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9294482A Withdrawn JPH11134174A (en) 1997-10-27 1997-10-27 Arithmetic circuit

Country Status (1)

Country Link
JP (1) JPH11134174A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591615A (en) * 2012-01-16 2012-07-18 中国人民解放军国防科学技术大学 Structured mixed bit-width multiplying method and structured mixed bit-width multiplying device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591615A (en) * 2012-01-16 2012-07-18 中国人民解放军国防科学技术大学 Structured mixed bit-width multiplying method and structured mixed bit-width multiplying device

Similar Documents

Publication Publication Date Title
EP0356153B1 (en) Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JP2585649B2 (en) Division circuit
JPS6135575B2 (en)
US5862068A (en) Arithmetic circuit for calculating a square-root of a sum of squares
KR920003494B1 (en) Real time 2&#39;s complement number code multification method and circuit
JPH04205026A (en) Divider circuit
JP3003467B2 (en) Arithmetic unit
JPH0833816B2 (en) Fixed-point division method
JP3660075B2 (en) Dividing device
JPS58137045A (en) Parallel multiplier
JPH11134174A (en) Arithmetic circuit
JP3074958B2 (en) Serial multiplier with addition function
JPH1049347A (en) Multiplicator
JP2777265B2 (en) High radix square root arithmetic unit
JP4042215B2 (en) Arithmetic processing apparatus and method
JP2790327B2 (en) Remainder multiplication circuit and remainder multiplication method
JP3851024B2 (en) Multiplier
JPS6259828B2 (en)
JP2001134556A (en) Repetitive multiplier and array multiplier
JP2803442B2 (en) Square root device
JP2864598B2 (en) Digital arithmetic circuit
JPH0368415B2 (en)
JPH10254680A (en) Square circuit
JP3477866B2 (en) Divider division method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050104