JPH056892B2 - - Google Patents

Info

Publication number
JPH056892B2
JPH056892B2 JP63297174A JP29717488A JPH056892B2 JP H056892 B2 JPH056892 B2 JP H056892B2 JP 63297174 A JP63297174 A JP 63297174A JP 29717488 A JP29717488 A JP 29717488A JP H056892 B2 JPH056892 B2 JP H056892B2
Authority
JP
Japan
Prior art keywords
bits
column
matrix
bit
summand
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
JP63297174A
Other languages
English (en)
Other versions
JPH01302426A (ja
Inventor
Jei Adeiretsuta Mashuu
Shii Ruuto Suteiiun
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH01302426A publication Critical patent/JPH01302426A/ja
Publication of JPH056892B2 publication Critical patent/JPH056892B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、高速並列乗算回路に係る。
従来の技術 2進乗算においては、Nビツトの被乗数[A=
(ao,ao-1,……a1)]にMビツトの乗数[B=
(bn,bn-1,……b1)]を乗算することによつてN
+Mビツトの積[P=(pn+o,pn+o-1,……p1)]
が形成される。この乗算のやり方が第1図に示さ
れており、積Pは被加数マトリクス1の対応する
エレメントの和として示されている。被加数マト
リクス1は、部分積のM×Nのオリジナル入力又
は被加数マトリクスビツトを有しており、その
各々は、乗数及び被乗数ビツトの別々の対の論理
積である。
被加数マトリクスビツトの加算を単一論理レベ
ルで行なつて積Pを得ようとする場合には、各列
ごとの並列加算回路を用いることによつてこのよ
うな和を得ることができる。第i番目の加算器
(第i番目の列)への入力は、第i番目の列にお
けるオリジナル被加数マトリクスビツトを含んで
いると共に、下位加算器からの桁上げ出力も含ん
でいる。被加数マトリクスを加算するこの方法
は、多数の欠点がある。先ず、第1に、非常に多
数の入力に対して並列な加算器を設けることは困
難である。第2に、最下位ビツト位置から最上位
ビツト位置へ並列加算器の連鎖に沿つて桁上げが
伝播すると共に最下位ビツト位置から最上位ビツ
ト位置へ各ビツトの加算を順次に行なわねばなら
ないので多量の遅延を伴うことになる。それ故、
被加数マトリクスのこの加算方法を用いて2進乗
算を行なうのに必要な全時間は甚だしく長いもの
となる。
デジタルコンピユータが2進乗算を実行する速
度を高めるために多数の試みがなされている。こ
れらの試みは、被加数マトリクスビツトの加算を
加速することが含まれる。一般に、このような試
みは、「減少(reduction)」と称する反復演算に
集約され、これは、和が積に等しくなるような2
行のビツト(即ち加数)まで被加数マトリクスビ
ツトの数を減少する。この減少法は、一般に、被
加数マトリクスの別々の列に各々対応する多数の
論理「レベル」の加算回路を用いている。このよ
うな加算回路は、例えば、3つの入力から和及び
桁上げビツトを発生する全加算器と、2つの入力
から和及び桁上げビツトを発生する半加算器とを
備えている。各論理レベルの減少内では桁上げ伝
播が許されず、従つて、多数の加算を逐次ではな
くて同時に行なうことができる。被加数マトリク
スを2行のビツトに減少するときには、これら2
つの行を全桁上げ伝播加算器へ入力して積を得る
ことができる。それ故、桁上げ伝播は最後の段階
に限定され、高速回路によつて実行することがで
きる。
多入力の並列加算器ではなくて全加算器及び半
加算器を使用することにより、2進乗算を実行す
るに要する時間が著しく低減される。全加算器5
がオペランドA,B及びCに対して第2A図に示
されており、これは、次の2つの式によつて定義
することができる。
SUM=A XOR B XOR C CARRY=(A AND B)OR (B AND C)OR(A AND C) 半加算器12がオペランドA及びBに対して第
2B図に示されており、これは、次の2つの式に
よつて定義することができる。
SUM=A XOR B CARRY=A AND B 第2A図に示すように、全加算回路5は、ビツ
トA,B及びCを受け取るように接続されて和
(SUM)ビツトを出力する3入力の排他的オアゲ
ート6と、3つの2入力アンドゲート7ないし9
と、桁上げ(CARRY)ビツトを出力する3入力
オアゲート10とに等価である。アンドゲート7
はビツトB及びCを受け取るように接続され、ア
ンドゲート8はビツトA及びBを受け取るように
接続され、そしてアンドゲート9はビツトA及び
Cを受け取るように接続される。アンドゲート
7,8及び9からの出力は、オアゲート10の入
力となる。
第2B図に示すように、半加算回路12は、ビ
ツトA及びBを受け取るように接続されて和ビツ
トを出力する2入力の排他的オアゲート14と、
ビツトA及びBを受け取るように接続されて桁上
げビツトを出力する2入力アンドゲートとに等価
である。4つ以上の入力を有する並列加算器の論
理的な定義は非常に複雑である。それ故、並列な
加算器は一般的に製造が困難である。
上記の原理を利用した1つの公知の被加数マト
リクス減少機構が「IEEE Transactions on
Electronic Computers」(1964年2月)第13巻、
第14号に掲載されたC.S,ワラース氏の「高速乗
算器についての提案(A Suggestion for a
Fast Multiplier)」に述べられており、これは、
マトリクスの各列における被加数マトリクスビツ
トを3ビツトのグループに分類し、そして全加算
器を用いて3ビツトのグループを加算するか又は
所与の列に2ビツトしか残つていない場合には半
加算器を使用することを提案している。加算器
は、同じ列に対する和ビツトと、次の上位ビツト
を有する列に対する桁上げビツトとを発生する。
ビツトのグループは、各列において加算され(和
及び桁上げビツトを手前のグループから後でグル
ープ分けすることを含む)やがて被加数マトリク
スが2列のビツトに減少される。その一方の列は
和ビツトの列を表わしそしてもう一方の列は桁上
げビツトの列を表わす。次いで、2つの列が通常
の桁上げ伝播加算器へ入力され、この加算器は、
桁上げルツクアヘツド設計に基づいて高速加算演
算を実行することができる。
ワラス(Wallace)減少法のルールは、列をで
きるだけ即座に且つできるだけ多量に減少すると
共に、できるだけ多数の全加算器を使用すること
である。ワラスの被加数減少法が5×5ビツトの
乗算回路について第3図に示されている。被加数
マトリクスのオリジナル入力は、第1図に示され
たように、a1b1,a2b1、等々で表わされている。
5×5マトリクスを2つのビツト列に減少するに
は、3つの論理的な減少レベルが必要である。
第1の論理的な減少レベルであるレベル1にお
いては、少なくとも3つのビツトを有する被加数
マトリクスの各列が3ビツトのグループに分割さ
れ、そして3ビツトの各グループが全加算器へ入
力される。例えば、a1b2,a2b2及びa3b1が全加算
器15に入力され、該加算器は和のビツトと桁上
げビツトとを発生する。これらのビツトは第2の
論理的な減少レベル、即ちレベルにあるゲート
へ入力される。このように、3つの入力ビツトが
レベルの2つの出力ビツトに減少される。同様
に、a2b3,a3b2及びa4b1が全加算器17に入力さ
れ、該加算器は和のビツトと桁上げビツトとを発
生する。更に、a3b3,a4b2及びa5b1が全加算器1
9に入力され、該加算器は和のビツトと桁上げビ
ツトとを出力する。更に、a1b5及びa4b2は列5に
残され、半加算器25へ入力され、該半加算器は
和のビツトと桁上げビツトとを出力する。a3b4
a4b3及びa5b2が全加算器21に入力され、該加算
器は和のビツトと桁上げビツトとを発生する。
又、a3b5,a4b4及びa5b3が全加算器23に入力さ
れ、該加算器は和のビツトと桁上げビツトとを出
力する。レベルゲートからの全ての和のビツト
及び桁上げビツトは、レベルのゲートに入力さ
れる。
レベルの減少においては、全加算器27がそ
の入力として被加数マトリクスのオリジナル入力
であるa1b4と、全加算器17からの和のビツト
と、全加算器15からの桁上げビツトとを受け取
る。これらの入力から、全加算器27は和のビツ
ト及び桁上げビツトを発生し、これらは、第3の
論理的な減少レベルであるレベルのゲートへ送
られる。同様に、全加算器29はその入力として
全加算器17からの桁上げビツトと、全加算器1
9からの和のビツトと、半加算器25からの和の
ビツトとを受け取り、和のビツト及び桁上げビツ
トを発生する。これらのビツトはレベル3のゲー
トへ送られる。全加算器31はその入力として半
加算器25からの桁上げビツトと、全加算器19
からの桁上げビツトと、全加算器21からの和の
ビツトとを受け取り、そしてその出力として和の
ビツト及び桁上げビツトを発生する。これらのビ
ツトはレベルのゲートに送られる。最終的に、
レベルにおいて、全加算器33はその入力とし
てオリジナルの被加数入力a4b5及びa5b4(これら
は2つの入力しかもたない列の一部分である)
と、全加算器23からの桁上げビツトとを受け取
り、そしてその出力として和のビツト及び桁上げ
ビツトを発生する。これらのビツトはレベルの
ゲートへ送られる。レベルの減少の後に、ほと
んどの列には2ビツトしか残らない。これらにつ
いては、これらの残りのビツト数に基づいて全加
算器又は半加算器を用いて更に別の減少レベルが
必要とされる。
レベルの減少においては、半加算器35がそ
の入力として被加数マトリクスのオリジナル入力
であるa2b5と、全加算器31からの和のビツトと
を受け取り、そしてその出力として和のビツト及
び桁上げビツトを発生する。全加算器37は、そ
の入力として、全加算器23からの和のビツト
と、全加算器21からの桁上げビツトと、全加算
器31からの桁上げビツトとを受け取り、そして
その出力として和のビツト及び桁上げビツトを発
生する。レベルにおいては、オリジナルの被加
数マトリクスが1組の2列のビツトに減少され
る。これらの残りのビツトは、次いで、桁上げル
ツクアヘツト加算器40へ入力されて積を形成す
る。
第3図に示されたように、10個の全加算器と2
個の半加算器とを用いてオリジナルの被加数マト
リクスが2列のビツトに減少される。被乗数及び
乗数のビツト数が増加するにつれて、被加数のマ
トリクスを減少するに必要な加算器の数も増加す
る。又、この減少機構を実施するには多量のハー
ドウエア及び配線が必要とされることにより、
種々の減少論理レベルにある加算器へ入力を供給
することが困難になるために問題が生じる。ハー
ドウエア及びワイヤが増加する結果として、ハー
ドウエア及びワイヤに生じる遅延が増加し、ワイ
ヤの分布密度が非均一になりそして信号送給機構
が複雑になるために、実行速度が低下する。
更に別の公知の被加数マトリクス減少機構が
「Alta Frequenza」(1965年3月)第34巻に掲載
されたL.ダツダ氏の「並列乗算器のための幾つか
の機構(Some Scheme For Parallel
Multipliers)」に掲載されており、これは、各々
の論理的な減少レベルにおいて被加数マトリクス
から最小数の入力しか減少すべきでないと仮定し
ている。このダツダ氏の機構は、被加数マトリク
スを2行のビツトに減少するという目標で始ま
る。次いで、ダツダ氏の機構は、逆方向に作用
し、3行の減少から2行が得られ、3行が6行か
ら変換され、6行を9行から減少することがで
き、9行が13行から変換され、13行が19行から変
換され、等々となることを計算する。従つて、こ
の機構は、次の級数を形成する。
2;3;6;9;13;19;28;42;63… この機構は、各々の論理的な減少レベルにおい
て、全加算器及び半加算器を用いることにより列
を上記級数の中の次に低い数のポイントへのみ減
少すべきであることを仮定している。この機構
は、第1の論理的な減少レベルにおいて少数のゲ
ートしか使用しない。この機構の目標は、第3図
を参照して述べた第1の減少機構よりも全ゲート
数を少なくして速度を上げることである。
第2の減少機構が第4図に示されている。レベ
ルの減少においては、半加算器50がその入力
としてa5b1及びa4b2を受け取り、そして和のビツ
ト及び桁上げビツトを出力し、これらはレベル
のゲートへ送られる。
レベルの減少においては、半加算器54が入
力としてa3b2及びa4b1を受け取り、そして和のビ
ツト及び桁上げビツトを出力し、これらはレベル
のゲートへ送られる。全加算器56は、その入
力としてa2b4,a3b3及び半加算器50からの和の
ビツトを受け取り、そして和のビツト及び桁上げ
ビツトを出力する。全加算器58は、その入力と
して、a3b4と、半加算器52からの和のビツト
と、半加算器50からの桁上げビツトとを受け取
り、そして和のビツト及び桁上げビツトを出力す
る。全加算器60は、その入力として、a4b4,a5
b3及び半加算器52からの桁上げビツトを受け取
り、そして和のビツト及び桁上げビツトを出力
し、これらはレベルのゲートへ送られる。
レベルの減少においては、半加算器62がそ
の入力としてa2b2,a3b1を受け取り、そして和の
ビツト及び桁上げビツトを出力する。全加算器6
4は、その入力としてa1b4,a2b3及び半加算器5
4からの和のビツトを受け取り、そして和のビツ
ト及び桁上げビツトを出力する。全加算器66
は、その入力として、a1b5、全加算器56からの
和のビツト及び半加算器54からの桁上げビツト
とを受け取り、そして和のビツト及び桁上げビツ
トを出力する。全加算器68は、その入力とし
て、a2b5,全加算器58からの和のビツト及び全
加算器56からの桁上げビツトを受け取り、そし
て和のビツト及び桁上げビツトを出力する。全加
算器70は、その入力としてa3b5、全加算器60
からの和のビツト及び全加算器58からの桁上げ
ビツトを受け取り、そして和のビツト及び桁上げ
ビツトを出力する。全加算器72は、その入力と
してa4b5,a5b4及び全加算器60からの桁上げビ
ツトと受け取り、そして和のビツト及び桁上げビ
ツトを出力する。このようにして、被加数マトリ
クスは、1組の2行のビツトに減少され、これ
は、桁上げルツクアヘツド加算器74へ入力され
て、オリジナルの被乗数及び乗数の積が形成され
る。
この構成においては、第4図に示すように、非
常に多数のオリジナルの被加数マトリクスビツト
が桁上げルツクアヘツド加算器74へ直接入力さ
れるように保持される。第3図を参照して上記し
た減少機構の場合よりも少数のオリジナルの被加
数マトリクスビツトがレベルの加算器に入力さ
れる。この機構は、8個の全加算器及び4個の半
加算器を用いて、5×5の被加数マトリクスを2
行の数に減少する。この設計を実施するに必要な
ハードウエアの量は、第3図に示した機構の場合
より少ないが、加算器への入力の供給及び回路の
配線は、依然として非常に複雑であり、実行遅延
を招く。
発明が解決しようとする課題 ワラス及びダツダ氏の両方の考え方は、高速2
進乗算回路の必要性を認めている。然し乍ら、ど
ちらの考え方も、全加算器ではなくて多数の半加
算器を用いて速度を高めると共に所要スペースを
減少する効果については認めていない。半加算器
は、全加算器に勝る多数の効果を有している。例
えば、全加数器は非常に複雑で且つ低速の装置で
あるから、多数の半加算回路を用いると、全被加
数減少に関連した伝播遅延が低減される。更に、
全加算回路ではなくて半加算回路を用いると、ゲ
ート配置のために回路板上に要求される面積が低
減される。というのは、半加算回路は、全加算回
路に必要とされる面積のほゞ1/4しか必要としな
いからである。又、半加算回路は全加算回路より
も所要電力が少ない。更に、上記のいずれの考え
方も、ワイヤの交差及び被加数マトリクス減少の
ためのゲートへの入力の引き回しに関連した問題
を認識していない。
課題を解決するための手段 そこで、本発明の目的は、少数のハードウエア
及びワイヤと、多数の半加算器とを使用し、高速
被加数マトリクス減少演算を実行し、且つ容易に
効率的に実施できる設計になつた高速並列2進乗
算回路を提供することである。
本発明の更に別の目的及び効果は、以下の説明
に部分的に述べ、以下の説明から部分的に明らか
となり、或いは本発明を実施することによつて学
習することができよう。又、本発明の目的及び効
果は、特許請求の範囲に特に指摘された手段やそ
の組み合わせによつて実現及び達成することがで
きよう。
ここに実施し且つ広範に述べる本発明の目的を
達成するために、Mビツトの乗数とNビツトの被
乗数との積を得るための2進乗算回路は、2進乗
算手段と、減少回路手段と、桁上げ伝播全加算手
段とを具備しており、上記2進乗算手段は、その
入力が上記乗数及び被乗数を受け取るように接続
されていて、M×Nのオリジナル被加数マトリク
スビツトと、M行及びN列とを有する被加数マト
リクスを形成し、上記列の各々は、上記積におけ
る異なつたビツト位置を表わしそして上記積の上
昇するビツト位置に基づいて位が決められ、上記
減少回路手段は、上記2進乗算手段に接続されて
いて、上記被加数マトリクスビツトから2つの加
数を発生し、上記減少回路手段は、オリジナル被
加数マトリクスビツトを受け取るように接続され
た第1レベル加算回路を含んでおり、該第1レベ
ル加算回路は、第1組の全加算器を含み、その
各々は、3つのオリジナル被加数マトリクスビツ
トしかもたない最下位ビツト位置を表わす上記列
の1つを除いて、3つ又はそれ以上のオリジナル
被加数マトリクスビツトを有する被加数マトリク
スの列のうちの選択された1つに対応し、全加算
器の各々は、対応する列から3つの異なつたオリ
ジナル被加数マトリクスビツトを受け取るように
接続され、そしてその列に対する和のビツトと、
次の上位ビツト位置を表わす列に対する桁上げビ
ツトとを発生する手段を含んでおり、上記第1れ
べる加算回路は、更に、第1組の半加算器を備え
ており、その各々は、最初に4つ以上のオリジナ
ル被加数マトリクスビツトを有すると共に上記第
1組の全加算器の1つに接続されていない厳密に
2つのオリジナル被加数マトリクスビツトを有し
ている被加数マトリクスの列のうちの選択された
1つに対応しており、3つのオリジナル被加算数
マトリクスビツトしかもたない最下位ビツト位置
を表わす列の1つに対しては、上記半加算器の
各々は、それに対応する列から2つの異なるオリ
ジナル被加数マトリクスビツトを受け取るように
接続され、そしてその列に対する和のビツトと、
次の上位ビツト位置を表わす列に対する桁上げビ
ツトとを発生する手段を備えており、上記減少回
路手段は、更に、上記第1組の半加算器又は全加
算器によつて受け取られないオリジナル被加数マ
トリクスビツトか又は上記第1組の全加算器及び
半加算器から和及び桁上げビツトかのいずれかを
受け取るよう接続された中間レベルの加算回路と
を備えており、この中間レベルの加算回路は、複
数の異なつたレベルに編成されていると共に、対
応する列及びレベルに対し、上記第1組の半加算
器又は全加算器によつて受け取られないオリジナ
ル被加数マトリクスビツトと、その手前のレベル
の入力ではない和及び桁上げビツトとを含む列ビ
ツトを受け取り、更に、上記中間レベルの加算回
路は、3つの列ビツトしかもたない最下位ビツト
位置を表わす対応するレベルにある上記列の1つ
を除いて3つ又はそれ以上の列ビツトを有する上
記列の選択された1つと上記レベルの1つとに
各々対応する複数の全加算器を備えており、上記
レベルの各々にある全加算器の各々は、対応する
列に対する3つの列ビツトを受け取るように接続
され、そしてその列に対する和のビツトと、次の
上位ビツト位置を表わす列に対する桁上げビツト
とを発生する手段を含んでおり、更に、上記中間
レベル加算回路は、複数の半加算器も備えてお
り、その各々は、中間レベルの各々において上記
第1組又は中間レベル加算回路からの複数の全加
算器の少なくとも1つがその列と対応し且つ厳密
に2つのビツトが上記全加算器のいずれにも接続
されないでいるような上記列の選択された1つ及
び上記レベルの1つに対応し、且つ又、3つの列
ビツトしか残つていない最下位ビツト位置を表わ
す各レベルにおける上記列の1つに対応し、上記
半加算器の各々は、対応する列に対する2つの列
ビツトを受け取るように接続され、更に、上記複
数の半加算器の各々は、その列に対する和のビツ
トと、次の上位ビツト位置を表わす列に対する桁
上げビツトとを発生する手段を備えており、そし
て上記桁上げ伝播全加算手段は、上記中間レベル
の加算回路からの出力である加数を入力として受
け取つて上記積を形成する。
実施例 本明細書の一部分を構成する添付図面には、本
発明の一実施例が示されており、これを参照して
本発明の原理を詳細に説明する。
対応する素子が同じ参照番号で示された添付図
面を参照しながら、本発明の好ましい実施例を詳
細に説明する。
本発明の2進乗算回路は、半加算器の使用を最
大にすることにより高速被加数マトリクス減少演
算を実行するもので、これは、簡単な入力引き回
し機構を用いることにより少数のワイヤで容易に
且つ効率的に実施することができる。本発明の被
加数マトリクス減少演算は、最も低い論理減少レ
ベルにおけるオリジナル被加数マトリクスビツト
をできるだけ減少して、必要とされるワイヤの本
数を最小限にするものである。本発明の乗算回路
は、和及び桁上げベクトルの最大数の最下位ビツ
トを、最終的な和及び桁上げベクトルが計算され
る前の1つのゲート遅延において、桁上げ伝播全
加算回路へ供給するように動作する。これによ
り、本発明では、2つの桁上げ伝播全加算器を用
いて最終的な2行のビツトを加算することができ
る。その一方の加算器はMビツト巾であり、もう
一方の加算器はNビツト巾である。最下位ビツト
位置は、それより上位のビツト位置よりも1ゲー
ト遅延分だけ早くに一方の加算器へ入力され、こ
れら上位ビツト位置を2つの行に対して減少する
際の伝播遅延を、これらビツトを桁上げ伝播加算
器に入力する前に補償する。これにより、動作速
度が高められる。
第5図は、Mビツトの乗数とNビツトの被乗数
との積を得るための本発明による2進乗算回路の
好ましい実施例を示す一般的なブロツク図であ
る。第5図は、本発明の機能的な説明を表わすも
ので、本発明の位置的な実施に何等制約を課する
ものではく、これについては、第7図を参照して
詳細に説明する。本発明によれば、2進乗算回路
は、乗数及び被乗数を受け取るように接続された
入力を有する2進乗算手段を備えており、該手段
は、M×Nのオリジナル被加数マトリクスビツト
及びM+N列を有する被加数マトリクスを発生
し、各々の列は、積における別々のビツト位置を
表わしそして積の増加するビツト位置に従つて位
が決められる。
第5図に示されたように、乗算回路100は、
乗数a5a4a3a2a1と、被乗数b5b4b3b2b1を入力とし
て受け取り、そして5行及び10列のオリジナル被
加数マトリクスビツトの被加数マトリクスを発生
する。各々のオリジナル被加数マトリクスビツト
は、第1図に示すように、1ビツトの乗数と1ビ
ツトの被乗数の異なつた組合せについての論理積
演算の結果を表わしている。
本発明は、オリジナル被加数マトリクスビツト
を、2行のビツト(即ち、加数)が得られるよう
な点まで減少するために次のようなルールを用い
る。即ち、1つの行は和のビツトを表わし、そし
てもう1つの行は桁上げビツトを表わす。それら
の和は、オリジナルの乗数と被乗数との積に等し
い。本発明によれば、2進乗算回路は、被加数マ
トリクスビツトから2つの加数を発生するために
2進乗算手段に接続された減少回路手段を備えて
いる。この減少回路手段は、オリジナルの被加数
マトリクスビツトを受け取るように接続された第
1レベルの加算回路を備えている。この回路は、
第1組の全加算器を備えており、その各々は、3
つのオリジナル被加算マトリクスビツトしかもた
ない最下位ビツト位置を表わす列を除いて、3つ
或いはそれ以上のオリジナル被加数マトリクスビ
ツトを有する被加数マトリクスの列の選択された
1つに対応する。各々の全加算器は、それに対応
する列から3つの別々のビツトを受け取るように
接続され、そしてその列に対する和のビツトと、
次の上位ビツト位置を表わす列に対する桁上げビ
ツトとを発生する手段を含んでいる。
又、第1レベルの加算回路は、第1組の半加算
回路も備えており、その各々は、3つのオリジナ
ル被加数マトリクスビツトしかもたない最下位ビ
ツト位置を表わす列の1つに対し、最初に4つ以
上のオリジナル被加数マトリクスビツトを有する
と共に上記第1組の全加算器の1つに接続されて
いない厳密に2つのオリジナル被加数マトリクス
ビツトを有している列のうちの選択された1つに
対応している。各々の半加算器は、対応する列か
ら2つの別々のオリジナル被加数マトリクスビツ
トを受け取るように接続される。又、半加算器
は、その列に対する和のビツトと、次の上位ビツ
ト位置を表わす列に対する桁上げビツトとを発生
する手段を備えている。
第5図に示すように、被加数マトリクスの列1
は、1つのオリジナル被加数マトリクスビツトa1
b1しか含んでおらず、従つて、この列は2ビツト
又は1ビツトしかないので、それ以上の減少を必
要とせず、更に、全加算回路の使用も半加算回路
の使用も必要としない。列2は、2つのオリジナ
ル被加数マトリクスビツトa1b2及びa2b1を含むだ
けであるから、全加算器又は半加算器を用いるこ
とによるそれ以上の減少は必要としない。列3
は、3つのオリジナル被加数マトリクスビツトを
含んでおり、従つて、半加算回路101を必要と
する。というのは、これが3つのオリジナル被加
数マトリクスビツトしかもたない最下位ビツト位
置だからである。半加算器101は、a3b1及びa2
b2を受け取るように接続され、列3に対する(a3
b1XORa2b2)に等しい和のビツトと、次の上位
ビツト位置を表わす列4に対する(a3b1ANDa2
b2)に等しい桁上げビツトとを発生する。ここ
で、列3は、2つのビツト、即ち、半加算器10
1からの和のビツトと、オリジナル被加数マトリ
クスビツトa1b3しか含まず、それ故、それ以上の
減少は必要としない。
列4は、4つのオリジナル被加数マトリクスビ
ツトを含んでおり、従つてa2b3,a3b2及びa4b1
受け取るように接続された全加算器102を使用
する必要がある。この全加算器102は、列4に
対する(a2b3XORa3b2XORa4b1)に等しい和の
ビツトと、列5に対する(a2b3ANDa3b2)OR
(a3b2ANDa4b1)OR(a2b3ANDa4b1)に等しい桁
上げビツトを発生する。ここで、列4は、次の論
理的な減少レベルに対して3つのビツトに減少さ
れる。
列5は、5つのオリジナル被加数マトリクスビ
ツトを含んでおり、従つて、a3b3,a4b2及びa5b1
を受け取るように接続された全加算器104を必
要とする。この全加算器104は、列5に対する
(a3b3XORa4b2XORa5b1)に等しい和のビツト
と、列6に対する(a3b3ANDa4b2)OR(a4b2
ANDa5b1)OR(a3b3ANDa5b1)に等しい桁上げ
ビツトを発生する。残りの2つのオリジナル被加
数マトリクスビツトは、半加算器110へ入力さ
れる。というのは、列5は、最初に4つ以上のオ
リジナル被加数マトリクスビツトを有しており、
そしてレベルの全加算器104に接続されない
厳密に2つのオリジナル被加数マトリクスビツト
を有しているからである。半加算器110は、a1
b5及びa4b2を受け取るように接続され、列5に対
する和のビツトと、列6に対する桁上げビツトと
を発生する。
列6は、4つのオリジナル被加数マトリクスビ
ツトを含んでおり、従つて、全加算器106を必
要とする。この全加算器106はa3b4,a4b3及び
a5b2を受け取るように接続され、列6に対する
(a3b4XORa4b3XORa5b2)に等しい和のビツト
と、列7に対する(a3b3ANDa4b3)OR(a4b3
ANDa5b2)OR(a3b4ANDa5b2)に等しい桁上げ
ビツトとを発生する。列6からの残りの1つのオ
リジナル被加数マトリクスビツトa2b5は、レベル
減少のためのゲートへ送り込まれる。
列7は、3つのオリジナル被加数マトリクスビ
ツトしか含んでいない。列7の減少には半加算回
路を使用することができない。というのは、列3
が厳密に3つのビツトを有する最下位列位置だか
らである。むしろ、全加算器108が使用され、
a3b5,a4b4及びa5b3を受け取るように接続され、
列7に対する和のビツトと、列8に対する桁上げ
ビツトとを発生する。
列8は、2つのオリジナル被加数マトリクスビ
ツトを備えている。これらのビツトは、レベル
減少のためのゲートへ送り込まれる。列9は、1
つのオリジナル被加数マトリクスビツトを含んで
おり、これもその後の減少レベルのためのゲート
へ送り込まれる。
又、本発明による2進乗算回路は、第1組の半
加算器又は全加算器によつて受け取られなかつた
オリジナル被加数マトリクスビツトか或いは第1
組の半加算器又は全加算器からの和及び桁上げビ
ツトかのいずれかを受け取るように接続された中
間レベル加算回路も備えており、そして対応する
列及びレベルに対し、第1組の半加算器又は全加
算器によつて受け取られなかつたオリジナル被加
数マトリクスビツトと、手前のレベルにおける入
力ではなかつた和及び桁上げビツトとを含む列ビ
ツトを受け取る複数の種々のレベルに編成され
る。中間レベルの加算回路は、複数の全加算器を
含み、その各々は、3つのオリジナル被加数マト
リクスビツトしかもたない最下位ビツト位置を表
わす対応レベルにある列の1つを除いて、4つ以
上の列ビツトを有する列のうちの選択された1つ
とレベルの1つとに対応し、各レベルにある全加
算器の各々は、対応する列に対する3つの列ビツ
トを受け取るように接続される。複数の全加算器
の各々は、その列に対する和ビツトと、次の上位
ビツト位置を表わす列に対する桁上げビツトとを
発生するための手段を備えている。
又、中間レベル加算回路は、複数の半加算器も
備えており、その各々は、各々の中間レベルにお
いて、第1組又は中間レベル加算回路からの複数
の全加算器の少なくとも1つがその列と、いずれ
の全加算器にも接続されていない厳密に2つのビ
ツトとに対応するようになつた列のうちの選択さ
れた1つ及びレベルの1つに対応し、且つ3ビツ
トしか残つていない最下位ビツト位置を表わす各
レベルにおける列の1つの対応する。半加算器
は、対応する列から2つの列ビツトを受け取るよ
うに接続される。半加算器の各々は、その列に対
する和ビツトと、次の上位ビツト位置を表わす列
に対する桁上げビツトとを発生する手段を備えて
いる。これら中間レベルの加算回路は、全ての列
が2又はそれ以下のビツトに減少されるまで使用
される。
第5図に示すように、列1,2及び3は既にレ
ベルにおいて2又は1ビツトに減少されてい
る。列4は、全加算器102からの和ビツトと、
半加算器101からの桁上げビツトとを含んでい
る。半加算器112は、これらのビツトを受け取
るように接続され、列4に対する和のビツトと、
列5に対する桁上げビツトとを発生する。これ
で、列4は、2つのビツト、即ち、オリジナル被
加数マトリクスビツトa1b4と、半加算器112か
らの和ビツトとに減少され、従つて、それ以上の
減少を必要としない。
列5は、レベルにおいて、3つの列ビツト、
即ち、全加算器102からの桁上げビツト、半加
算器110からの和のビツト及び全加算器104
からの和のビツトとを含んでいる。これらのビツ
トは全加算器114へ入力され、これは、列5の
和ビツト及び列6の桁上げビツトを発生する。列
5は、これで、2つのビツト、即ち、半加算器1
12からの桁上げビツトと全加算器114からの
和のビツトとを含み、従つて、それ以上の減少を
必要としない。
レベルにおいて、列6は、4つの列ビツト、
即ち、オリジナル被加数マトリクスビツトa2b5
と、全加算器106からの和のビツトと、全加算
器104からの桁上げビツトと、半加算器110
からの桁上げビツトとを含んでいる。それ故、3
つのビツト、即ち、オリジナル被加数マトリクス
ビツトa2b5と、全加算器106からの和のビツト
と、全加算器104からの桁上げビツトとが全加
算器116に接続れ、該加算器は、列6に対する
和のビツトと、列7に対する桁上げビツトとを発
生する。これで、列6は、3つのビツトを含み、
これらは減少のためにレベルへ送り込まれる。
レベルにおいて、列7は、2つの列ビツト、
即ち全加算器108からの和ビツトと全加算器1
06からの桁上げビツトとを含んでおり、これら
は減少のためにその後のレベルへ送り込まれる。
というのは、列7からの桁上げはレベルにおい
て列7へ入力され、従つて、列7を更に減少する
必要があるからである。
列8は、レベルにおいて、3つの列ビツト、
即ちオリジナル被加数マトリクスビツトa5b4と、
オリジナル被加数マトリクスビツトa4b5と、全加
算器108からの桁上げビツトとを含んでいる。
これらのビツトは全加算器117へ入力され、該
加算器は、列8に対する和のビツトと、列9に対
する桁上げビツトとを発生する。列9は、ここ
で、1ビツトとなる。
レベルにおいて、列1,2,3,4及び5
は、2つ又は1つの列ビツトを有し、このレベル
ではそれ以上の減少は必要とされない。列6は、
3つのビツトを含み、又、3つのビツトしか残ら
ない最下位最上位ビツト位置でもある。それ故、
半加算器118は、全加算器114からの桁上げ
ビツトと全加算器116からの和のビツトとを受
け取るように接続され、列6に対する和のビツト
及び列7に対する桁上げビツトを発生する。列6
は、ここで、半加算器110からの桁上げビツト
と半加算器118からの和のビツトしか残らない
ので、2つのビツトに減少される。
レベルにおいて、列7は、3つの列ビツト、
即ち全加算器116からの桁上げビツトと、全加
算器106からの桁上げビツトと、全加算器10
8からの和のビツトとを含んでいる。それ故、全
加算器120は、これらのビツトを受け取るよう
に接続され、列7に対する和のビツトと列8に対
する桁上げビツトとを発生する。これで、列7
は、全加算器120からの和のビツトと、半加算
器118からの桁上げビツトとを含んでいる。
レベルにおいて、列8は、全加算器117か
らの和のビツトと、全加算器120からの桁上げ
ビツトとを含み、それ故、2つ又は1つの列ビツ
トを含み、それ以上の減少を必要としない。列9
は、全加算器117からの桁上げビツトとオリジ
ナル被加数マトリクスビツトa5b5とを含み、そし
て又2つ又は1つの列ビツトも含んでいる。
全ての列は2ビツト又は1ビツトに減少されて
いるので、それ以上の減少を行なうことはできな
い。残りのビツトは、積を形成するために加えら
れるべき2つの数即ち加数であると考えられる。
本発明によれば、2進乗算回路は、上記中間レ
ベル加算回路からの出力である加数を入力として
受け取つて積を形成するための桁上げ伝播全加算
手段も備えている。第5図に示されたように、桁
上げ伝播全加算手段は、標準的なM+Nビツトの
桁上げルツクアヘツド加算器122を備えてお
り、この加算器は、桁上げ伝播全加算器の設計の
当業者に良く知られたように残りの加数を加算
し、そしてオリジナルの乗数及び被乗数の積に等
しい和を出力する。
本発明の2進乗算回路は、第3図及び第4図に
示された減少機構に比して非常に多数の半加算器
を用いている。この機構は、この多数の半加算器
によつて全体的な被加数減少に関連した伝播遅延
が低減されると共に、半加算器の使用によつてゲ
ート配置のために回路装置上に必要とされる面積
及び乗算回路の消費電力が低減されるので、効果
的である。
本発明の減少機構は、試行錯誤により、M×N
−2N−2M+3個の全加算器と、M−1個の半加
算器しか必要としないことが決定された。但し、
Mは乗算器のビツト数に等しく、そしてNは被乗
数のビツト数に等しい。乗数が被乗数より多くの
ビツトを有していないと仮定すれば、この機構の
もとでオリジナル被加数マトリクスの列3ないし
M及び列N+1の各々を減少するためには1個の
半加算回路しか使用されない。
論理的な減少レベルの数は、オリジナル被加数
マトリクスにおける行の数の整数Mを3で分割し
たものの2倍に整数除算演算の他部分を加えたも
の、即ち、2×INT(M/3)+REM(M/3)
に等しい。
本発明の減少機構は、オリジナルの乗数及び被
乗数が2の補数の2進コードフオーマツトで表わ
されているとき又は大きさ2進コードフオーマツ
トで表わされているときに使用できることに注意
されたい。被乗数及び乗数が2の補数の2進コー
ドフオーマツトで表わされているときには、被加
数マトリクスを先ず「ボー/ウーレイ(Baugh/
Wooley)の2の補数入力論理」を用いることに
よつて変換しなければならない。2の補数の入力
論理の詳細な説明については、「IEEE
Transactions on Computers」(1973年12月)の
第C−22巻、第12号に掲載されたCボー及びBウ
ーレイ氏の「2の補数の並列アレイ乗算アルゴリ
ズム(A Two′s Complement Parallel Arrat
Multiplication Algorithm)」を参照されたい。
然し、乗数及び被乗数には正又は負の符号が組み
込まれているので、2の補数の乗算を実行するの
は困難である。それ故、負及び正の符号を有する
オリジナル被加数マトリクスビツトが存在する。
ボー/ウーレイのアルゴリズムは、先ず、負の符
号を有する全てのオリジナル被加数マトリクスビ
ツトをマトリクスの最後の2行に配置する。この
アルゴリズムでは、anbi(i=1、…m−1)及
びaibm(i=1、…n−1)の符号が負であると
決められている。従つて、このアルゴリズムは、
負の符号を有するオリジナル被加数マトリクスビ
ツト(即ち、被加数マトリクスの最後の2つの行
に入れられたもの)を減算するのではなく、これ
らの被加数マトリクスビツトの否定型を加えるこ
とができる。それ故、このアルゴリズムは、2の
補数の入力論理回路を用いて、負の符号を有する
被加数マトリクスビツトの否定型を得ることがで
きる。
2の補数の入力論理回路が第6図に示されてお
り、列における3つのオリジナル被加数マトリク
スビツトのうちの2つ(B及びC)を受け取るよ
うに接続された2入力アンドゲート130と、該
アンドゲートの出力と3つのオリジナル被加数マ
トリクスビツトのうちの残りの1つ(ビツトA)
とを受け取るように接続された2入力排他的オア
ゲート132とを備えている。ゲート132から
の出力は、次いで、その後の論理的な減少レベル
へ送り込まれる。
本発明の減少機構は、乗算回路が効果的なゲー
ト配置パターンを使用しているので、乗数及び被
乗数におけるビツト数が増加するにつれて、より
大きな効果を発揮する。第7図に、本発明の回路
の位置的な配置を示している。第7図に示すよう
に、第5図の乗算回路のゲート配置の概念が三角
形構成に変換され、ワイヤの交差を最小にすると
共に、回路装置をより効率的に使用するようにさ
れる。
ゲート配置のルールは、次の通りである。各列
及び各論理減少レベルについて必要とされる全加
算器及び半加算器が決定された後に、各加算回路
は、その列の最も上の位置において、その上の加
算器に隣接するか又は回路板上の加算器の開始レ
ベルに達するまで配置される。例えば、全加算器
117は、レベルにおけるその位置からスター
ト位置まで移動される。というのは、その上に加
算回路がないからである。全加算器120は、全
加算器108に達するまで移動される。全加算器
116は、全加算器106に隣接するまで上方に
移動され、そして半加算器118は、全加算器1
16に隣接するまで上方に移動される。半加算器
112は、全加算器102に隣接するまで上方に
移動される。
ゲート配置についてのこのルールは、各レベル
において実行される減少によつて或る程度の遅延
が生じるという利点を利用するものである。その
後のレベルの減少では、そのゲートの入力の幾つ
かに対して手前の減少レベルの結果を必要とする
ので、その後の減少レベルにおいてゲートの入力
として使用されるべきオリジナル被加数ビツトを
送給するのに伴う伝播遅延が、手前のレベルの減
少に伴う遅延に等しくなる。
又、各々の論理的な減少レベルは或る程度の遅
延を招きそして最後の2行のビツトは最下位ビツ
ト位置から最上位ビツト位置へと次第に増加する
遅延をもつて発生されるので、最後の2行の数の
最下位列は、より上位の列の減少がまだ行なわれ
ている間に、桁上げ伝播加算器へ入力される。加
算器において最下位列を加算するのに含まれる桁
上げ伝播遅延は、乗算器の減少レベルを通じて次
第に増加する遅延によつて重畳される。
第7図に示されたゲートの配置は、必要なワイ
ヤの本数及びワイヤの交差を最小にすると共に、
入力を必要に応じて加算回路へ容易に送り込める
ようにする。ワイヤの密度は、その設計全体にわ
たつてより均一に分布させることができ、これに
より、負荷をより均一に分布できると共に、電力
をより効率的に使用することができる。又、この
ゲート配置のルールでは、回路装置において空間
をより効率的に利用できると共に、乗数及び被乗
数におけるビツトの数が増加するにつれてより優
れた効果を奏する。ゲート配置に対するこのルー
ルと、被加数マトリクス減少に対するルールとの
作用により、乗算演算を非常に高速に実行するこ
とのできる並列乗算器が形成される。
第8図は、ワイヤの密度及び時間遅延を最小に
するための32×32ビツトの被加数のマトリクスの
好ましいゲート配置設計を示している。この図
は、その側部に注目されるもので、これまで列と
して説明されたものが第8図では行として示され
ている。最も上の行は最上位ビツト位置を表わ
し、そして最も下の行は最下位ビツト位置を表わ
す。左側の列の数は、その数の右にある行におけ
るオリジナル被加数マトリクスビツトの数を表わ
している。中央の行は、オリジナル被加数マトリ
クスビツトの最大数を有しており、その上又はそ
の下の行は、オリジナル被加数マトリクスビツト
の次第に小さくなる数を有している。左側の列の
右にある行は、使用すべき実際のゲートを表わし
ている。
1つの行に用いられる論理ゲートは、その位の
ビツト位置を減少するのに用いられる。論理的な
減少レベルから得られる和のビツトは同じ行に配
置され、そして桁上げビツトは次の上位行のビツ
ト位置に配置される。Yは、ボー/ウーレイの2
の補数入力論値によつて変換されるべきオリジナ
ル被加数マトリクスビツトの入力を有するレベル
のゲートを表わしている。Zは、オリジナル被
加数ビツトと、ボー/ウーレイの2の補数入力論
理に入力されるべくレベル減少から得られるビ
ツトの入力を有するレベルのゲートを表わして
いる。Aは、アンドゲートを表わしている。O
は、オリジナル被加数マトリクスビツトからの全
ての入力を有するレベルの全加算器を表わして
いる。1は、オリジナル被加数マトリクスビツト
及びレベルの減少から得られるビツトを受け取
るように接続されたレベルの全加算器を表わし
ている。2は、オリジナル被加数マトリクスビツ
トか、レベル減少から得られたビツトか又はレ
ベル減少から得られたビツトかを受け取るよう
に接続されたレベルの全加算器を表わしてい
る。3は、オリジナル被加数マトリクスビツト
か、レベルの減少から得られたビツトか、レベ
ルの減少から得られたビツトか又はレベルの
減少から得られたビツトかのいずれかを受け取る
ように接続されたレベルの全加算器を表わして
いる。4は、オリジナル被加数マトリクスビツト
か又はレベル,,又はの減少から得られ
たビツトを受け取るように接続されたレベルの
全加算器を表わしている。5は、オリジナル被加
数マトリクスビツトか又はレベル,,,
又はの減少から得られたビツトを受け取るよう
に接続されたレベルの全加算器を表わしてい
る。6は、オリジナル被加数マトリクスビツトを
含むグループか又はレベル,,,,又
はの減少から得られたビツトを受け取るように
接続されたレベルの全加算器を表わしている。
7は、オリジナル被加数マトリクスビツトを含む
グループか又はレベルないしの減少から得ら
れたビツトを受け取るように接続されたレベル
の全加算器を表わしている。
文字H,I,J,K,L,M及びNは、各々、
レベル,,,,,及びの半加算機
を表わしており、これらは、オリジナル被加数マ
トリクスビツトを含むグループからの入力と、全
加算器に対して上記したように手前の論理的な減
少レベルから得られたビツトとを受け取ることが
できる。
本発明の被加数マトリクス減少機構の前記の説
明では、全てのレベルゲートが最初に配置さ
れ、次いで、全てのレベルゲートが配置され、
等々となるようなゲート配置概念を述べたが、32
×32ビツトマトリクスの実際の構成は、このパタ
ーンに従うものではない。第8図に示すように、
特定の行内では、ゲートレベル数が常に数字的に
増加するものではない。M番目の行及びN番目の
列においては、更に別のボー/ウーレイの2の補
数入力論理が符号操作に必要とされる。この更に
別の論理は、使用する半加算器のパターンにおい
て減少機構を若干変える必要がある。
乗算論理回路を回路装置上に取り付ける実際の
考え方では、三角形の隅を切り取ることを必要と
する。然し乍ら、ワイヤの密度が最も高く且つ時
間遅延が最も長い三角形の中心はチツプ内におい
てそのまゝの状態に保たれる。然し乍ら、それで
もなお三角形による実施が望まれる。というの
は、試行錯誤により、ワイヤ密度及び時間遅延の
低下をもたらすことが示されているからである。
32×32ビツトの被加数マトリクスでは、本発明
の減少機構を用いるときに8個の論理的な減少レ
ベルが必要とされる。本発明のゲート配置に対す
るルールを使用するときには、乗算回路が現状の
ECL回路で実施されると仮定すれば、5ナノ秒
以内に被加数マトリクスを2つの加数まで減少す
ることができる。これは、公知の減少機構からの
著しい速度の増加をもたらす。このような多数の
オリジナル被加数マトリクスビツトでは、ゲート
の配置が非常に複雑なものとなる。然し乍ら、最
初に論理的な減少レベルを計算しそしてゲートを
この三角形配置設計で配置することにより、2進
乗算回路を、最小量のワイヤと入力ビツトの容易
な送給機構とによつて容易に且つ効率的に実施す
ることができる。
第5図及び第7図に示されたように、本発明の
2進乗算回路は、第3図及び第4図の機構よりも
多数の半加算器を使用し、そして第7図に示され
たように、最小量のワイヤと容易な入力送給機構
とによつて容易に且つ効率的に実施することがで
きる。本発明の2進乗算回路の設計及びゲート配
置では、2進乗算を行なう速度が高められると共
に、乗数及び被乗数のビツト数が増すほど効果的
なものとなる。
本発明の上記方法及び装置においては本発明の
範囲又は精神を逸脱することなく種々の変更や修
正がなされ得ることが当業者に明らかであろう。
従つて、本発明は、特許請求の範囲に入る修正や
変更及びその等効物を包含するものとする。
【図面の簡単な説明】
第1図は、5ビツトの乗数及び5ビツトの被乗
数から構成された被加数マトリクスを示す図、第
2A図は、全加算器の論理回路及びブロツク図、
第2B図は、半加算器の論理回路及びブロツク
図、第3図は、被加数マトリクス減少の1つの従
来の方法を示すブロツク図、第4図は、被加数マ
トリクス減少の別の従来の方法を示すブロツク
図、第5図は、本発明の好ましい実施例による2
進乗算回路の部分を示すブロツク図、第6図は、
本発明の減少回路に使用するための大きさエンコ
ードフオーマツトに対して2の補数フオーマツト
で表わされた従来のオリジナル被加数マトリクス
ビツトの回路を示す論理回路図、第7図は、第5
図の2進乗算回路に対し、本発明の好ましい実施
例によるゲート配置及び配線構成を示す図、そし
て第8図は、32×32ビツト被加数マトリクスに対
する本発明のゲート配置及び配線構成を示す図で
ある。 100……乗算回路、101,110,11
2,118……半加算器、102,104,10
6,108,114,116,120……全加算
器、122……桁上げルツクアヘツド加算器。

Claims (1)

  1. 【特許請求の範囲】 1 Mビツトの乗数とNビツトの被乗数との積を
    得るための2進乗算回路において、 2進乗算手段を具備し、その入力は上記乗数及
    び被乗数を受け取るように接続され、この乗算手
    段は、M×Nのオリジナル被加数マトリクスビツ
    トと、M行及びM+N列とを有する被加数マトリ
    クスを形成し、上記列の各々は、上記積における
    異なつたビツト位置を表わしそして上記積の上昇
    するビツト位置に基づいて位が決められ、 更に、上記2進乗算手段に接続された減少回路
    手段を具備し、この減少回路手段は上記被加数マ
    トリクスビツトから2つの加数を発生し、上記減
    少回路手段は、オリジナル被加数マトリクスビツ
    トを受け取るように接続された第1レベル加算回
    路を含んでおり、該第1レベル加算回路は、第1
    組の全加算器を含み、その各々は、3つのオリジ
    ナル被加数マトリクスビツトしかもたない最下位
    ビツト位置を表わす上記列の1つを除いて、3つ
    又はそれ以上のオリジナル被加数マトリクスビツ
    トを有する被加数マトリクスの列のうちの選択さ
    れた1つに対応し、全加算器の各々は、対応する
    列から3つの異なつたオリジナル被加数マトリク
    スビツトを受け取るように接続され、そしてその
    列に対する和のビツトと、次の上位ビツト位置を
    表わす列に対する桁上げビツトとを発生する手段
    を含んでおり、上記第1レベル加算回路は、更
    に、第1組の半加算器を備えており、その各々
    は、最初に4つ以上のオリジナル被加数マトリク
    スビツトを有すると共に上記第1組の全加算器の
    1つに接続されていない厳密に2つのオリジナル
    被加数マトリクスビツトを有している被加数マト
    リクスの列のうちの選択された1つに対応してお
    り、3つのオリジナル被加算数マトリクスビツト
    しかもたない最下位ビツト位置を表わす列の1つ
    に対しては、上記半加算器の各々は、それに対応
    する列から2つの異なるオリジナル被加数マトリ
    クスビツトを受け取るように接続され、そしてそ
    の列に対する和のビツトと、次の上位ビツト位置
    を表わす列に対する桁上げビツトとを発生する手
    段を備えており、上記減少回路手段は、更に、上
    記第1組の半加算器又は全加算器によつて受け取
    られないオリジナル被加数マトリクスビツトか又
    は上記第1組の全加算器及び半加算器から和及び
    桁上げビツトかのいずれかを受け取るよう接続さ
    れた中間レベルの加算回路とを備えており、この
    中間レベルの加算回路は、複数の異なつたレベル
    に編成されていると共に、対応する列及びレベル
    に対し、上記第1組の半加算器又は全加算器によ
    つて受け取られないオリジナル被加数マトリクス
    ビツトと、その手前のレベルの入力ではない和及
    び桁上げビツトとを含む列ビツトを受け取り、更
    に、上記中間レベルの加算回路は、3つの列ビツ
    トしかもたない最下位ビツト位置を表わす対応す
    るレベルにある上記列の1つを除いて3つ又はそ
    れ以上の列ビツトを有する上記列の選択された1
    つと上記レベルの1つとに各々対応する複数の全
    加算器を備えており、上記レベルの各々にある全
    加算器の各々は、対応する列に対する3つの列ビ
    ツトを受け取るように接続され、そしてその列に
    対する和のビツトと、次の上位ビツト位置を表わ
    す列に対する桁上げビツトとを発生する手段を含
    んでおり、更に、上記中間レベル加算回路は、複
    数の半加算器も備えており、その各々は、中間レ
    ベルの各々において上記第1組又は中間レベル加
    算回路からの複数の全加算器の少なくとも1つが
    その列と対応し且つ厳密に2つのビツトが上記全
    加算器のいずれにも接続されないでいるような上
    記列の選択された1つ及び上記レベルの1つに対
    応し、且つ又、3つの列ビツトしか残つていない
    最下位ビツト位置を表わす各レベルにおける上記
    列の1つに対応し、上記半加算器の各々は、対応
    する列に対する2つの列ビツトを受け取るように
    接続され、更に、上記複数の半加算器の各々は、
    その列に対する和のビツトと、次の上位ビツト位
    置を表わす列に対する桁上げビツトとを発生する
    手段を備えており、そして 更に、上記中間レベルの加算回路からの出力で
    ある加数を入力として受け取つて上記積を形成す
    る桁上げ伝播全加算手段を具備したことを特徴と
    する2進乗算回路。 2 上記全加算器の数は、M×N−2N−2M+3
    である請求項1に記載の2進乗算回路。 3 上記半加算器の数は、M−1である請求項1
    に記載の2進乗算回路。 4 1つの半加算回路のみを用いて、上記被加数
    マトリクスの列3ないしM及び列N+1の各々を
    減少させる請求項1に記載の2進乗算回路。 5 上記2進乗算手段は、上記乗数及び被乗数の
    ビツトの各別々の組合せに対して論理積演算を実
    行する回路を含んでいる請求項1に記載の2進乗
    算回路。 6 上記乗数の値及び被乗数の値は、2の補数の
    2進コードフオーマツトで表わされる請求項1に
    記載の2進乗算回路。 7 上記乗数の値及び被乗数の値は、大きさの2
    進コードフオーマツトで表わされる請求項1に記
    載の2進乗算回路。 8 複数の2の補数入力回路を更に具備し、該回
    路の各々は、3つのオリジナル被加数マトリクス
    ビツトのうちの2つを入力として受け取るように
    接続された2入力アンドゲートと、上記対応する
    アンドゲートの出力及び上記3つのオリジナル被
    加数マトリクスビツトの残りの1つとを入力とし
    て受け取るように接続された2入力の排他的オア
    ゲートとを含んでいる請求項1に記載の2進乗算
    回路。
JP63297174A 1987-11-24 1988-11-24 高速並列乗算回路 Granted JPH01302426A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/124,926 US5159568A (en) 1987-11-24 1987-11-24 High speed parallel multiplier circuit
US124926 1993-09-21

Publications (2)

Publication Number Publication Date
JPH01302426A JPH01302426A (ja) 1989-12-06
JPH056892B2 true JPH056892B2 (ja) 1993-01-27

Family

ID=22417458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63297174A Granted JPH01302426A (ja) 1987-11-24 1988-11-24 高速並列乗算回路

Country Status (4)

Country Link
US (1) US5159568A (ja)
EP (1) EP0318223A3 (ja)
JP (1) JPH01302426A (ja)
CA (1) CA1295743C (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146421A (en) * 1987-11-24 1992-09-08 Digital Equipment Corporation High speed parallel multiplier circuit
US5339447A (en) * 1989-11-17 1994-08-16 Texas Instruments Incorporated Ones counting circuit, utilizing a matrix of interconnected half-adders, for counting the number of ones in a binary string of image data
US5912832A (en) * 1996-09-12 1999-06-15 Board Of Regents, The University Of Texas System Fast n-bit by n-bit multipliers using 4-bit by 4-bit multipliers and cascaded adders
US6065033A (en) * 1997-02-28 2000-05-16 Digital Equipment Corporation Wallace-tree multipliers using half and full adders
US6122655A (en) * 1998-05-15 2000-09-19 Lucent Technologies Inc. Efficient use of inverting cells in multiplier converter
US8713085B1 (en) 2006-05-31 2014-04-29 Marvell International Ltd. Systems and methods for a signed magnitude adder in one's complement logic

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3691359A (en) * 1970-07-28 1972-09-12 Singer General Precision Asynchronous binary multiplier employing carry-save addition
US4463439A (en) * 1982-05-17 1984-07-31 International Business Machines Corporation Sum and carry outputs with shared subfunctions
US4736335A (en) * 1984-11-13 1988-04-05 Zoran Corporation Multiplier-accumulator circuit using latched sums and carries

Also Published As

Publication number Publication date
JPH01302426A (ja) 1989-12-06
EP0318223A2 (en) 1989-05-31
CA1295743C (en) 1992-02-11
EP0318223A3 (en) 1991-01-02
US5159568A (en) 1992-10-27

Similar Documents

Publication Publication Date Title
US5465226A (en) High speed digital parallel multiplier
US6029187A (en) Fast regular multiplier architecture
Fadavi-Ardekani M* N Booth encoded multiplier generator using optimized Wallace trees
JP2594428B2 (ja) キヤリー伝播遅延を短縮する方法および装置
JP3244506B2 (ja) 小型乗算器
US5257218A (en) Parallel carry and carry propagation generator apparatus for use with carry-look-ahead adders
EP0260515B1 (en) Digital multiplier architecture with triple array summation of partial products
JPH05233228A (ja) 浮動小数点演算装置およびその演算方法
US5146421A (en) High speed parallel multiplier circuit
JP3556950B2 (ja) 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法
US6434586B1 (en) Narrow Wallace multiplier
Yan et al. An energy-efficient multiplier with fully overlapped partial products reduction and final addition
US4700325A (en) Binary tree calculations on monolithic integrated circuits
JPH056892B2 (ja)
US5586071A (en) Enhanced fast multiplier
GB2263002A (en) Parallel binary adder.
US6151617A (en) Multiplier circuit for multiplication operation between binary and twos complement numbers
EP0344226B1 (en) High-speed digital adding system
EP0326414B1 (en) High speed multiplier
EP0112186A2 (en) Modular high-speed multipliers, and integrated circuit chip modules for such multipliers
DADDAC Some schemes for parallel multipliers
JPH02112020A (ja) 単位加算器および並列乗算器
Obaidat et al. Fast multi-step addition algorithm
Sharma et al. Design of RBSD adder and multiplier circuits for high speed arithmetic operations and their timing analysis
Sahoo et al. A high-speed radix-64 parallel multiplier using a novel hardware implementation approach for partial product generation based on redundant binary arithmetic