JP2894749B2 - 並列乗算器 - Google Patents

並列乗算器

Info

Publication number
JP2894749B2
JP2894749B2 JP30464789A JP30464789A JP2894749B2 JP 2894749 B2 JP2894749 B2 JP 2894749B2 JP 30464789 A JP30464789 A JP 30464789A JP 30464789 A JP30464789 A JP 30464789A JP 2894749 B2 JP2894749 B2 JP 2894749B2
Authority
JP
Japan
Prior art keywords
data
input
input terminal
carry
adder
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
JP30464789A
Other languages
English (en)
Other versions
JPH03166622A (ja
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.)
Toshiba Corp
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics 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 Toshiba Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP30464789A priority Critical patent/JP2894749B2/ja
Publication of JPH03166622A publication Critical patent/JPH03166622A/ja
Application granted granted Critical
Publication of JP2894749B2 publication Critical patent/JP2894749B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は基本セルを反復した状態で配列してなる乗
算器に係り、特に標準的手法によるもの、ブース(Boot
h)のアルゴリズムによるもの、キャリー飛び越し接続
によるもの等でキャリーセーブアダー方式を採用した並
列乗算器の高速化に関する。
(従来の技術) 反復セル型配列乗算器(以下、MPYと称する)とし
て、従来では例えば「コンピュータの高速演算方式」19
80年 近年科学社刊 第129頁ないし第213頁に記載され
ているものや、「日経エレクトロニクス」 1978年 5,
29号 第76頁ないし第89頁に記載されているものが良く
知られている。
前者の文献に記載された5×5ビット、符号なしのMP
Yの構成を第11図に示す。ただし、このMPYは、被乗数A
(ベクトル)=am-1,…a1,a0、乗数B(ベクトル)=b
n-1,…b1,b0、積P(ベクトル)=pm+n-1,…p1,p0 としたときのものである。図中、FA00,FA10,FA20,FA30,
FA11,…,FA33,…FA63はそれぞれ全加算器である。これ
らの各全加算器はそれぞれ第12図の回路図に示すように
構成にされており、全加算器FA00を例にすると、入力端
子SIにはa1b0が、入力端子CIには0が、入力端子aには
a0b1がそれぞれ供給され、出力端子COにはキャリー出力
(桁上げ出力信号)が、出力端子SOにはサム出力(加算
出力信号)がそれぞれ得られる。
第13図は上記第11図のMPYを書き直したものであり、
この場合、各全加算器のa入力端子及びa0b1,a1b0等の
入力は省略してある。この第13図回路において、横一列
に配置されたそれぞれ4個の全加算器でアダーAdder3、
Adder2、Adder1、Adder0が構成されている。例えば、ア
ダーAdder2は4個の全加算器FA20,FA31,FA42及びFA53か
らなっており、サム出力をアダーAdder1に供給する4ビ
ットのリプルキャリー方式の加算器になっている。
一方、CSA(キャリーセーブ・アダー)方式によるブ
ース(Booth)のアルゴリズムのMPY、キャリー飛び越し
のMPY、その他のMPYの反復セル部(以下、これをセルア
レイ部と称する)の基本構造も第11図のものと同様であ
る。従って、これら種々の方式のMPY、例えば第14図に
示す12×12ビット、符号なしのMPY、第15図に示すCSAに
よる2次のブースのアルゴリズムによる12×12ビット、
2の補数のMPY、第16図に示すCSAによるビット飛び越し
接続による8×8ビット、符号なしのMPYはそれぞれ、
上記第13図のように複数のリプルキャリー方式の加算器
でセルアレイ部を構成することができる。なお、第11
図、第13図、第14図、第15図及び第16図中の70,71,72,7
3はそれぞれ最終の和を得るための最終和加算器、74,75
はそれぞれ補助加算器である。
(発明が解決しようとする課題) 上記のように、従来のCSA方式によるMPYのセルアレイ
部はリプルキャリー方式の加算器で構成されている。こ
のため、セルアレイ部における部分積の加算時間が大き
くなっている。この加算時間は乗算時間の大部分を占め
ているので、このことがMPYの演算速度を大きく律速し
ている。
この発明は上記のような事情を考慮してなされたもの
であり、その目的は、セルアレイ部における演算時間を
短縮し、従来に比べてより高速に乗算を行うことができ
る並列乗算器を提供することにある。
[発明の構成] (課題を解決するための手段) この発明の並列乗算器は、被乗数データ及び乗数デー
タに基づき2次元的に複数個の基本セルを配列してなる
並列乗算器において、上記被乗数データを所定の論理式
に基づいてデコードし、上記各基本セルに被乗数データ
のデジットデータ選択のための選択信号を供給する被乗
数デコード部を備え、上記各基本セルは上記選択信号に
基づいて重み付けの連続するk個(kは2以上の正の整
数)の被乗数データのデジットデータfi,…,fi+k-1を選
択する手段と、桁上げ先見機能を持つ加算器とを備え、
前記加算器は、重み付けiの桁上げ入力端子と、重み付
けi,…,i+k−1の加算入力端子と、重み付けi,…,i+
k−1の部分積入力端子と、重み付けi+kの桁上げ出
力端子と、重み付けi,…,i+k−1の加算出力端子と、
上記桁上げ入力端子への入力データをCIi、上記加算入
力端子への入力データをSIi,…,Si+k-1、上記部分積入
力端子への入力データをfi,…,fi+k-1、上記桁上げ出力
端子からの出力データをCOi+kとしたときにこれらCIi
SIi,…,Si+k-1、fi,…,fi+k-1の各データに基づいて出
力データCOi+kを決定する論理ゲート群とを備えてなる
ことを特徴とする。
また、この発明の並列乗算器は、被乗数データ及び乗
数データに基づき2次元的に複数個の基本セルを配列し
てなる並列乗算器において、上記各基本セルは乗数デー
タのデジットデータと被乗数データのデジットデータと
の間の部分積に基づき重み付けの連続するk個(kは2
以上の正の整数)の論理演算値fi,…,fi+k-1を生成する
手段と、トランスミッションゲートを用いて桁上げ入力
データを桁上げ出力データとして伝達する機能を有する
加算器とを備え、前記加算器は、重み付けiの桁上げ入
力端子と、重み付けi,…,i+k−1の加算入力端子と、
重み付けi,…,i+k−1の部分積入力端子と、重み付け
i+kの桁上げ出力端子と、重み付けi,…,i+k−1の
加算出力端子と、重み付けが同じ加算入力端子に入力さ
れる入力データ及び部分積入力端子に入力される入力デ
ータどうしでk個の排他的論理和データまたは非排他的
論理和データを生成する手段と、上記k個の排他的論理
和データの論理積または非排他的論理和データの論理和
を生成する手段と、上記桁上げ入力端子の入力データCI
iが入力端子に接続され、自体の導通、非導通を制御す
るためのデータ入力端子に上記排他的論理和データの論
理積または非排他的論理和データの論理和が接続され、
導通状態にされたとき出力端子に上記入力データCIi
桁上げ出力データCOi+kとして出力する1個のトランス
ミッションゲートと、上記トランスミッションゲートが
非導通状態のときに、上記加算入力端子に入力される加
算入力データSIi,…SIi+k-1と上記論理演算値fi,…,f
i+k-1に応じて上記トランスミッションゲートの出力端
子に1または0のデータを桁上げ出力データCOi+kとし
て出力するPチャネル及びNチャネルMOSトランジスタ
からなる論理ゲートとを備えてなることを特徴とする。
さらにこの発明の並列乗算器は、被乗数データ及び乗
数データに基づき2次元的に複数個の基本セルを配列し
てなる並列乗算器において、上記被乗数データを所定の
論理式に基づいてデコードし、上記各基本セルに被乗数
データのデジットデータ選択のための選択信号を供給す
る被乗数デコード部を備え、上記各基本セルは上記選択
信号に基づいて重み付けの連続するk個(kは2以上の
正の整数)の被乗数データのデジットデータfi,…,f
i+k-1を選択する手段と、桁上げ先見機能を持つ加算器
とを備え、前記加算器は、重み付けiの桁上げ入力端子
と、重み付けi,…,i+k−1の加算入力端子と、重み付
けi,…,i+k−1の部分積入力端子と、重み付けi+k
の桁上げ出力端子と、重み付けi,…,i+k−1の加算出
力端子と、重み付けが同じ加算入力端子に入力される入
力データ及び部分積入力端子に入力される入力データど
うしでk個の排他的論理和データまたは非排他的論理和
データを生成する手段と、上記k個の排他的論理和デー
タの論理積または非排他的論理和データの論理和を生成
する手段と、上記桁上げ入力端子の入力データCIiが入
力端子に接続され、自体の導通、非導通を制御するため
のゲート入力端子に上記排他的論理和データの論理積ま
たは非排他的論理和データの論理和が接続され、導通状
態にされたとき出力端子に上記入力データCIiを桁上げ
出力データCOi+kとして出力する1個のトランスミッシ
ョンゲートと、上記トランスミッションゲートが非導通
状態のときに、上記加算入力端子に入力される加算入力
データSIi,…SIi+k-1と上記論理演算値fi,…,fi+k-1
応じて上記トランスミッションゲートの出力端子に1ま
たは0のデータを桁上げ出力データCOi+kとして出力す
る手段とを備えてなることを特徴とする。
(作用) 上記のような構成の基本セルを用いることにより、被
乗数データ及び乗数データの複数データ毎に1つの桁上
げ出力が生成される。例えば被乗数データ及び乗数デー
タの2ビット毎に1つの桁上げ出力が生成され、桁上げ
出力の演算速度の向上が図られる。
(実施例) 以下、図面を参照してこの発明を実施例により説明す
る。
第1図はこの発明に係る並列乗算器を、5ビット×5
ビット、符号なしのものに実施した、この発明の第1の
実施例の構成を示す回路図である。すなわち、この実施
例の並列乗算器は、前記第14図に示す従来回路におい
て、アダーAdder3における2個の全加算器FA41とFA52、
アダーAdder2における2個の全加算器FA20とFA31、同じ
く2個の全加算器FA42とFA53、アダーAdeer1における2
個の全加算器FA21とFA32、アダーAdder0における2個の
全加算器FA00とFA11、同じく2個の全加算器FA22とFA33
それぞれの代わりに、第2図に示すように、乗数データ
のデジットデータと被乗数データのデジットデータとの
間の部分積に基づき重み付けの連続する2個の論理演算
値fi及びf2を生成する手段を供え、2ビットの入力の桁
上げ先見機能を持つ加算器(以下、2−CLAと略称す
る)からなる基本セルを使用するようにしたものであ
る。
また、第1図において、アダーAdder3では、全加算器
FA30のキャリー出力が2−CLA11に供給され、この2−C
LA11のキャリー出力が全加算器FA63に供給され、さらに
この全加算器FA63のキャリー出力が最終和加算器12に供
給される。アダーAdder2では、2−CLA13のキャリー出
力が2−CLA14に供給され、さらにこの2−CLA14のキャ
リー出力が上記最終和加算器12に供給される。アダーAd
der1では、全加算器FA10のキャリー出力が2−CLA15に
供給され、この2−CLA15のキャリー出力が全加算器FA4
3に供給され、さらにこの全加算器FA43のキャリー出力
が上記最終和加算器12に供給される。アダーAdder0で
は、2−CLA16のキャリー出力が2−CLA17に供給され、
さらにこの2−CLA17のキャリー出力が上記最終和加算
器12に供給される。
上記各2−CLAにはそれぞれ、後述するが、重み付け
iのキャリー入力端子と、重み付けi及びi+1のサム
入力端子と、重み付けi,i+1の部分積入力端子と、重
み付けi+2のキャリー出力端子と、重み付けi及びi
+1のサム出力端子が設けられている。
また、アダーAdder3では、全加算器FA30のサム出力は
アダーAdder1の2−CLA15の重み付けi+1のサム入力
端子に、2−CLA11の重み付けiのサム出力はアダーAdd
er1の全加算器FA43のサム入力端子に、2−CLA11の重み
付けi+1のサム出力は上記最終和加算器12に、全加算
器FA63のサム出力は上記最終和加算器12にそれぞれ供給
される。アダーAdder2では、2−CLA13の重み付けi及
びi+1のサム出力はアダーAdder0の2−CLA17の重み
付けi及びi+1のサム入力端子に並列的に、2−CLA1
4の重み付けi及びi+1のサム出力は上記最終和加算
器12に並列的にそれぞれ供給される。アダーAdder1で
は、全加算器FA10のサム出力は上記最終和加算器12に、
2−CLA15の重み付けi及びi+1のサム出力は上記最
終和加算器12に並列的に、全体加算器FA43のサム出力は
上記最終和加算器12にそれぞれ供給される。アダーAdde
r0では、2−CLA16の重み付けiのサム出力は最終乗算
結果の第2ビット目の出力p1として出力され、重み付け
i+1のサム出力は上記最終和加算器12に、2−CLA17
の重み付けi及びi+1のサム出力は上記最終和加算器
12に並列的にそれぞれ供給される。なお、アダーAdder2
の2−CLA13の重み付けi+1のサム入力端子、同じく
アダーAdder2の2−CLA14の重み付けi及びi+1のサ
ム入力端子、アダーAdder1の2−CLA15の重み付けiの
サム入力端子、アダーAdder0の2−CLA16の重み付けi
+1のサム入力端子にはそれぞれデータの0が供給され
る。
上記最終和加算器12は上記各種入力に基づき、最終乗
算結果の第3ビット目〜第10ビット目の出力p2〜p9を得
るものである。また、最終乗算結果の第1ビット目の出
力p0はa0とb0の部分積a0・b0をとることによって得られ
る。
第2図は、それぞれ2ビットの乗数データ及び被乗数
データのデジットデータとの間の部分積に基づき重み付
けの連続する2個の論理演算値fi及びf2を生成する手段
を供えた、上記各2−CLAを具体的な回路構成を示す図
であり、ここではアダーAdder1の2−CLA15の例が示さ
れている。図において、乗数データb1と被乗数データa2
とがアンドゲート21に供給され、このアンドゲート21に
よって部分積データf1が得られる。同様に、乗数データ
b2と被乗数データa2とがアンドゲート22に供給され、こ
のアンドゲート22によって部分積データf2が得られる。
また、重み付けiのサム入力端子SIiのデータ及び上記
部分積データf1はナンドゲート23及びイクスクルーシブ
オア・ゲート24に並列的に供給される。上記ナンドゲー
ト23の出力はインバータ25を介してノアゲート26及びア
ンドゲート27に供給される。上記イクスクルーシブオア
・ゲート24の出力はイクスクルーシブオア・ゲート28及
び2個のアンドゲート29,30に供給される。上記イクス
クルーシブオア・ゲート28にはさらにキャリー入力端子
CIiのデータが供給され、このイクスクルーシブオア・
ゲート28は重み付けiのサム出力端子SOiから重み付け
iのサム出力を発生する。また、上記キャリー入力端子
CIiのデータは上記アンドゲート29,30にも供給される。
そして、上記上記アンドゲート29の出力は上記ノアゲー
ト26に供給され、さらにこのノアゲート26の出力はイク
スクルーシブオア・ゲート31に供給される。
一方、重み付けi+1のサム入力端子SIi+1のデータ
及び上記部分積データf2はナンバーゲート32及びイクス
クルーシブオア・ゲート33に並列的に供給される。上記
ナンドゲート32の出力はインバータ34を介してノアゲー
ト35に供給される。上記イクスクルーシブオア・ゲート
33の出力は上記アンドゲート27,30に供給されると共
に、インバータ36を介して上記イクスクルーシブオア・
ゲート31に供給される。上記イクスクルーシブオア・ゲ
ート31は、重み付けi+1のサム出力端子SOi+1から重
み付けi+1のサム出力を発生する。上記アンドゲート
27,30の出力は上記ノアゲート35に供給される。このノ
アゲート35の出力はインバータ36に供給され、このイン
バータ36は重み付けi+3のキャリー出力端子COi+2
らキャリー出力を発生する。
この2−CLAは、それぞれ2ビットの乗数データ及び
被乗数データ、重み付けi及びi+1のサム入力、重み
付けiのキャリー入力から重み付けi及びi+1のサム
出力と重み付けi+2のキャリー出力を得るものであ
り、2ビットの乗数データと被乗数データ毎に1つのキ
ャリー出力を発生している。なお、第3図にこの2−CL
Aにおける入出力データの真理値状態をまとめて示す。
すなわち、この実施例の並列乗算器では、基本セル
(2−CLA)内で2ビットの乗数データと被乗数データ
毎に1つのキャリー出力を発生するようにしている。こ
のため、キャリーの発生経路に存在するゲートの数が従
来に比べて半減し、キャリーの伝搬速度は従来の約2倍
となり、加算器自体の動作速度を高速化することができ
る。この結果、セルアレイ部における演算時間が短縮さ
れ、従来に比べてより高速に乗算を行うことが可能にな
る。
ところで、前記第13図の従来回路において、アダーAd
der0〜Adder3を単に2−CLAに置き換えただけでは演算
速度の高速化は望めない。それは、第2図の2−CLAに
おいて、キャリー出力の値を決定するサム入力の値が、
キャリー入力の値よりも早いか、もしくは同時に決定さ
れるという条件を満足しなければならないからである。
上記実施例では、各2−CLAのサムの入出力端子間を
上記のように接続し、各基本セルでキャリー入力とサム
入力の値が決定されるタイミングチャートがほぼ同時刻
になるようにしたものである。すなわち、第1図の各ノ
ードにおける丸数字、、、は、そのノードのデ
ータの値が決定される時刻に順次対応しており、A,Bの
部分積、例えばa0・b0の値が決定される時刻を0とし、
2−CLA1個を通過する時間を1Δとすると、の時刻は
1Δ、の時刻は2Δ、の時刻は3Δとなる。ここ
で、第1図中の2−CLA17のサム入力とキャリー出力は
共に同時刻のとなる。
第4図は上記各2−CLAの代わりに使用可能な、2ビ
ット入力の一括マンチェスタ型加算器(以下、2−MAと
略称する)を使用した基本セルの具体的な回路構成を示
す図であり、ここではアダーAdder1の2−CLA15の代わ
りに使用されるもの例が示されている。そして、この場
合にも、アンドゲート41により乗数データb1と被乗数デ
ータa2とのアンド論理がとられることによって部分積デ
ータf1が得られ、アンドゲート42により乗数データb2
被乗数データa2とのアンド論理がとられることによって
部分積データf2が得られる。また、この2−MAでは、キ
ャリー入力データCIiが入力端子に接続され、それ自体
の導通、非導通を制御するためのゲート入力端子に前記
イクスクルーシブオア・ゲート24,33の出力データの論
理積データが接続され、導通状態にされたとき出力端子
に上記入力データCIiを桁上げ出力データCOi+2として出
力するトランスミッションゲート37と、このトランスミ
ッションゲート37が非導通状態のときに、入力データSI
i、SIi+1と論理演算値f1、f2に応じて上記トランスミッ
ションゲート37の出力端子に1または0のデータをキャ
リーデータCOi+2として出力するそれぞれPチャネルMOS
トランジスタ、NチャネルMOSトランジスタからなる論
理ゲート38,39が設けられている。この2−MAの場合
も、それぞれ2ビットの乗数データ及び被乗数データ、
重み付けi及びi+1のサム入力、重み付けiのキャリ
ー入力から、第3図の真理値状態に応じた重み付けi及
びi+1のサム出力と重み付けi+2のキャリー出力が
得られる。
第5図はこの発明の第2の実施例に係る12ビット×12
ビット、符号なしの並列乗算器の構成を示す回路図であ
る。図においてFAは全加算器、50はそれぞれ前記第2図
と同様に構成された2−CLAもしくは前記第4図と同様
に構成された2−MAからなる基本セルであり、51は2CLA
もしくは2−MAからなる10ビットの第1の補助加算回
路、52は第2の補助加算回路、53は4−CLA(4ビット
入力の桁上げ先見機能を持つ加算器)もしくは4−MA
(4ビット入力の一括マンチェスタ型加算器)からなる
12ビットの最終和加算回路である。
この実施例回路は、前記第1図に示す5ビット×5ビ
ットの並列乗算器を12ビット×12ビットに単純に拡張し
たものであるものであるが、各基本セルを構成する際に
ビットの組み合わせを、上下方向で互いに隣り合うアダ
ーで1ビットずらすようにしている点が第1図実施例の
場合と異なっている。例えば、アダーAdder10とアダーA
dder9とでは基本セルのまとめ方が1ビットずれてい
る。ここで、積の最上位ビットp23の値は時刻10Δで決
定される。これに対して、前記第14図に示す同じビット
数の従来回路では、積の最上位ビットp23の値は時刻14
Δで決定されており、従来回路よりも4Δの時間だけ動
作の高速化が図られている。
次に従来回路とこの発明回路の動作速度の差を一般化
して説明する。
いま、被乗数A(ベクトル)=am-1,…a1,a0、乗数B
(ベクトル)=bn-1,…b1,b0、積P(ベクトル)=p
m+n-1,…p1,p0とし、m×nの符号なしMPY(反復セル型
配列乗算器)における乗算結果pm+n-1が決定される時刻
Tpm+n-1を求める。いま、説明を簡単にするため、m=
nとし、m,nは4の整数倍であり、最終和加算器は4−M
Aまたは4−CLAとする。
第16図の従来回路において、a,bの部分積の値が決定
される時刻を0としたセルアレイ部での演算終了時間t0
(最終和加算器が演算を開始するまでの時間)はt0
(m−1)Δとなり、最終和加算器の演算時間t1となる。従って、上記時刻Tpm+n-1は次式で与えられ
る。
これに対し、第5図に示すこの発明の回路において、
上記t0に対応した時間t0′は Δであり、t1に対応した時間t1′は となる。従って、Tp2m-1に対応した時刻T′p2m-1は次
式で与えらる。
また、従来回路におけるTpm+n-1とこの発明回路にお
けるT′p2m-1との比の値は次式のようになる。
ここで一例として、m=n=12とすると、Tp23=14Δ
であり、T′p23=10Δであるから、上記3式の値は約7
1.4%になる。一方、m=n=24の場合には、Tp47=29
Δであり、T′p47=19Δであるから、上記3式の値は
約65.5%になる。さらに、m=n=32の場合には、Tp63
=39Δであり、T′p63=25Δであるから、上記3式の
値は約64.1%になる。
以上のように、この発明によれば極めて高速な乗算器
を構成することができる。そして、例えば32ビット×32
ビットの演算において、1Δを2ナノ秒とすれば、従来
ではTp63=39Δ=78ナノ秒であったものが、この発明で
はT′p63=25Δ=50ナノ秒となり、約30ナノ秒だけ高
速化を図ることができる。
第6図はこの発明の第3の実施例に係る並列乗算器の
構成を示す回路図であり、この発明をCSAによる2次Boo
thのアルゴリズムを用いた12ビット×12ビット、2の補
数の並列乗算実施したものである、図においてFAは全加
算器、60はそれぞれ第7図もしくは第8図に示すように
構成された2−CLAもしくは2−MAからなる基本セルで
あり、61,61はそれぞれ4CLAもしくは4−MAからなる第
1の補助加算回路、62は第2の補助加算回路、63は4−
CLAもしくは4−MAからなる12ビットの最終和加算回路
である。
この並列乗算器において、乗数Y(ベクトル)=
yn-1,…y1,y0、被乗数X(ベクトル)=xm-1,…x1,x0
積P(ベクトル)=pm+n-1,…p1,p0とし、Y,X(スカ
ラ)をそれぞれ2の補数とすれば次のようになる。
このとき、m=nで、m,nをそれぞれ偶数とすると、 と器になる。この6式に基づき、各基本セル60ではXを
Yにより選択してPを演算する。
なお、図において、INC0,INC2,…INC10は、Yにより
負数が選択される際にLSBに1を加えるときに値が1と
なる信号である。
CSAによる2次Boothのアルゴリズムを用いた並列乗算
器は、セルアレイ部の全加算器の数が であるだけで、基本構造は一般的なCSAによる並列乗算
器と同じである。
ここで、前記第16図に示す従来回路と、この実施例回
路との動作速度について比較する。従来回路においてp
23が決定される時刻Tp2m-1=Tp23、上記実施例回路にお
いてp23が決定される時刻をT′p2m-1=T′p23とする
と、Tp23=10Δ、T′p23=8Δとなり、この実施例回
路の方が高速であることがわかる。
次に一般的な動作速度の比較について説明する。
いま、m=nでm,nがそれぞれ4の整数倍の数であ
り、最終和加算器が4−CLAもしくは4−MA、従来回路
の補助加算器が2−CLAもしくは2−MAで構成され、こ
の発明の補助加算器(第6図中の第1の補助加算回路6
1)は4−CLAもしくは4−MAで構成されているとする。
従来回路において、Xが選択された時刻を0としたと
きに補助加算器の演算終了時刻をt0とすると、t0は次式
で表される。
また、最終和加算器の演算時間t1であるから、Tp2m-1は次式で表される。
一方、上記実施例回路では、t0に相当する時刻t0′は t1に相当する時刻t1′は であるため、T′p2m-1は次式のようになる。
従って、従来回路におけるTp2m-1と、この発明回路に
おけるT′p2m-1との比の値は次式のようになる。
ここで一例として、m=n=12とすると、Tp23=10Δ
であり、T′p23=8Δであるから、上記9式の値は80
%になる。一方、m=n=24の場合には、Tp47=19Δで
あり、T′p47=14Δであるから、上記9式の値は約73.
7%になる。さらに、m=n=32の場合には、Tp63=25
Δであり、T′p63=18Δであり、上記9式の値は72.0
%になる。例えば32ビット×32ビットの演算において、
1Δを2ナノ秒とすれば、従来ではTp63が50ナノ秒であ
ったものが、この発明ではT′p63は36ナノ秒となり、
従来よりも14ナノ秒だけ動作の高速化を図ることができ
る。
次に上記第6図の実施例回路で使用される基本セルに
ついて説明する。
第7図の基本セルは、前記第2図に示す2−CLAのア
ンドゲート21,22の代わりにBoothのアルゴリズムに基づ
いてデコードして得られる制御信号CNTに応じてXを選
択するXセレクタ43,44を設けるようにしたものであ
る。また、第8図の基本セルは、前記第4図に示す2−
MAのアンドゲート41,42の代わりに制御信号CNTに応じて
Xを選択するXセレクタ43,44を設けるようにしたもの
である。
ところで、従来回路にこの発明を単純に適用すると、
全加算器間の配線が複雑になり、配線容量が増加して動
作速度が損なわれる恐れがある。例えば従来回路にこの
発明を単純に適用すると、第9図に示すように、入力a0
〜a7とb0〜b7の各交点(例えばa0とb0の交点は両入力デ
ータの部分積a0・b0を表わす)に全加算器が配置される
ことになる。これに対して、第10図(A)及び(b)に
示すように、部分籍を生成する部分を、例えば入力bの
偶数、奇数の2つのグループに分離し、各全加算器を2
つのグループに分離して配置する。そして、全加算器の
代わりにこの発明による基本セルを配置することによ
り、基本セル間の配線が単純化でき、配線容量による動
作速度の劣化を防止することができる。
[発明の効果] 以上説明したようにこの発明によれば、セルアレイ部
における演算時間を短縮し、従来に比べてより高速に乗
算を行うことができる並列乗算器を提供することができ
る。
【図面の簡単な説明】
第1図はこの発明の第1の実施例に係る並列乗算器の構
成を示す回路図、第2図は上記実施例回路で使用される
基本セルの回路図、第3図は上記第2図の基本セルのに
おける入出力データの真理値状態をまとめて示す図、第
4図は上記第2図の基本セルの代わりに使用可能な他の
基本セルの回路図、第5図はこの発明の第2の実施例に
係る並列乗算器の構成を示す回路図、第6図はこの発明
の第3の実施例に係る並列乗算器の構成を示す回路図、
第7図及び第8図はそれぞれ上記第6図の実施例回路で
使用される基本セルの回路図、第9図及び第10図はそれ
ぞれこの発明を説明するための回路図、第11図は従来の
並列乗算器の回路図、第12図は第11図の並列乗算器で使
用される全加算器を示す回路図、第13図は第11図の並列
乗算器を書き直した図、第14図ないし第16図はそれぞれ
上記とは異なる従来の並列乗算器の回路図である。 11,13,14,15,16,17……基本セル、12……最終和加算
器、F……全加算器、21,22,27,29,30,41,42……アンド
ゲート、23,32……ナンドゲート、24,28,31,33……イク
スクルーシブオア・ゲート、25,34,36……インバータ、
26,35……ノアゲート、37……トランスミッションゲー
ト、38,39……論理ゲート、50……基本セル、51……第
1の補助加算回路、52……第2の補助加算回路、53……
最終和加算回路、60……基本セル、61,61……第1の補
助加算回路、62……第2の補助加算回路、63……最終和
加算回路、43,44……Xセレクタ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭52−128026(JP,A) 特開 昭63−240624(JP,A) 特開 昭61−114338(JP,A) 特開 昭62−100833(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 7/52 310 G06F 7/50

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】被乗数データ及び乗数データに基づき2次
    元的に複数個の基本セルを配列してなる並列乗算器にお
    いて、 上記被乗数データをBoothのアルゴリズムに基づいてデ
    コードし、上記各基本セルに被乗数データのデジットデ
    ータ選択のための選択信号を供給する被乗数デコード部
    を備え、 上記各基本セルは上記選択信号に基づいて重み付けの連
    続するk個(kは2以上の正の整数)の被乗数データの
    デジットデータfi,…,fi+k-1を選択する手段と、 桁上げ先見機能を持つ加算器とを備え、 前記加算器は、 重み付けiの桁上げ入力端子と、 重み付けi,…,i+k−1の加算入力端子と、 重み付けi,…,i+k−1の部分積入力端子と、 重み付けi+kの桁上げ出力端子と、 重み付けi,…,i+k−1の加算出力端子と、 上記桁上げ入力端子への入力データをCli、上記加算入
    力端子への入力データをSli,…,Si+k-1、上記部分積入
    力端子のデータをfi,…,fi+k-1、上記桁上げ出力端子か
    らの出力データをCOi+kとしたときにこれらCli、Sli,
    …,Si+k-1、fi,…,fi+k-1の各データに基づいて出力デ
    ータをCOi+kを決定する論理ゲート群とを備えてなるこ
    とを特徴とする並列乗算器。
  2. 【請求項2】前記桁上げ入力端子と桁上げ出力端子の重
    み付けが同じ加算器を備えた複数個の基本セルどうしで
    それぞれの加算器の桁上げ入力端子と桁上げ出力端子と
    を互いに接続してなる基本セル例を複数有し、各基本セ
    ル列を構成する基本セル内の加算器の加算入力端子は、
    自体と重み付けが同じでかつ自体の基本セルが属する基
    本セル列と隣接する基本セル列以外の基本セル列の基本
    セル内の加算器の加算出力端子と接続されていることを
    特徴とする請求項1記載の並列乗算器。
  3. 【請求項3】被乗数データを及び乗数データに基づき2
    次元的に複数個の基本セルを配列してなる並列乗算器に
    おいて、 上記各基本セルは乗数データのデジットデータと被乗数
    データのデジットデータとの間の部分積に基づき重み付
    けの連続するk個(kは2以上の正の整数)の論理演算
    値fi,…,fi+k-1を生成する手段と、 トランスミッションゲートを用いて桁上げ入力データを
    桁上げ出力データとして伝達する機能を有する加算器と
    を備え、 前記加算器は、 重み付けiの桁上げ入力端子と、 重み付けi,…,i+k−1の加算入力端子と、 重み付けi,…,i+k−1の部分積入力端子と、 重み付けi+kの桁上げ出力端子と、 重み付けi,…,i+k−1の加算出力端子と、 重み付けが同じ加算入力端子に入力される入力データ及
    び部分積入力端子に入力される入力データどうしでk個
    の排他的論理和データまたは非排他的論理和データを生
    成する手段と、 上記k個の排他的論理和データの論理積または非排他的
    論理和データの論理和を生成する手段と、 上記桁上げ入力端子の入力データCliが入力端子に接続
    され、自体の導通、非導通を制御するためのゲート入力
    端子に上記排他的論理和データの論理積または非排他的
    論理和データの論理和が接続され、導通状態にされたと
    き出力端子に上記入力データCliを桁上げ出力データCO
    i+kとして出力する1個のトランスミッションゲート
    と、 上記トランスミッションゲートが非導通状態のときに、
    上記加算入力端子に入力される加算入力データSli,…,S
    i+k-1と上記論理演算値fi,…,fi+k-1に応じて上記トラ
    ンスミッションゲートの出力端子に1または0のデータ
    を桁上げ出力データCOi+kとして出力するPチャネル及
    びNチャネルMOSトランジスタからなる論理ゲートとを
    備えてなることを特徴とする並列乗算器。
  4. 【請求項4】前記桁上げ入力端子と桁上げ出力端子の重
    み付けが同じ加算器を備えた複数個の基本セルどうしで
    それぞれの加算器の桁上げ入力端子と桁上げ出力端子と
    を互いに接続してなる基本セル列を複数有し、各基本セ
    ル列を構成する基本セル内の加算器の加算入力端子は、
    自体と重み付けが同じでかつ自体の基本セルが属する基
    本セル列と隣接する基本セル列以外の基本セル列の基本
    セル内の加算器の加算出力端子と接続されていることを
    特徴とする請求項3記載の並列乗算器。
  5. 【請求項5】被乗数データ及び乗数データに基づき2次
    元的に複数個の基本セルを並列してなる並列乗算器にお
    いて、 上記被乗数データをBoothのアルゴリズムに基づいてデ
    コードし、上記各基本セルに被乗数データのデジットデ
    ータ選択のための選択信号を供給する被乗数デコード部
    を備え、 上記各基本セルは上記選択信号に基づいて重み付けの連
    続するk個(kは2以上の正の整数)の被乗数データの
    デジットデータfi,…,fi+k-1を選択する手段と、 桁上げ先見機能を持つ加算器とを備え、 前記加算器は、 重み付けiの桁上げ入力端子と、 重み付けi,…,i+k−1の加算入力端子と、 重み付けi,…,i+k−1の部分積入力端子と、 重み付けi+kの桁上げ出力端子と、 重み付けi,…,i+k−1の加算出力端子と、 重み付けが同じ加算入力端子に入力される入力データ及
    び部分積入力端子に入力される入力データどうしでk個
    の排他的論理和データまたは非排他的論理和データを生
    成する手段と、 上記k個の排他的論理和データの論理積または非排他的
    論理和データの論理和を生成する手段と、 上記桁上げ入力端子への入力データをCliが入力端子に
    接続され、自体の導通、非導通を制御するためのゲート
    入力端子に上記排他的論理和データの論理積または非排
    他的論理和データの論理和が接続され、導通状態にされ
    たとき出力端子に上記入力データCliを桁上げ出力デー
    タCOi+kとして出力する1個のトランスミッションゲー
    トと、 上記トランスミッションゲートが非導通状態のときに、
    上記加算入力端子に入力される加算入力データSli,…,S
    i+k-1と上記論理演算値fi,…,fi+k-1に応じて上記トラ
    ンスミッションゲートの出力端子に1または0のデータ
    を桁上げ出力データCOi+kとして出力する手段とを備え
    てなることを特徴とする並列乗算器。
  6. 【請求項6】前記桁上げ入力端子と桁上げ出力端子の重
    み付けが同じ加算器を備えた複数個の基本セルどうしで
    それぞれの加算器の桁上げ入力端子と桁上げ出力端子と
    を互いに接続してなる基本セル列を複数有し、各基本セ
    ル列を構成する基本セル内の加算器の加算入力端子は、
    自体と重み付けが同じでかつ自体の基本セルが属する基
    本セル列と隣接する基本セル列以外の基本セル列の基本
    セル内の加算器の加算出力端子と接続されていることを
    特徴とする請求項5記載の並列乗算器。
JP30464789A 1989-11-27 1989-11-27 並列乗算器 Expired - Fee Related JP2894749B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30464789A JP2894749B2 (ja) 1989-11-27 1989-11-27 並列乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30464789A JP2894749B2 (ja) 1989-11-27 1989-11-27 並列乗算器

Publications (2)

Publication Number Publication Date
JPH03166622A JPH03166622A (ja) 1991-07-18
JP2894749B2 true JP2894749B2 (ja) 1999-05-24

Family

ID=17935550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30464789A Expired - Fee Related JP2894749B2 (ja) 1989-11-27 1989-11-27 並列乗算器

Country Status (1)

Country Link
JP (1) JP2894749B2 (ja)

Also Published As

Publication number Publication date
JPH03166622A (ja) 1991-07-18

Similar Documents

Publication Publication Date Title
KR100359965B1 (ko) 프로세서와이의연산방법 및 데이타프로세서
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
EP0239899B1 (en) Multiplier array circuit
US5956265A (en) Boolean digital multiplier
US7275076B2 (en) Multiplication logic circuit
US6411980B2 (en) Data split parallel shifter and parallel adder/subtractor
US6301600B1 (en) Method and apparatus for dynamic partitionable saturating adder/subtractor
US5257218A (en) Parallel carry and carry propagation generator apparatus for use with carry-look-ahead adders
JP3556950B2 (ja) 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法
JP3225043B2 (ja) 絶対値算術演算ユニット及び差動マルチプレクサ
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
JPH02293929A (ja) デジタルシステム乗算の方法及び装置
US20040010536A1 (en) Apparatus for multiplication of data in two's complement and unsigned magnitude formats
EP0670061B1 (en) Enhanced fast multiplier
US5245563A (en) Fast control for round unit
JPH06236255A (ja) 並列桁上げ発生ネットワーク、並列加算器ネットワーク、桁上げ発生モジュール、マルチビット加算器ネットワークおよびモジュラー桁上げ伝ぱんユニット
JP3256251B2 (ja) 乗算器
JP2894749B2 (ja) 並列乗算器
JPH09222991A (ja) 加算方法および加算器
EP0344226B1 (en) High-speed digital adding system
US6484193B1 (en) Fully pipelined parallel multiplier with a fast clock cycle
CN113918119A (zh) 存储器内多位数二进制乘法装置及其操作方法
JPH0418336B2 (ja)
US5777907A (en) Processor for selectively performing multiplication/division
US5978826A (en) Adder with even/odd 1-bit adder cells

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080305

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees