JP2700876B2 - 並列乗算器 - Google Patents
並列乗算器Info
- Publication number
- JP2700876B2 JP2700876B2 JP7231788A JP23178895A JP2700876B2 JP 2700876 B2 JP2700876 B2 JP 2700876B2 JP 7231788 A JP7231788 A JP 7231788A JP 23178895 A JP23178895 A JP 23178895A JP 2700876 B2 JP2700876 B2 JP 2700876B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- input
- dividing circuit
- bits
- output
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
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
特に、いろいろな種類の入力割り回路を順次連結し加算
を行なって、回路の構成が簡単かつ配線連結が容易で、
演算時間を減らし得る並列乗算器に関するものである。
被乗数と乗数との乗算において、まず、乗数の各ビット
に対し被乗数との部分積を行ない、それら部分積を左側
に1つのビットずつシフト(shift)して、それら
シフトされた部分積を加算する。このため、乗算の速度
は加算の速度により大きく影響を受け、このような部分
積による処理過程について2進数10102 (1010)
と11102 (1410)との乗算の例を挙げて説明す
る。
積を加算する方法により並列乗算器と直列乗算器とに区
別され、該直列乗算器は、乗算の各々の桁(20 ,
21 ,…,2n )に対する部分積を、nビットの容量を
有する1つの加算演算装置と部分和を貯蔵するレジスタ
とを備え、各部分積に対し順次加算を行なう。
は比較的単純であるが、各演算の段階ごとにクロックパ
ルス(clock pulse)を必要とし、順次行な
われる演算による時間の消耗が大きいため、高速処理を
要する演算装置としては使われない。
(21 ,…,2n )に対する部分積を、複数個のnビッ
トの容量を有する加算演算装置を用いて並列の乗算演算
を行なうため、演算速度が速く高速処理装置に主に使わ
れる。
したように、被乗数(X0〜X3)および乗数(Y0〜
Y3)がそれぞれ4ビットである場合、ビットY0と該
当の各ビットX0〜X3とをAND演算するANDゲー
ト(AD1〜AD4)と、ビットY1と該当の各ビット
X0〜X3とをAND演算するANDゲート(AD5〜
AD8)と、2つのANDゲートAD2,AD5の出力
ビットを加算する半加算器1と、該半加算器1から出力
したキャリ(carry)ビットCoと2つのANDゲ
ートAD3,AD6の出力ビットとを加算する全加算器
2と、該全加算器2から出力したキャリビットCoと2
つのANDゲートAD4,AD7の出力ビットとを加算
する全加算器3と、該全加算器3から出力したキャリビ
ットCoとANDゲートAD8の出力ビットとを加算す
る半加算器4と、ビットY2と該当の各ビット(X0〜
X3)とをAND演算するANDゲート(AD9〜AD
12)と、前記全加算器2から出力した合算(sum)
ビットSおよびANDゲートAD9の出力ビットとを加
算する半加算器5と、該半加算器5から出力したキャリ
ビットCoと前記全加算器3から出力した合算SとAN
DゲートAD10の出力ビットとを加算する全加算器6
と、該全加算器6から出力したキャリビットCoと前記
半加算器4から出力した合算ビットSとANDゲートA
D11の出力ビットとを加算する全加算器7と、前記半
加算器4から出力したキャリビットCoと前記半加算器
4から出力したキャリビットCoとANDゲートAD1
2の出力ビットとを加算する全加算器8と、ビットY3
と該当の各ビットX0〜X3とをAND演算するAND
ゲートAD13〜AD16と、前記全加算器6から出力
した合算ビットSとANDゲートAD13の出力ビット
とを加算する半加算器9と、該半加算器9から出力した
キャリビットCoと前記全加算器7から出力した合算ビ
ットSとANDゲートAD14の出力ビットとを加算す
る全加算器10と、該全加算器10から出力したキャリ
ビットCoと前記全加算器8から出力した合算ビットS
とANDゲートAD15の出力ビットとを加算する全加
算器11と、該全加算器11から出力したキャリビット
Coと前記全加算器8から出力したキャリビットCoと
ANDゲートAD16の出力ビットとを加算する全加算
器12と、から構成される。
いては、図12(A)に示したように、2つの入力ビッ
トA,BをAND演算しキャリビットを出力するAND
ゲートAD17と、前記入力ビットA,Bを排他的論理
和(exclusive OR)演算し合算ビットを出
力する排他的論理和ゲート(XOR1)とからそれぞれ
構成される。
10,11,12においては、図12(B)に示したよ
うに、2つの入力ビットA′,B′を加算する半加算器
20と、該半加算器20から出力した合算ビットSと入
力されたキャリビットCiとを加算し合算ビットS′を
出力する半加算器21と、該加算器21から出力したキ
ャリビットCoと前記半加算器20から出力したキャリ
ビットCoとを論理和演算しキャリビットCo′を出力
する論理和ゲートOR1と、からそれぞれ構成される。
用について図11および図12を参照して説明する。
ットM0は乗算の結果の最下位ビットになる。半加算器
1はANDゲートAD2およびAD5の出力ビットを加
算し乗算結果のビットM1を出力し、全加算器2はAN
DゲートAD3およびAD6の出力ビットと前記半加算
器1から出力したキャリビットCoとを加算し、半加算
器5は前記全加算器2から出力した合算ビットSとAN
DゲートAD9の出力ビットとを加算し乗算結果のビッ
トM2を出力する。
4,AD7の出力ビットと前記全加算器2から出力した
キャリビットCoとを加算し、全加算器6は前記全加算
器3から出力した合算ビットSとANDゲートAD10
の出力ビットと前記半加算器5から出力したキャリビッ
トCoとを加算し、半加算器9は前記全加算器6から出
力した合算ビットSとANDゲートAD13の出力ビッ
トとを加算し乗算結果のビットM3を出力する。
力したキャリビットCoとANDゲートAD8の出力ビ
ットとを加算し、全加算器7は前記半加算器4から出力
した合算ビットSとANDゲートAD11の出力ビット
と前記全加算器6から出力したキャリビットCoとを加
算し、全加算器10は前記全加算器7から出力した合算
ビットSとANDゲートAD14の出力ビットと前記半
加算器9から出力したキャリビットとを加算し乗算結果
のビットM4を出力する。
出力したキャリビットCoとANDゲートAD12の出
力ビットと前記全加算器7から出力したキャリビットC
oとを加算し、全加算器11は前記全加算器8から出力
した合算ビットSとANDゲートAD15の出力ビット
と前記全加算器10から出力したキャリビットとを加算
し、乗算結果のビットM5を出力する。
ら出力したキャリビットCoとANDゲートAD16の
出力ビットと前記全加算器11から出力したキャリビッ
トCoとを加算し乗算結果のビットM6を出力し、前記
全加算器12から出力したキャリビットCoは乗算結果
の最高位ビットM7になる。
積または部分和の貯蔵のためにレジスタを使用せずに並
列の乗算演算を行なうことができるため、直列乗算器よ
り一層速い演算速度が得られる。
め、演算速度が、ANDゲートの部分積の演算に消耗さ
れる時間よりも加算器の部分和の演算に消耗される時間
に従って決定される。たとえば、乗数および被乗数がn
ビットにそれぞれなっている場合、必要なトランジスタ
の数はn2 に比例して製造費用が大きくなるという問題
点があった。
る時間を減らすための多くの研究が行なわれており、現
在使用されている並列乗算器の中で一番演算処理速度が
速いものは、加算演算の速度を向上させるためにウォー
レスツリー(wallacetree)、または変更さ
れたウォーレスツリーを用いた並列乗算器である。
を利用した並列乗算器の一例は、韓国延世大学校電算学
科の韓鐸敦、牟相晩が1990年度秋界綜合学術大会の
第13巻第2号に“高速並列乗算器の設計および具現”
の題目に発表した論文に掲載されている。
明する。図13(A)に示したように、3ビットの入力
を有するウォーレスツリーである場合、2n 桁のビット
A,B,Cが入力され、2n 桁の合算ビットSと2n+1
桁のキャリビットCoとを出力する。すなわち、図13
(B)に示したように、入力された前記ビットA,B,
Cがそれぞれ加算されると、全加算器と同様なキャリビ
ットCoおよび合算ビットSが出力する。
レスツリーは全加算器と同様であり、また、2ビットの
入力を有するウォーレスツリーは半加算器と同様であ
る。その他の入力ビットに該当するウォーレスツリーは
複数個の全加算器および半加算器からなる。
スツリーである場合、N+1ビットが出力され、該出力
したN+1ビットはそれぞれ2n ,2n-1 ,…,20 の
桁を有する。
が増加するたびごとに前記のような全加算器を多く連結
するべきである。たとえば、7ビットの入力を有するウ
ォーレスツリーは、図14(A)に示したように、各々
2n の桁の3ビットA,B,Cが入力されるウォーレス
ツリー30,31と、2n 桁のビット、前記ウォレース
ツリー30の合算ビットS、および前記ウォーレスツリ
ー31の合算ビットSを入力し、2n 桁の合算ビットS
を出力するウォーレスツリー32と、該ウォーレスツリ
ー32のキャリビットCo、前記ウォーレスツリー31
のキャリビットCo、および前記ウォーレスツリー30
のキャリビットCoを入力し2n+1 桁の合算ビットSお
よび2n+2 桁のキャリビットCoを出力するウォーレス
ツリー33と、から構成される。
は、図14(B)に示したように、7ビットの入力中で
‘1’の個数を2進数に表わすことができ、桁の同じ多
くのビットの入力をすべて合算し、それら合算結果を2
進数として出力する。すなわち、入力ビットに包含され
た‘1’の個数は入力ビットの合算結果と同様である。
を有する複数個のウォーレスツリーが順次連結されてい
る。すなわち、ウォーレスツリー35は2n 桁の16ビ
ットを入力し、2n+4 ,2n+3 ,2n+2 ,2n+1 ,およ
び2n 桁の5ビットを出力する。次いで、ウォーレスツ
リー36は前記ウォーレスツリー35から出力した2
n+1 桁のビットを含んだ2n+1 桁の16ビットを入力
し、2n+5 ,2n+4 ,2n+ 3 ,2n+2 ,および2n+1 桁
の5ビットを出力する。そして、ウォーレスツリー37
は、前記ウォーレスツリー35から出力した2n+2 桁の
ビットおよび前記ウォーレスツリー36から出力した2
n+1 桁のビットに含まれた2n+2 桁の16ビットを入力
し、2n+6 ,2n+5 ,2n+4 ,2n+3 ,および2n+2 桁
の5ビットを出力する。
ーレスツリーを加算演算に用いると、加算演算の速度が
向上し並列乗算の速度も向上する。
ウォーレスツリーを用いた並列乗算器は、図11に示し
た基本的な並列乗算器に比べ演算速度は向上されるが、
入力ビットの個数に従い不規則な構造を有し、ウォーレ
スツリーから出力したキャリビットによる時間の遅延が
大きく、また、乗数および被乗数がそれぞれnビットで
ある場合、使用されるトランジスタの個数はn2 log
nに比例するため、前記基本的な並列乗算器と同様に回
路が複雑であり、レイアウト(layout)の設計が
難しくかつ製造費用が上昇するという問題点があった。
め、本発明は、入力ビットに含まれた‘1’の個数を2
で割り、それら割った値を再び‘1’の個数に表わすこ
とができるように、複数個の入力割り回路を含んだ並列
乗算器を提供することをその目的とする。
を達成するため、本発明は、Nビットの被乗数とMビッ
トの乗数とを乗算演算する場合、前記被乗数の各ビット
と前記乗数の最下位ビットから最高位ビットまでのビッ
トとをそれぞれAND演算し部分積の演算を行なって、
乗算の結果の最下位ビットを出力するANDゲートが含
まれるN×M個のANDゲートと、一般の2進数乗算の
方式に従い前記複数個のANDゲートの出力ビットが1
つのビットずつ左側にシフトして再配置される場合、そ
れら再配置した出力ビットの中で該当する位置の出力ビ
ットおよび前段から出力した割り前ビットを入力し、ま
た、割り前ビットと乗算結果の各ビットに該当する残り
ビットとを出力する2、3、4入力割り回路を含む複数
個の入力割り回路と、から構成される。
よび最高位ビットM7の含まれた8ビットM0〜M7を
乗算結果として出力する。最下位ビットはANDゲート
AD21から出力し、2入力割り回路、4入力割り回
路、6入力割り回路、および5入力割り回路からそれぞ
れ出力した残りビットRは乗算結果のビットM1〜M5
に該当する。そして、前記3入力割り回路から出力した
残りビットRは乗算結果のビットM6に該当し、1つの
割り前ビットOUTは乗算結果の最高位ビットM7に該
当する。
ついて図面を用いて詳細に説明する。
(A)に示したように、加算演算をするために2n 桁4
ビットA,B,C,Dを入力し、2n 桁の残りビットR
および2 n+1 桁の割り前ビットS1,S2を出力する4
入力割り回路40が用いられ、該4入力割り回路40の
真理値は図1(B)に示している。すなわち、前記4入
力割り回路40は、図1(C)に示したように、入力さ
れた4ビットA,B,C,Dの中で‘1’の値の個数を
出力に示すことで、入力された‘1’の個数を2で割っ
た割り前は前記割り前ビットS1,S2に包含された
‘1’の個数と同じであり、2で割った残りは前記残り
ビットRとして表われる。
ては、図2に示したように、前記3ビットA,B,C,
DをAND演算しビットS2を出力するANDゲート4
1と、前記4ビットA,B,C,Dの中で‘1’の値が
2つ以上である場合、‘1’の値を有する割り前ビット
S1を出力する入力感知部42と、前記4ビットA,
B,C,Dを排他的論理和演算し残りビットRを出力す
る排他的論理和ゲート43とから構成される。
したように、電源電圧VDDが一方側に連結される
‘0’感知部420と、一方側が該‘0’感知部420
の他方側に連結され他方側が接地された‘1’感知部4
40と、該‘1’感知部440の一方側および‘0’感
知部420の他方側の信号を反転しビットSを出力する
インバータ460とから構成される。
Dが一方側に印加し、他方側が前記インバータ460の
入力端および前記‘1’感知部440に共通連結された
複数個のPMOSトランジスタ部421,425,42
9,433を備え、また、前記‘1’感知部440は、
一方側が前記‘0’感知部420および前記インバータ
460の入力端に共通連結され、他方側が接地された複
数個のNMOSトランジスタ部441,444,44
7,450,453,456を備え構成される。
ては、入力ビットAがゲートに印加されるPMOSトラ
ンジスタ422と、入力ビットBがゲートに印加される
PMOSトランジスタ423と、入力ビットCがゲート
に印加されるPMOSトランジスタ424とが相互に直
列連結されて構成される。かつ、前記PMOSトランジ
スタ425においては、入力ビットAがゲートに印加さ
れるPMOSトランジスタ426と、入力ビットBがゲ
ートに印加されるPMOSトランジスタ427と、入力
ビットDがゲートに印加されるPMOSトランジスタ4
28とが相互に直列連結されて構成される。また、前記
PMOSトランジスタ部429においては、入力ビット
Aがゲートに印加されるPMOSトランジスタ430
と、入力ビットCがゲートに印加されるPMOSトラン
ジスタ431と、入力ビットDがゲートに印加されるP
MOSトランジスタ432とが相互に直列連結されて構
成される。さらに、前記PMOSトランジスタ部433
においては、入力ビットBがゲートに印加されるPMO
Sトランジスタ434と、入力ビットCがゲートに印加
されるPMOSトランジスタ435と、入力ビットDが
ゲートに印加されるPMOSトランジスタ436とが相
互に直列連結されて構成される。
ては、入力ビットAがゲートに印加されるNMOSトラ
ンジスタ442と、入力ビットBがゲートに印加される
NMOSトランジスタ443とが相互に直列連結されて
構成される。かつ、前記NMOSトランジスタ部444
においては、入力ビットAがゲートに印加されるNMO
Sトランジスタ445と、入力ビットCがゲートに印加
されるNMOSトランジスタ446とが相互に直列連結
されて構成される。また、前記NMOSトランジスタ部
447においては、入力ビットAがゲートに印加される
NMOSトランジスタ448と、入力ビットDがゲート
に印加されるNMOSトランジスタ449とが相互に直
列連結されて構成される。また、前記NMOSトランジ
スタ部450においては、入力ビットBがゲートに印加
されるNMOSトランジスタ451と、入力ビットCが
ゲートに印加されるNMOSトランジスタ452とが相
互に直列連結されて構成される。また、前記NMOSト
ランジスタ部453においては、入力ビットBがゲート
に印加されるNMOSトランジスタ454と、入力ビッ
トDがゲートに印加されるNMOSトランジスタ455
とが相互に直列連結されて構成される。さらに、NMO
Sトランジスタ部456においては、入力ビットCがゲ
ートに印加されるNMOSトランジスタ457と、入力
ビットDがゲートに印加されるNMOSトランジスタ4
58とが相互に直列連結されて構成される。
において、ANDゲート41は2n桁の前記4ビット
A,B,C,DをAND演算し2n+1 桁のビットS2を
出力し、排他的論理和ゲート43は2n 桁の前記4ビッ
トA,B,C,Dを排他的論理和演算し2n+1 桁の残り
ビットRを出力する。そして、2n 桁の前記4ビット
A,B,C,Dは入力感知部42の‘0’感知部420
および‘1’感知部440に入力される。
の中で‘0’の値が3つ以上である場合、複数個のPM
OSトランジスタ部421,425,429,433の
中で少なくとも1つのPMOSトランジスタ部に含まれ
たPMOSトランジスタがターンオンされ、電源電圧V
DDにより‘1’がインバータ460に入力され、イン
バータ460は‘0’の値を有するビットSを出力す
る。
の値が2つ以上である場合、複数個のNMOSトランジ
スタ部441,444,447,450,453,45
6の中で少なくとも1つのNMOSトランジスタ部に含
まれたNMOSトランジスタがターンオンされ、‘0’
がインバータ460に入力され、インバータ460は
‘1’の値を有するビットSを出力する。
たビットSは前記4入力割り回路40から出力した割り
前ビットS1に該当する。
つ以上の‘1’を入力する場合、‘1’の値を有する割
り前ビットS1を出力し、すべての入力ビットが‘1’
の値を有する場合、前記割り前ビットS1,S2に含ま
れた‘1’の個数は前記4入力割り回路40に入力され
る‘1’の個数を2で割った割り前に該当する。
な種類の入力割り回路を具現し得る。たとえば、図4
(A)を参照し8入力割り回路について説明する。
ット(I1〜I8)を入力し、それら入力された8ビッ
トの中で‘1’の個数を2で割った残りに該当する2n
桁の残りビットと、‘1’の個数を2で割った割り前を
表わす2n+1 桁の割り前ビットS1′〜S4′を出力す
る。
4(B)に示したように、4ビットI1〜I4を入力す
る4入力割り回路40と、4ビットI5〜I8を入力す
る4入力割り回路40′と、該4入力割り回路40′か
ら出力した残りヒットR、前記4入力割り回路40から
出力した残りビットR、および割り前ビットS2を論理
演算する論理演算部51とから構成される。
力割り回路40および前記4入力割り回路40′からそ
れぞれ出力した残りビットRを排他的論理和演算し残り
ビットR′を出力する排他的論理和ゲート52と、前記
4入力割り回路40および前記4入力割り回路40′か
らそれぞれ出力した残りビットRをAND演算するAN
Dゲート53と、該ANDゲート53の出力ビットと前
記4入力割り回路40から出力した割り前ビットS2と
を論理和演算する論理和ゲート54とから構成される。
50において、前述したような動作に従い前記4入力割
り回路40および前記4入力割り回路40′はビット
R,S1,S2をそれぞれ出力する。しかるに、前記4
入力割り回路40および前記4入力割り回路40′から
それぞれ出力した残りビットはすべて‘1’の値を有す
る場合があり、このため、論理演算回路51を付加的に
必要とする。該論理演算回路51において、ANDゲー
ト53は前記4入力割り回路40および前記4入力割り
回路40′からそれぞれ出力した残りビットRをAND
演算し、論理和ゲート54は前記4入力割り回路40か
ら出力した割り前ビットS2と前記NANDゲートS1
の出力ビットとを論理和演算し2n+1 桁の割り前ビット
S′2を出力する。かつ、排他的論理和ゲート52は前
記4入力割り回路40および前記4入力割り回路40′
からそれぞれ出力した残りビットRを排他的論理和演算
し2 n 桁の残りビットR′を出力する。また、前記4入
力割り回路40の割り前ビットS1に該当する割り前ビ
ットS′1、前記4入力割り回路40′の割り前ビット
S1に該当する割り前ビットS′3、および前記4入力
割り回路40′の割り前ビットS2に該当する割り前ビ
ットS′4はすべて2n 桁のビットである。
5を参照して説明する。図4(B)に示したような4入
力割り回路40,40′および排他的論理和ゲート52
と、4入力割り回路40,40′からそれぞれ出力した
残りビットをAND演算するANDゲート55と、該A
NDゲート55の出力ビット、4入力割り回路40の割
り前ビットS2、および4入力割り回路40′の割り前
ビットS2を論理和演算する論理和ゲート56と、4入
力割り回路40の割り前ビットS2および4入力割り回
路40′の割り前ビットS2をAND演算するANDゲ
ート57とから構成される。
ように8入力割り回路50,50′と、該8入力割り回
路50,50′の各出力ビットR′,S′4を前述のよ
うに論理演算する論理演算部51′とから構成される。
入力割り回路は全加算器とそれぞれ同様であり、2、3
入力割り回路と前述した入力割り回路とを相互に適切に
連結すると、入力ビットの数に従い多様な入力割り回路
を具現することができる。
たように、4入力割り回路40と、該4入力割り回路4
0の残りビットRと入力された5ビットの中で1つのビ
ットを排他的論理和演算する排他的論理和ゲート60と
から構成される。
ように、2入力割り回路61と、4入力割り回路40
と、該4入力割り回路40の出力ビットRおよび前記2
ビット入力割り回路61の出力ビットR,Sを前述のよ
うな方式により論理演算する論理演算部51とから構成
される。
ように、3入力割り回路62と、4入力割り回路40
と、8入力割り回路50と、該8入力割り回路50の残
りビットRおよび前記4入力割り回路40の出力ビット
S2,Rを論理演算する論理演算部51と、該論理演算
部51に含まれた排他的論理和ゲートの出力ビットおよ
び3入力割り回路62の出力ビットR,Sを前述のよう
な方式に論理演算する論理演算部51′とから構成され
る。
並列乗算器の実施の形態は、図10に示したように、被
乗数X0〜X3および乗数Y0〜Y3がそれぞれ4ビッ
トである場合、ビットY0と該当する各ビットX0〜X
3とをそれぞれAND演算するANDゲートAD21〜
AD24と、ビットY1と該当する各ビットX0〜X3
とをそれぞれAND演算するANDゲートAD25〜A
D28と、ビットY2と該当する各ビットX0〜X3と
をそれぞれAND演算するANDゲートAD29〜AD
32と、ビットY3と該当する各ビットX0〜X3とを
それぞれAND演算するANDゲートAD33〜AD3
6と、ANDゲートAD22,AD25の出力ビットを
入力し1つの割り前ビットOUTおよび残りビットRを
出力する2入力割り回路70と、該2入力割り回路70
から出力した割り前ビットOUTとANDゲートAD2
3,AD26,AD29の出力ビットとを入力し2つの
割り前ビットOUTおよび残りビットRを出力する4入
力割り回路71と、該4入力割り回路71から出力した
割り前ビットOUTとANDゲートAD24,AD2
7,AD30,AD33の出力ビットとを入力し3つの
割り前ビットOUTおよび残りビットRを出力する6入
力割り回路72と、該6入力割り回路72から出力した
割り前ビットOUTとANDゲートAD28,AD3
1,AD34の出力ビットとを入力し3つの割り前ビッ
トOUTおよび残りビットRを出力する6入力割り回路
73と、該6入力割り回路73から出力した割り前ビッ
トOUTとANDゲートAD32,AD35の出力ビッ
トとを入力し2つの割り前ビットOUTおよび残りビッ
トRを出力する5入力割り回路74と、該5入力割り回
路74から出力した割り前ビットOUTとANDゲート
AD36の出力ビットとを入力し1つの割り前ビットO
UTおよび残りビットRを出力する3入力割り回路75
と、から構成される。
対し説明する。前記並列乗算器は、被乗数X0〜X3と
乗数Y0〜Y3とを乗算し、最下位ビットM0および最
高位ビットM7の含んだ8ビットM0〜M7を乗算結果
として出力し、最下位ビットM0はANDゲートAD2
1から出力する。
回路71、6入力割り回路72,73、および5入力割
り回路74からそれぞれ出力した残りビットRは乗算結
果のビットM1〜M5に該当する。そして、前記3入力
割り回路75から出力した残りビットRは乗算結果のビ
ットM6に該当し、1つの割り前ビットOUTは乗算結
果の最高位ビットM7に該当する。
算器は多様な入力割り回路を用い、入力した‘1’の個
数を2で割りそれら割り前ビットおよび残りビットとし
て入力された‘1’の個数を表わすことで、演算処理速
度を向上させ、回路の具現が簡単になりかつ規則的な構
造を有し得、また、レイアウトの設計時にチップの面積
を減少させ集積度を向上し得る。
加するほど、本発明は演算速度およびチップの面積に対
し優秀な特性を有し、高度のマイクロプロセッサ、演算
装置、およびデータ処理装置に適用する場合、その効率
性が増加するという効果がある。
は4入力割り回路40のブロック図であり、(B)は4
入力割り回路40の真理値表の図であり、(C)は4入
力割り回路40の入出力特性を説明するための図であ
る。
る。
あり、(A)は8入力割り回路のブロック図であり、
(B)は8入力割り回路の詳細回路図である。
図である。
ある。
ブロック図である。
構成された全加算器とその真理表を示す図であり、
(A)はウォーレスツリーのブロック図であり、(B)
はウォーレスツリーの真理表の図である。
スツリーの連結方法を示したブロック図である。
Claims (13)
- 【請求項1】 Nビットの被乗数とMビットの乗数とを
乗算演算する場合、該被乗数の各ビットと乗数の最下位
ビットから最高位ビットまでのビットとをそれぞれAN
D演算し部分積の演算を行ない、乗算の結果の最下位ビ
ットを出力するANDゲートを含む複数個(N×M個)
のANDゲートと、 一般の2進数乗算の方式に従い、前記複数個のANDゲ
ートの出力ビットが1つのビットずつ左側にシフトして
再配置され、それら再配置した出力ビットの中で該当す
る位置の出力ビットおよび前段から出力された割り前ビ
ットを入力し、かつ、割り前ビットと、乗算結果の各ビ
ットに該当する残りビットとを出力する2、3、4入力
割り回路を含む複数個の入力割り回路とから構成され、 前記複数個の入力割り回路の各々は、その入力割り回路
に入力されたビットの個数を2で割った割り前と同数の
割り前ビットを有し、かつ、入力されたビットに包含さ
れた‘1’の個数を2で割った結果の割り前と同数の
‘1’を割り前ビットに与え、残りを残りビットにそれ
ぞれ与えることを特徴とする並列乗算器。 - 【請求項2】 前記入力割り回路の中で乗算結果の中の
次高位ビットを出力する入力割り回路は、その割り前ビ
ットを乗算結果の最高位ビットとして出力することを特
徴とする請求項1に記載の並列乗算器。 - 【請求項3】 4ビットの入力を有する4入力割り回路
は、入力ビットに包含された‘1’の個数が2つ以上で
あるかを感知し第1割り前ビットを出力する入力感知部
42と、 前記入力ビットをAND演算し第2割り前ビットを出力
するANDゲート41と、 前記入力ビットを排他的論理和演算し残りビットを出力
する排他的論理和ゲート43とから構成されることを特
徴とする請求項1に記載の並列乗算器。 - 【請求項4】 前記入力感知部42は、一方側が電源電
圧VDDに連結され、入力ビットに包含された‘1’の
個数が3つ以上であるかを感知する‘0’感知部420
と、 一方側が該‘0’感知部の他方側に連結され他方側が接
地されて、入力ビットに包含された‘1’の個数が2つ
以上であるかを感知する‘1’感知部440と、 入力端が前記‘0’感知部の他方側と前記‘1’感知部
の一方側とに共通接続し、第1割り前ビットを出力する
インバータ460とから構成されることを特徴とする請
求項3に記載の並列乗算器。 - 【請求項5】 前記‘0’感知部420は、入力ビット
に包含された‘0’の個数が3つ以上であると、全部タ
ーンオンされるように相互に直列連結した複数個のPM
OSトランジスタを備えたPMOSトランジスタ部42
1,425,429,433から構成されることを特徴
とする請求項4に記載の並列乗算器。 - 【請求項6】 前記‘1’感知部は、入力ビットに包含
された‘1’の個数が2つ以上であると、全部ターンオ
ンされるように相互に直列連結した複数個のNMOSト
ランジスタを備えたNMOSトランジスタ部441,4
44,447,450,453,456から構成される
ことを特徴とする請求項4に記載の並列乗算器。 - 【請求項7】 前記入力割り回路の中で5ビットの入力
を有する5入力割り回路は、4入力割り回路と、該4入
力割り回路から出力した残りビットおよび前記5ビット
中の1つのビットを排他的論理和演算し所定の残りビッ
トを出力する排他的論理和ゲートと、から構成されるこ
とを特徴とする請求項1に記載の並列乗算器。 - 【請求項8】 前記入力割り回路の中で6ビット以上の
入力ビットを有する入力割り回路は、半加算器と同様な
2入力割り回路と、全加算器と同様な3入力割り回路
と、4ビットの入力を有する4入力割り回路と、を入力
ビットの数に合うように選択的に包含させて構成し、2
つ以上の入力回路を相互連結し所定の割り前ビットおよ
び残りビットを出力する論理演算部を付加的に含んでな
ることを特徴とする請求項1に記載の並列乗算器。 - 【請求項9】 前記論理演算部は、2つの入力割り回路
からそれぞれ出力した残りビットを排他的論理和演算し
所定の残りビットを出力する排他的論理和ゲートと、2
入力割り回路からそれぞれ出力した残りビットをAND
演算するANDゲートと、該ANDゲートの出力ビット
および前記2つの入力割り回路中で1つの入力割り回路
から出力した割り前ビットを論理和演算する論理和ゲー
トと、から構成されることを特徴とする請求項8に記載
の並列乗算器。 - 【請求項10】 前記入力割り回路の中で8ビットの入
力を有する8入力割り回路は、2つの4入力割り回路
と、該2つの4入力割り回路を相互連結し所定の残りビ
ットおよび割り前ビットを出力する論理演算部と、から
構成されることを特徴とする請求項8に記載の並列乗算
器。 - 【請求項11】 前記入力割り回路の中で8ビットの入
力を有する8入力割り回路は、2つの4入力割り回路
と、該4入力割り回路からそれぞれ出力した残りビット
を排他的論理和演算し所定の残りビットを出力する排他
的論理和ゲートと、前記4入力割り回路からそれぞれ出
力した残りビットをNAND演算するNANDゲート
と、該NANDゲートの出力ビット、前記4入力割り回
路の中で1つの4入力割り回路から出力した割り前ビッ
ト、および4入力割り回路から出力した割り前ビットを
論理和演算し所定の割り前ビットを出力する論理和ゲー
トと、該論理和ゲートに入力される割り前ビットをAN
D演算し所定の割り前ビットを出力するANDゲート
と、から構成されることを特徴とする請求項8に記載の
並列乗算器。 - 【請求項12】 前記入力割り回路の中で16ビットの
入力を有する16入力割り回路は、2つの8入力割り回
路と、該2つの8入力割り回路を相互連結し所定の残り
ビットおよび割り前ビットを出力する論理演算部と、か
ら構成されることを特徴とする請求項8に記載の並列乗
算器。 - 【請求項13】 前記入力割り回路の中で15ビットの
入力を有する15入力割り回路は、3入力割り回路と、
4入力割り回路と、8入力割り回路と、該8入力割り回
路および前記4入力割り回路を連結し所定の割り前ビッ
トを出力する第1論理演算部と、該第1論理演算部から
出力した残りビットおよび前記3入力割り回路の出力ビ
ットを論理演算し所定の割り前および残りビットを出力
する第2論理演算部と、から構成されることを特徴とす
る請求項8に記載の並列乗算器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019940022847A KR0152911B1 (ko) | 1994-09-10 | 1994-09-10 | 병렬승산기 |
| KR94P22847 | 1994-09-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08179930A JPH08179930A (ja) | 1996-07-12 |
| JP2700876B2 true JP2700876B2 (ja) | 1998-01-21 |
Family
ID=19392480
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7231788A Expired - Fee Related JP2700876B2 (ja) | 1994-09-10 | 1995-09-08 | 並列乗算器 |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US5798956A (ja) |
| JP (1) | JP2700876B2 (ja) |
| KR (1) | KR0152911B1 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6066178A (en) * | 1996-04-10 | 2000-05-23 | Lsi Logic Corporation | Automated design method and system for synthesizing digital multipliers |
| US5883825A (en) * | 1997-09-03 | 1999-03-16 | Lucent Technologies Inc. | Reduction of partial product arrays using pre-propagate set-up |
| US6167421A (en) * | 1998-04-09 | 2000-12-26 | Teranex, Inc. | Methods and apparatus for performing fast multiplication operations in bit-serial processors |
| US6490608B1 (en) * | 1999-12-09 | 2002-12-03 | Synopsys, Inc. | Fast parallel multiplier implemented with improved tree reduction schemes |
| EP1308836A1 (en) * | 2001-10-31 | 2003-05-07 | Motorola, Inc. | Adder tree structure with reduced carry ripple adder stage |
| US7526518B2 (en) | 2004-10-13 | 2009-04-28 | Cisco Technology, Inc. | Galois field multiplication system and method |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1076186A (en) * | 1962-11-01 | 1967-07-19 | Gen Precision Inc | Improvements in or relating to digital computing circuits |
| US3506817A (en) * | 1967-02-24 | 1970-04-14 | Rca Corp | Binary arithmetic circuits employing threshold gates in which both the sum and carry are obtained in one gate delay interval |
| US3691359A (en) * | 1970-07-28 | 1972-09-12 | Singer General Precision | Asynchronous binary multiplier employing carry-save addition |
| US3950636A (en) * | 1974-01-16 | 1976-04-13 | Signetics Corporation | High speed multiplier logic circuit |
| US3900724A (en) * | 1974-02-11 | 1975-08-19 | Trw Inc | Asynchronous binary multiplier using non-threshold logic |
| US3914589A (en) * | 1974-05-13 | 1975-10-21 | Hughes Aircraft Co | Four-by-four bit multiplier module having three stages of logic cells |
| US4369500A (en) * | 1980-10-20 | 1983-01-18 | Motorola Inc. | High speed NXM bit digital, repeated addition type multiplying circuit |
-
1994
- 1994-09-10 KR KR1019940022847A patent/KR0152911B1/ko not_active Expired - Fee Related
-
1995
- 1995-09-08 JP JP7231788A patent/JP2700876B2/ja not_active Expired - Fee Related
- 1995-09-11 US US08/526,191 patent/US5798956A/en not_active Expired - Fee Related
-
1997
- 1997-11-24 US US08/976,596 patent/US6470371B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US6470371B1 (en) | 2002-10-22 |
| JPH08179930A (ja) | 1996-07-12 |
| US5798956A (en) | 1998-08-25 |
| KR0152911B1 (ko) | 1998-10-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Mohan | Residue number systems: algorithms and architectures | |
| JPS6347874A (ja) | 算術演算装置 | |
| EP1049025A1 (en) | Method and apparatus for arithmetic operation | |
| US4556948A (en) | Multiplier speed improvement by skipping carry save adders | |
| JPS62280930A (ja) | デイジタル乗算器 | |
| JP2700876B2 (ja) | 並列乗算器 | |
| KR100308726B1 (ko) | 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법 | |
| US20040010536A1 (en) | Apparatus for multiplication of data in two's complement and unsigned magnitude formats | |
| JP3537378B2 (ja) | 加算器および集積回路 | |
| US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
| US5586071A (en) | Enhanced fast multiplier | |
| US4190894A (en) | High speed parallel multiplication apparatus with single-step summand reduction | |
| Goyal et al. | VHDL implementation of fast multiplier based on Vedic mathematic using modified square root carry select adder | |
| JPH10111791A (ja) | 除算装置 | |
| US5119325A (en) | Multiplier having a reduced number of partial product calculations | |
| JP2734438B2 (ja) | 乗算装置 | |
| Besli et al. | A 54/spl times/54 bit multiplier with a new Redundant Binary Booth's encoding | |
| JPS60112141A (ja) | 乗算回路 | |
| JPS6259828B2 (ja) | ||
| JP3540807B2 (ja) | 加算器,乗算器,及び集積回路 | |
| JPS62154029A (ja) | 乗算回路 | |
| JP2518551B2 (ja) | 多入力加算回路 | |
| Schlögl et al. | Ternary Signed Digit Addition on Field Programmable Gate Arrays | |
| KR100420410B1 (ko) | 리던던트 바이너리 연산을 이용한 실수-복소수 승산기 | |
| JP3130797B2 (ja) | 積和演算処理方法およびその装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19970819 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S631 | Written request for registration of reclamation of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313631 |
|
| S633 | Written request for registration of reclamation of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313633 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S631 | Written request for registration of reclamation of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313631 |
|
| S633 | Written request for registration of reclamation of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313633 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |