JP3123060B2 - Digital arithmetic circuit - Google Patents

Digital arithmetic circuit

Info

Publication number
JP3123060B2
JP3123060B2 JP02143085A JP14308590A JP3123060B2 JP 3123060 B2 JP3123060 B2 JP 3123060B2 JP 02143085 A JP02143085 A JP 02143085A JP 14308590 A JP14308590 A JP 14308590A JP 3123060 B2 JP3123060 B2 JP 3123060B2
Authority
JP
Japan
Prior art keywords
bit
adder
output
data
flip
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
JP02143085A
Other languages
Japanese (ja)
Other versions
JPH0437211A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP02143085A priority Critical patent/JP3123060B2/en
Publication of JPH0437211A publication Critical patent/JPH0437211A/en
Application granted granted Critical
Publication of JP3123060B2 publication Critical patent/JP3123060B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、ディジタルフィルタ等で必要な積和演算
に対して適用できる直列処理方式のディジタル演算回路
に関する。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a serial processing type digital operation circuit applicable to a product-sum operation required in a digital filter or the like.

〔従来の技術〕[Conventional technology]

半導体微細加工技術は、近年着実に進歩を遂げてお
り、例えば並列乗算器においては、その上限の動作周波
数(演算繰り返し周波数)が年々上昇してきた。画像信
号例えば標準テレビジョン信号をディジタル処理する場
合、4fsc(NTSC方式で、14.32M Hz)のサンプリング周
波数で動作するディジタル演算回路が容易に入手できる
ようになってきている。従って、ディジタル画像信号の
処理で、演算回路が時分割多重で使用されることが多く
なるものと推測される。しかしながら、時分割多重動作
の典型であるストアドプログラム方式で使用可能なほど
演算速度が速くないのが現状であり、また、そのような
高速な演算回路が近い将来に実現できることは期待でき
ない。
2. Description of the Related Art Semiconductor microfabrication technology has steadily advanced in recent years. For example, in a parallel multiplier, the upper limit operating frequency (operation repetition frequency) has been increasing year by year. When digitally processing an image signal, for example, a standard television signal, a digital operation circuit operating at a sampling frequency of 4 fsc (14.32 MHz in the NTSC system) has become easily available. Therefore, it is presumed that arithmetic circuits are often used in time division multiplexing in the processing of digital image signals. However, at present, the operation speed is not so fast that it can be used in the stored program method which is typical of the time division multiplex operation, and it is not expected that such a high-speed operation circuit can be realized in the near future.

ストアドプログラム方式の場合では、1サンプリング
周期の1/100程度の時間で一つの演算を行なえる必要が
ある。つまり、リアルタイム処理のためには、次のサン
プルデータが来る前に処理を終えていなければならな
い。現状及び近い将来では、演算速度が1サンプル周期
で数サイクルから数十サイクル程度の演算ができる程度
である。
In the case of the stored program method, it is necessary to perform one operation in about 1/100 of one sampling period. That is, for real-time processing, the processing must be completed before the next sample data comes. At present and in the near future, the operation speed is such that an operation of several to several tens of cycles can be performed in one sample period.

並列乗算器は、複数個の加算器を並べたものであり、
その加算器は、1ビット全加算器を並べたものである。
単位の回路が小さいほど、演算繰り返し周波数を高くす
ることができる。従って、小さな規模の回路を使用して
時分割処理を行い、大きな規模の回路と同様の機能を実
現することは、演算速度を速くする点で有効である。
A parallel multiplier is obtained by arranging a plurality of adders,
The adder is obtained by arranging 1-bit full adders.
The smaller the unit circuit is, the higher the operation repetition frequency can be. Therefore, performing time-division processing using a circuit of a small scale and realizing the same function as a circuit of a large scale is effective in increasing the calculation speed.

一度の処理と時分割処理との何れが有利かを検討する
時に、データの語長が8ビット、12ビット、16ビット或
いは20ビットの場合が一般に多いので、データの各ビッ
トを直列処理するビット直列処理がかかる検討に適して
いる。つまり、10ビットの加算を行う例では、10ビット
の加算回路では、演算処理が1サイクルで済むが、フル
アダーが10個必要であり、一方、ビット直列処理では、
演算処理が10サイクル必要であるが、1個のフルアダー
で構成できる。また、部分積が10個ある乗算を行う場合
には、並列乗算器では、1サイクルで乗算結果を得るこ
とができるが、10ビットの加算回路が10個(1ビットの
フルアダーが100個)必要であり、一方、ビット直列処
理では、一つの10ビットの加算回路を使用する時で10サ
イクル必要であり、一つの1ビット加算回路を使用する
時で100サイクル必要である。
When examining which of the one-time processing and the time-division processing is more advantageous, since the data word length is generally 8 bits, 12 bits, 16 bits or 20 bits, each bit of data is serially processed. Serial processing is suitable for such a study. In other words, in the example of performing 10-bit addition, a 10-bit addition circuit requires only one cycle of arithmetic processing, but requires 10 full adders, while bit serial processing requires
It requires 10 cycles of arithmetic processing, but can be configured with one full adder. When performing multiplication with 10 partial products, a parallel multiplier can obtain a multiplication result in one cycle, but requires 10 10-bit addition circuits (100 1-bit full adders). On the other hand, the bit serial processing requires 10 cycles when using one 10-bit addition circuit, and requires 100 cycles when using one 1-bit addition circuit.

これらの複数の演算回路の構成の中で、データの周期
を演算器の動作時間で除算した比がサイクル数に等しい
関係にある回路構成が効率的である。最近の演算回路
は、テレビジョン信号のディジタル処理を行う時に、1
サンプリング周期で数十サイクルの演算が可能なので、
ビット直列処理或いはそれに準じた方式の演算回路が回
路規模を小さくする上で有利である。
Among the configurations of the plurality of arithmetic circuits, a circuit configuration in which the ratio obtained by dividing the data cycle by the operation time of the arithmetic unit is equal to the number of cycles is efficient. Recent arithmetic circuits are required to perform digital processing on television signals.
Since several tens of cycles can be calculated in the sampling cycle,
Arithmetic circuits of the bit serial processing or a method based thereon are advantageous in reducing the circuit scale.

しかし、一つの目的の演算単位を実現するために、用
意した回路単位を複数サイクル繰り返し動作させるビッ
ト直列処理は、サイクル数に余裕が持たせることで、語
長の違いにフレキシブルに対応することができる反面、
冗長なサイクルが生じやすい問題がある。例えば乗算或
いは加算を行う都度、入力或いは出力の語長が変わるシ
ステムを構成する時に、その各部がビット直列処理をし
ている時には、最も長い語長の処理の所で必要なサイク
ル数がデータの速度の上限を規定し、他の所には、多く
の冗長サイクルが存在する結果となる。或いは上述のよ
うに規定されるデータの速度の限界が処理したいデータ
の速度より遅い問題が生じるおそれがある。この場合の
適当な解決方法が望まれる。
However, in order to realize a single target operation unit, bit serial processing, in which a prepared circuit unit is repeatedly operated in multiple cycles, can flexibly cope with differences in word length by providing a margin for the number of cycles. On the other hand,
There is a problem that redundant cycles are likely to occur. For example, when constructing a system in which the word length of the input or output changes each time a multiplication or addition is performed, and when each part performs bit serial processing, the number of cycles required at the processing of the longest word length is the number of data cycles. It places an upper bound on speed, which results in many redundant cycles elsewhere. Alternatively, there may be a problem that the data speed limit defined as described above is lower than the data speed to be processed. A suitable solution in this case is desired.

従来のディジタル乗算器の説明の前に、従来のビット
直列処理の加算回路の一例について第8図を参照して説
明する。8ビットの入力データA及びBから9ビットの
出力データY(=A+B)が得られる。データは、例え
ば2を補数とする符号である。入力データA及びBがシ
フトレジスタ51及び52に夫々ロードされる。ロード信号
は、端子53及び54に夫々供給される。シフトレジスタ51
及び52の夫々の最上位ビットのフリップフロップの出力
が入力側へ帰還され、語長を拡大できるようにされてい
る。
Prior to the description of a conventional digital multiplier, an example of a conventional bit serial processing addition circuit will be described with reference to FIG. 9-bit output data Y (= A + B) is obtained from 8-bit input data A and B. The data is, for example, a code having 2's complement. Input data A and B are loaded into shift registers 51 and 52, respectively. The load signal is supplied to terminals 53 and 54, respectively. Shift register 51
And the output of the flip-flop of the most significant bit of each of 52 is fed back to the input side so that the word length can be expanded.

入力データA及びBは、シフトレジスタ51及び52から
図示せぬクロックと同期してビット直列にLSBから出力
される。シフトレジスタ51からの直列データaとシフト
レジスタ52からの直列データbとがビット直列型の加算
回路55に供給される。この加算回路55は、全加算器56と
全加算器56の出力が供給されるフリップフロップ57及び
58とからなる。全加算器56には、直列データa、bとフ
リップフロップ57の出力cとが供給される。
The input data A and B are output from the LSB from the shift registers 51 and 52 in bit series in synchronization with a clock (not shown). The serial data a from the shift register 51 and the serial data b from the shift register 52 are supplied to a bit serial type adder circuit 55. The addition circuit 55 includes a full adder 56 and a flip-flop 57 to which the output of the full adder 56 is supplied.
It consists of 58. The full adder 56 is supplied with the serial data a and b and the output c of the flip-flop 57.

全加算器56は、3個の入力データの内の“1"の数を2
ビットとして出力する。つまり、全加算器の入力をa、
bとし、キャリー入力をcとすると、その出力の下位ビ
ットをs、上位ビットをc′とすると、(s=xy
c、c′=xy+xc+yc)で表される出力s及びcを発生
する。全加算器56の出力の上位ビット(キャリー)がフ
リップフロップ57に供給され、その下位ビット(サム)
がフリップフロップ58に供給される。*を付したフリッ
プフロップ57は、初期クリアが可能なフリップフロップ
である。
The full adder 56 calculates the number of "1" in the three input data as 2
Output as bits. That is, the input of the full adder is a,
b, the carry input is c, the lower bit of the output is s, and the upper bit is c ', (s = xy
c, c '= xy + xc + yc). The upper bit (carry) of the output of full adder 56 is supplied to flip-flop 57, and its lower bit (sum)
Is supplied to the flip-flop 58. The flip-flop 57 marked with * is a flip-flop that can be initially cleared.

全加算器56の出力の内の下位ビットが9ビットのシフ
トレジスタ59にLSBから直列に供給される。シフトレジ
スタ59は、9ビットが入力されたタイミングで並列的に
これらの9ビットを出力Yとして出力する。
The lower bits of the output of the full adder 56 are serially supplied from the LSB to the 9-bit shift register 59. The shift register 59 outputs these 9 bits as an output Y in parallel at the timing when the 9 bits are input.

第8図に示す加算回路のタイミングチャートを第9図
に示す。シフトレジスタ51及び52には、入力データA及
びBがロード信号で同時にロードされ、クロックと同期
して直列データa及びbがシフトレジスタ51及び52から
直列に出力される。第9図において、LSB、1、2、・
・・・、MSBは、各ビットに付した番号でり、破線のロ
ード信号は、次のロードが可能なタイミングを示してい
る。
FIG. 9 shows a timing chart of the addition circuit shown in FIG. Input data A and B are simultaneously loaded into the shift registers 51 and 52 by a load signal, and serial data a and b are serially output from the shift registers 51 and 52 in synchronization with a clock. In FIG. 9, LSB, 1, 2,.
.., MSB is a number assigned to each bit, and a load signal indicated by a broken line indicates a timing at which the next load is possible.

加算回路55の全加算器56の出力側のフリップフロップ
57は、クリア信号でクリアされる。次に、入力データA
及びBのLSB同士の加算結果のキャリー及びサムがフリ
ップフロップ57及び58に取り込まれ、次のクロックサイ
クルでフリップフロップ58の出力dとして加算結果のLS
Bが得られる。キャリーは、1ビット上位の位のものな
ので、全加算器56において次のビットの加算に使用され
る。以下、同様にして加算動作が繰り返され、シフトレ
ジスタ59からは、出力タイミングで加算出力Yが発生す
る。このように、8ビットのデータの加算では、語長が
1ビット上位に延びるので、9クロックサイクルで加算
が完了する。
Flip-flop on the output side of full adder 56 of adder circuit 55
57 is cleared by the clear signal. Next, input data A
And the sum of the LSBs of L and B are taken into the flip-flops 57 and 58, and output as the output d of the flip-flop 58 in the next clock cycle.
B is obtained. Since the carry is one bit higher, it is used by the full adder 56 to add the next bit. Hereinafter, the addition operation is repeated in the same manner, and an addition output Y is generated from the shift register 59 at the output timing. Thus, in the addition of 8-bit data, the word length extends one bit higher, so that the addition is completed in 9 clock cycles.

なお、加算出力として、ビット直列のものが必要な時
は、シフトレジスタ59が省略される。
When a bit serial output is required as the addition output, the shift register 59 is omitted.

第8図における加算回路55をANDゲート、ORゲート、
エクスクルーシブORゲート等に置き換えると、論理演算
ができる。論理演算では、語長に等しいサイクル数で論
理出力を得ることができる。
The addition circuit 55 shown in FIG.
When replaced with an exclusive OR gate, a logical operation can be performed. In the logical operation, a logical output can be obtained with the number of cycles equal to the word length.

第10図は、従来の直並列方式のディジタル乗算器の例
を示す。8ビットの入力データA(被乗数)が端子63か
らのロード信号により8ビットのレジスタ61にロードさ
れる。また、8ビットの入力データB(乗数)が端子64
からのロード信号により8ビットのシフトレジスタ62に
ロードされる。これらのデータA及びBは、ストレート
バイナリー符号である。
FIG. 10 shows an example of a conventional serial / parallel digital multiplier. The 8-bit input data A (multiplicand) is loaded into the 8-bit register 61 by a load signal from the terminal 63. Also, the 8-bit input data B (multiplier) is supplied to the terminal 64.
Is loaded into the 8-bit shift register 62 in response to the load signal. These data A and B are straight binary codes.

レジスタ61からの被乗数の8ビットがANDゲート65A〜
65Hに夫々供給される。ANDゲート65A〜65Hには、シフト
レジスタ62からの乗数の各ビットがLSBから順次供給さ
れる。従って、乗数のビットが“1"の時には、Aのデー
タがANDゲート65A〜65Hから出力され、乗数のビットが
“0"の時には、8ビットが全て“0"のデータが出力され
る。ANDゲート65A〜65Hからは、乗数のビット数に等し
い8個の部分積が発生する。この部分積が第8図の加算
回路55と同様のビット直列処理の加算回路66A〜66Hによ
り加算される。
The 8 bits of the multiplicand from register 61 are AND gate 65A ~
Supplied to 65H respectively. Each bit of the multiplier from the shift register 62 is sequentially supplied from the LSB to the AND gates 65A to 65H. Therefore, when the bit of the multiplier is "1", the data of A is output from the AND gates 65A to 65H, and when the bit of the multiplier is "0", the data of all eight bits are "0". From the AND gates 65A to 65H, eight partial products equal to the number of bits of the multiplier are generated. This partial product is added by the adder circuits 66A to 66H of the bit serial processing similar to the adder circuit 55 of FIG.

加算回路66A〜66Hでは、加算出力(サム)が次の加算
の時には、より下位のビットの加算回路に供給される。
LSBの加算回路65Aから加算出力がLSBから直列に取り出
され、16ビットのシフトレジスタ67に入力される。シフ
トレジスタ67から乗算出力Y(=A×B)が並列的に取
り出される。
In the adders 66A to 66H, the addition output (sum) is supplied to the lower-order bit addition circuit at the time of the next addition.
The addition output is taken out of the LSB in series from the LSB addition circuit 65A and input to the 16-bit shift register 67. The multiplication output Y (= A × B) is taken out of the shift register 67 in parallel.

第11図は、第10図の構成のタイミングチャートであ
る。シフトレジスタ62への乗数Bのロードとその出力デ
ータaは、第8図の構成と同様に得られる。レジスタ61
へのロードも、シフトレジスタ62と同時になされ、AND
ゲート65Aの出力データbは、LSBが生じる。加算回路66
A〜66Hの*が付されたフリップフロップは、クリア信号
でクリアされる。
FIG. 11 is a timing chart of the configuration of FIG. The loading of the multiplier B into the shift register 62 and its output data a are obtained in the same manner as in the configuration of FIG. Register 61
Is loaded simultaneously with the shift register 62, and AND
LSB is generated in the output data b of the gate 65A. Adder circuit 66
The flip-flops marked with * of A to 66H are cleared by the clear signal.

加算回路66Aの全加算器には、ビット番号1のビット
がデータcとして帰還され、シフトレジスタ67には、加
算回路66AからLSBが供給される。この時、加算回路66B
では、全加算器に帰還されるデータc′と、加算回路66
Aの全加算器に対するデータd′として、より上位のビ
ットが生じる。加算回路66C〜66Hにおいても、加算回路
66A及び66Bと同様の動作がされ、その結果、8個の部分
積が加算される。従って、破線で示す次のロードの可能
なタイミングから分るように、1回の乗算は、出力語長
と等しい16サイクルで終了する。
The bit of bit number 1 is fed back as data c to the full adder of the adder circuit 66A, and the LSB is supplied from the adder circuit 66A to the shift register 67. At this time, the addition circuit 66B
Then, the data c 'fed back to the full adder and the adder 66
The higher order bits occur as data d 'for the full adder of A. In addition circuits 66C to 66H,
An operation similar to 66A and 66B is performed, so that eight partial products are added. Thus, as can be seen from the possible timing of the next load, indicated by the dashed line, one multiplication ends in 16 cycles equal to the output word length.

ストレートバイナリーの符号の場合では、乗算出力の
語長が被乗数と乗数の語長の和となる。若し、データが
2の補数の符号の場合には、乗算出力の語長がこれより
1ビット少なくなる。何れの符号でも、乗算器では、1
回の演算で語長が約2倍になる。
In the case of a straight binary code, the word length of the multiplied output is the sum of the word lengths of the multiplicand and the multiplier. If the data is a two's complement code, the word length of the multiplied output is one bit less. Regardless of the code, the multiplier uses 1
The word length is approximately doubled by one operation.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上述のように、ビット直列処理の乗算器の場合には、
論理演算或いは加算と比較して1回の演算に必要なサイ
クル数が2倍近くなる。従って、論理演算回路、加算
器、乗算器等がビット直列方式で構成されてなる信号処
理システムでは、乗算器の演算処理に必要なサイクルが
長くなり、他の加算器、論理演算回路では、無駄なアイ
ドリングのサイクルがかなり発生する。
As described above, in the case of the multiplier of the bit serial processing,
The number of cycles required for one operation is nearly double compared to the logical operation or the addition. Therefore, in a signal processing system in which a logical operation circuit, an adder, a multiplier, and the like are configured in a bit-serial system, the cycle required for the arithmetic processing of the multiplier becomes longer. A considerable idling cycle occurs.

従って、この発明の目的は、乗算に必要なサイクル数
が減少されたディジタル演算回路を提供することにあ
る。
Accordingly, an object of the present invention is to provide a digital operation circuit in which the number of cycles required for multiplication is reduced.

〔課題を解決するための手段〕[Means for solving the problem]

この発明は、被乗数が順次与えられ、乗数を2次のブ
ースのエンコーダに供給することで形成された制御信号
が供給され、乗数の2ビット単位で複数の部分積をそれ
ぞれ生成する複数の部分積生成回路(6A〜6H)と、 部分積生成回路(6A〜6H)の出力がそれぞれ供給され
る2ビットを単位とする複数の加算器(27A,27B,27C)
からなり、パイプライン形式で構成された加算手段とを
備え、 加算手段によって複数の部分積を加算することによっ
て、乗算出力を得るようにしたディジタル演算回路であ
る。
According to the present invention, a plurality of partial products are sequentially provided with a multiplicand, a control signal formed by supplying a multiplier to an encoder of a secondary booth is supplied, and a plurality of partial products are generated in units of 2 bits of the multiplier. A plurality of adders (27A, 27B, 27C) in units of 2 bits to which outputs of the generation circuits (6A to 6H) and partial product generation circuits (6A to 6H) are respectively supplied
A digital operation circuit comprising an adder configured in a pipeline format and adding a plurality of partial products by the adder to obtain a multiplied output.

〔作用〕[Action]

乗数が8ビットの場合、2次のブースのアルゴリズム
により4個の部分積が生成される。この場合、これらの
部分積は、2ビット単位で形成される。そして、部分積
の加算が2ビット単位の直列加算回路で加算され、乗算
出力の生成に要するサイクル数を1/2に減少できる。
If the multiplier is 8 bits, four partial products are generated by the second order Booth algorithm. In this case, these partial products are formed in units of 2 bits. The addition of the partial products is added by a 2-bit serial addition circuit, so that the number of cycles required to generate the multiplied output can be reduced to half.

〔実施例〕〔Example〕

以下、この発明について図面を参照して説明する。こ
の説明は、下記の順序でなされる。
Hereinafter, the present invention will be described with reference to the drawings. This description will be made in the following order.

