JP3474663B2 - 乗算回路 - Google Patents

乗算回路

Info

Publication number
JP3474663B2
JP3474663B2 JP03691195A JP3691195A JP3474663B2 JP 3474663 B2 JP3474663 B2 JP 3474663B2 JP 03691195 A JP03691195 A JP 03691195A JP 3691195 A JP3691195 A JP 3691195A JP 3474663 B2 JP3474663 B2 JP 3474663B2
Authority
JP
Japan
Prior art keywords
partial product
output
product information
input
partial
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
JP03691195A
Other languages
English (en)
Other versions
JPH08234964A (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.)
Mitsubishi Electric Engineering Co Ltd
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Engineering Co Ltd
Mitsubishi Electric 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 Mitsubishi Electric Engineering Co Ltd, Mitsubishi Electric Corp filed Critical Mitsubishi Electric Engineering Co Ltd
Priority to JP03691195A priority Critical patent/JP3474663B2/ja
Priority to US08/562,100 priority patent/US5748517A/en
Publication of JPH08234964A publication Critical patent/JPH08234964A/ja
Application granted granted Critical
Publication of JP3474663B2 publication Critical patent/JP3474663B2/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/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction 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/5336Reduction 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/5338Reduction 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

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、2次のブースのアル
ゴリズムにより乗数Yと被乗数Xの部分積を生成し、そ
れらを加算することで積を得る乗算回路に関し、特にそ
の小面積化および低消費電力化に関するものである。
【0002】
【従来の技術】ディジタル信号処理において、積和演算
のための乗算回路は必須である。近年の通信、映像信号
処理、音声信号処理などのディジタル化、高速化の流れ
にあって、データのビット数は増えてきている。データ
のビット数が増加に伴い、データを乗算する乗算回路の
回路規模は指数関数的に増大していく。
【0003】ディジタル信号の乗算回路は、−般的に半
導体集積回路技術を用いて製造されるが、回路規模の増
大によって、ディジタル信号処理LSIの1チップあた
りの面積は増大して、製造コストが高くなる、製造時の
歩留まりが悪くなるなどの問題が生じる。
【0004】従来から乗算回路の小面積化に関しては、
部分積の数を減らすことが考えられており、この部分積
の生成で最も使われるのがBoothのアルゴリズムで
ある。
【0005】図18はBoothのアルゴリズムを実現
する従来の乗算回路の構成を示すブロック図である。
【0006】ブースデコーダBD11〜BD13はそれ
ぞれ6ビットの乗数Y(Y0〜Y5)のうち、重複した
3ビット分を受ける。すなわち、ブースデコーダBD1
1は“0”,Y0,Y1を受け、ブースデコーダBD1
2はY1,Y2,Y3を受け、ブースデコーダBD13
はY3,Y4,Y5を受ける。
【0007】そして、ブースデコーダBD11〜BD1
3はそれぞれ、受けた乗数Yの3ビット分に基づき、シ
フト信号C1、反転信号C2及びイネーブル信号C3を
部分積生成回路PP11〜PP13にそれぞれ出力す
る。
【0008】部分積生成回路PP11〜PP13はそれ
ぞれブースデコーダBD11〜BD13それぞれからの
出力信号C1〜C3と8ビットの被乗数X(X0〜X
7)とを受け、部分積SM11〜SM13を部分積加算
回路ADD1に出力する。
【0009】部分積加算回路ADD1はSM11〜SM
13を加算して、乗数Yと被乗数Xとの乗算結果XYを
出力する。
【0010】図19はブースデコーダBDの内部構成を
示す回路図である。同図において、最下位乗数Y2i-1は
ブースデコーダBD11〜BD13の0,Y1,Y3に
相当し、中間乗数Y2iはブースデコーダBD11〜BD
13のY0,Y2,Y4に相当し、最上位乗数Y2i+1は
ブースデコーダBD11〜BD13のY1,Y3,Y5
に相当する。
【0011】EXORゲート20は最下位乗数Y2i-1及
び中間乗数Y2iを受け、両者の排他的論理和をインバー
タ21及びORゲート24に出力する。EXORゲート
22は中間乗数Y2i及び最上位乗数Y2i+1を受け、両者
の排他的論理和をORゲート24に出力する。EXOR
ゲート23は最下位乗数Y2i-1及び最上位乗数Y2i+1を
受け、両者の排他的論理和をORゲート24に出力す
る。そして、インバータ21の出力シフト信号C1とし
て出力され、最上位乗数Y2i+1がそのまま反転信号C2
として出力され、ORゲート24の出力がイネーブル信
号C3として出力される。
【0012】図20は、相続く3ビットの乗数Y(Y2i
-1,Y2i,Y2i+1)と、ブースデコーダBDの出力(C
1〜C3)と部分積(0X,X,2X,−X,−2X)
との関係を示す図であり、図21はブースデコーダBD
の出力(C1〜C3)と部分積(0X,X,2X,−
X,−2X)との関係を示す図である。
【0013】図20に示すように、ブースデコーダBD
は相続く3ビットの乗数Y(Y2i-1,Y2i,Y2i+1)に
基づき、シフト信号C1、反転信号C2及びイネーブル
信号C3を出力する。
【0014】また、イネーブル信号C3は部分積が0X
か/否かを“0”/“1”で示す信号であり、シフト信
号C1は、イネーブル信号C3が“1”のとき部分積が
2X,−2Xであるか/否かを“1”/“0”で示す信
号であり、反転信号C2はイネーブル信号C3が“1”
のとき部分積が−X,−2Xであるか/否かを“1”/
“0”で示す信号である。
【0015】したがって、ブースデコーダBDから出力
される3つの信号C1〜C3により、図21に示すよう
に、部分積(0X,X,2X,−X,−2X)が決定す
る。
【0016】図22は部分積生成回路PP(部分積生成
回路PP11〜PP13)における1ビット部分積生成
回路の内部構成を示す回路図である。同図において、X
A,XBは被乗数Xのうち、相続く2ビットの下位ビッ
ト、上位ビットである。トランスファゲート30は入力
部に下位ビットXAを受け、NMOSトランジスタ部の
ゲートにシフト信号C1を受け、PMOSトランジスタ
部のゲートにシフト信号C1がインバータ31を介して
得られる反転シフト信号バーC1を受け、出力部がEX
ORゲート33の一方入力に接続される。トランスファ
ゲート32は入力部に上位ビットXBを受け、PMOS
トランジスタ部のゲートにシフト信号C1を受け、NM
OSトランジスタ部のゲートにシフト信号C1がインバ
ータ31を介して得られる反転シフト信号バーC1を受
け、出力部がEXORゲート33の他方入力に接続され
る。
【0017】EXORゲート33の出力はANDゲート
34に一方入力となり、このANDゲート34の他方入
力がイネーブル信号C3となる。そして、ANDゲート
34の出力が1ビット部分積Qとなる。
【0018】このような構成において、部分積生成回路
PPは、イネーブル信号C3が“0”のとき“0”の1
ビット部分積Qは“0”を出力し、イネーブル信号C3
が“1”のとき、シフト信号C1の“1”/“0”に基
づき下位ビットXA/上位ビットXBを選択し、反転信
号C2の“1”/“0”に基づき選択されたビットの反
転/非反転を行って得られる情報を1ビット部分積Qと
して出力する。
【0019】このような構成の1ビット部分積生成回路
を被乗数Xのビット数XN+1分、隣接して形成するこ
とにより、部分積生成回路PPが構成される。
【0020】
【発明が解決しようとする課題】従来のBoothのア
ルゴリズムによる乗算回路は以上のように構成されてお
り、乗数Yのビット数をYN,被乗数Xのビット数をX
Nとすると、1ビット部分積Qの生成用の1ビット部分
積生成回路は、(YN/2)×(XN+1)個必要とな
り、回路規模が大きくなってしまうという問題点があっ
た。
【0021】また、部分積加算回路ADD1は、常に動
作するため消費電力が大きくなってしまうという問題点
があった。
【0022】この発明は上記問題点を解決するためにな
されたもので、回路規模の縮小あるいは消費電力の低減
化を図った乗算回路を得ることを目的とする。
【0023】
【課題を解決するための手段】この発明に係る請求項1
記載の乗算回路は、ブースのアルゴリズムにより乗数Y
と被乗数Xとの複数の部分積を生成し、該複数の部分積
を加算することにより前記乗数Yと前記被乗数Xとの乗
算結果XYを得る回路であって、前記乗数Yを受け、前
記乗数Yをデコードして前記被乗数Xとの部分積の種別
を示す複数の部分積情報群を出力するデコード手段を備
え、前記複数の部分積情報群はそれぞれ部分積の種別毎
に1対1に対応して設けられる複数の部分積情報を有
し、前記被乗数X及び前記複数の部分積情報群を受け、
前記複数の部分積情報群に基づき、前記被乗数Xと前記
乗数Yとの複数の部分積を生成する部分積生成手段と、
前記複数の部分積を受け、前記複数の部分積を加算して
前記乗算結果XYを出力する部分積加算手段とをさらに
備えて構成される。
【0024】また、請求項2記載の乗算回路のように、
前記複数の部分積情報群それぞれにおいて、前記複数の
部分積情報のうち一の情報は、部分積が被乗数Xに0を
積算する0Xであるか否かを指示する部分積0X情報で
あり、前記部分積加算手段は、各々が一方入力と他方入
力との加算処理を行う複数の加算器を有し、かつ前記複
数の部分積情報群における複数の前記部分積0X情報を
さらに受け、前記複数の部分積0X情報に基づき、前記
複数の部分積から“0”の部分積を認識して、前記複数
の加算器のうち前記認識した“0”の部分積を一方入力
とする0入力加算器を実動作させずに、前記0入力加算
器の他方入力を当該0入力加算器をスキップして直接に
加算結果として出力しつつ加算処理を行うように構成し
てもよい。
【0025】また、請求項3記載の乗算回路のように、
前記複数の部分積情報群を格納する記憶手段をさらに備
え、前記部分積生成手段は前記記憶手段から前記部分積
情報群を受けるように構成してもよい。
【0026】この発明に係る請求項4記載の乗算回路
は、ブースのアルゴリズムにより乗数Yと被乗数Xとの
乗算結果XYを得る回路であって、前記乗数Yに基づき
決定される前記被乗数Xとの部分積の種別を示す複数の
部分積情報群を受け、該複数の部分積情報群を格納する
記憶手段を備え、前記複数の部分積情報群はそれぞれ前
記部分積の種別毎に1対1に対応して設けられる複数の
部分積情報を有し、外部より前記被乗数X、前記記憶手
段より前記複数の部分積情報群を受け、前記複数の部分
積情報群に基づき、前記被乗数Xと前記乗数Yとの複数
の部分積を生成する部分積生成手段と、前記複数の部分
積を受け、前記複数の部分積を加算して前記乗算結果X
Yを出力する部分積加算手段とを備えて構成される。
【0027】
【作用】この発明における請求項1記載の乗算回路にお
いて、デコード手段は、部分積の種別毎に1対1に対応
して設けられる複数の部分積情報をそれぞれが有する複
数の部分積情報群を出力し、部分積生成手段は、複数の
部分積情報群に基づき、前記被乗数Xとの複数の部分積
を生成している。
【0028】したがって、部分積生成手段は、複数の部
分積情報群それぞれの複数の部分積情報に1対1に対応
して選択回路を設けるという比較的簡単な回路構成で部
分積を出力することができる。
【0029】また、請求項2記載の乗算回路の部分積加
算手段は、前記複数の部分積0X情報に基づき、前記複
数の部分積から“0”の部分積を認識して、前記複数の
加算器のうち認識した“0”の部分積を一方入力とする
0入力加算器を実動作させずに、前記0入力加算器の他
方入力を当該0入力加算器をスキップして加算結果とし
て出力しつつ加算処理を行うことにより、複数の加算器
のうち実際に加算演算を行う必要のない0入力加算器を
実動作させずに加算結果を得ることができる。
【0030】また、請求項3記載の乗算回路は、前記複
数の部分積情報群を格納する記憶手段をさらに備え前記
部分積生成手段は前記記憶手段から前記部分積情報群を
受ける構成のため、乗数Yが固定で被乗数Xを変えて乗
算結果XYを順次求める場合、2回目以降はデコード手
段による複数の部分積情報群の出力を得る必要がない
分、回路の低消費電力化を図ることができる。
【0031】この発明における請求項4記載の乗算回路
において、記憶手段は、部分積の種別毎に1対1に対応
して設けられる複数の部分積情報をそれぞれが有する複
数の部分積情報群を格納し、部分積生成手段は記憶手段
から得た複数の部分積情報群に基づき、被乗数Xとの複
数の部分積を生成している。
【0032】したがって、部分積生成手段は、複数の部
分積情報群それぞれの複数の部分積情報に1対1に対応
して選択回路を設けるという比較的簡単な回路構成で部
分積を出力することができる。
【0033】
【実施例】
<<第1の実施例>>図1はBoothのアルゴリズム
を実現するこの発明の第1の実施例の乗算回路の構成を
示すブロック図である。
【0034】ブースデコーダBD1〜BD3はそれぞれ
6ビットの乗数Y(Y0〜Y5)のうち、重複した3ビ
ット分を受ける。すなわち、ブースデコーダBD1は
“0”,Y0,Y1を受け、ブースデコーダBD2はY
1,Y2,Y3を受け、ブースデコーダBD3はY3,
Y4,Y5を受ける。
【0035】そして、ブースデコーダBD1〜BD3は
それぞれ、受けた乗数Yの3ビット分に基づき、部分積
情報群S1〜S5を部分積生成回路PP1〜PP3にそ
れぞれ出力する。各部分積情報は部分積の種別毎に1対
1に対応して設けられる。
【0036】部分積生成回路PP1〜PP3はそれぞれ
ブースデコーダBD1〜BD3それぞれからの部分積情
報群S1〜S5と8ビットの被乗数X(X0〜X7)と
を受け、部分積SM1〜SM3を部分積加算回路ADD
1に出力する。
【0037】部分積加算回路ADD1はSM1〜SM3
を加算して、乗数Yと被乗数Xとの乗算結果XYを出力
する。
【0038】図2はブースデコーダBD(BD1〜BD
3)の内部構成を示す回路図である。同図において、最
下位乗数Y2i-1はブースデコーダBD1〜BD3の0,
Y1,Y3に相当し、中間乗数Y2iはブースデコーダB
D1〜BD3のY0,Y2,Y4に相当し、最上位乗数
Y2i+1はブースデコーダBD1〜BD3のY1,Y3,
Y5に相当する。
【0039】ANDゲート50は最下位乗数Y2i-1、中
間乗数Y2i及び最上位乗数Y2i+1を入力し、その論理演
算結果をORゲート51に出力する。NORゲート52
は最下位乗数Y2i-1、中間乗数Y2i及び最上位乗数Y2i
+1を入力し、その論理演算結果をORゲート51に出力
する。ORゲート51の出力が部分積情報S1となる。
【0040】NORゲート53は最下位乗数Y2i-1及び
中間乗数Y2iを受け、その論理演算結果をNANDゲー
ト54に出力する。NANDゲート56は最下位乗数Y
2i-1及び中間乗数Y2iを受け、その論理演算結果をNO
Rゲート57に出力する。NANDゲート54は最上位
乗数Y2i+1をさらに受け、その論理演算結果を反転部分
積情報バーS2として出力するとともに、インバータ5
5を介して部分積情報S2として出力する。NORゲー
ト57は最上位乗数Y2i+1をさらに受け、その論理演算
結果を部分積情報S3として出力するとともに、インバ
ータ58を介して反転部分積情報バーS3として出力す
る。
【0041】EXORゲート61は最下位乗数Y2i-1及
び中間乗数Y2iを受け、その論理演算結果をNANDゲ
ート59及びNANDゲート63に出力する。NAND
ゲート59は最上位乗数Y2i+1をさらに受け、その論理
演算結果を反転部分積情報バーS4として出力するとと
もに、インバータ60を介して部分積情報S4として出
力する。NANDゲート63は中間乗数Y2iをインバー
タ62を介してさらに受け、その論理演算結果を反転部
分積情報バーS5として出力するとともに、インバータ
64を介して部分積情報S5として出力する。
【0042】図3は、相続く3ビットの乗数Y(Y2i-
1,Y2i,Y2i+1)と、ブースデコーダBDから出力さ
れる部分積情報(S1〜S5)と部分積(0X,X,2
X,−X,−2X)との関係を示す図であり、図4はブ
ースデコーダBDの部分積情報(S1〜S5)と部分積
(0X,X,2X,−X,−2X)との関係を示す図で
ある。
【0043】図3に示すように、ブースデコーダBDは
相続く3ビットの乗数Y(Y2i-1,Y2i,Y2i+1)に基
づき、部分積情報群S1〜S5を出力する。
【0044】部分積情報S1は部分積が0Xか/否かを
“1”/“0”で示す信号であり、部分積情報S2は部
分積が−Xか/否かを“1”/“0”で示す信号であ
り、部分積情報S3は部分積がXか/否かを“1”/
“0”で示す信号であり、部分積情報S4は部分積が−
2Xか/否かを“1”/“0”で示す信号であり、部分
積情報S5は部分積が2Xか/否かを“1”/“0”で
示す信号である。このように各部分積情報Si(i=1
〜5)は部分積の種別毎に1対1に対応して設けられて
いる。
【0045】したがって、ブースデコーダBDから出力
される5ビットの部分積情報群S1〜S5により、図4
に示すように、部分積(0X,X,2X,−X,−2
X)が決定する。
【0046】図5は部分積生成回路PPの(部分積生成
回路PP1〜PP3)の内部構成を示す回路図である。
部分積生成回路PPは、部分積生成回路PPは9個の1
ビット部分積生成回路BP0〜BP8(BP1〜BP6
は図示せず)、ORゲート65とから構成される。
【0047】ORゲート65は部分積情報S2及び部分
積情報S4を受け、その論理演算結果が反転ビット情報
H0として出力される。1ビット部分積生成回路BP0
は、部分積情報群S1〜S5(反転部分積情報バーS2
〜バーS5を含む)を受けるとともに、下位ビットXA
として“0”を上位ビットXBとして被乗数ビットX0
を受け、1ビット部分積Q0を出力する。また、1ビッ
ト部分積生成回路BPk(k=1〜7)は、部分積情報
群S1〜S5(反転部分積情報バーS2〜バーS5)を
受けるとともに、下位ビットXAとして被乗数ビットX
(k−1)を上位ビットXBとして被乗数ビットXkを
受け、1ビット部分積Qkを出力する。さらに、1ビッ
ト部分積生成回路BP8は、部分積情報群S1〜S5
(反転部分積情報バーS2〜バーS5)を受けるととも
に、下位ビットXAとして被乗数ビットX7をを受け、
1ビット部分積Q8を出力する。
【0048】このように、各部分積生成回路PPは、部
分積情報群S1〜S5に基づき、被乗数X(X0〜X
7)の部分積SM(反転ビット情報H0、1ビット部分
積Q0〜Q8)を出力する。
【0049】図6は図5の1ビット部分積生成回路BP
(1ビット部分積生成回路BP1〜BP8)の内部構成
を示す回路図である。同図において、XA,XBは被乗
数Xのうち、相続く2ビットの下位ビット、上位ビット
である。トランスファゲート70は入力部に下位ビット
XAを受け、NMOSトランジスタ部のゲートに部分積
情報S5を受け、PMOSトランジスタ部のゲートに反
転部分積情報バーS5を受け、その出力部から得られる
信号が、1ビット部分積Qとなる。
【0050】トランスファゲート72は入力部に下位ビ
ットXAがインバータ71を介して得られる反転下位ビ
ットバーXAを受け、NMOSトランジスタ部のゲート
に部分積情報S4を受け、PMOSトランジスタ部のゲ
ートに反転部分積情報バーS4を受け、その出力部から
得られる信号が1ビット部分積Qとなる。
【0051】トランスファゲート73は入力部に上位ビ
ットXBを受け、NMOSトランジスタ部のゲートに部
分積情報S3を受け、PMOSトランジスタ部のゲート
に反転部分積情報バーS3を受け、その出力部から得ら
れる信号が1ビット部分積Qとなる。
【0052】トランスファゲート75は入力部に上位ビ
ットXBがインバータ74を介して得られる反転上位ビ
ットバーXBを受け、NMOSトランジスタ部のゲート
に部分積情報S2を受け、PMOSトランジスタ部のゲ
ートに反転部分積情報バーS2を受け、その出力部から
得られる信号が1ビット部分積Qとなる。
【0053】NMOSトランジスタ76はゲートに部分
積情報S1を受け、ソースが接地され、ドレインより得
られる信号が1ビット部分積Qとなる。
【0054】このような構成において、部分積生成回路
PPは、部分積情報S1が“1”(他の部分積情報S2
〜S5は“0”)のとき1ビット部分積Qとして“0”
を出力し、部分積情報S2が“1”(他の部分積情報S
1,S3〜S5は“0”)のとき1ビット部分積Qとし
て反転上位ビットバーXBを出力し、部分積情報S3が
“1”(他の部分積情報S1,S2,S4,S5は
“0”)のとき1ビット部分積Qとして上位ビットXB
を出力し、部分積情報S4が“1”(他の部分積情報S
1〜S3,S5は“0”)のとき1ビット部分積Qとし
て反転下位ビットバーXAを出力し、部分積情報S5が
“1”(他の部分積情報S1〜S4は“0”)のとき1
ビット部分積Qとして下位ビットXAを出力する。
【0055】図7、図8及び図9は部分積加算回路AD
D1の内部構成及びその周辺構成を示す回路図である。
なお、説明の都合上、被乗数Xは6ビットX0〜X5の
場合を示している。したがって、部分積生成回路PP1
〜PP3から出力される部分積SMは反転ビット情報H
0、1ビット部分積Q0〜Q6となる。図7、図8及び
図9に示すように、部分積加算回路ADD1は半加算器
HA0〜HA8、全加算器FA0〜FA8,FA10〜
FA17から構成される。
【0056】半加算器HA0は、第1入力Aに部分積生
成回路PP1の反転ビット情報H0を受け、第2入力B
に部分積生成回路PP1の1ビット部分積Q0を受け、
キャリア出力COが半加算器HA1の第1入力Aに接続
され、加算出力SUMが1ビット乗算結果XY0として
出力される。
【0057】半加算器HA1は、第2入力Bに部分積生
成回路PP1の1ビット部分積Q1を受け、キャリア出
力COが全加算器FA0のキャリア入力CIに出力さ
れ、加算出力SUMが1ビット乗算結果XY1として出
力される。
【0058】半加算器HA2は、第1入力Aに部分積生
成回路PP1のQ2を受け、第2入力Bに部分積生成回
路PP2の1ビット部分積Q0を受け、キャリア出力C
Oが全加算器FA1の第1入力Aに接続され、加算出力
SUMが全加算器FA0の第2入力Bに接続される。
【0059】半加算器HAi(i=3〜6)は、第1入
力Aに部分積生成回路PP1のQiを受け、第2入力B
に部分積生成回路PP2の1ビット部分積Q(i−2)
を受け、キャリア出力COが全加算器FA(i−1)の
キャリア入力CIに接続され、加算出力SUMが全加算
器FA(i−2)の第1入力A(FA1のみ第2入力
B)に接続される。
【0060】半加算器HA7は、第1入力Aに部分積生
成回路PP1の1ビット部分積Q6を受け、第2入力B
に部分積生成回路PP2の1ビット部分積Q5を受け、
キャリア出力COが全加算器FA6のキャリア入力CI
に接続され、加算出力SUMが全加算器FA5の第1入
力Aに接続される。
【0061】半加算器HA8は、第1入力Aに部分積生
成回路PP1の1ビット部分積Q6を受け、第2入力B
に部分積生成回路PP2の1ビット部分積Q6を受け、
キャリア出力COが全加算器FA7及びFA8のキャリ
ア入力CIに接続され、加算出力SUMが全加算器FA
6〜FA8の第1入力Aに接続される。
【0062】全加算器FA0は、第1入力Aに部分積生
成回路PP2の反転ビット情報H0を受け、キャリア出
力COが全加算器FA1のキャリア入力CIに接続さ
れ、加算出力SUMが1ビット乗算結果XY2として出
力される。
【0063】全加算器FA1のキャリア出力COが全加
算器FA10のキャリア入力CIに接続され、加算出力
SUMが1ビット乗算結果XY3として出力される。
【0064】全加算器FAi(i=2〜6)は、第2入
力Bに部分積生成回路PP3の1ビット部分積Q(i−
2)を受け、キャリア出力COが全加算器FA1(i−
1)の第1入力Aに接続され、加算出力SUMが全加算
器FA1(i−2)の第2入力Bに接続される。
【0065】全加算器FA7は、第2入力Bに部分積生
成回路PP3の1ビット部分積Q5を受け、キャリア出
力COが全加算器FA16の第1入力Aに接続され、加
算出力SUMが全加算器FA15の第2入力Bに接続さ
れる。
【0066】全加算器FA8は、第2入力Bに部分積生
成回路PP3の1ビット部分積Q6を受け、キャリア出
力COが全加算器FA17の第1入力Aに接続され、加
算出力SUMが全加算器FA16の第2入力Bに接続さ
れる。
【0067】全加算器FA10は、第1入力Aに部分積
生成回路PP3の反転ビット情報H0を受け、キャリア
出力COが全加算器FA11のキャリア入力CIに接続
され、加算出力SUMが1ビット乗算結果XY4として
出力される。
【0068】全加算器FA1i(i=1〜6)は、キャ
リア出力COが全加算器FA1(i+1)に接続され、
加算出力SUMが1ビット乗算結果XY(i+4)とし
て出力される。
【0069】全加算器FA17の加算出力SUMは1ビ
ット乗算結果XY11として出力される。
【0070】このような構成の部分積加算回路ADD1
は、半加算器HA0〜HA8、全加算器FA0〜FA
8,FA10〜FA17を用いて、部分積生成回路PP
1〜PP3から出力される部分積SM1〜SM3(H
0,Q0〜Q6)の加算処理を行い、乗数Y(Y0〜Y
5)と被乗数X(X0〜X5)との乗算結果XY(XY
0〜XY11)を出力する。
【0071】このような構成の第1の実施例の乗算回路
は、5ビットの部分積情報群S1〜S5を出力するブー
スデコーダBDを構成することにより、部分積生成回路
PP内の1ビット部分積生成回路BPそれぞれの回路構
成を、図6に示すように、4つのトランスファゲートと
1つのNMOSトランジスタと2つのインバータとによ
り形成することを可能にした。この回路構成は、図22
で示した従来の1ビット部分積生成回路の回路構成と比
較した場合、かなり簡単な回路構成で実現されている。
【0072】したがって、第1の実施例の乗算回路は、
1ビット部分積生成回路BPの必要個数は、乗数Yのビ
ット数をYN,被乗数Xのビット数をXNとすると、従
来同様、(YN/2)×(XN+1)個必要となるもの
の、1ビット部分積生成回路BP個々の構成を簡略化す
ることにより、乗算回路の回路規模を大幅に縮小するこ
とができる。
【0073】<<第2の実施例>>図10はBooth
のアルゴリズムを実現するこの発明の第2の実施例の乗
算回路の構成を示すブロック図である。
【0074】ブースデコーダBD1〜BD3は、第1の
実施例同様、それぞれ6ビットの乗数Y(Y0〜Y5)
のうち、重複した3ビット分を受け、受けた乗数Yの3
ビット分に基づき、部分積情報群S1〜S5を部分積生
成回路PP1〜PP3にそれぞれ出力するとともに、そ
れぞれの部分積情報S1を部分積加算回路ADD2に出
力する。
【0075】部分積生成回路PP1〜PP3はそれぞれ
ブースデコーダBD1〜BD3それぞれからの部分積情
報群S1〜S5と8ビットの被乗数X(X0〜X7)と
を受け、部分積SM1〜SM3を部分積加算回路ADD
2に出力する。
【0076】部分積加算回路ADD2は、部分積情報S
1に基づき、SM1〜SM3を効率的に加算して、乗数
Yと被乗数Xとの乗算結果XYを出力する。
【0077】図11、図12及び図13は、この発明の
第2の実施例である乗算回路における部分積加算回路A
DD2の内部構成及びその周辺構成を示す回路図であ
る。なお、説明の都合上、被乗数Xは6ビットX0〜X
5の場合を示している。したがって、部分積生成回路P
P1〜PP3から出力される部分積SMは反転ビット情
報H0、1ビット部分積Q0〜Q6となる。図11、図
12及び図13に示すように、部分積加算回路ADD2
は半加算器HA0,HA1、全加算器FA0,FA1,
FA11〜FA17、半加算部PHA2〜PHA7及び
全加算部PFA2〜PFA8及びPFA10から構成さ
れる。
【0078】半加算器HA0は、第1入力Aに部分積生
成回路PP1の反転ビット情報H0を受け、第2入力B
に部分積生成回路PP1の1ビット部分積Q0を受け、
キャリア出力COが半加算器HA1の第1入力Aに接続
され、加算出力SUMが1ビット乗算結果XY0として
出力される。
【0079】半加算器HA1は、第2入力Bに部分積生
成回路PP1の1ビット部分積Q1を受け、キャリア出
力COが全加算器FA0のキャリア入力CIに出力さ
れ、加算出力SUMが1ビット乗算結果XY1として出
力される。
【0080】半加算部PHA2は、第1入力Aに部分積
生成回路PP1のQ2を受け、第2入力Bに部分積生成
回路PP2の1ビット部分積Q0を受け、部分積情報入
力SAにブースデコーダBD1からの部分積情報S1
(S1−1)を受け、部分積情報入力SBにブースデコ
ーダBD2からの部分積情報S1(S1−2)を受け、
キャリア出力COが全加算器FA1の第1入力Aに接続
され、加算出力SUMが全加算器FA0の第2入力Bに
接続される。
【0081】半加算部PHAi(i=3〜6)は、第1
入力Aに部分積生成回路PP1のQiを受け、第2入力
Bに部分積生成回路PP2の1ビット部分積Q(i−
2)を受け、部分積情報入力SAに部分積情報S1−1
を受け、部分積情報入力SBに部分積情報S1−2を受
け、キャリア出力COが全加算部PFA(i−1)のキ
ャリア入力CIに接続され、加算出力SUMが全加算部
PFA(i−2)の第1入力Aに接続される。ただし、
全加算部PFA3の加算出力SUMは全加算器FA1の
第2入力Bに接続される。
【0082】半加算部PHA7は、第1入力Aに部分積
生成回路PP1の1ビット部分積Q6を受け、第2入力
Bに部分積生成回路PP2の1ビット部分積Q5を受
け、部分積情報入力SAに部分積情報S1−1を受け、
部分積情報入力SBに部分積情報S1−2を受け、キャ
リア出力COが全加算部PFA6のキャリア入力CIに
接続され、加算出力SUMが全加算部PFA5の第1入
力Aに接続される。
【0083】半加算部PHA8は、第1入力Aに部分積
生成回路PP1の1ビット部分積Q6を受け、第2入力
Bに部分積生成回路PP2の1ビット部分積Q6を受
け、部分積情報入力SAに部分積情報S1−1を受け、
部分積情報入力SBに部分積情報S1−2を受け、キャ
リア出力COが全加算部FA7及びFA8のキャリア入
力CIに接続され、加算出力SUMが全加算部PFA6
〜PFA8の第1入力Aに接続される。
【0084】全加算器FA0は、第1入力Aに部分積生
成回路PP2の反転ビット情報H0を受け、キャリア出
力COが全加算器FA1のキャリア入力CIに接続さ
れ、加算出力SUMが1ビット乗算結果XY2として出
力される。
【0085】全加算器FA1のキャリア出力COが全加
算部PFA10のキャリア入力CIに接続され、加算出
力SUMが1ビット乗算結果XY3として出力される。
【0086】全加算部PFAi(i=2〜6)は、第2
入力Bに部分積生成回路PP3の1ビット部分積Q(i
−2)を受け、部分積情報入力SCにブースデコーダB
D3からの部分積情報S1(S1−3)を受け、キャリ
ア出力COが全加算器FA1(i−1)の第1入力Aに
接続され、加算出力SUMが全加算器FA1(i−2)
の第2入力Bに接続される。ただし、全加算部PFA2
の加算出力SUMは全加算部PFA10の第2入力Bに
接続される。
【0087】全加算部PFA7は、第2入力Bに部分積
生成回路PP3の1ビット部分積Q5を受け、部分積情
報入力SCに部分積情報S1−3を受け、キャリア出力
COが全加算器FA16の第1入力Aに接続され、加算
出力SUMが全加算器FA15の第2入力Bに接続され
る。
【0088】全加算部PFA8は、第2入力Bに部分積
生成回路PP3の1ビット部分積Q6を受け、部分積情
報入力SCに部分積情報S1−3を受け、キャリア出力
COが全加算器FA17の第1入力Aに接続され、加算
出力SUMが全加算器FA16の第2入力Bに接続され
る。
【0089】全加算部PFA10は、第1入力Aに部分
積生成回路PP3の反転ビット情報H0を受け、キャリ
ア出力COが全加算器FA11のキャリア入力CIに接
続され、加算出力SUMが1ビット乗算結果XY4とし
て出力される。
【0090】全加算器FA1i(i=1〜6)は、キャ
リア出力COが全加算器FA1(i+1)に接続され、
加算出力SUMが1ビット乗算結果XY(i+4)とし
て出力される。
【0091】全加算器FA17の加算出力SUMは1ビ
ット乗算結果XY11として出力される。
【0092】図14は半加算部PHA(PHA2〜PH
A8)の内部構成を示す回路図である。同図に示すよう
に、半加算部PHAは、NORゲート101,ANDゲ
ート102,103、半加算器HA、セレクタ1及びセ
レクタ2から構成される。
【0093】NORゲート101はその一方入力及び他
方入力に部分積情報S1−1及び部分積情報S1−2を
受け、NORゲート101の出力がANDゲート10
2,103の一方入力に接続されるとともに、制御信号
S101としてセレクタ1及びセレクタ2に与えられ
る。
【0094】ANDゲート102は他方入力に部分積生
成回路PP2からの1ビット部分積Q−2を受け、出力
が半加算器HAの第2入力bに接続される。ANDゲー
ト103は他方入力に部分積生成回路PP1からの1ビ
ット部分積Q−1を受け、出力が半加算器HAの第1入
力aに接続される。
【0095】したがって、部分積情報S1−1及び部分
積情報S1−2のうち、少なくとも一方が“1”を指示
するとき、NORゲート101の出力が“0”となり、
ANDゲート102及び103の出力が“0”に固定さ
れる。このとき、半加算器HAは実動作しない。
【0096】半加算器HAは制御信号S101が“1”
のとき、1ビット部分積Q−1及び1ビット部分積Q−
2とを加算して、キャリア出力co及び加算出力sum
を出力する。
【0097】セレクタ1は、接地レベルのGND入力と
半加算器HAのキャリア出力coとを受け、制御信号S
101に基づき、部分積情報S1−1及び部分積情報S
1−2が共に“0”のときキャリア出力COとしてキャ
リア出力coを出力し、そうでない場合にキャリア出力
COとして“0”を出力する。
【0098】セレクタ2は、加算出力sum、1ビット
部分積Q−2及び1ビット部分積Q−1を受け、制御信
号S101、部分積情報S1−1及び部分積情報S1−
2とに基づき、部分積情報S1−1及び部分積情報S1
−2が共に“0”のとき加算出力SUMとして加算出力
sumを出力し、部分積情報S1−1が“1”(部分積
SM1が“0”)のとき加算出力SUMとして1ビット
部分積Q−2を出力し、部分積情報S1−2のみが
“1”(部分積SM2のみが“0”)のとき加算出力S
UMとして1ビット部分積Q−1を出力する。
【0099】このように、第2の実施例の半加算部PH
A2〜PHA8は、部分積情報S1−1及び部分積情報
S1−2のうち、少なくとも一方が“1”のとき、半加
算器HAの第1入力a及び第2入力bを“0”に固定す
ることにより、半加算器HAの実動作を停止させ、セレ
クタ1により接地レベルを選択し、セレクタ2により第
1入力A(Q−2)及び第2入力B(Q−1)のうち、
部分積が“0”でない方を選択することにより、半加算
演算を行う。
【0100】図15は全加算部PFA(PFA2〜PF
A8)の内部構成を示す回路図である。同図に示すよう
に、全加算部PFAは、インバータ106、ANDゲー
ト107〜109、全加算器FA、セレクタ3及びセレ
クタ4から構成される。
【0101】インバータ106はその入力に部分積情報
S1−3を受け、インバータ106の出力がANDゲー
ト107〜109の一方入力に接続される。
【0102】ANDゲート107は他方入力に部分積生
成回路PP3からの1ビット部分積Q−3を受け、出力
が全加算器FAの第2入力bに接続される。ANDゲー
ト108は他方入力に半加算部PHAからの加算出力S
UM1を受け、出力が全加算器FAの第1入力aに接続
される。ANDゲート109は他方入力に半加算部PH
Aからのキャリア出力CO1を受け、出力が全加算器F
Aのキャリア入力ciに接続される。
【0103】したがって、部分積情報S1−3が“1”
を指示するとき、インバータ106の出力が“0”とな
り、ANDゲート107〜109の出力が“0”に固定
される。このとき、全加算器FAは実動作しない。
【0104】全加算器FAは、インバータ106の出力
が“1”のとき、すなわち、部分積情報S1−3が
“0”のとき、キャリア入力がキャリア出力CO1のと
きの1ビット部分積Q−3と加算出力SUM1とを全加
算処理して、キャリア出力co及び加算出力sumを出
力する。
【0105】セレクタ3は、キャリア出力CO1と全加
算器FAのキャリア出力coとを受け、部分積情報S1
−3に基づき、“0”のときキャリア出力COとしてキ
ャリア出力coを出力し、部分積情報S1−3が“1”
(部分積SM3が“0”のとき)のとき、キャリア出力
COとしキャリア出力CO1を出力する。
【0106】セレクタ4は、加算出力sum及び加算出
力SUM1を受け、部分積情報S1−3に基づき、部分
積情報S1−3が“0”のとき加算出力SUMとして加
算出力sumを出力し、部分積情報S1−3が“1”の
とき加算出力SUMとして加算出力SUM1を出力す
る。
【0107】このように、第2の実施例の全加算部PF
A2〜PFA8は、部分積情報S1−3が“1”のと
き、全加算器FAの第1入力a、第2入力b及びキャリ
ア入力ciを“0”に固定することにより、全加算器F
Aの実動作を停止させ、セレクタ3によりキャリア出力
CO1を選択し、セレクタ4により加算出力SUM1を
選択することにより、全加算演算を行う。
【0108】図16は全加算部PFA10の内部構成を
示す回路図である。同図に示すように、全加算部PFA
は、インバータ106、ANDゲート107〜109、
全加算器FA、セレクタ5及びセレクタ6から構成され
る。
【0109】インバータ106はその入力に部分積情報
S1−3を受け、インバータ106の出力がANDゲー
ト107〜109の一方入力に接続される。
【0110】ANDゲート107は他方入力に全加算部
PFA2からの加算出力SUM2を受け、出力が全加算
器FAの第2入力bに接続される。ANDゲート108
は他方入力に部分積生成回路PP3からの1ビット部分
積Q−3を受け、出力が全加算器FAの第1入力aに接
続される。ANDゲート109は他方入力に全加算器F
A1からのキャリア出力CO2を受け、出力が全加算器
FAのキャリア入力ciに接続される。
【0111】したがって、全加算部PFA10は、全加
算部PFA2〜PFA8同様、部分積情報S1−3が
“1”を指示するとき、インバータ106の出力が
“0”となり、ANDゲート107〜109の出力が
“0”に固定される。このとき、全加算器FAは実動作
しない。
【0112】全加算器FAは、インバータ106の出力
が“1”のとき、すなわち、部分積情報S1−3が
“0”のとき、キャリア入力がキャリア出力CO2のと
きの1ビット部分積Q−3と加算出力SUM2とを全加
算処理して、キャリア出力co及び加算出力sumを出
力する。
【0113】セレクタ5は、キャリア出力CO2と全加
算器FAのキャリア出力coとを受け、部分積情報S1
−3に基づき、“0”のときキャリア出力COとしてキ
ャリア出力coを出力し、部分積情報S1−3が“1”
のとき、キャリア出力COとしキャリア出力CO2を出
力する。
【0114】セレクタ6は、加算出力sum及び加算出
力SUM2を受け、部分積情報S1−3に基づき、部分
積情報S1−3が“0”のとき加算出力SUMとして加
算出力sumを出力し、部分積情報S1−3が“1”の
とき加算出力SUMとして加算出力SUM2を出力す
る。
【0115】このように、第2の実施例の全加算部PF
A10は、部分積情報S1−3が“1”のとき、全加算
器FAの第1入力a、第2入力b及びキャリア入力ci
を“0”に固定することにより、全加算器FAの実動作
を停止させ、セレクタ5によりキャリア出力CO2を選
択し及びセレクタ6により加算出力SUM2を選択する
ことにより、全加算演算を行う。
【0116】このような構成の部分積加算回路ADD2
は、半加算器HA0,HA1、全加算器FA0,FA
1,FA11〜FA17、半加算部PHA2〜PHA8
並びに全加算部PFA2〜PFA8及びPFA10を用
いて、部分積生成回路PP1〜PP3から出力される部
分積SM1〜SM3(H0,Q0〜Q6)の加算処理を
行い、乗数Y(Y0〜Y5)と被乗数X(X0〜X5)
との乗算結果XY(XY0〜XY11)を出力する。
【0117】このような構成の第2の実施例の乗算回路
は、第1の実施例同様、5ビットの部分積情報群S1〜
S5を出力するブースデコーダBDを構成して、部分積
生成回路PP内の1ビット部分積生成回路BPそれぞれ
の回路構成を大幅に簡略化することにより、乗算回路の
回路規模を大幅に縮小することができる。
【0118】さらに、第2の実施例の部分積加算回路A
DD2内の半加算部PHA2〜PHA8は、部分積情報
S1−1あるいは部分積情報S1−2が“1”を指示し
“0”の部分積SM1あるいはSM2を演算する場合
は、半加算器HAに実動作させることなく、“0”の部
分積以外の入力を選択して半加算演算を行うことによ
り、半加算器HAを効率的に動作させてる。
【0119】加えて、第2の実施例の部分積加算回路A
DD2内の全加算部PFA2〜PFA8及びPFA10
は、部分積情報S1−3が“1”を指示し“0”の部分
積SM3を演算する場合は、全加算器FAに実動作させ
ることなく、“0”の部分積以外の入力を選択して全加
算演算を行うことにより、全加算器FAを効率的に動作
させている。
【0120】すなわち、第2の実施例の乗算回路の部分
積加算回路ADD2は、部分積情報S1(部分積情報S
1−1〜部分積情報S1−3)に基づき、被乗数Xに0
を積算して得られる“0”の部分積の加算処理を加算器
(半加算器HA,全加算器FA)を実動作させることな
く、“0”の部分積以外の入力情報を選択して乗算結果
XYを求めることにより、部分積加算回路ADD2内に
おける半加算器HA及び全加算器FAを効率的に動作さ
せることができ、消費電力の低減化を図ることができ
る。
【0121】<<第3の実施例>>図17はBooth
のアルゴリズムを実現するこの発明の第3の実施例の乗
算回路の構成を示すブロック図である。
【0122】ブースデコーダBD1〜BD3はそれぞれ
6ビットの乗数Y(Y0〜Y5)のうち、重複した3ビ
ット分を受け、その乗数Yの3ビット分に基づき、部分
積情報群S1〜S5をレジスタ回路REG1に出力す
る。
【0123】レジスタ回路REG1は各ブースデコーダ
BDの部分積情報群S1〜S5をパラレルに受け、パラ
レル/シリアル変換してシリアル部分積情報SSをレジ
スタ回路REG2に出力する。
【0124】レジスタ回路REG2は、シリアル部分積
情報SSを受け、シリアル部分積情報SSをシリアル/
パラレル変換して、各ブースデコーダBDの部分積情報
群S1〜S5を対応の部分積生成回路PPに出力する。
【0125】部分積生成回路PP1〜PP3はそれぞれ
対応の部分積情報群S1〜S5と8ビットの被乗数X
(X0〜X7)とを受け、部分積SM1〜SM3を部分
積加算回路ADD1に出力する。
【0126】部分積加算回路ADD1はSM1〜SM3
を加算して、乗数Yと被乗数Xとの乗算結果XYを出力
する。
【0127】このような構成の第3の実施例の乗算回路
は、第1の実施例同様、5ビットの部分積情報群S1〜
S5を出力するブースデコーダBDを構成して、部分積
生成回路PP内の1ビット部分積生成回路BPそれぞれ
の回路構成を大幅に簡略化することにより、乗算回路の
回路規模を大幅に縮小することができる。
【0128】加えて、ブースデコーダBDと部分積生成
回路PPとの間にレジスタ回路REG1及びレジスタ回
路REG2を介挿することにより、ブースデコーダBD
により一度求められた部分積情報群S1〜S5を保存す
ることができる。
【0129】したがって、乗数Yを固定、被乗数Xのみ
変化させて乗算させる場合、一度、レジスタ回路REG
2がシリアル部分積情報SSを取り込めば、以降の乗算
処理は、レジスタ回路REG2、部分積生成回路PP1
〜PP3及び部分積加算回路ADD1からなる簡易乗算
部10により乗算処理を施すことができる。その結果、
ブースデコーダBDを動作させない分、低消費電力化を
図ることができる。
【0130】また、簡易乗算部10を乗数Yの部分積情
報と被乗数Xとを受け、乗数Yと被乗数Xの乗算を行う
乗算回路とみなした場合、この簡易乗算部10は、内部
にブースデコーダBDを含まない分回路構成は簡略化
し、ブースデコーダBDによる部分積情報群S1〜S5
を求めない分低消費電力化を図ることができる。
【0131】なお、簡易乗算部10の部分積加算回路A
DD1を第2の実施例の部分積加算回路ADD2に置き
換えることにより、さらなる低消費電力化を図ることが
できるのは勿論である。
【0132】
【発明の効果】この発明における請求項1記載の乗算回
路において、デコード手段は、部分積の種別毎に1対1
に対応して設けられる複数の部分積情報をそれぞれが有
する複数の部分積情報群を出力し、部分積生成手段は、
複数の部分積情報群に基づき、前記被乗数Xとの複数の
部分積を生成している。
【0133】したがって、部分積生成手段は、複数の部
分積情報群それぞれの複数の部分積情報に1対1に対応
して選択回路を設けるという比較的簡単な回路構成で部
分積を出力することができる。
【0134】その結果、部分積生成手段の回路構成を簡
略化することができるため、乗算回路全体の回路規模を
大幅に縮小することができる。
【0135】また、請求項2記載の乗算回路の部分積加
算手段は、前記複数の部分積0X情報に基づき、前記複
数の部分積から“0”の部分積を認識して、前記複数の
加算器のうち認識した“0”の部分積を一方入力とする
0入力加算器を実動作させずに、前記0入力加算器の他
方入力を当該0入力加算器をスキップして加算結果とし
て出力しつつ加算処理を行うことにより、複数の加算器
のうち実際に加算演算を行う必要のない0入力加算器を
実動作させずに加算結果を得ることができる。
【0136】その結果、部分積加算手段内の複数の加算
器を効率的に使用することができため、回路全体として
の低消費電力化が実現する。
【0137】また、請求項3記載の乗算回路は、前記複
数の部分積情報群を格納する記憶手段をさらに備え前記
部分積生成手段は前記記憶手段から前記部分積情報群を
受ける構成のため、乗数Yが固定で被乗数Xを変えて乗
算結果XYを順次求める場合、2回目以降はデコード手
段による複数の部分積情報群の出力を得る必要がない
分、回路の低消費電力化を図ることができる。
【0138】この発明における請求項4記載の乗算回路
において、記憶手段は、部分積の種別毎に1対1に対応
して設けられる複数の部分積情報をそれぞれが有する複
数の部分積情報群を格納し、部分積生成手段は記憶手段
から得た複数の部分積情報群に基づき、被乗数Xとの複
数の部分積を生成している。
【0139】したがって、部分積生成手段は、複数の部
分積情報群それぞれの複数の部分積情報に1対1に対応
して選択回路を設けるという比較的簡単な回路構成で部
分積を出力することができる。
【0140】その結果、部分積生成手段の回路構成を簡
略化することができるため、乗算回路全体の回路規模を
大幅に縮小することができる。
【0141】加えて、記憶手段、部分積生成手段及び部
分積加算手段の構成で、乗数Yをデコードして複数の部
分積情報群を得る手段を用いることなく、乗算結果XY
を得ることができるため、回路規模の縮小化及び低消費
電力化を図ることができる。
【図面の簡単な説明】
【図1】 この発明の第1の実施例である乗算回路の構
成を示すブロック図である。
【図2】 図1のブースデコーダの内部構成を示す回路
図である。
【図3】 3ビット乗数と部分積情報及び部分積との相
関を示す図である。
【図4】 部分積情報と部分積の相関を示す図である。
【図5】 図1の部分積生成回路の内部構成を示す回路
図である。
【図6】 図5の1ビット部分積生成回路の内部構成を
示す回路図である。
【図7】 図1の部分積加算回路の内部構成を示す回路
図である。
【図8】 図1の部分積加算回路の内部構成を示す回路
図である。
【図9】 図1の部分積加算回路の内部構成を示す回路
図である。
【図10】 この発明の第2の実施例である乗算回路の
構成を示すブロック図である。
【図11】 図10の部分積加算回路の内部構成を示す
回路図である。
【図12】 図10の部分積加算回路の内部構成を示す
回路図である。
【図13】 図10の部分積加算回路の内部構成を示す
回路図である。
【図14】 半加算部の内部構成を示す回路図である。
【図15】 全加算部の内部構成(その1)を示す回路
図である。
【図16】 全加算部の内部構成(その2)を示す回路
図である。
【図17】 この発明の第3の実施例である乗算回路の
構成を示すブロック図である。
【図18】 従来の乗算回路の構成を示すブロック図で
ある。
【図19】 図18のブースデコーダの内部構成を示す
回路図である。
【図20】 3ビット乗数と部分積情報及び部分積との
相関を示す図である。
【図21】 部分積情報と部分積の相関を示す図であ
る。
【図22】 部分積生成回路内における1ビット部分積
生成回路の内部構成を示す回路図である。
【符号の説明】
BD1〜BD3 ブースデコーダ、PP1〜PP3 部
分積生成回路、ADD1,ADD2 部分積加算回路、
BP0〜BP7 1ビット部分積生成回路、REG1,
REG2 レジスタ回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山中 一也 兵庫県伊丹市瑞原4丁目1番地 三菱電 機株式会社 システム エル・エス・ア イ開発研究所内 (56)参考文献 特開 平3−282730(JP,A) 特開 平6−168103(JP,A) 実開 平6−86142(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 310

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 ブースのアルゴリズムにより乗数Yと被
    乗数Xとの複数の部分積を生成し、該複数の部分積を加
    算することにより前記乗数Yと前記被乗数Xとの乗算結
    果XYを得る乗算回路であって、 前記乗数Yを受け、前記乗数Yをデコードして前記被乗
    数Xとの部分積の種別を示す複数の部分積情報群を出力
    するデコード手段を備え、前記複数の部分積情報群はそ
    れぞれ部分積の種別毎に1対1に対応して設けられる複
    数の部分積情報を有し、 前記被乗数X及び前記複数の部分積情報群を受け、前記
    複数の部分積情報群に基づき、前記被乗数Xと前記乗数
    Yとの複数の部分積を生成する部分積生成手段と、 前記複数の部分積を受け、前記複数の部分積を加算して
    前記乗算結果XYを出力する部分積加算手段とをさらに
    備える、乗算回路。
  2. 【請求項2】 前記複数の部分積情報群それぞれにおい
    て、前記複数の部分積情報のうち一の情報は、部分積が
    被乗数Xに0を積算する0Xであるか否かを指示する部
    分積0X情報であり、 前記部分積加算手段は、各々が一方入力と他方入力との
    加算処理を行う複数の加算器を有し、かつ前記複数の部
    分積情報群における複数の前記部分積0X情報をさらに
    受け、前記複数の部分積0X情報に基づき、前記複数の
    部分積から“0”の部分積を認識して、前記複数の加算
    器のうち前記認識した“0”の部分積を一方入力とする
    0入力加算器を実動作させずに、前記0入力加算器の他
    方入力を当該0入力加算器をスキップして直接に加算結
    果として出力しつつ加算処理を行うことを特徴とする、
    請求項1記載の乗算回路。
  3. 【請求項3】 前記複数の部分積情報群を格納する記憶
    手段をさらに備え、 前記部分積生成手段は前記記憶手段から前記部分積情報
    群を受ける、請求項1あるいは請求項2記載の乗算回
    路。
  4. 【請求項4】 ブースのアルゴリズムにより乗数Yと被
    乗数Xとの乗算結果XYを得る乗算回路であって、 前記乗数Yに基づき決定される前記被乗数Xとの部分積
    の種別を示す複数の部分積情報群を受け、該複数の部分
    積情報群を格納する記憶手段を備え、前記複数の部分積
    情報群はそれぞれ前記部分積の種別毎に1対1に対応し
    て設けられる複数の部分積情報を有し、 外部より前記被乗数X、前記記憶手段より前記複数の部
    分積情報群を受け、前記複数の部分積情報群に基づき、
    前記被乗数Xと前記乗数Yとの複数の部分積を生成する
    部分積生成手段と、 前記複数の部分積を受け、前記複数の部分積を加算して
    前記乗算結果XYを出力する部分積加算手段とを備え
    る、乗算回路。
JP03691195A 1995-02-24 1995-02-24 乗算回路 Expired - Fee Related JP3474663B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP03691195A JP3474663B2 (ja) 1995-02-24 1995-02-24 乗算回路
US08/562,100 US5748517A (en) 1995-02-24 1995-11-22 Multiplier circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03691195A JP3474663B2 (ja) 1995-02-24 1995-02-24 乗算回路

Publications (2)

Publication Number Publication Date
JPH08234964A JPH08234964A (ja) 1996-09-13
JP3474663B2 true JP3474663B2 (ja) 2003-12-08

Family

ID=12482964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03691195A Expired - Fee Related JP3474663B2 (ja) 1995-02-24 1995-02-24 乗算回路

Country Status (2)

Country Link
US (1) US5748517A (ja)
JP (1) JP3474663B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704761B1 (en) * 1997-04-30 2004-03-09 Lucent Technologies Inc. Carry-save multiplier/accumulator system and method
US6144980A (en) * 1998-01-28 2000-11-07 Advanced Micro Devices, Inc. Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication
US6275841B1 (en) * 1997-12-11 2001-08-14 Intrinsity, Inc. 1-of-4 multiplier
JP3417286B2 (ja) * 1998-02-23 2003-06-16 株式会社デンソー 乗算器
US6173304B1 (en) * 1998-08-20 2001-01-09 Lucent Technologies, Inc. Joint optimization of modified-booth encoder and partial product generator
US7272624B2 (en) * 2003-09-30 2007-09-18 International Business Machines Corporation Fused booth encoder multiplexer
TWI227840B (en) * 2003-12-03 2005-02-11 Via Tech Inc Method and apparatus for multiplying based on Booth's algorithm
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
US20090030963A1 (en) * 2006-02-15 2009-01-29 Kouichi Nagano Multiplication circuit, digital filter, signal processing device, synthesis device, synthesis program, and synthesis program recording medium
US20070262296A1 (en) * 2006-05-11 2007-11-15 Matthias Bauer Photodetectors employing germanium layers
US7797364B2 (en) * 2006-06-27 2010-09-14 International Business Machines Corporation Booth decoder apparatus and method
US7797365B2 (en) * 2006-06-27 2010-09-14 International Business Machines Corporation Design structure for a booth decoder
US7958180B2 (en) 2007-07-05 2011-06-07 International Business Machines Corporation Multiplier engine
US9607586B2 (en) * 2014-02-18 2017-03-28 Apple Inc. Asymmetric circuitry

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62154029A (ja) * 1985-12-27 1987-07-09 Hitachi Tobu Semiconductor Ltd 乗算回路
JPH04116720A (ja) * 1990-09-07 1992-04-17 Hitachi Ltd 半導体装置
JP3228927B2 (ja) * 1990-09-20 2001-11-12 沖電気工業株式会社 プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法
US5251167A (en) * 1991-11-15 1993-10-05 Amdahl Corporation Method and apparatus for processing sign-extension bits generated by modified booth algorithm
JPH05204609A (ja) * 1992-01-13 1993-08-13 Nec Corp 乗算回路
JPH06214761A (ja) * 1993-01-19 1994-08-05 Sony Corp 部分積発生方法及びその回路

Also Published As

Publication number Publication date
US5748517A (en) 1998-05-05
JPH08234964A (ja) 1996-09-13

Similar Documents

Publication Publication Date Title
JP3474663B2 (ja) 乗算回路
Mohanty et al. Area–delay–power efficient carry-select adder
Miyamoto et al. Systematic design of RSA processors based on high-radix Montgomery multipliers
JP3658079B2 (ja) 演算処理装置及びデータ処理装置
US7275076B2 (en) Multiplication logic circuit
EP0827069B1 (en) Arithmetic circuit and method
GB2365636A (en) Parallel counter and multiplication logic circuit
EP1471420A2 (en) Montgomery modular multiplier and method thereof using carry save addition
US5070471A (en) High speed multiplier which divides multiplying factor into parts and adds partial end products
JPH05204609A (ja) 乗算回路
US7620677B2 (en) 4:2 Carry save adder and 4:2 carry save adding method
JP2970231B2 (ja) 並列乗算回路
JP3396720B2 (ja) 部分積生成回路
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US5935202A (en) Compressor circuit in a data processor and method therefor
JP2000207387A (ja) 演算装置及び暗号処理装置
JP4436412B2 (ja) 加算器、およびその合成装置、合成方法、合成プログラム、合成プログラム記録媒体
JPH01220528A (ja) パリテイ発生器
JPH0326857B2 (ja)
Au et al. Unified Radix-4 Multiplier for GF (p) and GF (2^ n)
JP4230234B2 (ja) 全加算器用のパリティ予測回路
Madhuri et al. Analysis of reconfigurable multipliers for integer and Galois field multiplication based on high speed adders
JP3190826B2 (ja) 積和演算装置
JP2000269805A (ja) 論理回路
Miyamoto et al. Systematic design of high-radix Montgomery multipliers for RSA processors

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20070919

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080919

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080919

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090919

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees