JPH0326857B2 - - Google Patents

Info

Publication number
JPH0326857B2
JPH0326857B2 JP59179638A JP17963884A JPH0326857B2 JP H0326857 B2 JPH0326857 B2 JP H0326857B2 JP 59179638 A JP59179638 A JP 59179638A JP 17963884 A JP17963884 A JP 17963884A JP H0326857 B2 JPH0326857 B2 JP H0326857B2
Authority
JP
Japan
Prior art keywords
supplied
output
multiplier
gate
carry
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 - Lifetime
Application number
JP59179638A
Other languages
Japanese (ja)
Other versions
JPS6158036A (en
Inventor
Noryuki Ikumi
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP59179638A priority Critical patent/JPS6158036A/en
Publication of JPS6158036A publication Critical patent/JPS6158036A/en
Publication of JPH0326857B2 publication Critical patent/JPH0326857B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

〔発明の技術分野〕 この発明は、例えば画像処理などのように高速
な信号処理が必要とされるものに使用される乗算
器に関する。 〔発明の技術的背景とその問題点〕 乗算器の乗算方式としては従来から様々な方式
が提案されているが、人手で行なう乗算と全く同
じ原理を用い、これをハードウエアで実現したの
が並列乗算器である。これは第3図に示すよう
に、乗数yと被乗数xとの各ビツト毎の部分積を
生成するさめのアンドゲート11と、その部分積
x,y、同じ桁の前段の和出力S′および下の桁か
らの桁上げ信号C′を足し合わせ加算出力Sおよび
桁上げ信号Cを得る全加算器12とを1つの単位
回路(基本セル)13とし、この基本セルを第4
図に示すようにアレイ状に配置したものである。
第4図は4×4ビツトの乗算器を示すもので、x1
〜x4は被乗数、y1〜y4は乗数、131〜136は基
本セル、14は4ビツトの加算器、S1〜S8は乗算
出力である。この方式は、部分積の生成および加
算を並列に行なうために、高速な演算が可能であ
る。 しかし、上記のような構成では、n×nビツト
の乗算器を形成しようとすると、基本セルが2n
必要となり、ハードウエア量が多くなる欠点があ
る。 ところで、一般に信号の伝播時間は通過するセ
ルの段数で決定されるため、この方式ではn×n
ビツト乗算器において、基本セルをn回通過する
(ここではセル・アレイのみで最終段の加算器1
4は含まない)ことになる。従つて、さらに高速
化を望むならば、基本セルの通過段数を減らせば
良く、これは同時にハードウエア量の低減にもつ
ながる。このようなセルの通過段数を減らす方式
として、Wallaceのトリーがある。この方式によ
ればセルの通過段数は大幅に削減され、より一層
の高速化が期待される。しかし、LSI化を考える
と、上記Wallaceのトリー方式はそのパターン形
状を矩形にまとめることが難しく、大きな無効エ
リアを生ずるためチツプの有効利用という点から
は不適である。また、必要な配線も複雑であり、
配線遅延も無視できない等の欠点を有している。 〔発明の目的〕 この発明は上記のような事情に鑑みてなされも
ので、その目的とするところは、高速動作が可能
で、しかもLSI化に適した規則的なパターンを有
し、高集積化できる乗算器を提供することであ
る。 〔発明の概要〕 すなわち、この発明においては、上記の目的を
達成するために、通過するセルの段数の低減とい
う点からBoothアルゴリズムと、2系統の同じ桁
の加算という2つの方式を併用したもので、
Boothアルゴリズムを用いることによつて通過す
るセルの段数を1/2に低減するとともに、同じ桁
の加算を複数の経路を用いることによつて約1/2
に減らし、合計で通過するセルの段数を約1/4に
減らすことによつて高速化を図つている。また、
基本的には並列乗算器であるのでパターンの規則
性も維持している。 〔発明の実施例〕 以下、この発明の一実施例について図面を参照
して説明する。 一般に、部分積の生成で最もよく用いられる手
法としてBoothのアルゴリズムがある。このアル
ゴリズムは2の補数の乗算が補正なしで実行でき
るという利点がある。今、例として2ビツトの
Boothをあげて説明する。2の補数表示のとき、
乗数Yは、 Y=−yo・2n-1o-1j=1 yi2i-1 ……(1) (yoは符号ビツト、yo-1〜y1は数値部) で表わされる。上式(1)は次のような書き換えるこ
とができる。 従つて、乗数P=X・Yは、 となる。上記(3)において、(y2i+y2i+1−2y2i+2
は、相続く3ビツト(y2i,y2i+1,2y2i+2)の値に
応じて「0」,「±1」,「±2」の値を取るので、
部分積はそれによつて0,±X,±2Xのどれかを
取ることになる。前式(3)から明らかなように、
Boothのアルゴリズムを用いれば、部分積は通常
の並列乗算器のn個に対して半分のn/2個で済
む。 一方、部分積の加算の段数を減らす手法とし
て、第5図に示すように同じ桁の加算2つの経路
(例えば偶数段と奇数段)で行ない、最終段でそ
の両者を加え合わせるものがある。この方式よれ
ば、n×nビツトの乗算がn/2+2段で計算でき ることにより、ワード長が短かい場合には大きな
効果は得られないが、ワード長が長くなるに従つ
て効果的である。第5図において、aを付した符
号は奇数段、bは付した符号は偶数段を示してい
る。例えば、基本セル15aからの和出力Sは、
次段の基本セル15bを飛び越して16aへ、ま
た、キヤリーCも同様に1個飛び越して18aへ
供給される。一方、偶数段でも同様に例えば15
bからの和出力Sは基本セル16bへ、キヤリー
Cは基本セル18bそれぞれ供給される。このよ
うに、偶数段と奇数段でそれぞれ別々に加算を行
ない、最後に両者を加え合わせる(図ではセル1
9〜22を用いている)ため、余分に2段必要と
なるが、ワード長が長くなるに従つてその影響は
薄らぐ。 この発明においては、パターンの規則性を維持
しつつしかも高速化を実現するために、上述した
2つの方式を併用して乗算器を形成している。第
1図はその構成を示すもので8×8ビツトの乗算
器を示している。この乗算器は第2図に示すよう
な基本セル23によつて構成される。すなわち、
和入力Sio、キヤリー入力Cioおよび被乗数Xが供
給され、その和出力Sputおよびキヤリー出力Ccut
を得る全加算器24の被乗数X入力端には、排他
的ノアゲート25の出力が供給される。こ排他的
ノアゲート25の一方の入力端には、反転信号
(−2X,−X)NEGAが供給され、他方の入力端
にはノアゲート26の出力が供給される。このノ
アゲート26の入力端には、アンドゲート271
272の出力がそれぞれ供給される。アンドゲー
ト271の一方の入力端には被乗数Xが、他方の
入力端にはXセレクト信号SSELXがそれぞれ供
給される。また、アンドゲート272の一方の入
力端には被乗数Xを2倍した信号2Xが、他方の
入力端にはこの2Xのセレクト信号SEL2Xがそ
れぞれ供給されるようになつている。 このような基本セル23は、第1図に示すよう
にマトリクス状に配設される。マトリクス状に配
置された基本セル239,2318,2327,2336
および238,2317,2326,2335には被乗数
X0が、基本セ238,2317,2326,2335およ
び231,2316,2325,2334には被乗数X1
が、基本セル237,2316,2325,2334およ
び236,2315,2324,2333には被乗数X2
が、以下、同様にして基本セル231〜236,2
10〜22315,2319〜2324および2328〜2
33には被乗数X3〜X7がそれぞれ供給される。
ここで、各基本セルの右側から入力された被乗数
が第2図における2Xに、左側から入力された被
乗数がXに相当している。なお、基本セル231
2310,2319および2328には被乗数X,2X
として被乗数X7が供給され、239,2318,2
27,2336の2Xとして接地電位VSSが供給され
る。 一方、乗数Y0〜Y7はそれぞれ、3ビツトが1
組としてデコーダ281〜284に供給される。す
なわち、デコーダ281には乗数Y0,Y1と接地電
位VSSが、デコーダ282には乗数Y1,Y2,Y3
が、デコーダ283には乗数Y3,Y4,Y5が、デコ
ーダ284には乗数Y5,Y6,Y7がそれぞれ供給さ
れる。そして、上記デコーダ281から出力され
る制御信号(Xセレクト信号SELX,2Xセレク
ト信号SEL2X、反転信号NEGA)はそれぞれ、
基本セル231〜239に供給され、デコーダ28
から出力される制御信号はそれぞれ基本セル2
10〜2318に、デコーダ283から出力される制
御信号はそれぞれ基本セル2319〜2327に、デ
コーダ284から出力される制御信号はそれぞれ
基本セル2328〜2336に供給される。また、上
記基本セル232〜2310,2312〜2319,23
21,2322,2328,2330および2331にはそれ
ぞれ、和入力Sioおよびキヤリー入力Cioとして接
地電位VSSが供給される。上記基本セル231は符
号ビツトとして働くもので、接地電位VSSおよび
電源電位VDDが供給される。同様に、基本セル2
11,2320,2329にも接地電位VSSおよび電源
電位VDDが供給される。上記基本セル231〜23
の和出力は、基本セル2323〜2327に供給され
る。これら基本セルの2323〜2327のキヤリー
入力としては、接地電位VSSが供給される。上記
基本セル236〜239から得られる和出力は、桁
上げ信号を生成するための多入力高速加算器29
に供給される。上記基本セル2310〜2314の和
出力はそれぞれ基本セル2332〜2336に供給さ
れ、基本セル2315〜2318の出力はそれぞれ上
記多入力高速加算器29に供給される。また、基
本セル2319のキヤリー出力および和出力はそれ
ぞれ、加算器301,302に供給され、基本セル
2320のキヤリー出力および和出力はそれぞれ加
算器302,303に、基本セル2321のキヤリー
出力および和出力はそれぞれ加算器303,304
に、基本セル2322のキヤリー出力および和出力
は加算器304,305に、基本セル2323のキヤ
リー出力および和出力は加算器305,306にそ
れぞれ供給される。上記基本セル2324のキヤリ
ー出力は加算器306へ供給されるとともに、和
出力は多入力高速加算器29へ供給され、基本セ
ル2327のキヤリー出力および和出力はそれぞれ
上記多入力高速加算器29へ供給される。基本セ
ル2328の和出力は加算器307へ供給され、基
本セル2329〜2334の和出力は加算器301〜3
6へ、キヤリー出力は加算器307〜3012へそ
れぞれ供給される。さらに、基本セル2335のキ
ヤリー出力は加算器3013へ、和出力は多入力高
速加算器29へ供給され、基本セル2336の和出
力およびキヤリー出力は多入力高速加算器29へ
それぞれ供給される。上記加算器301〜306
和出力は上記加算器308〜3013へ、キヤリー
出力は加算器307〜3012へそれぞれ供給され
る。上記加算器307〜3013の和出力およびキ
ヤリー出力はそれぞれ、例えばCLA(Carry
Look Ahead)等から成り最終和を求めるための
高速加算器31に供給される。また、上記多入力
高速加算器29のキヤリー出力は上記加算器30
13と上記高速加算器31へそれぞれ供給される。
そして、多入力高速加算器29から乗算出力Z0
Z7を、高速加算器31から乗算出力Z8〜Z14をそ
れぞれ得るようにして成る。 次に、上記のような構成において動作を説明す
る。被乗数X0〜X7が各基本セル231〜2336
供給されるとともに、乗数Y0〜Y7がデコーダ2
1〜284に供給されると、これらデコーダ28
〜284によつて3ビツトの乗数データのデコー
ダが行なわれ、これに対応した制御信号(Xセレ
クト信号SELX,2Xセレクト信号SEL2X、反
転信号NEGA)が各基本セル231〜2336に供
給されて0,±X,±2Xの選択が行なわれる。こ
れによつて、被乗数X0〜X7と乗数Y0〜Y7との部
分積が生成される。この部分積は、奇数段および
偶数段毎に加算され、上記基本セル236〜23
,2315〜2318,2324〜2327,2335,2
36の和出力およびキヤリー出力の少なくとも一
方が選択的に多入力高速加算器29に供給され。
基本セル2319〜2324および2328〜2335
和出力およびキヤリー出力の少なくとも一方がそ
れぞれ加算器301〜3013に選択的に供給され、
奇数段と偶数段の部分積の和が最終的に加算され
る。そして、これらの加算器307〜3013の和
出力およびキヤリー出力が高速加算器31によつ
て加算される。ここで、高速加算器31の入力
(加算器307〜3013の出力)が確定したときに
は、下位の加算器からの桁上げ信号も確定してい
なければならない。このため下位側ではセルの段
数を増やし和出力とキヤリー出力とを2つに絞り
込むことはせずに、2系統のセルから出力された
和出力とキヤリー出力とから桁上げ信号を生成す
る多入力高速加算器29を用い、全ての基本セル
を通過する間に上位への桁上げを確定させてい
る。 このような構成によれば、下表に示すように通
過するセルの段数を低減でき、これによつて高速
化を図れる。また、並列型であるのでパターン構
成する際の規則性を維持でき、LSI化にも好適な
ものである。
[Technical Field of the Invention] The present invention relates to a multiplier used in applications that require high-speed signal processing, such as image processing. [Technical background of the invention and its problems] Various methods have been proposed as multiplier multiplication methods, but this method uses exactly the same principle as multiplication performed manually and has been realized using hardware. It is a parallel multiplier. As shown in Fig. 3, this consists of the same AND gate 11 that generates a partial product for each bit of the multiplier y and the multiplicand x, the partial products x, y, the sum output S' of the previous stage of the same digit, and A full adder 12 that adds the carry signal C' from the lower digit and obtains the addition output S and the carry signal C is one unit circuit (basic cell) 13, and this basic cell is used as the fourth
They are arranged in an array as shown in the figure.
Figure 4 shows a 4 x 4 bit multiplier, x 1
.about.x4 is a multiplicand, y1 to y4 are multipliers, 131 to 136 are basic cells, 14 is a 4-bit adder, and S1 to S8 are multiplication outputs. This method enables high-speed calculations because partial product generation and addition are performed in parallel. However, in the above configuration, if an n×n bit multiplier is to be formed, 2 n basic cells are required, which increases the amount of hardware. By the way, since the propagation time of a signal is generally determined by the number of stages of cells it passes through, this method uses n×n
In the bit multiplier, the basic cell is passed n times (here, only the cell array is used, and the final stage adder 1
4 is not included). Therefore, if further speeding up is desired, the number of stages through which the basic cells pass can be reduced, which also leads to a reduction in the amount of hardware. Wallace's tree is a method for reducing the number of stages that cells pass through. According to this method, the number of stages through which cells pass can be significantly reduced, and even higher speeds are expected. However, when considering LSI implementation, Wallace's tree method described above is difficult to organize the pattern shape into a rectangle and produces a large invalid area, making it unsuitable from the point of view of effective chip utilization. In addition, the required wiring is complicated,
It also has drawbacks such as non-negligible wiring delays. [Object of the Invention] This invention was made in view of the above-mentioned circumstances, and its purpose is to enable high-speed operation, have a regular pattern suitable for LSI implementation, and achieve high integration. The objective is to provide a multiplier that can. [Summary of the Invention] In other words, in order to achieve the above object, the present invention combines the Booth algorithm and two systems of addition of the same digits in order to reduce the number of stages of passing cells. in,
By using the Booth algorithm, the number of cells passing through can be reduced to 1/2, and by using multiple paths to add the same digit, it can be reduced to about 1/2.
We aim to increase speed by reducing the total number of stages of cells that pass through to about 1/4. Also,
Since it is basically a parallel multiplier, it also maintains the regularity of the pattern. [Embodiment of the Invention] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In general, Booth's algorithm is the most commonly used method for generating partial products. This algorithm has the advantage that two's complement multiplication can be performed without correction. Now, as an example, 2 bits
I'll give you Booth and explain. When displaying in two's complement,
The multiplier Y is Y=-y o・2 n-1 + o-1j=1 y i 2 i-1 ...(1) (y o is the sign bit, y o-1 ~ y 1 is the numerical part ). The above equation (1) can be rewritten as follows. Therefore, the multiplier P=X・Y is becomes. In (3) above, (y 2i +y 2i+1 −2y 2i+2 )
takes values of ``0'', ``±1'', and ``±2'' depending on the values of successive 3 bits (y 2i , y 2i+1 , 2y 2i+2 ), so
Depending on the partial product, it will take either 0, ±X, or ±2X. As is clear from the previous equation (3),
If Booth's algorithm is used, the number of partial products can be n/2, which is half of the number n of a normal parallel multiplier. On the other hand, as a method of reducing the number of stages of addition of partial products, as shown in FIG. 5, there is a method in which addition of the same digit is performed in two paths (for example, an even number stage and an odd number stage), and both are added at the final stage. According to this method, since n×n bit multiplication can be calculated in n/2+2 stages, a large effect is not obtained when the word length is short, but it becomes more effective as the word length becomes longer. In FIG. 5, the symbols appended with a indicate odd-numbered stages, and the symbols appended with b indicate even-numbered stages. For example, the sum output S from the basic cell 15a is
It skips over the next stage basic cell 15b and supplies it to 16a, and similarly skips one carry C and supplies it to 18a. On the other hand, for even-numbered stages, for example, 15
The sum output S from b is supplied to the basic cell 16b, and the carry C is supplied to the basic cell 18b. In this way, addition is performed separately in the even-numbered stages and odd-numbered stages, and finally the two are added together (in the figure, cell 1
9 to 22), two extra stages are required, but this effect diminishes as the word length increases. In this invention, in order to achieve high speed while maintaining pattern regularity, the above-mentioned two methods are used together to form a multiplier. FIG. 1 shows its configuration, and shows an 8×8 bit multiplier. This multiplier is constituted by basic cells 23 as shown in FIG. That is,
A sum input S io , a carry input C io and a multiplicand X are supplied, and their sum output S put and carry output C cut
The output of the exclusive NOR gate 25 is supplied to the multiplicand X input terminal of the full adder 24 which obtains . One input terminal of this exclusive NOR gate 25 is supplied with the inverted signal (-2X, -X) NEGA, and the other input terminal is supplied with the output of the NOR gate 26. At the input end of this NOR gate 26 are AND gates 27 1 ,
27 2 outputs are provided respectively. The multiplicand X is supplied to one input terminal of the AND gate 271 , and the X selection signal SSELX is supplied to the other input terminal. Further, a signal 2X obtained by doubling the multiplicand X is supplied to one input terminal of the AND gate 272 , and a select signal SEL2X of this 2X is supplied to the other input terminal. Such basic cells 23 are arranged in a matrix as shown in FIG. Basic cells arranged in a matrix 23 9 , 23 18 , 23 27 , 23 36
and 23 8 , 23 17 , 23 26 , 23 35 have multiplicands
X 0 is the multiplicand _ _ _ _ _
However, the basic cells 23 7 , 23 16 , 23 25 , 23 34 and 23 6 , 23 15 , 23 24 , 23 33 have the multiplicand
However, hereinafter, basic cells 23 1 to 23 6 , 2
3 10 ~ 223 15 , 23 19 ~ 23 24 and 23 28 ~ 2
333 are supplied with multiplicands X 3 to X 7 , respectively.
Here, the multiplicand input from the right side of each basic cell corresponds to 2X in FIG. 2, and the multiplicand input from the left side corresponds to X. In addition, the basic cell 23 1 ,
23 10 , 23 19 and 23 28 have multiplicands X and 2X
The multiplicand X 7 is supplied as 23 9 , 23 18 , 2
The ground potential V SS is supplied as 2X of 3 27 and 23 36 . On the other hand, each of the multipliers Y 0 to Y 7 has 3 bits equal to 1
The signals are supplied as a set to decoders 28 1 to 28 4 . That is, the decoder 28 1 receives the multipliers Y 0 , Y 1 and the ground potential VSS, and the decoder 28 2 receives the multipliers Y 1 , Y 2 , Y 3 .
However, the decoder 28 3 is supplied with multipliers Y 3 , Y 4 , and Y 5 , and the decoder 28 4 is supplied with multipliers Y 5 , Y 6 , and Y 7 , respectively. The control signals (X select signal SELX, 2X select signal SEL2X, and inverted signal NEGA) output from the decoder 281 are as follows:
It is supplied to basic cells 23 1 to 23 9 and decoder 28
The control signals output from each basic cell 2
3 10 to 23 18 , the control signals output from the decoder 28 3 are supplied to the basic cells 23 19 to 23 27 , respectively, and the control signals output from the decoder 28 4 are supplied to the basic cells 23 28 to 23 36 , respectively. Further, the basic cells 23 2 to 23 10 , 23 12 to 23 19 , 23
The ground potential V SS is supplied to 21 , 23 22 , 23 28 , 23 30 and 23 31 as a sum input S io and a carry input C io , respectively. The basic cell 231 functions as a code bit and is supplied with a ground potential V SS and a power supply potential V DD . Similarly, basic cell 2
The ground potential V SS and the power supply potential V DD are also supplied to 3 11 , 23 20 , and 23 29 . The above basic cells 23 1 to 23
The sum output of 5 is supplied to basic cells 23 23 to 23 27 . The ground potential V SS is supplied to the carry inputs of these basic cells 23 23 to 23 27 . The sum output obtained from the basic cells 23 6 to 23 9 is sent to a multi-input high-speed adder 29 for generating a carry signal.
is supplied to The sum outputs of the basic cells 23 10 to 23 14 are supplied to the basic cells 23 32 to 23 36 , respectively, and the outputs of the basic cells 23 15 to 23 18 are supplied to the multi-input high-speed adder 29, respectively. Further, the carry output and sum output of the basic cell 23 19 are supplied to adders 30 1 and 30 2 , respectively, and the carry output and sum output of the basic cell 23 20 are supplied to adders 30 2 and 30 3 , respectively. The carry output and sum output of 21 are added to adders 30 3 and 30 4 respectively.
The carry output and sum output of basic cell 23 22 are supplied to adders 30 4 and 30 5 , and the carry output and sum output of basic cell 23 23 are supplied to adders 30 5 and 30 6 , respectively. The carry outputs of the basic cells 23-24 are supplied to the adders 30-6 , the sum outputs are supplied to the multi-input high-speed adder 29, and the carry outputs and sum outputs of the basic cells 23-27 are respectively supplied to the multi-input high-speed adder 29. 29. The sum output of the basic cells 23 28 is supplied to the adder 30 7 , and the sum output of the basic cells 23 29 to 23 34 is supplied to the adders 30 1 to 3.
0 6 and the carry outputs are supplied to adders 30 7 to 30 12 , respectively. Further, the carry output of the basic cell 23 35 is supplied to the adder 30 13 , the sum output is supplied to the multi-input high speed adder 29, and the sum output and carry output of the basic cell 23 36 are supplied to the multi-input high speed adder 29, respectively. Ru. The sum outputs of the adders 30 1 to 30 6 are supplied to the adders 30 8 to 30 13 , and the carry outputs are supplied to the adders 30 7 to 30 12 , respectively. The sum output and carry output of the adders 30 7 to 30 13 are, for example, CLA (Carry
Look Ahead), etc., and is supplied to a high-speed adder 31 for determining the final sum. Further, the carry output of the multi-input high-speed adder 29 is transmitted to the adder 30.
13 and the high-speed adder 31, respectively.
Then, the multiplication output Z 0 ~ from the multi-input high-speed adder 29
Z 7 and multiplication outputs Z 8 to Z 14 are obtained from the high-speed adder 31, respectively. Next, the operation in the above configuration will be explained. The multiplicands X 0 to X 7 are supplied to each basic cell 23 1 to 23 36 , and the multipliers Y 0 to Y 7 are supplied to the decoder 2.
8 1 to 28 4 , these decoders 28
1 to 284 decode the 3-bit multiplier data, and the corresponding control signals (X select signal SELX, 2X select signal SEL2X, inverted signal NEGA) are supplied to each basic cell 231 to 2336 . 0, ±X, ±2X are selected. As a result, partial products of the multiplicands X 0 to X 7 and the multipliers Y 0 to Y 7 are generated. These partial products are added for each odd-numbered stage and even-numbered stage, and are added to the basic cells 23 6 to 23
9 , 23 15 ~ 23 18 , 23 24 ~ 23 27 , 23 35 , 2
At least one of the sum output and the carry output of 336 is selectively supplied to a multi-input high speed adder 29.
At least one of the sum output and carry output of the basic cells 23 19 to 23 24 and 23 28 to 23 35 is selectively supplied to adders 30 1 to 30 13 , respectively;
The sums of the partial products of the odd and even stages are finally added. Then, the sum output and carry output of these adders 30 7 to 30 13 are added by a high-speed adder 31. Here, when the input of the high-speed adder 31 (the output of the adders 30 7 to 30 13 ) is determined, the carry signal from the lower adder must also be determined. Therefore, on the lower side, instead of increasing the number of cell stages and narrowing down the sum output and carry output to two, there are multiple inputs that generate a carry signal from the sum output and carry output output from the two systems of cells. A high-speed adder 29 is used to determine the carry to the higher order while passing through all the basic cells. According to such a configuration, the number of stages of passing cells can be reduced as shown in the table below, thereby increasing the speed. Furthermore, since it is a parallel type, regularity in pattern configuration can be maintained, making it suitable for LSI implementation.

〔発明の効果〕〔Effect of the invention〕

以上説明したようにこの発明によれば、高速動
作が可能で、しかもLSI化に適した規則的なパタ
ーンを有し、高集積化できる乗算器が得られる。
As described above, according to the present invention, it is possible to obtain a multiplier that is capable of high-speed operation, has a regular pattern suitable for LSI implementation, and can be highly integrated.

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

第1図はこの発明の一実施例に係わる乗算器の
構成図、第2図は上記第1図における基本セルの
構成図、第3図は従来の並列乗算器の基本の構成
図、第4図は上記第3図の基本セルを用いて構成
した並列乗算器の構成図、第5図は部分積の加算
の段数を減らす手法を説明するための図である。 X0〜X7……被乗数、Y0〜Y7……乗数、231
〜2336……基本セル、2281〜284……デコ
ーダ、29……多入力高速加算器、301〜30
13……加算器、31……高速加算器、Z0〜Z14
…乗算出力、SELX……Xセレクト信号、SEL2
X……2Xセレクト信号、NEGA……反転信号、
24……全加算器、25……排他的ノアゲート、
26……ノアゲート、271,272……アンドゲ
ート、Sio……和入力、Cio……キヤリー入力、Sput
……和出力、Cput……キヤリー出力。
FIG. 1 is a block diagram of a multiplier according to an embodiment of the present invention, FIG. 2 is a block diagram of the basic cell in FIG. 1, FIG. 3 is a basic block diagram of a conventional parallel multiplier, and FIG. This figure is a block diagram of a parallel multiplier constructed using the basic cell shown in FIG. 3, and FIG. 5 is a diagram for explaining a method of reducing the number of stages of addition of partial products. X 0 ~ X 7 ... Multiplicand, Y 0 ~ Y 7 ... Multiplier, 23 1
~23 36 ...Basic cell, 2281-284 ...Decoder, 29 ...Multi-input high-speed adder, 301-30
13 ... Adder, 31... High speed adder, Z 0 ~ Z 14 ...
...Multiply output, SELX...X select signal, SEL2
X...2X select signal, NEGA...inverted signal,
24...Full adder, 25...Exclusive NOR gate,
26...Noah gate, 27 1 , 27 2 ...And gate, S io ...Sum input, C io ...Carry input, S put
... Sum output, C put ... Carry output.

Claims (1)

【特許請求の範囲】 1 少なくとも3ビツトの乗数より選択信号を生
成する生成手段と、 この生成手段から出力される選択信号に応じて
被乗数を選択して部分積を加算する基本セルと、 この基本セルをマトリクス状に配列し、前記求
めた部分積の同じ桁の加算を偶数段、奇数段で
別々に行うマトリクス状の演算手段と、 このマトリクス状の演算手段から出力される複
数の部分積の和を加算して出力する加算手段と、 を具備したことを特徴とする乗算器。 2 前記基本セルは、被乗数およびこの被乗数の
セレクト信号が供給される第1のアンドゲート
と、被乗数を2倍した信号およびこの2倍した信
号のセレクト信号が供給される第2のアンドゲー
トと、上記第1、第2のアンドゲートの出力が供
給されるノアゲートと、このノアゲートの出力お
よび反転信号が供給される排他的ノアゲートと、
この排他的ノアゲートの出力および和信号、キヤ
リー信号が供給される和出力およびキヤリー出力
を得る全加算器とを具備したことを特徴とする特
許請求の範囲第1項記載の乗算器。
[Claims] 1. A generating means for generating a selection signal from a multiplier of at least 3 bits; a basic cell for selecting a multiplicand and adding partial products according to the selection signal output from the generating means; A matrix-like calculation means in which cells are arranged in a matrix and the same digits of the obtained partial products are added separately in even and odd stages, and a plurality of partial products outputted from this matrix-like calculation means. A multiplier comprising: an adding means for adding and outputting sums; and a multiplier. 2. The basic cell includes a first AND gate to which a multiplicand and a selection signal of this multiplicand are supplied, and a second AND gate to which a signal obtained by doubling the multiplicand and a selection signal of this doubled signal, a NOR gate to which the outputs of the first and second AND gates are supplied, and an exclusive NOR gate to which the outputs and inverted signals of the NOR gate are supplied;
2. The multiplier according to claim 1, further comprising a full adder for obtaining a sum output and a carry output to which the output of the exclusive NOR gate, the sum signal, and the carry signal are supplied.
JP59179638A 1984-08-29 1984-08-29 Multiplier Granted JPS6158036A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59179638A JPS6158036A (en) 1984-08-29 1984-08-29 Multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59179638A JPS6158036A (en) 1984-08-29 1984-08-29 Multiplier

Publications (2)

Publication Number Publication Date
JPS6158036A JPS6158036A (en) 1986-03-25
JPH0326857B2 true JPH0326857B2 (en) 1991-04-12

Family

ID=16069263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59179638A Granted JPS6158036A (en) 1984-08-29 1984-08-29 Multiplier

Country Status (1)

Country Link
JP (1) JPS6158036A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920003908B1 (en) * 1987-11-19 1992-05-18 미쓰비시뎅끼 가부시끼가이샤 Multiplier
KR920006323B1 (en) * 1990-05-31 1992-08-03 삼성전자 주식회사 Parallel multiplier by using skip arrays and modified wallace trees
JP5261738B2 (en) * 2009-01-15 2013-08-14 国立大学法人広島大学 Semiconductor device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5856033A (en) * 1981-09-29 1983-04-02 Fujitsu Ltd Multiplying circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5856033A (en) * 1981-09-29 1983-04-02 Fujitsu Ltd Multiplying circuit

Also Published As

Publication number Publication date
JPS6158036A (en) 1986-03-25

Similar Documents

Publication Publication Date Title
US4168530A (en) Multiplication circuit using column compression
EP0239899B1 (en) Multiplier array circuit
US4623982A (en) Conditional carry techniques for digital processors
KR940002479B1 (en) High speed parallel multiplier
US5347482A (en) Multiplier tree using nine-to-three adders
JPS61502288A (en) X×Y bit array multiplier/accumulator circuit
US7308470B2 (en) Smaller and lower power static mux circuitry in generating multiplier partial product signals
US5257218A (en) Parallel carry and carry propagation generator apparatus for use with carry-look-ahead adders
US5070471A (en) High speed multiplier which divides multiplying factor into parts and adds partial end products
US5231415A (en) Booth's multiplying circuit
US4748584A (en) Parallel multiplier utilizing Booth's algorithm
US6065033A (en) Wallace-tree multipliers using half and full adders
JP3474663B2 (en) Multiplication circuit
US5497343A (en) Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method
US20040010536A1 (en) Apparatus for multiplication of data in two's complement and unsigned magnitude formats
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
JPH06236255A (en) Parallel carry generation network, parallel adder network, carry generation module, multibit adder network and modular carry propagation unit
JPH0326857B2 (en)
US5935202A (en) Compressor circuit in a data processor and method therefor
EP1178397B1 (en) Carry save adders
JP3227538B2 (en) Binary integer multiplier
GB2127187A (en) Circuits for operating on N- digit operands
KR950001055B1 (en) Multiplication method and circuit
JPS60112141A (en) Multiplier circuit
US6249799B1 (en) Selective carry boundary