JP3115009B2 - 跳躍配列と修正形ワラストリーとを使用する並列乗算器 - Google Patents
跳躍配列と修正形ワラストリーとを使用する並列乗算器Info
- Publication number
- JP3115009B2 JP3115009B2 JP03015984A JP1598491A JP3115009B2 JP 3115009 B2 JP3115009 B2 JP 3115009B2 JP 03015984 A JP03015984 A JP 03015984A JP 1598491 A JP1598491 A JP 1598491A JP 3115009 B2 JP3115009 B2 JP 3115009B2
- Authority
- JP
- Japan
- Prior art keywords
- output signal
- full adder
- sum
- output
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/40—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
- G06F7/44—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5318—Multiplying 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction 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/5336—Reduction 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/5338—Reduction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3876—Alternation of true and inverted stages
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
と詳しくは修正形ブース(Booth)アルゴリズム、跳躍
(Skip)配列、修正形ワラストリー(Wallace tree)を
使用する2進数並列乗算器に関する。
U、ファックシミリFAX、信号処理システム、行列演
算器(乗算、コンボールションConvolutionなど)、特
殊目的用チップなどのような、いろいろの応用システム
から重要に使用されている2進数並列乗算器のチップ面
積を減少させ乗算速度を増加させるためのいろいろな方
法が提案されている。例えば、John Wiley & Sons社か
ら発行したコンピュータアリスメーティックComputer A
rithmetic 1979、ページ129〜212及び197
8年5月29日付発行されたNIKKEIエレックトロニック
ス(Electronics)、ページ76〜89の記載から修正
形ブースアルゴリズムを使用する並列乗算器は速度を大
きく増加させることができると知らせている。
に、その利用分野が広範囲の程多様なアルゴリズムと技
術で設計されている。現在まで開発された並列乗算器中
で比較的性能が優秀で実際にたくさん使用されているも
のは大きく二種の種類がある。二種の方式はみんなが乗
算の初期段階に修正形ブースアルゴリズムを使用してn/
2個の部分積行を生成する。ここでnは被乗数と乗数各
々の入力ビット数である。並列乗算器の内部回路中一番
比重が大きくて重要な部分は多数の被演算子加算回路で
多数(n/2個)の部分積行を加算して二個の行で減縮さ
せることになり、この部分を具現することにおいて、一
番目の方式は全加算器配列を使用し、二番目の方式はワ
ラストリーを使用する。一番目の配列を利用した乗算器
は、二次元配列で構成され、それぞれのセルは基本的に
全加算器を使用する。この乗算器はセルの出力がまっす
ぐに次の行の入力で順次的に伝達される固有の特性を持
っていて、このような特性により0(n)の遅延時間複
雑度を持つ用になり計算時間が根本的に鈍いと言う欠点
がある。
的な構成が図示されている。第1図の並列乗算器で被乗
数Xと乗数Yを掛ける場合16ビットの桁を持つ被乗数
Xはそれぞれの第1行被演算子加算セルCL1、第2行
被演算子加算セルCL2……第8行被演算子加算セルC
L8に入力され、16ビットの桁を持つ乗数Yは修正形
ブース符号器MBEに入力される。修正形ブース符号器
MBEは乗数Yを受けて修正形ブースアルゴリズムによ
って符号化された出力をそれぞれの第1行被演算子加算
セルCL1、第2行被演算子加算セルCL3……第8行
被演算子加算セルCL8に入力させる。符号化された出
力は3ビットの信号として修正形ブースアルゴリズムに
より演算された値が出力される。上記それぞれの第1行
乃至第8行被演算子加算セルは被乗算数Xの値と修正形
ブース符号器MBEから符号化された出力値を各々演算
して第1行被演算子加算セルCL1から演算された値
は、次の第2行被演算子加算セルCL2から演算された
値と加えられる。この時、上記第2行被演算子加算セル
CL2から演算された値は、被乗数Xの値と修正形ブー
ス符号器MBEから符号化された出力値を予め演算した
値になる。
1の演算値と、第2行被演算子加算セルCL2の演算値
と、第3行被演算子加算セルCL2の演算値、……順で
順次的に加えて高速加算器(Fast Adder;FAD)に入
力され、またそれの補数乗算のために第1行被演算子加
算セルCL1、第2行被演算子加算セルCL2……から
最下位の2ビットとそれの補数を取るための2ビット、
即ち各行当り4ビットが高速加算器FADに入力されて
高速加算器FADから加算された値が被乗数Xと乗数Y
とを掛ける2nビットの乗算された値になる。このよう
な並列乗算器では各行の出力がまっすぐに次の行へ順次
的に伝達されることを知ることができる。乗算時間が入
力ビットの数に比例して遅いので、高速の乗算を求める
応用分野では性能が大きく低下されて乗算ビットの数が
大きい程性能低下が大きい。従って、乗算ビットの数が
小さくて相対的に高速を求めないでチップ面積が狭いべ
き場合ばかり第1図の並列乗算器が易く適用されること
ができる制限を持っている。
器は計算時間の複数度が0(logn)で速いと言う特性にも
かかわらずチップ面積が大きくてその構造が不規則的と
言う原理的な問題点を持っている。従ってできるだけチ
ップ面積を狭くし、設計費用を低廉にしなければならな
い場合には困るようになる。また第6図で見るように一
般的なNMOSやCOMOS設計からセルの上げ数出力
は1ゲート遅延されて出力され、和出力は上げ数出力を
利用して次のゲート遅延後に合わせて2ゲート遅延後に
出力される特性を持つが、この時上げ数出力は和出力が
出力される時まで待機状態にあるようになる。即ち、先
に出力された上げ数出力が次の演算にまっすぐに計算さ
れないと言う問題点を持っている。第2図はこのような
ワラストリーを使用する並列乗算器の全般的な構成を示
していて、第5図はワラストリーの構造を示している。
上記した二種の並列乗算器の終わりの計算段階は二個の
行を加える加算器である。従来の乗算器に利用するCarr
y lookahead加算器を始めた加算回路はチップ面積と速
度の上相反された問題点を持っている。即ち、計算時間
を速く設計した加算器はチップ面積が大きく増加するこ
とになる。従って小さいチップ面積を高速で加算を遂行
する効率的な高性能加算器が求められる。
のチップ面積を減少させ、乗算時間を短縮して高速の並
列乗算を遂行することのできる修正形ブースアルゴリズ
ム、跳躍配列、修正形ワラストリーを使用する並列乗算
器を提供することにある。乗算器の乗算時間を短縮する
ために遅延時間の複雑度を0(logn)とし、跳躍配列、修
正形ワラストリー構造、ハイブリッドプリフィックス加
算器を使用して達成することができる。本発明の他の目
的は、乗算器構造の規則性(Regularity)を向上させて
チップ面積を減少させ、製造が容易な並列乗算器を提供
することにある。乗算器構造の規則性向上は跳躍配列及
びハイブリッドプリフィックス加算器を使用することに
よって達成することができる。
実施例を添付された図面によって詳細に説明する。第3
図は本発明による並列乗算器を示したダイアグラムであ
り、並列乗算器の全体的な構成が図示されている。本発
明は乗数Yのビット値を修正形ブースアルゴリズムで演
算して符号化された信号を出力させる修正形ブース符号
器MBEと、上記修正形ブース符号器MBEに連結され
被乗数Xの値と修正形ブース符号器MBEの符号化され
た信号を演算させて部分積を生成させて部分積を跳躍間
隔程ずつ移動させて加える跳躍配列SAPと、上記跳躍
配列SAPに連結され跳躍配列から出力された2進ビッ
トを高速で加算させる修正形ワラストリーMWTと、上
記修正形ワラストリーMWTに連結され修正形ワラスト
リーから演算されて出力された2行の値を加算させるハ
イブリッドプリフィックス加算器HPAとから構成され
る跳躍配列と修正形ワラストリーとを使用する並列乗算
器を特徴とする。先ず、各々nビットの被乗数Xと乗数
Yを並列乗算するために乗算の初期段階から修正形ブー
スアルゴリズムを適用してn/2個の部分積行を生成す
る。ここで、nは入力ビット数として第3図はnが16
の場合である。この時、修正形ブース符号器MBEは乗
数Yを受けて3▲×▼(n/2)個の符号化された出力を
跳躍配列SAPに入力させる。跳躍配列SAPは被乗数
Xと修正形ブース符号器MBEの出力を受けて部分積を
生成させて演算した後その出力を修正形ワラストリーM
WTに入力させるようになる。
回路と同一である。特に、跳躍配列SAPはn/2個の部
分積行を利用してn/log(n/2)個で減少させる。跳躍配列
は0(logn)の計算速度を維持しながら乗算器構造の規則
性を向上させてチップ面積を小さくして設けが容易する
ようになる。そして跳躍配列SAPから生成された結果
を加えて2個の行で圧縮するために修正形ワラストリー
を使用する。修正形ワラストリーはセルの上げ数出力の
待機状態を除去することによって既存のワラストリーよ
り計算速度が速くなる。跳躍配列と修正形ワラストリー
の各セルを正入力−負出力セルと負入力−正出力セルで
設けて相互交互に、配置することによって計算速度を短
縮させ、チップ面積を減少させる。終わりに2個の行を
加えるための加算回路としてチップ面積が小さくて速度
が速いハイブリッドプリフィックス加算器HPAを使用
する。
較すればチップ面積は大きくなるが計算時間0(n)は
0(logn)で顕著に短縮される。またワラストリーを利用
した並列乗算器と比較すれば跳躍配列と修正形ワラスト
リーの0(2n2logn)から0(n2logn+2n2)で減少されて全体
的なチップ面積が小さくなり、計算時間は二つ共に0(lo
gn)であるが実用的な範囲(128ビット以下)ではも
っと速くなる。この回路にはnビットの二つの数を乗算
するために修正形ブース符号器MBE、跳躍配列SA
P、修正形ワラストリーMWT及びハイブリッドプリフ
ィックス加算器HPAが組合されて使用され、最終的に
2nビットの結果を出力するようになる。
て乗数Yの各ビットを修正形ブース符号器MBEに入力
して(n/2)▲×▼3個の符号化された出力線を発生させ
る。i番目の行の3個の符号化された出力信号は次の通
りに求められる。次に示す式から“’”は−として論理
否定NOTを示す。 ONEi=y2i▲+▼y2i-1 TWOi=(y2i+1)’・y2i-1+y2i+1・(y2i)’・(y2i-1)’ NEGi=y2i+1((y2i)’+(y’2i-1)’) ここで、iの範囲は0≦i≦n/2-1であり、y-1の値は0
である。3個の出力線当一つの部分積行を生成するよう
になるので、修正形ブース符号器の出力線とn個の被乗
数を部分積を生成することができるそれぞれの被演算子
加算セルに入力してn/2個の部分積行を生成する。i番
目の部分積行のj番目のビットは次の通り求められる。 Pi,j=(ONEi・xj+TWOi・xj-1)▲+▼NEGi ここで、iの範囲は0≦i≦n/2-1であり、jの範囲は
0≦j≦n、x-1の値は0であり、xnは符号拡張とし
てその値はxn−1と同じである。
行を示す添字iが0から1ずつ増加することによって、
その行の部分積などが左側に2ビットずつ移動(shif
t)されて列を示す添字jの値が2ずつ増加するように
なる。n/2個の部分積行は跳躍配列SAPを使用してn/l
og(n/2)個へ減縮される。第3図からの跳躍配列の構成
が第4図に示している。n/2個の部分積行を演算する跳
躍配列SAPは第1行被演算子加算セルCL11、第2
行被演算子加算セルCL12…第8行被演算子加算セル
CL18から構成され、第1行被演算子加算セルCL1
1は3行ずつ跳躍されて第4行被演算子加算セルCL1
4と演算処理され、第2行被演算子加算セルCL12は
3行ずつ跳躍されて第5行被演算子加算セルCL15と
演算処理される順でそれぞれの被演算子加算セルは3行
ずつ跳躍されて演算されるように構成する。
せたもので、各セルは全加算器とから構成される。跳躍
配列からの計算時間を部分積行数の代数値(log(n/2))
に比例するように設定するために跳躍間隔はn(2log(n/
2))で定められる。n/2個の部分積行はn/(2log(n/2))個
ずつ一つの群groupを形成するようになり、全てlog(n/
2)個の群を形成する。初めの3個の群は全加算機セルで
一時に加えるので跳躍の回路はlog(n/2)-3で跳躍配列か
らの計算時間はlog(n/2)-2である。跳躍配列上で上位群
の各セルの上げ数出力と和出力はまっすぐに次の群の対
応される行で入力される。この時上げ数出力は一位(We
ight)高いセルに入力される。跳躍配列からのi番目行
j番目列の全加算器セルの上げ数出力Ci,jと和出力
Si,jは次のように求められる。 Ci,j=fc(Pi,j,Si-n/2log(n/2),j,Ci-n/2log(n/2),j-1) Si,j=fs(Pi,j,Si-n/2log(n/2),j,Ci-n/2log(n/2),j-1)
数出力と和出力を求める関数であり、3個の因子はそれ
ぞれの被加数、加数、前位から伝達された上げ数を示
す。これらの3因子間には交換法則(Commutative La
w)が成立する。iの範囲はn/log(n/2)≦i≦n/2-i,j
の範囲は2i≦j≦2i+nであり、0番目行から(n/log(n/
2)-1)番目行間の範囲即ち、0≦i≦n/log(n/2)-1の範
囲ではCi,j=0,Si,j=Pi,jで定義する。iとj値の範囲を
脱けて定義されなPi,j,Si,j,Ci,jは存在しない値であ
り、0でみなされることができる。跳躍配列から出力さ
れたn/log(n/2)個のビット行は修正形ワラストリーに入
力されて2個の行で減縮される。修正形ワラストリーは
セルの上げ数出力待機状態を除去することによって既存
のワラストリーより計算速度が速い。第7図および第8
図から分かるようにCMOS設計で全加算器セルの上げ
数出力は1ゲート遅延後に出力されて和出力は上げ数出
力を利用してその次のゲート遅延後に合わせて2ゲート
遅延後に出力される特性を持つが、既存のワラストリー
から上げ数出力は和出力が出力される時まで待機状態に
あるようになる。このような上げ数出力の待機状態を除
去して計算速度を短縮させるために本発明は修正形ワラ
ストリーMWTから先き出力された上げ数出力を和出力
が出力される時まで待機させないでまっすぐに次のセル
に入力することによってトリーでの全体的な計算時間を
短縮させる。この時それぞれの全加算器セルは次に説明
するように、正入力−負出力セルと負入力−正出力セル
を交互に配置する。修正形ワラストリーの一つの例が第
6図に図示されていて、修正形ワラストリーは既存のワ
ラストリーとほとんど同一なチップ面積を持ちながらも
計算時間が速い。
構成される。跳躍配列SAPから演算された演算値P0
〜P8は全加算器11,21,31に入力される。全加
算器11,21,31から加算された結果の上げ数C及
び和Sは各々次の段階の全加算器41,42に入力され
て加算される方式で全加算器43,44を通って2ビッ
トの演算出力が発生される。第2図は従来に修正形ブー
スアルゴリズムとワラストリーを使用した並列乗算器を
示したダイアグラムであり、ここで使用されたワラスト
リーの構造は第5図と同じ構造を持っているが全加算器
では一般的に正入力−正出力セルを使用する。全加算器
44の最終上げ数C及び和Sは高速加算器FADで演算
されて乗算された値が出力される。全加算器でFApn
は正入力−負出力セルを示して、FAnpは負入力−正
出力のセルを示す。
ーの構造を示しているもので、跳躍配列SAPから演算
された演算値P0〜P8が入力される全加算器61,7
1,81と、上記全加算器61,71,81の出力側に
連結され全加算器61,71,81で加算された値の上
げ数Cを加算させる全加算器91と、上記全加算器6
1,71,81の出力側に連結され全加算器61,7
1,81で加算された和Sなどを加算させる全加算器9
2と、上記全加算器91,92の出力側に連結され全加
算器91の和Sと全加算器91,92の上げ数Cを加算
させる全加算器93と、全加算器92,93の出力側に
連結され全加算器93の上げ数Cと全加算器92,93
の和Sを加算させる全加算器94とから構成される。
る全加算器に入力され和Sは和Sを加算する全加算器を
使用して加算されるようにすることによって待機状態が
発生されることを防止することができる。ここで跳躍配
列と修正形ワラストリーの各セルは基本的に全加算器で
ある。上記並列乗算器ではこのセルを正入力−負出力セ
ルと負入力−正出力とから構成してそれぞれのセルを交
互に配置することによってセルからの遅延時間を短縮さ
せてチップ面積を減少させる。各セルをこのように構成
すると、セル出力部の反転器(Inverter)を除去するよ
うになり各セルから1ゲート遅延ずつ速くなりゲート数
は減少するようになる。全加算器の正入力−負出力セル
の論理式は、 Cout’=(Cin(a・b)+a・b)’ Sum’=(Cout’(a+b+Cin)+a・b・Cin)’ で表示され、第7図は上記式をCMOS回路とから構成
したものである。また負入力−正出力セルの論理式は、 Cout=((Cin’+a’・b’)・(a’+b’))’ Sum=((Cout+a’+b’+Cin’)・(a’+b’+Cin’))’ で示すことができる。第8図はこれをCOMOS回路と
構成したものである。ここで、a,b,Cinは入力信号
であり、特にCinは前位(Weight)から伝達される上げ
数入力である。
るためにハイブリッドプリフィックス加算器HPAを使
用する。ハイブリッドプリフィックス加算器はチップ面
積が小さくて計算速度が速い優秀な性能の加算器として
これを本並列乗算器に適用することによって乗算器全体
の性能を向上させる。各セルの論理的機能は次の通りで
ある。 i)Pgセル (Pi,1)’=(ai+bi)’ (gi,1)’=(ai+bi)’ ii)bpセル (pj,2k+1)’=(pi,2k・pj,2k)’ (gj,2k+1)’=(j,2kgi,2k+gj,2k)’ iii)bnセル pj,2k=((pi,2k-1)’+(pj,2k-1)’)’ pj,2k=((pj,2k-1)’+(gi,2k-1)’(gj,2k1)’)’ iv)ホワイト(white)セル pi,k=(pi,k-1)’ gi,k=(gi,k-1)’ v)サム(sum)セル Si=((Ci+(Pi,1)’・(Ci-1)’)((gi,1)’+(Ci-1)’))’
フィックス加算器の構成を示していて、16ビットの二
つの数a16,a15,…,a1,a16,a15,
…,b1を加えて結果S17,S16,…,S1を求め
るようになる。pとgからの2個の下部添字は各々第7
図からの行と列を示して、ai,bi,ci,siは各
々i番目の被加数、加数、上げ数、和を表す。上記した
それぞれのセルはNMOSトランジスタ及びPMOSト
ランジスタとして回路を構成して上記式が演算処理され
るようにすることができ、上記したハイブリッドプリフ
ィックス加算器はIEEE INTERNATIONAL CONFERENCE ON C
OMPUTER DESIGN学術誌に1987年8月に“VLSI Desig
n of High-Speed, Low-Area Addition Circutry”で本
発明と同一な発明者が発表したことがある。本発明では
最終段階の上げ数及び和の出力をハイブリッドプリフィ
ックス加算器HPAを使用して迅速に処理してより速い
演算効果を得ることができる(これに対する具体的な説
明は上記IEEE誌を参照要)。
乗算器と比較してチップ面積は大きいが、計算時間が0
(n)から0(logn)で顕著に短縮される。現在まで一番速い
並列乗算アルゴリズムで知らせたワラストリーを利用し
た並列乗算器と比較して見れば、跳躍配列と修正形ワラ
ストリーのチップ面積が既存ラストリーの0(2n2logn)か
ら0(n2logn+2n2)で減少されて全体的なチップ面積が小
さくなり、計算時間は二つ共に0(logn)であるが実用的
な範囲(128ビット以下)ではワラストリーを利用し
た並列乗算器より速くて次のような効果を得ることがで
きる。
mplexity)が0(logn)の速い乗算を遂行する。乗算器構
造の規則性(Regularity)が向上され、チップ面積が減
少して計算が容易して設計費用が減少する。 2)跳躍配列の開発で0(logn)の計算時間を維持しなが
ら相当な規則性を持つようになりチップ面積が減少し設
計が容易する。 3)修正形ワラストリーの開発で全加算器セルの上げ数
出力待機状態を除去して既存ワラストリーより計算時間
が短縮される。 4)ハイブリッドプリフィックスの加算器の使用で計算
時間が速くて規則的な構造を持ってチップ面積が小さ
い。 5)正入力−負出力セルと負入力−正出力セルの交互配
置でセルからの遅延時間を短縮させセルのゲート数減少
でチップ面積が減少する。 6)配列を利用した並列乗算器と比較してチップ面積は
大きいが計算時間が0(n)から0(logn)で顕著に短縮
される。またワラストリーを利用した並列乗算器と比較
して跳躍配列と修正形ワラストリーのチップ面積が既存
ワラストリーの0(2n2logn)から0(n2logn+2n2)で減少さ
れて全体的なチップ面積が小さくなり、計算時間は二つ
共に0(logn)であるが実用的な範囲(128ビット以
下)ではもっと速い。 7)究極的に性能が優秀な並列乗算器が開発され、付随
的に高性能の多数被演算子加算回路が開発される。 8)各種並列乗算器、コンピュータ演算装置ALU、フ
ァックシミリFAX、信号処理、行列演算及び特殊目的
用チップなどの応用分野にこの発明の並列乗算器を効果
的に応用することによって全体的なシステムの性能向上
を期することができる。
列式並列乗算器を示したダイアグラムである。
ーとを使用する並列乗算器を示したダイアグラムであ
る。
である。
ムである。
り、一般的なワラストリーの構造を示すものである。
り、本発明による修正形ワラストリーの構造である。
路図であり、正入力−負出力セルを示した回路である。
路図であり、負入力−正入力を示した回路である。
されるハイブリッドプリフィックス加算器である。
Claims (1)
- 【請求項1】 nビットを有する2進乗数(Y)と2進
被乗数(X)との並列乗算器にして、 修正ブースアルゴリズムに基づいて、前記2進乗数
(Y)をコード化する修正ブースエンコーダ(MBE)
と、 前記修正ブースエンコーダからのコード化された出力値
を受け、当該出力値の各々のビットグループと2進被乗
数(X)とを用いて部分積を生成し、且つ、前記部分積
を跳躍間隔だけシフトして各々のラインへ出力する跳躍
配列(SAP)と、 前記スキップ配列(SAP)の各々のラインから提供さ
れた前記部分積を加算する修正ワラストリー(MWT)
と、 を備え、 前記修正ワラストリー(MWT)は、和生成が桁上げ生
成に対して遅延している複数の全加算器を備え、前記跳
躍配列からの出力(P0−P8)を受け取り、 前記複数の全加算器は、 第1時点(1)において、桁上げ出力信号を生成し、第
2時点(2)において和出力信号を生成する第1全加算
器(61,71,81)と、 前記第1全加算器(61,71,81)からの各桁上げ
信号に基づいて、前記第2時点(2)において桁上げ出
力信号を生成し、第3時点(3)において和出力信号を
生成する第2全加算器(91)と、 前記第1全加算器(61,71,81)からの各和出力
信号に基づいて、前記第3時点(3)において桁上げ出
力信号を生成し且つ、第4時点(4)において和出力信
号を生成する第3全加算器(92)と、 前記第2全加算器(91)からの桁上げ出力信号及び和
出力信号並びに、前記第3全加算器(92)からの桁上
げ出力信号に基づいて、前記第4時点(4)において桁
上げ出力信号を生成し、且つ、第5時点(5)において
和出力信号を生成する第4全加算器(93)と、 前記第4全加算器(93)からの桁上げ出力信号及び和
出力信号並びに前記第3全加算器(92)からの和出力
信号に基づいて、第6時点(6)において桁上げ出力信
号を生成し、且つ、第7時点(7)において和出力信号
を生成する第5全加算器(94)とを備え、 前記第1全加算器(61,71,81)及び前記第4全
加算器(93)は、正入力・負出力(FApn)で構成
され、前記第2全加算器(91)及び第3全加算器(9
2)及び第5全加算器(94)は、負入力・正出力(F
Anp)で構成され、 前記正入力且つ負出力を有する全加算器(FApn)
は、以下の式を満足するCMOSトランジスタで構成さ
れ、 Cout’ = (Cin(a+b)+a・b)’ Sum’ = (Cout’(a+b+Cin)+a・b・Cin)’ 前記負入力且つ正出力の全加算器(FAnp)は、以下
の式を満足するCMOSトランジスタで構成され、 Cout = ((Cin’+ a’・b’)・(a’+ b’)) Sum = ((Cout+ a’・b’・Cin’)・(a’+b’+Cin’))’ ここにa,bは、前記全加算器の入力信号であり、Ci
nは桁上げ入力信号であり、Coutは桁上げ出力信号
であり、Sumは、和出力信号であり、“,”はその前に
ある事項の否定を表す並列乗算器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019900008199A KR920006323B1 (ko) | 1990-05-31 | 1990-05-31 | 스킵(Skip)배열과 수정형 월리스(Wallace)트리를 사용하는 병렬 승산기 |
KR1990-8199 | 1990-05-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0520030A JPH0520030A (ja) | 1993-01-29 |
JP3115009B2 true JP3115009B2 (ja) | 2000-12-04 |
Family
ID=19299764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03015984A Expired - Lifetime JP3115009B2 (ja) | 1990-05-31 | 1991-01-14 | 跳躍配列と修正形ワラストリーとを使用する並列乗算器 |
Country Status (8)
Country | Link |
---|---|
US (1) | US5181185A (ja) |
JP (1) | JP3115009B2 (ja) |
KR (1) | KR920006323B1 (ja) |
CN (1) | CN1020806C (ja) |
DE (1) | DE4101004C2 (ja) |
FR (1) | FR2662829B1 (ja) |
GB (1) | GB2244572B (ja) |
IT (1) | IT1245097B (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0721159A1 (en) * | 1995-01-03 | 1996-07-10 | Texas Instruments Incorporated | Multiple-input binary adder |
US5978827A (en) * | 1995-04-11 | 1999-11-02 | Canon Kabushiki Kaisha | Arithmetic processing |
US6066178A (en) * | 1996-04-10 | 2000-05-23 | Lsi Logic Corporation | Automated design method and system for synthesizing digital multipliers |
JP3652447B2 (ja) * | 1996-07-24 | 2005-05-25 | 株式会社ルネサステクノロジ | ツリー回路 |
KR100425673B1 (ko) * | 1996-09-10 | 2004-06-12 | 엘지전자 주식회사 | 피피알기법을이용한곱셈방법 |
US5943250A (en) * | 1996-10-21 | 1999-08-24 | Samsung Electronics Co., Ltd. | Parallel multiplier that supports multiple numbers with different bit lengths |
US5974437A (en) * | 1996-12-02 | 1999-10-26 | Synopsys, Inc. | Fast array multiplier |
US5935202A (en) * | 1997-03-25 | 1999-08-10 | International Business Machines Corporation | Compressor circuit in a data processor and method therefor |
US6029187A (en) * | 1997-10-28 | 2000-02-22 | Atmel Corporation | Fast regular multiplier architecture |
US7313585B2 (en) * | 2003-08-30 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Multiplier circuit |
US7769797B2 (en) * | 2004-01-20 | 2010-08-03 | Samsung Electronics Co., Ltd. | Apparatus and method of multiplication using a plurality of identical partial multiplication modules |
CN106445471B (zh) * | 2016-10-13 | 2018-06-01 | 北京百度网讯科技有限公司 | 处理器和用于在处理器上执行矩阵乘运算的方法 |
CN107977191B (zh) * | 2016-10-21 | 2021-07-27 | 中国科学院微电子研究所 | 一种低功耗并行乘法器 |
CN111258546B (zh) * | 2018-11-30 | 2022-08-09 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、芯片及电子设备 |
CN111258545B (zh) * | 2018-11-30 | 2022-08-09 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、芯片及电子设备 |
CN111258633B (zh) * | 2018-11-30 | 2022-08-09 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、芯片及电子设备 |
CN110209374B (zh) * | 2019-05-23 | 2021-04-20 | 浙江大学 | 一种基于racetrack memory的乘法器及其操作方法 |
CN110378477B (zh) * | 2019-08-30 | 2023-09-08 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、芯片及电子设备 |
CN114840170B (zh) * | 2022-04-14 | 2024-07-02 | 苏州大学 | 基于阻类存储器的2bit和4bit***树型乘法器电路 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4153938A (en) * | 1977-08-18 | 1979-05-08 | Monolithic Memories Inc. | High speed combinatorial digital multiplier |
JPS5663649A (en) * | 1979-10-26 | 1981-05-30 | Nec Corp | Parallel multiplication apparatus |
FR2524175A1 (fr) * | 1982-03-25 | 1983-09-30 | Labo Cent Telecommunicat | Structure de multiplieur rapide en circuit integre mos |
US4556948A (en) * | 1982-12-15 | 1985-12-03 | International Business Machines Corporation | Multiplier speed improvement by skipping carry save adders |
JPS60105042A (ja) * | 1983-08-05 | 1985-06-10 | テキサス インスツルメンツ インコ−ポレイテツド | マルチレベル論理回路 |
JPS60237534A (ja) * | 1984-05-09 | 1985-11-26 | Toshiba Corp | 並列乗算器 |
US4575812A (en) * | 1984-05-31 | 1986-03-11 | Motorola, Inc. | X×Y Bit array multiplier/accumulator circuit |
JPS6158036A (ja) * | 1984-08-29 | 1986-03-25 | Toshiba Corp | 乗算器 |
JPS61114338A (ja) * | 1984-11-09 | 1986-06-02 | Hitachi Ltd | 乗算器 |
GB2189630B (en) * | 1986-04-23 | 1990-02-14 | Stc Plc | Multiplier |
JPS6378229A (ja) * | 1986-09-20 | 1988-04-08 | Fujitsu Ltd | 乗算器の単位回路 |
US4809211A (en) * | 1986-09-25 | 1989-02-28 | Texas Instruments Incorporated | High speed parallel binary multiplier |
US4918639A (en) * | 1987-11-03 | 1990-04-17 | International Business Machines Corporation | Overlapped multiple-bit scanning multiplication system with banded partial product matrix |
JPH01228023A (ja) * | 1988-03-08 | 1989-09-12 | Nec Corp | 全加算器 |
JPH083787B2 (ja) * | 1988-10-21 | 1996-01-17 | 株式会社東芝 | 単位加算器および並列乗算器 |
-
1990
- 1990-05-31 KR KR1019900008199A patent/KR920006323B1/ko not_active IP Right Cessation
-
1991
- 1991-01-04 US US07/638,449 patent/US5181185A/en not_active Expired - Lifetime
- 1991-01-14 JP JP03015984A patent/JP3115009B2/ja not_active Expired - Lifetime
- 1991-01-15 FR FR9100362A patent/FR2662829B1/fr not_active Expired - Lifetime
- 1991-01-15 IT ITMI910076A patent/IT1245097B/it active IP Right Grant
- 1991-01-15 CN CN91100375A patent/CN1020806C/zh not_active Expired - Lifetime
- 1991-01-15 GB GB9100849A patent/GB2244572B/en not_active Expired - Lifetime
- 1991-01-15 DE DE4101004A patent/DE4101004C2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR920006323B1 (ko) | 1992-08-03 |
GB9100849D0 (en) | 1991-02-27 |
GB2244572A (en) | 1991-12-04 |
ITMI910076A1 (it) | 1992-07-15 |
ITMI910076A0 (it) | 1991-01-15 |
FR2662829B1 (fr) | 1995-10-20 |
CN1056939A (zh) | 1991-12-11 |
GB2244572B (en) | 1993-12-01 |
IT1245097B (it) | 1994-09-13 |
JPH0520030A (ja) | 1993-01-29 |
CN1020806C (zh) | 1993-05-19 |
DE4101004A1 (de) | 1991-12-05 |
KR910020549A (ko) | 1991-12-20 |
DE4101004C2 (de) | 1994-08-11 |
FR2662829A1 (fr) | 1991-12-06 |
US5181185A (en) | 1993-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3115009B2 (ja) | 跳躍配列と修正形ワラストリーとを使用する並列乗算器 | |
Lang et al. | A radix-10 combinational multiplier | |
Srinivas et al. | A fast VLSI adder architecture | |
US20110264719A1 (en) | High radix digital multiplier | |
Sakthikumaran et al. | A very fast and low power carry select adder circuit | |
JPH0375901B2 (ja) | ||
Vassiliadis et al. | Hard-wired multipliers with encoded partial products | |
Oklobdzija | High-speed VLSI arithmetic units: Adders and multipliers | |
US8577952B2 (en) | Combined binary/decimal fixed-point multiplier and method | |
Sharma et al. | Modified booth multiplier using wallace structure and efficient carry select adder | |
Mohan et al. | Evaluation of Mixed-Radix Digit Computation Techniques for the Three Moduli RNS {2 n− 1, 2 n, 2 n+ 1− 1} | |
Kulkarni et al. | MAC unit optimization for area power and timing constraints | |
Liao et al. | A carry-select-adder optimization technique for high-performance booth-encoded wallace-tree multipliers | |
Likhar | Design and comparison of regularize modified booth multiplier using different adders | |
US20080021947A1 (en) | Triple-base number digital signal and numerical processing system | |
Großschadl | A unified radix-4 partial product generator for integers and binary polynomials | |
Castellanos et al. | Decimal partial product generation architectures | |
Ab et al. | An Efficient VLSI Architecture for Analysis of Area, Delay and Power Consumption-A Review | |
Gutub et al. | Efficient Adders to Speedup Modular Multiplication for Cryptography | |
Grisamore et al. | Negative save sign extension for multi-term adders and multipliers | |
TWI251167B (en) | Asynchronous multiplier | |
JYOTHI et al. | Implementation of Modified Booth Algorithm for Power Critical Applications | |
Amrutha et al. | HIGH-SPEED DOUBLE MULTIPLICATION ARCHITECTURE FOR PARALLEL MULTIPLICATION USING MASTROVITO MULTIPLIER. | |
SUREKHA et al. | Pre Encoded Multipliers Based on Non Redundant Radix-4 Design Using Modified Wallace Scheme | |
Chaudhary et al. | High Performance Fast Multiplier |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080929 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080929 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090929 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110929 Year of fee payment: 11 |