a.参考構成 b.一実施例 a.参考構成 第1図A及び第1図Bは、この発明の参考の構成を分
割して示すもので、第1図Aの回路の出力データd1〜d8
が第1図Bの回路の入力データとされる。
a. Reference Configuration b. One Embodiment a. Reference Configuration FIGS. 1A and 1B separately show a reference configuration of the present invention, and show output data d1 to d8 of the circuit of FIG. 1A.
Are input data of the circuit of FIG. 1B.

2を補数とする符号の8ビットの入力データA(被乗
数)がシフトレジスタ1A及び1Bに対して、図示せぬロー
ド信号と同期してロードされる。シフトレジスタ1A及び
1Bの夫々は、4ビットのシフトレジスタであって、一方
のシフトレジスタ1Aには、(LSB、ビット番号2のビッ
ト、ビット番号4のビット、ビット番号6のビット)が
ロードされ、他方のシフトレジスタ1Bには、(ビット番
号1のビット、ビット番号3のビット、ビット番号5の
ビット、MSB)がロードされる。各シフトレジスタ1A及
び1Bの最上位には、語長の拡大のために、MSBが帰還さ
れている。
8-bit input data A (multiplicand) having a code of 2's complement is loaded into the shift registers 1A and 1B in synchronization with a load signal (not shown). Shift register 1A and
Each of the shift registers 1B is a 4-bit shift register. One shift register 1A is loaded with (LSB, bit of bit number 2, bit of bit number 4, bit of bit number 6), and the other shift register The register 1B is loaded with (bit number 1 bit, bit number 3 bit, bit number 5 bit, MSB). The MSB is fed back to the top of each shift register 1A and 1B in order to increase the word length.

シフトレジスタ1Aから直列に出力されたデータa1がフ
リップフロップ2A、3A及び4Aの直列接続回路に供給され
る。シフトレジスタ1Bから直列に出力されたデータa2が
フリップフロップ2B、3B、4B及び5の直列接続回路に供
給される。これらのフリップフロップは、*を付して示
すように、初期クリアが可能なものである。フリップフ
ロップ2A、3A及び4Aの直列接続から導出されたタップと
フリップフロップ2B、3B、4B及び5の直列接続から導出
されたタップには、2次のブースのデコーダ6A〜6Hが夫
々接続される。
Data a1 output in series from the shift register 1A is supplied to a series connection circuit of flip-flops 2A, 3A and 4A. The data a2 output in series from the shift register 1B is supplied to a series connection circuit of flip-flops 2B, 3B, 4B and 5. These flip-flops can be initially cleared, as indicated by *. The taps derived from the series connection of the flip-flops 2A, 3A and 4A and the taps derived from the series connection of the flip-flops 2B, 3B, 4B and 5 are connected to the decoders 6A to 6H of the secondary booth, respectively. .

これらのブースのデコーダ6A〜6Hは、互いに同一の構
成であって、デコーダ6Aに関して図示するように、セレ
クタ7、ANDゲート8及びエクスクルーシブORゲート9
で構成されている。また、デコーダ6A〜6Hの夫々の出力
データが取り込まれるフリップフロップ10A〜10Hが設け
られている。
The decoders 6A to 6H of these booths have the same configuration as each other, and as shown with respect to the decoder 6A, a selector 7, an AND gate 8, and an exclusive OR gate 9 are provided.
It is composed of Also, flip-flops 10A to 10H are provided to receive the output data of the decoders 6A to 6H.

フリップフロップ10A及び10Bの出力が2ビット単位で
直列加算を行う加算器11Aに供給される。フリップフロ
ップ10C及び10Dの出力が供給される加算器11B、フリッ
プフロップ10E及び10Fの出力が供給される加算器11C、
フリップフロップ10G及び10Hの出力が供給される加算器
11Dが設けられている。これらの加算器11A〜11Dは、極
性を反転する時に必要なLSBに対して“1"を加算するた
めに設けられている。“1"に相当するのがパルスT1〜T4
である。
The outputs of the flip-flops 10A and 10B are supplied to an adder 11A that performs serial addition in units of 2 bits. An adder 11B to which the outputs of the flip-flops 10C and 10D are supplied, an adder 11C to which the outputs of the flip-flops 10E and 10F are supplied,
Adder to which outputs of flip-flops 10G and 10H are supplied
11D is provided. These adders 11A to 11D are provided to add "1" to the LSB required when inverting the polarity. Pulses T1 to T4 correspond to "1"
It is.

(A×B=Y)の乗算を2次のブースのアルゴリズム
で行う場合、乗数B(この構成では、8ビット)の2ビ
ット毎に4個の部分積が形成される。この場合、乗数B
の連続する3ビットを見て、被乗数Aの0倍、±1倍、
±2倍のいずれかの部分積が形成され、部分積が加算さ
れることで乗算出力が求められる。第1図Aに示す構成
は、4個の部分積を2ビット並列で形成するための構成
を示している。
When the multiplication of (A × B = Y) is performed by the secondary Booth algorithm, four partial products are formed for every two bits of the multiplier B (8 bits in this configuration). In this case, the multiplier B
Looking at the three consecutive bits of 0, ± 1 times the multiplicand A,
Any partial product of ± 2 times is formed, and the partial products are added to obtain a multiplied output. The configuration shown in FIG. 1A shows a configuration for forming four partial products in two bits in parallel.

Pi、Qi、Ri(i=1,2,3,4)は、ブースのデコーダ6A
〜6Hに供給される制御信号である。つまり、制御信号P
1、Q1、R1がデコーダ6A及び6Bに対するもので、制御信
号P2、Q2、R2がデコーダ6C及び6Dに対するもので、制御
信号P3、Q3、R3がデコーダ6E及び6Fに対するもので、制
御信号P4、Q4、R4がデコーダ6G及び6Hに対するものであ
る。
Pi, Qi, Ri (i = 1,2,3,4) are Booth's decoder 6A
To 6H. That is, the control signal P
1, Q1, R1 are for decoders 6A and 6B, control signals P2, Q2, R2 are for decoders 6C and 6D, control signals P3, Q3, R3 are for decoders 6E and 6F, and control signals P4, Q4, R4 are for decoders 6G and 6H.

乗数Bの連続する3ビットをブースのエンコーダ(図
示せず)に供給することにより制御信号Pi、Qi、Riが形
成される。各デコーダ6A〜6Hのセレクタ7が制御信号Pi
で制御され、セレクタ7の出力信号と制御信号QiとがAN
Dゲート8に供給され、ANDゲート8の出力と制御信号Ri
とがエクスクルーシブORゲート9に供給される。セレク
タ7は、あるビット桁に注目した時に、被乗数の1倍と
2倍とを選択的に出力する。制御信号Piが“0"の時に1
倍のデータがセレクタ7から得られ、これが“1"の時に
2倍のデータがセレクタ7から得られる。ANDゲート8
は、制御信号Qiが“0"の時に、0(即ち、被乗数の0
倍)を出力するために設けられている。エクスクルーシ
ブORゲート9は、制御信号Riが“1"の時に“0"と“1"の
反転を行うために設けられている。この処理に加えて加
算器11A〜11Dによって、LSBに“1"を加えることで、極
性の反転がなされる。
By supplying three consecutive bits of the multiplier B to a Booth encoder (not shown), control signals Pi, Qi, Ri are formed. The selector 7 of each of the decoders 6A to 6H outputs the control signal Pi
And the output signal of the selector 7 and the control signal Qi
The output of the AND gate 8 and the control signal Ri
Are supplied to the exclusive OR gate 9. The selector 7 selectively outputs one and two times the multiplicand when paying attention to a certain bit digit. 1 when the control signal Pi is “0”
Double data is obtained from the selector 7, and when this is “1”, double data is obtained from the selector 7. AND gate 8
Is 0 (that is, 0 of the multiplicand) when the control signal Qi is “0”.
Times) is provided. The exclusive OR gate 9 is provided to invert “0” and “1” when the control signal Ri is “1”. By adding "1" to the LSB by the adders 11A to 11D in addition to this processing, the polarity is inverted.

なお、2次のブースのエンコーダでは、乗数Bの3ビ
ットに応じて下記の制御信号Pi、Qi、Riが生成される。
In the encoder of the secondary booth, the following control signals Pi, Qi, and Ri are generated according to the three bits of the multiplier B.

また、ブースのデコーダ6A〜6Hは、制御信号Pi、Qi、
Riに応じて下記のように、部分積を発生する。
The booth decoders 6A to 6H output control signals Pi, Qi,
A partial product is generated according to Ri as follows.

2ビット単位の加算器11Aは、全加算器12及び13とフ
リップフロップ14、15、16とから構成されている。全加
算器12の第1の入力が常に“0"とされ、その第2の入力
としてフリップフロップ10Aの出力が供給され、その第
3の入力として全加算器13のキャリー出力が供給され
る。全加算器13の第1の入力として、パルスT1が供給さ
れ、その第2の入力としてフリップフロップ10Bの出力
が供給され、その第3の入力としてフリップフロップ14
を介された全加算器12のキャリー出力が帰還される。全
加算器12のサムがフリップフロップ15を介して出力d1と
して取り出され、全加算器13のサムがフリップフロップ
16を介して出力d2として取り出される。
The 2-bit adder 11A includes full adders 12 and 13 and flip-flops 14, 15, and 16. The first input of the full adder 12 is always "0", the output of the flip-flop 10A is supplied as its second input, and the carry output of the full adder 13 is supplied as its third input. The pulse T1 is supplied as a first input of the full adder 13, the output of the flip-flop 10B is supplied as its second input, and the flip-flop 14B is supplied as its third input.
The carry output of the full adder 12 passed through is fed back. The sum of the full adder 12 is taken out as the output d1 via the flip-flop 15, and the sum of the full adder 13 is
Retrieved as output d2 via 16.

他の2ビット単位の加算器11B〜11Dも、上述の加算器
11Aと同様の構成とされており、出力d3、d4・・・d8が
発生する。これらの加算器11A〜11Dでは、制御信号Piが
“1"とされる場合に、パルスTiを“1"として、LSBに
“1"が加えられる。
The other two-bit adders 11B to 11D are also the adders described above.
It has the same configuration as 11A, and outputs d3, d4,. In these adders 11A to 11D, when the control signal Pi is set to "1", the pulse Ti is set to "1" and "1" is added to the LSB.

加算器11Aの出力d1及びd2が乗数BのLSB及びビット番
号1のビットの2ビットと対応する部分積であり、加算
器11Bの出力d3及びd4が乗数Bのビット番号2及びビッ
ト番号3のビットの2ビットと対応する部分積であり、
加算器11Cの出力d5及びd6が乗数Bのビット番号4及び
ビット番号5のビットの2ビットと対応する部分積であ
り、加算器11Dの出力d7及びd8が乗数Bのビット番号6
及びMSBの2ビットと対応する部分積である。
The outputs d1 and d2 of the adder 11A are partial products corresponding to the LSB of the multiplier B and the two bits of the bit of the bit number 1, and the outputs d3 and d4 of the adder 11B are the bit numbers 2 and 3 of the multiplier B. A partial product corresponding to two bits of bits,
The outputs d5 and d6 of the adder 11C are partial products corresponding to two bits of the bit number 4 and the bit number 5 of the multiplier B, and the outputs d7 and d8 of the adder 11D are the bit number 6 of the multiplier B.
And the partial product corresponding to the two bits of the MSB.

上述の2ビット単位で確定した部分積のデータd1〜d8
が第1図Bにおける加算器17A及び17Bに供給される。加
算器17Aの出力e1及びe2と加算器17Bの出力e3及びe4とが
加算器18に供給される。加算器18の出力f1及びf2が加算
器19に供給される。加算器17A、17B、18及び19は、加算
器11A〜11Dと同様の2ビットを単位とする加算器であ
る。加算器17A、17B及び18は、部分積のトリー加算を行
う。被乗数A及び乗数Bが8ビットの場合では、加算器
18の出力f1及びf2が15ビット長である。
Data d1 to d8 of the partial product determined in units of 2 bits described above
Is supplied to the adders 17A and 17B in FIG. 1B. The outputs e1 and e2 of the adder 17A and the outputs e3 and e4 of the adder 17B are supplied to the adder 18. The outputs f1 and f2 of the adder 18 are supplied to the adder 19. The adders 17A, 17B, 18 and 19 are adders in units of 2 bits similar to the adders 11A to 11D. Adders 17A, 17B and 18 perform tree addition of partial products. When the multiplicand A and the multiplier B are 8 bits, the adder
The 18 outputs f1 and f2 are 15 bits long.

この例では、フィルタ演算のように、乗算出力を累算
している。このため、加算器19の出力g1及びg2が9ビッ
トのシフトレジスタ20A及び20Bに直列に入力される。こ
のシフトレジスタ20A及び20Bから導出されたタップから
20ビットの出力データYが取り出される。シフトレジス
タ20A及び20Bの直列出力h1及びh2が全加算器19の入力側
に帰還されている。加算器19とシフトレジスタ20A、20B
は、累加算器を構成している。この累加算器は、20ビッ
ト長の出力データYを発生できるので、5ビット、即ち
25回の累加算まで、オーバーフローを生じることなく行
うことができる。
In this example, the multiplication outputs are accumulated as in a filter operation. Therefore, the outputs g1 and g2 of the adder 19 are serially input to the 9-bit shift registers 20A and 20B. From the taps derived from these shift registers 20A and 20B
20-bit output data Y is extracted. The serial outputs h1 and h2 of the shift registers 20A and 20B are fed back to the input side of the full adder 19. Adder 19 and shift registers 20A, 20B
Constitutes a cumulative adder. This accumulator can generate output data Y having a length of 20 bits.
Up to 25 cumulative additions can be performed without overflow.

この発明の参考構成の動作のタイミングチャートが第
2図に示されている。クリアパルスと同様のタイミング
でシフトレジスタ1A及び1Bに対して入力データAがロー
ドされる。第2図のクリアパルスにより、フリップフロ
ップ2A、2B、3A、3B、4A、4B及び5が1演算処理の最初
のタイミングでクリアされる。加算器11A〜11Dの*が付
されたフリップフロップ14は、第2図のクリアパルスが
1クロック遅延されたパルスでクリアされる。加算器17
A及び17Bの*を付したフリップフロップは、第2図のク
リアパルスが2クロック遅延されたパルスでクリアされ
る。また、加算器18の*を付したフリップフロップは、
第2図のクリアパルスが3クロック遅延されたパルスで
クリアされる。更に、加算器19の*を付したフリップフ
ロップは、第2図のクリアパルスが4クロック遅延され
たパルスでクリアされる。
FIG. 2 is a timing chart of the operation of the reference configuration of the present invention. Input data A is loaded to the shift registers 1A and 1B at the same timing as the clear pulse. By the clear pulse shown in FIG. 2, the flip-flops 2A, 2B, 3A, 3B, 4A, 4B and 5 are cleared at the first timing of one operation processing. The flip-flops 14 of the adders 11A to 11D marked with * are cleared by a pulse obtained by delaying the clear pulse of FIG. 2 by one clock. Adder 17
The flip-flops marked with * in A and 17B are cleared by a pulse obtained by delaying the clear pulse in FIG. 2 by two clocks. In addition, the flip-flop marked with * of the adder 18 is
The clear pulse shown in FIG. 2 is cleared by a pulse delayed by three clocks. Further, the flip-flop marked with * in the adder 19 is cleared by a pulse obtained by delaying the clear pulse in FIG. 2 by four clocks.

クロックと同期してシフトレジスタ1Aから(LSB、ビ
ット番号2のビット、ビット番号4のビット、ビット番
号6のビット、MSB、MSB,・・・)の直列データa1が発
生する。シフトレジスタ1Bから(ビット番号1のビッ
ト、ビット番号3のビット、ビット番号5のビット、MS
B、MSB、MSB、・・・)の直列データa2が発生する。
Synchronous with the clock, serial data a1 of (LSB, bit of bit number 2, bit of bit number 4, bit of bit number 6, MSB, MSB,...) Is generated from the shift register 1A. From shift register 1B (bit 1 bit, bit 3 bit, bit 5 bit, MS
B, MSB, MSB, ...) serial data a2 is generated.

ブースのデコーダ6Aのセレクタ7では、a1と同一のデ
ータb2と、a2と同一のデータb1との一方が制御信号P1に
よって選択される。ブースのデコーダ6Bのセレクタ7で
は、データb2とフリップフロップ2Bの出力データb3との
一方が制御信号P1によって選択される。デコーダ6Aのセ
レクタがデータb1を選択し、デコーダ6Bのセレクタがデ
ータb2を選択した時のブースのデコーダ6A及び6Bのフリ
ップフロップ10A及び10Bの出力c1及びc2が第2図に示さ
れている。
In the selector 7 of the booth decoder 6A, one of the data b2 identical to a1 and the data b1 identical to a2 is selected by the control signal P1. In the selector 7 of the booth decoder 6B, one of the data b2 and the output data b3 of the flip-flop 2B is selected by the control signal P1. FIG. 2 shows the outputs c1 and c2 of the flip-flops 10A and 10B of the decoders 6A and 6B of the booth when the selector of the decoder 6A selects the data b1 and the selector of the decoder 6B selects the data b2.

このデータc2のLSBのタイミングでパルス信号T1が供
給される。極性の反転をしない時には、破線のように、
パルス信号T1が“0"である。2ビット単位の加算器11A
からは、一つの部分積と対応する2ビット単位のデータ
d1及びd2が得られる。この部分積が形成される間で、制
御信号P1、Q1、R1は、変化しない。上述と同様に、他の
3個の部分積のデータd3〜d8が形成される。このよう
に、2ビット単位で部分積を生成することにより、必要
なサイクル数を1/2にできる。
The pulse signal T1 is supplied at the timing of the LSB of the data c2. When not reversing the polarity,
The pulse signal T1 is "0". 2-bit adder 11A
From, one partial product and the corresponding 2-bit data
d1 and d2 are obtained. While this partial product is formed, the control signals P1, Q1, R1 do not change. Similarly to the above, data d3 to d8 of the other three partial products are formed. In this way, by generating a partial product in units of 2 bits, the required number of cycles can be reduced to half.

なお、フリップフロップ2A、2B、3A、3B、4A、4B及び
5は、部分積を加算する時のビット桁が揃うように、タ
イミングを合わせるために設けられている。
Note that the flip-flops 2A, 2B, 3A, 3B, 4A, 4B, and 5 are provided for adjusting the timing so that the bit digits when the partial products are added are aligned.

加算器17Aの出力e1及びe2、加算器17Bの出力e3及びe4
が第2図に示すタイミングで発生し、加算器18から4個
の部分積をトリー加算した出力f1及びf2が取り出され
る。そして、加算器19及びシフトレジスタ20A、20Bから
なる累加算器で累加算される。シフトレジスタ20A及び2
0Bは、累加算の最初のサイクルでクリアされる。
The outputs e1 and e2 of the adder 17A and the outputs e3 and e4 of the adder 17B.
Is generated at the timing shown in FIG. 2, and outputs f1 and f2 obtained by tree-adding the four partial products are taken out from the adder 18. Then, the cumulative addition is performed by the cumulative adder including the adder 19 and the shift registers 20A and 20B. Shift registers 20A and 2
0B is cleared in the first cycle of cumulative addition.

上述のこの発明の一実施例の一部は、概略的に第3図
で表すことができる。4個の部分積を夫々生成する部分
積生成回路21、22、23及び24は、ブースのデコーダ6A〜
6Hと加算器11A〜11Dとから構成されている。
A portion of one embodiment of the invention described above can be schematically represented in FIG. The partial product generation circuits 21, 22, 23 and 24 for generating the four partial products respectively comprise the booth decoders 6A to 6A.
6H and adders 11A to 11D.

一実施例 第4図は、この発明の一実施例を示し、第5図は一実
施例の動作を示すタイミングチャートである。第4図
は、部分積の生成、部分積のパイプライン加算までの構
成を示し、若し、必要であれば、第1図Bと同様に加算
器19及びシフトレジスタ20A及び20Bからなる累加算器を
接続しても良い。また、第5図のタイミングチャート
は、乗算出力f1及びf2を生成するまでの動作を示してお
り、この乗算出力を累加算する場合におけるタイミング
チャートは、前述の一実施例と同様である。
FIG. 4 shows an embodiment of the present invention, and FIG. 5 is a timing chart showing the operation of the embodiment. FIG. 4 shows the structure from partial product generation to partial product pipeline addition, and if necessary, a cumulative addition consisting of an adder 19 and shift registers 20A and 20B as in FIG. 1B. A container may be connected. Further, the timing chart of FIG. 5 shows the operation until the multiplied outputs f1 and f2 are generated, and the timing chart in the case of cumulatively adding the multiplied outputs is the same as that of the above-described embodiment.

一実施例では、第1図AにおけるLSBに“1"を加算す
るための加算器(11A〜11H)を省略し、部分積を加算す
るための加算器でLSBに“1"を加算するようにしたもの
である。また、トリー加算をパイプライン加算の構成に
変えたものである。
In one embodiment, adders (11A to 11H) for adding "1" to the LSB in FIG. 1A are omitted, and "1" is added to the LSB by an adder for adding a partial product. It was made. In addition, tree addition is changed to a configuration of pipeline addition.

つまり、第6図に概略的に示すように、部分積生成回
路21、22、23及び24の出力は、パイプライン方式で加算
できる。部分積生成回路23及び24の出力c5、c6、c7及び
c8が加算器27Cで加算され、その加算出力d5及びd6が加
算器27Bに供給される。加算器27Bには、フリップフロッ
プ29を介された部分積生成回路22の出力c3及びc4が供給
される。加算器27Bの出力e3及びe4が加算器27Aに供給さ
れる。加算器27Aには、2段のフリップフロップ30及び3
1を介された部分積生成回路21の出力c1及びc2が供給さ
れる。この加算器27Aから部分積の和の出力f1及びf2が
得られる。この第6図のように、各加算器の入力側及び
出力側にフリップフロップを設けた構成がパイプライン
加算器である。
That is, as schematically shown in FIG. 6, the outputs of the partial product generation circuits 21, 22, 23 and 24 can be added in a pipeline manner. Outputs c5, c6, c7 of partial product generation circuits 23 and 24 and
c8 is added by the adder 27C, and the added outputs d5 and d6 are supplied to the adder 27B. The outputs c3 and c4 of the partial product generation circuit 22 via the flip-flop 29 are supplied to the adder 27B. The outputs e3 and e4 of the adder 27B are supplied to the adder 27A. The adder 27A has two flip-flops 30 and 3
The outputs c1 and c2 of the partial product generation circuit 21 via 1 are supplied. The outputs f1 and f2 of the sum of the partial products are obtained from the adder 27A. As shown in FIG. 6, a pipeline adder has a configuration in which flip-flops are provided on the input side and the output side of each adder.

ここで、フリップフロップ30は、部分積生成回路21の
場所を部分積生成回路22の場所に移すことで不要とでき
る。また、このように場所が移された部分積生成回路21
及び22は、部分積生成回路23の場所に移して考えると、
フリップフロップ29及び31が不要とできる。このような
考えに基づいて具体化されたのが第4図の回路構成であ
る。
Here, the flip-flop 30 can be made unnecessary by moving the location of the partial product generation circuit 21 to the location of the partial product generation circuit 22. In addition, the partial product generation circuit 21 whose location is thus moved
And 22 are moved to the location of the partial product generation circuit 23,
The flip-flops 29 and 31 become unnecessary. The circuit configuration shown in FIG. 4 has been embodied based on such an idea.

第4図に示すように、前述の参考構成と同様に、シフ
トレジスタ1A及び1Bにより、8ビットの被乗数が二つの
直列データa1及びa2に変換される。また、2次のブース
のデコーダ6A〜6Hに対する入力データがフリップフロッ
プ25A、25B及び26で形成される。前述のように、パイプ
ライン加算のためのフリップフロップを省略するため
に、デコーダ6A、6B、6C、6D、6E、6Fに対する入力デー
タb1、b2及びb3が共通とされている。デコーダ6Gには、
データb3とフリップフロップ25Aからのデータb4とが供
給される。デコーダ6Hには、データb4とフリップフロッ
プ26からのデータb5とが供給される。
As shown in FIG. 4, the 8-bit multiplicand is converted into two serial data a1 and a2 by the shift registers 1A and 1B, as in the above-described reference configuration. Input data to the secondary booth decoders 6A to 6H are formed by flip-flops 25A, 25B and 26. As described above, the input data b1, b2, and b3 for the decoders 6A, 6B, 6C, 6D, 6E, and 6F are common in order to omit flip-flops for pipeline addition. The decoder 6G has
The data b3 and the data b4 from the flip-flop 25A are supplied. The data b4 and the data b5 from the flip-flop 26 are supplied to the decoder 6H.

デコーダ6A〜6Hの出力のLSBに“1"を加算する処理と
パイプライン加算とが加算器27A、27B及び27Cによりな
される。デコーダ6A及び6Bの出力c1及びc2を加算する2
ビットの直列加算器27Aのキャリー入力の所にORゲート2
8Aが接続され、帰還されるキャリー出力とパルスT1とが
ORゲート28Aに供給される。デコーダ6C及び6Dの出力c3
及びc4を加算する加算器27Bについても、同様にORゲー
ト28Bが接続される。
The process of adding “1” to the LSB of the outputs of the decoders 6A to 6H and the pipeline addition are performed by the adders 27A, 27B and 27C. 2 for adding the outputs c1 and c2 of the decoders 6A and 6B
OR gate 2 at carry input of serial adder 27A
8A is connected and the carry output that is fed back and the pulse T1
The signal is supplied to the OR gate 28A. Output c3 of decoders 6C and 6D
The OR gate 28B is also connected to the adder 27B that adds C4 and c4.

加算器27Cは、二つの部分積、即ち、デコーダ6E及び6
Fの出力c5及びc6とデコーダ6G及び6Hの出力c7及びc8と
を加算する。従って、加算器27Cには、一方の全加算器
に対してパルスT3が供給されるORゲート28CとパルスT4
が供給されるORゲート28Dとが設けられている。二つのO
Rゲート28C及び28Dにより、二つの部分積に関して同時
に極性反転を行うことが可能とされている。第4図の加
算器27Aの出力f1及びf2として、乗算出力が得られる。
Adder 27C has two partial products, decoders 6E and 6E.
The outputs c5 and c6 of F and the outputs c7 and c8 of the decoders 6G and 6H are added. Therefore, the adder 27C is supplied with the pulse T3 to one of the full adders and the OR gate 28C and the pulse T4.
And an OR gate 28D to which is supplied. Two O
The R gates 28C and 28D allow the polarity inversion to be performed simultaneously on the two partial products. Multiplied outputs are obtained as the outputs f1 and f2 of the adder 27A in FIG.

なお、第4図において、*が付されたフリップフロッ
プは、上述の一実施例と異なり、初期に同時にクリアさ
れる。
In FIG. 4, the flip-flops marked with * are cleared at the same time as the first embodiment, unlike the above-described embodiment.

第4図に示す一実施例では、加算器27Cと加算器27A及
び27Bとが異なる構成である。これを避けるために、第
7図に示す構成を用いても良い。第7図では、部分積生
成回路24の出力と“0"データとを加算する加算器27Dが
追加され、加算器27Dの出力と1段のフリップフロップ3
2を介された部分積生成回路23の出力とが加算器27Cで加
算される。この加算器27Cの出力と2段のフリップフロ
ップ33及び34を介された部分積生成回路22の出力とが加
算器27Bで加算され、加算器27Bの出力と3段のフリップ
フロップ35、36及び37を介された部分積生成回路21の出
力とを加算器27Aで加算される。
In the embodiment shown in FIG. 4, the adder 27C and the adders 27A and 27B have different configurations. In order to avoid this, the configuration shown in FIG. 7 may be used. In FIG. 7, an adder 27D for adding the output of the partial product generation circuit 24 and the "0" data is added, and the output of the adder 27D and the one-stage flip-flop 3 are added.
The output of the partial product generation circuit 23 through 2 is added by the adder 27C. The output of the adder 27C and the output of the partial product generation circuit 22 via the two-stage flip-flops 33 and 34 are added by the adder 27B, and the output of the adder 27B and the three-stage flip-flops 35, 36 and The output of the partial product generation circuit 21 passed through 37 is added by the adder 27A.

なお、上述の実施例では、二つの全加算器と、一方の
全加算器のキャリー出力を他方の全加算器に帰還するこ
とで、2ビットの直列加算器が構成されている。しか
し、1ビットの全加算器を二つ使用する構成に限らず、
2ビットの全加算器を使用し、そのキャリー出力を帰還
する専用の回路構成を用いても良い。
In the above-described embodiment, a two-bit serial adder is formed by feeding back two full adders and a carry output of one full adder to the other full adder. However, the configuration is not limited to using two 1-bit full adders.
A dedicated circuit configuration that uses a 2-bit full adder and feeds back the carry output may be used.

〔発明の効果〕〔The invention's effect〕

この発明は、2次のブースのアルゴリズムに基づい
て、2ビット毎に直列に出力される部分積を形成するの
で、部分積の直列加算のサイクル数を1/2に減少でき
る。この発明は、直列処理で演算回路が構成されたシス
テムにおいて、乗算器の処理のサイクル数が他の加算
器、論理演算回路と比較して長くなることを防止でき
る。また、この発明では、パイプライン形式で部分積を
加算するので、高速のクロックに同期して加算を行うこ
とができる
According to the present invention, a partial product output in series every two bits is formed based on the secondary Booth's algorithm, so that the number of cycles of serial addition of partial products can be reduced to half. According to the present invention, in a system in which an arithmetic circuit is configured by serial processing, it is possible to prevent the number of processing cycles of the multiplier from being longer than that of other adders and logical arithmetic circuits. Further, according to the present invention, since partial products are added in a pipeline format, the addition can be performed in synchronization with a high-speed clock.

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

第1図A及び第1図Bはこの発明の説明の参考とした構
成のブロック図、第2図はこの参考構成のタイミングチ
ャート、第3図はこの参考構成の概略的構成を示すブロ
ック図、第4図はこの発明の一実施例のブロック図、第
5図は一実施例のタイミングチャート、第6図は一実施
例の概略的構成を示すブロック図、第7図は一実施例の
変形例を概略的に示すブロック図、第8図は従来のビッ
ト直列加算器の一例のブロック図、第9図はビット直列
加算器のタイミングチャート、第10図は従来の直並列方
式のディジタル乗算器のブロック図、第11図は従来のデ
ィジタル乗算器のタイミングチャートである。 図面における主要な符号の説明 1A、1B、20A、20B:シフトレジスタ、 6A、6B、・・・、6H:2次のブースのデコーダ、 17A、17B、18、19:部分積をトリー加算するための加算
器、 27A、27B、27C、27D:極性反転のためにLSBに“1"を加算
する処理と部分積をパイプライン加算する処理とを行う
加算器。
1A and 1B are block diagrams of a configuration referred to in the description of the present invention, FIG. 2 is a timing chart of the reference configuration, FIG. 3 is a block diagram showing a schematic configuration of the reference configuration, 4 is a block diagram of one embodiment of the present invention, FIG. 5 is a timing chart of one embodiment, FIG. 6 is a block diagram showing a schematic configuration of one embodiment, and FIG. 7 is a modification of one embodiment. FIG. 8 is a block diagram schematically showing an example of a conventional bit-serial adder, FIG. 9 is a timing chart of the bit-serial adder, and FIG. 10 is a conventional serial-parallel digital multiplier. FIG. 11 is a timing chart of a conventional digital multiplier. Description of main symbols in drawings 1A, 1B, 20A, 20B: shift register, 6A, 6B, ..., 6H: second-order booth decoder, 17A, 17B, 18, 19: for tree addition of partial products Adders 27A, 27B, 27C, 27D: adders for performing a process of adding “1” to the LSB for polarity reversal and a process of pipeline adding a partial product.

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 310 H03H 17/00 601 H03H 17/02 655 H03H 17/02 661 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 7/52 310 H03H 17/00 601 H03H 17/02 655 H03H 17/02 661

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】被乗数が順次与えられ、乗数を2次のブー
スのエンコーダに供給することで形成された制御信号が
供給され、上記乗数の2ビット単位で複数の部分積をそ
れぞれ生成する複数の部分積生成回路と、 上記部分積生成回路の出力がそれぞれ供給される2ビッ
トを単位とする複数の加算器からなり、パイプライン形
式で構成された加算手段とを備え、 上記加算手段によって上記複数の部分積を加算すること
によって、乗算出力を得るようにしたディジタル演算回
路。
1. A multiplicand is sequentially given, a control signal formed by supplying a multiplier to an encoder of a secondary booth is supplied, and a plurality of partial products are generated in units of 2 bits of the multiplier. A partial product generation circuit; and a plurality of adders each having a unit of 2 bits to which an output of the partial product generation circuit is supplied, and including an adder configured in a pipeline format. A digital arithmetic circuit which obtains a multiplied output by adding partial products of
JP02143085A 1990-05-31 1990-05-31 Digital arithmetic circuit Expired - Fee Related JP3123060B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02143085A JP3123060B2 (en) 1990-05-31 1990-05-31 Digital arithmetic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02143085A JP3123060B2 (en) 1990-05-31 1990-05-31 Digital arithmetic circuit

Publications (2)

Publication Number Publication Date
JPH0437211A JPH0437211A (en) 1992-02-07
JP3123060B2 true JP3123060B2 (en) 2001-01-09

Family

ID=15330564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02143085A Expired - Fee Related JP3123060B2 (en) 1990-05-31 1990-05-31 Digital arithmetic circuit

Country Status (1)

Country Link
JP (1) JP3123060B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2517281Y2 (en) * 1993-01-20 1996-11-20 ドーエイ外装有限会社 Joint cover device
US5477479A (en) * 1993-03-08 1995-12-19 Nkk Corporation Multiplying system having multi-stages for processing a digital signal based on the Booth's algorithm

Also Published As

Publication number Publication date
JPH0437211A (en) 1992-02-07

Similar Documents

Publication Publication Date Title
US4611305A (en) Digital signal processing circuit
JPH05216627A (en) Multiplier and multiplying method
US5113362A (en) Integrated interpolator and method of operation
US5036483A (en) Binary adding apparatus
US6127863A (en) Efficient fractional divider
JP3123060B2 (en) Digital arithmetic circuit
US5031137A (en) Two input bit-serial multiplier
JP2864598B2 (en) Digital arithmetic circuit
JP3120435B2 (en) Digital arithmetic circuit
JP2991788B2 (en) Decoder
JP3155026B2 (en) Accumulator
US5615141A (en) Multiplying apparatus
JPS63163927A (en) Multiplication circuit
JP2617591B2 (en) Serial operation circuit
JPH03196712A (en) Digital arithmetic circuit
JP3412368B2 (en) Bit serial squaring circuit
JPH0624310B2 (en) Digital Filter
JP2529890B2 (en) Multiplicative remainder calculator
KR950007878B1 (en) Adding method
JPS615345A (en) Serial multiplication method
JPH0666638B2 (en) Digital Filter
JPS58119046A (en) Adder and subtracter
JP2001005642A (en) Multiplier
JP2003258646A (en) 5x3 WAVELET CONVERTER
GB2179770A (en) Method and digital circuit for fixed coefficient serial multiplication

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees