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
Application number
JP7231788A
Other languages
English (en)
Other versions
JPH08179930A (ja
Inventor
成輝 朴
Original Assignee
エル・ジー・セミコン・カンパニー・リミテッド
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 エル・ジー・セミコン・カンパニー・リミテッド filed Critical エル・ジー・セミコン・カンパニー・リミテッド
Publication of JPH08179930A publication Critical patent/JPH08179930A/ja
Application granted granted Critical
Publication of JP2700876B2 publication Critical patent/JP2700876B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/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

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は並列乗算器に係り、
特に、いろいろな種類の入力割り回路を順次連結し加算
を行なって、回路の構成が簡単かつ配線連結が容易で、
演算時間を減らし得る並列乗算器に関するものである。
【0002】
【従来の技術】一般に、2進ビット(bit)で表わす
被乗数と乗数との乗算において、まず、乗数の各ビット
に対し被乗数との部分積を行ない、それら部分積を左側
に1つのビットずつシフト(shift)して、それら
シフトされた部分積を加算する。このため、乗算の速度
は加算の速度により大きく影響を受け、このような部分
積による処理過程について2進数10102 (1010
と11102 (1410)との乗算の例を挙げて説明す
る。
【0003】
【数1】
【0004】前記のような演算を行なう乗算器は、部分
積を加算する方法により並列乗算器と直列乗算器とに区
別され、該直列乗算器は、乗算の各々の桁(20
1 ,…,2n )に対する部分積を、nビットの容量を
有する1つの加算演算装置と部分和を貯蔵するレジスタ
とを備え、各部分積に対し順次加算を行なう。
【0005】しかし、このような直列乗算器に係る回路
は比較的単純であるが、各演算の段階ごとにクロックパ
ルス(clock pulse)を必要とし、順次行な
われる演算による時間の消耗が大きいため、高速処理を
要する演算装置としては使われない。
【0006】一方、前記並列乗算器は、乗数の各々の桁
(21 ,…,2n )に対する部分積を、複数個のnビッ
トの容量を有する加算演算装置を用いて並列の乗算演算
を行なうため、演算速度が速く高速処理装置に主に使わ
れる。
【0007】従来の並列乗算器においては、図11に示
したように、被乗数(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と、から構成される。
【0008】そして、前記半加算器1,4,5,9にお
いては、図12(A)に示したように、2つの入力ビッ
トA,BをAND演算しキャリビットを出力するAND
ゲートAD17と、前記入力ビットA,Bを排他的論理
和(exclusive OR)演算し合算ビットを出
力する排他的論理和ゲート(XOR1)とからそれぞれ
構成される。
【0009】また、前記全加算器2,3,6,7,8,
10,11,12においては、図12(B)に示したよ
うに、2つの入力ビットA′,B′を加算する半加算器
20と、該半加算器20から出力した合算ビットSと入
力されたキャリビットCiとを加算し合算ビットS′を
出力する半加算器21と、該加算器21から出力したキ
ャリビットCoと前記半加算器20から出力したキャリ
ビットCoとを論理和演算しキャリビットCo′を出力
する論理和ゲートOR1と、からそれぞれ構成される。
【0010】このように構成した従来の並列乗算器の作
用について図11および図12を参照して説明する。
【0011】まず、ANDゲートAD1から出力したビ
ットM0は乗算の結果の最下位ビットになる。半加算器
1はANDゲートAD2およびAD5の出力ビットを加
算し乗算結果のビットM1を出力し、全加算器2はAN
DゲートAD3およびAD6の出力ビットと前記半加算
器1から出力したキャリビットCoとを加算し、半加算
器5は前記全加算器2から出力した合算ビットSとAN
DゲートAD9の出力ビットとを加算し乗算結果のビッ
トM2を出力する。
【0012】かつ、前記加算器3はANDゲートAD
4,AD7の出力ビットと前記全加算器2から出力した
キャリビットCoとを加算し、全加算器6は前記全加算
器3から出力した合算ビットSとANDゲートAD10
の出力ビットと前記半加算器5から出力したキャリビッ
トCoとを加算し、半加算器9は前記全加算器6から出
力した合算ビットSとANDゲートAD13の出力ビッ
トとを加算し乗算結果のビットM3を出力する。
【0013】また、半加算器4は前記全加算器3から出
力したキャリビットCoとANDゲートAD8の出力ビ
ットとを加算し、全加算器7は前記半加算器4から出力
した合算ビットSとANDゲートAD11の出力ビット
と前記全加算器6から出力したキャリビットCoとを加
算し、全加算器10は前記全加算器7から出力した合算
ビットSとANDゲートAD14の出力ビットと前記半
加算器9から出力したキャリビットとを加算し乗算結果
のビットM4を出力する。
【0014】また、前記加算器8は前記半加算器4から
出力したキャリビットCoとANDゲートAD12の出
力ビットと前記全加算器7から出力したキャリビットC
oとを加算し、全加算器11は前記全加算器8から出力
した合算ビットSとANDゲートAD15の出力ビット
と前記全加算器10から出力したキャリビットとを加算
し、乗算結果のビットM5を出力する。
【0015】さらに、全加算器12は前記全加算器8か
ら出力したキャリビットCoとANDゲートAD16の
出力ビットと前記全加算器11から出力したキャリビッ
トCoとを加算し乗算結果のビットM6を出力し、前記
全加算器12から出力したキャリビットCoは乗算結果
の最高位ビットM7になる。
【0016】このように構成された並列乗算器は、部分
積または部分和の貯蔵のためにレジスタを使用せずに並
列の乗算演算を行なうことができるため、直列乗算器よ
り一層速い演算速度が得られる。
【0017】しかし、部分和の処理時間が非常に遅いた
め、演算速度が、ANDゲートの部分積の演算に消耗さ
れる時間よりも加算器の部分和の演算に消耗される時間
に従って決定される。たとえば、乗数および被乗数がn
ビットにそれぞれなっている場合、必要なトランジスタ
の数はn2 に比例して製造費用が大きくなるという問題
点があった。
【0018】そこで、加算器の部分和の演算に消耗され
る時間を減らすための多くの研究が行なわれており、現
在使用されている並列乗算器の中で一番演算処理速度が
速いものは、加算演算の速度を向上させるためにウォー
レスツリー(wallacetree)、または変更さ
れたウォーレスツリーを用いた並列乗算器である。
【0019】そして、前記変更されたウォーレスツリー
を利用した並列乗算器の一例は、韓国延世大学校電算学
科の韓鐸敦、牟相晩が1990年度秋界綜合学術大会の
第13巻第2号に“高速並列乗算器の設計および具現”
の題目に発表した論文に掲載されている。
【0020】以下、ウォーレスツリーについて簡単に説
明する。図13(A)に示したように、3ビットの入力
を有するウォーレスツリーである場合、2n 桁のビット
A,B,Cが入力され、2n 桁の合算ビットSと2n+1
桁のキャリビットCoとを出力する。すなわち、図13
(B)に示したように、入力された前記ビットA,B,
Cがそれぞれ加算されると、全加算器と同様なキャリビ
ットCoおよび合算ビットSが出力する。
【0021】結果的に、3ビットの入力を有するウォー
レスツリーは全加算器と同様であり、また、2ビットの
入力を有するウォーレスツリーは半加算器と同様であ
る。その他の入力ビットに該当するウォーレスツリーは
複数個の全加算器および半加算器からなる。
【0022】また、2n ビットの入力を有するウォーレ
スツリーである場合、N+1ビットが出力され、該出力
したN+1ビットはそれぞれ2n ,2n-1 ,…,20
桁を有する。
【0023】このようなウォーレスツリーは入力の個数
が増加するたびごとに前記のような全加算器を多く連結
するべきである。たとえば、7ビットの入力を有するウ
ォーレスツリーは、図14(A)に示したように、各々
n の桁の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と、から構成される。
【0024】このように構成されたウォーレスツリー
は、図14(B)に示したように、7ビットの入力中で
‘1’の個数を2進数に表わすことができ、桁の同じ多
くのビットの入力をすべて合算し、それら合算結果を2
進数として出力する。すなわち、入力ビットに包含され
た‘1’の個数は入力ビットの合算結果と同様である。
【0025】また、図15においては16ビットの入力
を有する複数個のウォーレスツリーが順次連結されてい
る。すなわち、ウォーレスツリー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ビットを出力する。
【0026】このような方法に連結された複数個のウォ
ーレスツリーを加算演算に用いると、加算演算の速度が
向上し並列乗算の速度も向上する。
【0027】
【発明が解決しようとする課題】しかるに、このような
ウォーレスツリーを用いた並列乗算器は、図11に示し
た基本的な並列乗算器に比べ演算速度は向上されるが、
入力ビットの個数に従い不規則な構造を有し、ウォーレ
スツリーから出力したキャリビットによる時間の遅延が
大きく、また、乗数および被乗数がそれぞれnビットで
ある場合、使用されるトランジスタの個数はn2 log
nに比例するため、前記基本的な並列乗算器と同様に回
路が複雑であり、レイアウト(layout)の設計が
難しくかつ製造費用が上昇するという問題点があった。
【0028】そこで、このような問題点を解決するた
め、本発明は、入力ビットに含まれた‘1’の個数を2
で割り、それら割った値を再び‘1’の個数に表わすこ
とができるように、複数個の入力割り回路を含んだ並列
乗算器を提供することをその目的とする。
【0029】
【課題を解決するための手段】そして、このような目的
を達成するため、本発明は、Nビットの被乗数とMビッ
トの乗数とを乗算演算する場合、前記被乗数の各ビット
と前記乗数の最下位ビットから最高位ビットまでのビッ
トとをそれぞれAND演算し部分積の演算を行なって、
乗算の結果の最下位ビットを出力するANDゲートが含
まれるN×M個のANDゲートと、一般の2進数乗算の
方式に従い前記複数個のANDゲートの出力ビットが1
つのビットずつ左側にシフトして再配置される場合、そ
れら再配置した出力ビットの中で該当する位置の出力ビ
ットおよび前段から出力した割り前ビットを入力し、ま
た、割り前ビットと乗算結果の各ビットに該当する残り
ビットとを出力する2、3、4入力割り回路を含む複数
個の入力割り回路と、から構成される。
【0030】
【作用】被乗数と乗数とを乗算し、最下位ビットM0お
よび最高位ビットM7の含まれた8ビットM0〜M7を
乗算結果として出力する。最下位ビットはANDゲート
AD21から出力し、2入力割り回路、4入力割り回
路、6入力割り回路、および5入力割り回路からそれぞ
れ出力した残りビットRは乗算結果のビットM1〜M5
に該当する。そして、前記3入力割り回路から出力した
残りビットRは乗算結果のビットM6に該当し、1つの
割り前ビットOUTは乗算結果の最高位ビットM7に該
当する。
【0031】
【発明の実施の形態】以下、本発明に係る並列乗算器に
ついて図面を用いて詳細に説明する。
【0032】本発明の並列乗算器においては、図1
(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として表われる。
【0033】前記4入力割り回路40の詳細回路におい
ては、図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とから構成される。
【0034】そして、前記入力感知部42は、図3に示
したように、電源電圧VDDが一方側に連結される
‘0’感知部420と、一方側が該‘0’感知部420
の他方側に連結され他方側が接地された‘1’感知部4
40と、該‘1’感知部440の一方側および‘0’感
知部420の他方側の信号を反転しビットSを出力する
インバータ460とから構成される。
【0035】前記‘0’感知部420は、電源電圧VD
Dが一方側に印加し、他方側が前記インバータ460の
入力端および前記‘1’感知部440に共通連結された
複数個のPMOSトランジスタ部421,425,42
9,433を備え、また、前記‘1’感知部440は、
一方側が前記‘0’感知部420および前記インバータ
460の入力端に共通連結され、他方側が接地された複
数個のNMOSトランジスタ部441,444,44
7,450,453,456を備え構成される。
【0036】前記PMOSトランジスタ部421におい
ては、入力ビット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とが相
互に直列連結されて構成される。
【0037】前記NMOSトランジスタ部441におい
ては、入力ビット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とが相互に直列連結されて構成される。
【0038】このように構成された4入力割り回路40
において、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に入力される。
【0039】したがって、前記4ビットA,B,C,D
の中で‘0’の値が3つ以上である場合、複数個のPM
OSトランジスタ部421,425,429,433の
中で少なくとも1つのPMOSトランジスタ部に含まれ
たPMOSトランジスタがターンオンされ、電源電圧V
DDにより‘1’がインバータ460に入力され、イン
バータ460は‘0’の値を有するビットSを出力す
る。
【0040】前記4ビットA,B,C,Dの中で‘1’
の値が2つ以上である場合、複数個のNMOSトランジ
スタ部441,444,447,450,453,45
6の中で少なくとも1つのNMOSトランジスタ部に含
まれたNMOSトランジスタがターンオンされ、‘0’
がインバータ460に入力され、インバータ460は
‘1’の値を有するビットSを出力する。
【0041】ここで、前記インバータ460から出力し
たビットSは前記4入力割り回路40から出力した割り
前ビットS1に該当する。
【0042】すなわち、前記4入力割り回路40は、2
つ以上の‘1’を入力する場合、‘1’の値を有する割
り前ビットS1を出力し、すべての入力ビットが‘1’
の値を有する場合、前記割り前ビットS1,S2に含ま
れた‘1’の個数は前記4入力割り回路40に入力され
る‘1’の個数を2で割った割り前に該当する。
【0043】一方、前記4入力割り回路40を用い多様
な種類の入力割り回路を具現し得る。たとえば、図4
(A)を参照し8入力割り回路について説明する。
【0044】前記8入力割り回路50は、2n 桁の8ビ
ット(I1〜I8)を入力し、それら入力された8ビッ
トの中で‘1’の個数を2で割った残りに該当する2n
桁の残りビットと、‘1’の個数を2で割った割り前を
表わす2n+1 桁の割り前ビットS1′〜S4′を出力す
る。
【0045】すなわち、前記8入力割り回路50は、図
4(B)に示したように、4ビットI1〜I4を入力す
る4入力割り回路40と、4ビットI5〜I8を入力す
る4入力割り回路40′と、該4入力割り回路40′か
ら出力した残りヒットR、前記4入力割り回路40から
出力した残りビットR、および割り前ビットS2を論理
演算する論理演算部51とから構成される。
【0046】前記論理演算部51においては、前記4入
力割り回路40および前記4入力割り回路40′からそ
れぞれ出力した残りビットRを排他的論理和演算し残り
ビットR′を出力する排他的論理和ゲート52と、前記
4入力割り回路40および前記4入力割り回路40′か
らそれぞれ出力した残りビットRをAND演算するAN
Dゲート53と、該ANDゲート53の出力ビットと前
記4入力割り回路40から出力した割り前ビットS2と
を論理和演算する論理和ゲート54とから構成される。
【0047】このように構成された前記8入力割り回路
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 桁のビットである。
【0048】一方、8入力割り回路の他実施例に対し図
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とから構成される。
【0049】また、16入力割り回路は、図6に示した
ように8入力割り回路50,50′と、該8入力割り回
路50,50′の各出力ビットR′,S′4を前述のよ
うに論理演算する論理演算部51′とから構成される。
【0050】ここで、2入力割り回路は半加算器と、3
入力割り回路は全加算器とそれぞれ同様であり、2、3
入力割り回路と前述した入力割り回路とを相互に適切に
連結すると、入力ビットの数に従い多様な入力割り回路
を具現することができる。
【0051】すなわち、5入力割り回路は、図7に示し
たように、4入力割り回路40と、該4入力割り回路4
0の残りビットRと入力された5ビットの中で1つのビ
ットを排他的論理和演算する排他的論理和ゲート60と
から構成される。
【0052】そして、6入力割り回路は、図8に示した
ように、2入力割り回路61と、4入力割り回路40
と、該4入力割り回路40の出力ビットRおよび前記2
ビット入力割り回路61の出力ビットR,Sを前述のよ
うな方式により論理演算する論理演算部51とから構成
される。
【0053】また、15入力割り回路は、図9に示した
ように、3入力割り回路62と、4入力割り回路40
と、8入力割り回路50と、該8入力割り回路50の残
りビットRおよび前記4入力割り回路40の出力ビット
S2,Rを論理演算する論理演算部51と、該論理演算
部51に含まれた排他的論理和ゲートの出力ビットおよ
び3入力割り回路62の出力ビットR,Sを前述のよう
な方式に論理演算する論理演算部51′とから構成され
る。
【0054】以上説明した多様な入力割り回路を用いた
並列乗算器の実施の形態は、図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
と、から構成される。
【0055】このように構成された並列乗算器の作用に
対し説明する。前記並列乗算器は、被乗数X0〜X3と
乗数Y0〜Y3とを乗算し、最下位ビットM0および最
高位ビットM7の含んだ8ビットM0〜M7を乗算結果
として出力し、最下位ビットM0はANDゲートAD2
1から出力する。
【0056】次いで、2入力割り回路70、4入力割り
回路71、6入力割り回路72,73、および5入力割
り回路74からそれぞれ出力した残りビットRは乗算結
果のビットM1〜M5に該当する。そして、前記3入力
割り回路75から出力した残りビットRは乗算結果のビ
ットM6に該当し、1つの割り前ビットOUTは乗算結
果の最高位ビットM7に該当する。
【0057】以上説明したように、本発明に係る並列乗
算器は多様な入力割り回路を用い、入力した‘1’の個
数を2で割りそれら割り前ビットおよび残りビットとし
て入力された‘1’の個数を表わすことで、演算処理速
度を向上させ、回路の具現が簡単になりかつ規則的な構
造を有し得、また、レイアウトの設計時にチップの面積
を減少させ集積度を向上し得る。
【0058】そこで、被乗数および乗数のビット数が増
加するほど、本発明は演算速度およびチップの面積に対
し優秀な特性を有し、高度のマイクロプロセッサ、演算
装置、およびデータ処理装置に適用する場合、その効率
性が増加するという効果がある。
【図面の簡単な説明】
【図1】本発明に係る4入力割り回路図であり、(A)
は4入力割り回路40のブロック図であり、(B)は4
入力割り回路40の真理値表の図であり、(C)は4入
力割り回路40の入出力特性を説明するための図であ
る。
【図2】図1の4入力割り回路40の詳細回路図であ
る。
【図3】図2の入力感知部42の詳細回路図である。
【図4】8入力割り回路の実施の形態に一例の回路図で
あり、(A)は8入力割り回路のブロック図であり、
(B)は8入力割り回路の詳細回路図である。
【図5】8入力割り回路の実施の形態の他の一例の回路
図である。
【図6】16入力割り回路の回路図である。
【図7】5入力割り回路の回路図である。
【図8】6入力割り回路の回路図である。
【図9】15入力割り回路の回路図である。
【図10】本発明に係る並列乗算器の回路図である。
【図11】従来の並列乗算器の回路図である。
【図12】図11の半加算器および全加算器の回路図で
ある。
【図13】3ビットの入力を有するウォーレスツリーの
ブロック図である。
【図14】7ビットの入力を有するウォーレスツリーで
構成された全加算器とその真理表を示す図であり、
(A)はウォーレスツリーのブロック図であり、(B)
はウォーレスツリーの真理表の図である。
【図15】16ビットの入力を有する複数個のウォーレ
スツリーの連結方法を示したブロック図である。
【符号の説明】
40,40′,71 4入力割り回路 42 入力感知部 50,50′ 8入力割り回路 51,51′ 論理演算部 61,70 2入力割り回路 62,75 3入力割り回路 72,73 6入力割り回路 74 5入力割り回路 AD1〜AD36 ADNゲート

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】 Nビットの被乗数とMビットの乗数とを
    乗算演算する場合、該被乗数の各ビットと乗数の最下位
    ビットから最高位ビットまでのビットとをそれぞれAN
    D演算し部分積の演算を行ない、乗算の結果の最下位ビ
    ットを出力するANDゲートを含む複数個(N×M個)
    のANDゲートと、 一般の2進数乗算の方式に従い、前記複数個のANDゲ
    ートの出力ビットが1つのビットずつ左側にシフトして
    再配置され、それら再配置した出力ビットの中で該当す
    る位置の出力ビットおよび前段から出力された割り前ビ
    ットを入力し、かつ、割り前ビットと、乗算結果の各ビ
    ットに該当する残りビットとを出力する2、3、4入力
    割り回路を含む複数個の入力割り回路とから構成され、 前記複数個の入力割り回路の各々は、その入力割り回路
    に入力されたビットの個数を2で割った割り前と同数の
    割り前ビットを有し、かつ、入力されたビットに包含さ
    れた‘1’の個数を2で割った結果の割り前と同数の
    ‘1’を割り前ビットに与え、残りを残りビットにそれ
    ぞれ与えることを特徴とする並列乗算器。
  2. 【請求項2】 前記入力割り回路の中で乗算結果の中の
    次高位ビットを出力する入力割り回路は、その割り前ビ
    ットを乗算結果の最高位ビットとして出力することを特
    徴とする請求項1に記載の並列乗算器。
  3. 【請求項3】 4ビットの入力を有する4入力割り回路
    は、入力ビットに包含された‘1’の個数が2つ以上で
    あるかを感知し第1割り前ビットを出力する入力感知部
    42と、 前記入力ビットをAND演算し第2割り前ビットを出力
    するANDゲート41と、 前記入力ビットを排他的論理和演算し残りビットを出力
    する排他的論理和ゲート43とから構成されることを特
    徴とする請求項1に記載の並列乗算器。
  4. 【請求項4】 前記入力感知部42は、一方側が電源電
    圧VDDに連結され、入力ビットに包含された‘1’の
    個数が3つ以上であるかを感知する‘0’感知部420
    と、 一方側が該‘0’感知部の他方側に連結され他方側が接
    地されて、入力ビットに包含された‘1’の個数が2つ
    以上であるかを感知する‘1’感知部440と、 入力端が前記‘0’感知部の他方側と前記‘1’感知部
    の一方側とに共通接続し、第1割り前ビットを出力する
    インバータ460とから構成されることを特徴とする請
    求項3に記載の並列乗算器。
  5. 【請求項5】 前記‘0’感知部420は、入力ビット
    に包含された‘0’の個数が3つ以上であると、全部タ
    ーンオンされるように相互に直列連結した複数個のPM
    OSトランジスタを備えたPMOSトランジスタ部42
    1,425,429,433から構成されることを特徴
    とする請求項4に記載の並列乗算器。
  6. 【請求項6】 前記‘1’感知部は、入力ビットに包含
    された‘1’の個数が2つ以上であると、全部ターンオ
    ンされるように相互に直列連結した複数個のNMOSト
    ランジスタを備えたNMOSトランジスタ部441,4
    44,447,450,453,456から構成される
    ことを特徴とする請求項4に記載の並列乗算器。
  7. 【請求項7】 前記入力割り回路の中で5ビットの入力
    を有する5入力割り回路は、4入力割り回路と、該4入
    力割り回路から出力した残りビットおよび前記5ビット
    中の1つのビットを排他的論理和演算し所定の残りビッ
    トを出力する排他的論理和ゲートと、から構成されるこ
    とを特徴とする請求項1に記載の並列乗算器。
  8. 【請求項8】 前記入力割り回路の中で6ビット以上の
    入力ビットを有する入力割り回路は、半加算器と同様な
    2入力割り回路と、全加算器と同様な3入力割り回路
    と、4ビットの入力を有する4入力割り回路と、を入力
    ビットの数に合うように選択的に包含させて構成し、2
    つ以上の入力回路を相互連結し所定の割り前ビットおよ
    び残りビットを出力する論理演算部を付加的に含んでな
    ることを特徴とする請求項1に記載の並列乗算器。
  9. 【請求項9】 前記論理演算部は、2つの入力割り回路
    からそれぞれ出力した残りビットを排他的論理和演算し
    所定の残りビットを出力する排他的論理和ゲートと、2
    入力割り回路からそれぞれ出力した残りビットをAND
    演算するANDゲートと、該ANDゲートの出力ビット
    および前記2つの入力割り回路中で1つの入力割り回路
    から出力した割り前ビットを論理和演算する論理和ゲー
    トと、から構成されることを特徴とする請求項8に記載
    の並列乗算器。
  10. 【請求項10】 前記入力割り回路の中で8ビットの入
    力を有する8入力割り回路は、2つの4入力割り回路
    と、該2つの4入力割り回路を相互連結し所定の残りビ
    ットおよび割り前ビットを出力する論理演算部と、から
    構成されることを特徴とする請求項8に記載の並列乗算
    器。
  11. 【請求項11】 前記入力割り回路の中で8ビットの入
    力を有する8入力割り回路は、2つの4入力割り回路
    と、該4入力割り回路からそれぞれ出力した残りビット
    を排他的論理和演算し所定の残りビットを出力する排他
    的論理和ゲートと、前記4入力割り回路からそれぞれ出
    力した残りビットをNAND演算するNANDゲート
    と、該NANDゲートの出力ビット、前記4入力割り回
    路の中で1つの4入力割り回路から出力した割り前ビッ
    ト、および4入力割り回路から出力した割り前ビットを
    論理和演算し所定の割り前ビットを出力する論理和ゲー
    トと、該論理和ゲートに入力される割り前ビットをAN
    D演算し所定の割り前ビットを出力するANDゲート
    と、から構成されることを特徴とする請求項8に記載の
    並列乗算器。
  12. 【請求項12】 前記入力割り回路の中で16ビットの
    入力を有する16入力割り回路は、2つの8入力割り回
    路と、該2つの8入力割り回路を相互連結し所定の残り
    ビットおよび割り前ビットを出力する論理演算部と、か
    ら構成されることを特徴とする請求項8に記載の並列乗
    算器。
  13. 【請求項13】 前記入力割り回路の中で15ビットの
    入力を有する15入力割り回路は、3入力割り回路と、
    4入力割り回路と、8入力割り回路と、該8入力割り回
    路および前記4入力割り回路を連結し所定の割り前ビッ
    トを出力する第1論理演算部と、該第1論理演算部から
    出力した残りビットおよび前記3入力割り回路の出力ビ
    ットを論理演算し所定の割り前および残りビットを出力
    する第2論理演算部と、から構成されることを特徴とす
    る請求項8に記載の並列乗算器。
JP7231788A 1994-09-10 1995-09-08 並列乗算器 Expired - Fee Related JP2700876B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
KR0152911B1 (ko) 1998-10-15
JPH08179930A (ja) 1996-07-12
US6470371B1 (en) 2002-10-22
US5798956A (en) 1998-08-25

Similar Documents

Publication Publication Date Title
Mohan Residue number systems: algorithms and architectures
US6609143B1 (en) Method and apparatus for arithmetic operation
JPS6347874A (ja) 算術演算装置
US4556948A (en) Multiplier speed improvement by skipping carry save adders
JPS62280930A (ja) デイジタル乗算器
JP2700876B2 (ja) 並列乗算器
US20040010536A1 (en) Apparatus for multiplication of data in two's complement and unsigned magnitude formats
JP3537378B2 (ja) 加算器および集積回路
US5586071A (en) Enhanced fast multiplier
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
JPH10111791A (ja) 除算装置
US5119325A (en) Multiplier having a reduced number of partial product calculations
JPS60112141A (ja) 乗算回路
Besli et al. A 54/spl times/54 bit multiplier with a new Redundant Binary Booth's encoding
JP2734438B2 (ja) 乗算装置
JPS6259828B2 (ja)
JP3540807B2 (ja) 加算器,乗算器,及び集積回路
JPS62154029A (ja) 乗算回路
JP2518551B2 (ja) 多入力加算回路
Bindal et al. Review of Combinational Logic Circuits
JP3130797B2 (ja) 積和演算処理方法およびその装置
JPH0784762A (ja) 乗算回路
Wojko Pipelined multipliers and FPGA architectures
JPS6152741A (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