JP2734438B2 - 乗算装置 - Google Patents

乗算装置

Info

Publication number
JP2734438B2
JP2734438B2 JP7347710A JP34771095A JP2734438B2 JP 2734438 B2 JP2734438 B2 JP 2734438B2 JP 7347710 A JP7347710 A JP 7347710A JP 34771095 A JP34771095 A JP 34771095A JP 2734438 B2 JP2734438 B2 JP 2734438B2
Authority
JP
Japan
Prior art keywords
circuit
product
csa
carry
partial product
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
JP7347710A
Other languages
English (en)
Other versions
JPH09167082A (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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP7347710A priority Critical patent/JP2734438B2/ja
Publication of JPH09167082A publication Critical patent/JPH09167082A/ja
Application granted granted Critical
Publication of JP2734438B2 publication Critical patent/JP2734438B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は乗算装置に関し、特
に2つのデータの積を求める際に、いくつかの部分積を
求め、この部分積を加算することにより積を求め、この
積に1つのデータを加算し最終の積和演算値を求める積
和演算装置に関する。
【0002】
【従来の技術】図7に、2次のブース(Booth)の
アルゴリズムを用いてなる従来の一般的な乗算論理を説
明するための図を示す。
【0003】被乗数X、乗数Yの乗算を行う際に、乗数
Yを3ビットずつの組合わせに分け、図7(B)に示す
変換規則に従って、部分積Pn(i=0〜8)を求め、
次に各部分積Pnについてそれぞれの重みに応じた加算
を行い、被乗数Xと乗数Yとの積を求める方法が用いら
れている。図7(B)に示すように、乗数Yの連続する
3ビット(y2n+1、y2n、y2n-1)の論理値に従い、部
分積Pnとして、被乗数Xについて0、±X、±2Xの
値が選択される。この乗算論理の理解を容易とするた
め、その骨子を簡単に説明すると、被乗数Xが「10」
(=5ビット2進表示で“01010”)、乗数Yが「2」
(=“00010”)という簡単な例で説明すると、まず乗
算YのLSB(最下位ビット)の下の桁に“0”を1つ
付加し、図7(B)に従い、(y2n+1、y2n、y2n-1
=(y1、y0、y-1)の組合せは(1,0,0)とされ(但
し、y-1=0)、この組み合わせに対する部分積P0
は、−2Xとされ、次に被乗数Yについて前回の組み合
わせ(y1、y0、y-1)と1ビットオーバラップするよ
うにして、(y3、y2、y1)=(0、0、1)の組み合わ
せに対する部分積P1は、+Xとされ、これを2ビット
分の右シフトに対応して4倍し(4X)、これらを加算
して4X+(−2X)から、乗算結果2X(=“1010
0”)が得られる。
【0004】図8は、さらに被乗数Xと乗数Yについて
部分積により求められた積に対して、加数Zを加算し、
最終積和演算値X*Y+Zを求める手順が模式的に示さ
れている。
【0005】この理論を用いた乗算入力X、Yが各16
ビットとされ、加数入力Zが32ビットの乗算装置の従
来の構成の一例を図6に示す。
【0006】図6を参照して、この従来の乗算装置は、
符号付の16ビット乗算を行う8段の桁上げ保存加算回
路(Carry Save Adder、「CSA」と
いう)202、204、206、208、210、21
2、214、216と、上記8段の桁上げ保存加算回路
(CSA)へ入力する部分積を選択するセレクタ20
1、203、205、207、209、211、21
3、215による部分積演算回路と、符号ビット部の部
分積を算出する桁上げ保存加算回路(CSA)218に
よる部分積演算回路と、桁上げ保存加算回路(CSA)
218へ入力する部分積を選択するセレクタ217によ
る符号ビット部の部分積演算回路と、積和演算時の32
ビットデータを加算する桁上げ保存加算回路(CSA)
219と、積和演算結果を2の補数表現に変換する桁上
げ伝搬加算回路(Carry Propagate A
dder、「CPA」という)220と、ブース(Bo
oth)の方法により部分積を求めるためのブース(B
ooth)デコーダ回路222と、から構成されてい
る。
【0007】図6に示した乗算装置による16ビット符
号付きの入力データX、Yの乗算と乗算結果の32ビッ
トデータと32ビットの入力データZの加算は次のよう
に行われる。
【0008】まず、入力データXは18ビットに符号拡
張され、部分積演算回路のセレクタ201、203、2
05、207、209、211、213、215、21
7へ送られる。
【0009】さらに、入力データXの2倍のデータ(2
*X)が18ビットにゼロ拡張され、部分積演算回路の
セレクタ201、203、205、207、209、2
11、213、215、217へ送られる。
【0010】入力データYは、18ビットに符号拡張さ
れた後、3ビットずつの組合わせに分けられ、ブース
(Booth)デコーダ回路222においてBooth
の方法に従って、部分積Pnを求めるための制御信号を
生成し、部分積生成回路のセレクタ部201、203、
205、207、209、211、213、215、2
17に送られる。上記制御信号により部分積生成回路の
セレクタ部201、203、205、207、209、
211、213、215、217で部分積Pnが求ま
る。
【0011】次に、求められた部分積Pnは、桁上げ保
存加算回路(CSA)202、204、206、20
8、210、212、214、216、218において
その重みに応じて加算される。
【0012】さらに、この部分積Pnの加算結果に、3
2ビットのデータZを桁上げ保存加算回路(CSA)2
18で加算し、桁上げ保存加算回路(CSA)218の
結果出力が桁上げ伝搬加算回路(CPA)220で、完
全な2の補数データに変換される。
【0013】
【発明が解決しようとする課題】図6に示した上記従来
の乗算器は、データビット分の幅の桁上げ保存加算回路
(CSA)を複数段備え、高速に演算を行っている。
【0014】しかしながら、上記従来の乗算器は、複数
段の桁上げ保存加算回路(CSA)を備えることによ
り、チップの面積において乗算器の占める割合が大きく
なってしまっているという問題点を有している。
【0015】現在、積和演算に必要とされる機能は、符
号付の乗算結果に、符号付データを加算することであ
る。
【0016】しかしながら、このような構成を用いた場
合、積和演算時において、符号部の部分積は常に零
(0)となる。これは、この積和演算においては、符号
付データを扱うため、符号部の演算に用いられる、ビッ
トの組み合わせ(y2n+1、y2n、y2n-1)が“000”、
または“111”となり、この場合、図6(B)に示すよ
うに、部分積は0となるためである。このため、桁上げ
保存加算回路(CSA)218は必要がなくなってしま
う。
【0017】本発明は、この点に着目して為されたもの
であって、限られたLSI資源において、符号部の桁上
げ保存加算回路(CSA)を使い分けることにより、回
路規模の縮小を可能とする乗算回路を提供することを目
的とする。
【0018】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、被乗数(X)と乗数(Y)の部分積を算
出する複数の桁上げ保存加算回路(CSA)と、符号ビ
ット部の部分積を算出する桁上げ保存加算回路(CS
A)と、を含む部分積演算回路と、前記部分演算回路の
出力を加算する桁上げ伝搬加算回路(CPA)と、を備
えた乗算装置において、上記符号ビット部の部分積を算
出する桁上げ保存加算回路(CSA)への入力に部分積
(Pn)の他にデータ(Z)を選択可能なセレクタを付
加し、新たな加算器を追加することなく積和演算を行え
るようにしたことを特徴とする乗算装置を提供する。
【0019】本発明によれば、CSA回路およびCPA
回路によって構成される乗算回路における最終段のCS
A回路への入力に、符号無し乗算時の被乗数Xと、積和
演算時の加算数Zを選択するためのセレクタを備え、乗
算演算時には最終段のCSA回路を部分積の加算に用い
て最終積を求めると共に、積和演算時には最終段のCS
A回路を加数Zの加算に用いて最終積和演算値を求める
ものとし、共通化したCSA回路を乗算時と積和演算時
で使い分けることにより、回路規模の縮小、チップ面積
の削減を達成したものである。
【0020】
【発明の実施の形態】本発明の実施の形態を図面を参照
して以下に説明する。
【0021】図2は、本発明の実施形態に係る乗算器に
おける演算過程を説明するための図である。被乗数X、
乗数Yの乗算を行う際に、乗数Yを3ビットずつの組合
わせに分け、図2(B)に示すBoothの変換規則に
従って部分積Pnを求め、次に各部分積Pnについてそ
れぞれの重みに応じた加算を行い、被乗数X、乗数Yと
の積を求める。
【0022】図3は、積和演算を行う場合の演算過程を
説明するための図であり、符号部の部分積以外の部分積
Pnに加数Zを加算し、最終積和演算値(X*Y+Z)
を求める。
【0023】図1に、本発明の一実施形態に係る、乗算
入力が各16ビットおよび加数入力が32ビットの乗算
装置の構成例を示す。
【0024】図1を参照して、本実施形態に係る乗算装
置は、符号付の16ビット乗算を行う8段の桁上げ保存
加算回路(Carry Save Adder、「CS
A」という)102、104、106、108、11
0、112、114、116と、上記8段の桁上げ保存
加算回路(CSA)へ入力する部分積を選択するセレク
タ101、103、105、107、109、111、
113、115による部分積演算回路と、乗算時は符号
ビット部の部分積を算出し、積和演算時は32ビットの
データの加算を行う桁上げ保存加算回路(CSA)11
8による部分積演算回路と、上記桁上げ保存加算回路
(CSA)へ入力するデータを選択するセレクタ117
による符号部の部分積演算回路と、演算結果を2の補数
表現に変換する桁上げ伝搬加算回路(Carry Pr
opagate Adder、「CPA」という)11
9と、Boothの方法により部分積を求めるためのB
oothデコーダ回路121と、から構成されている。
【0025】図1に示した本実施形態に係る乗算装置に
おいては、例えば16ビット符号付の入力データX、Y
の乗算と、この乗算結果である32ビットデータと32
ビットの入力データZとの加算は次のようにして行われ
る。
【0026】まず、入力データXは18ビットに符号拡
張され、部分積演算回路のセレクタ101、103、1
05、107、109、111、113、115、11
7へ送られる。
【0027】さらに、入力データXの2倍のデータが1
8ビットにゼロ拡張され、部分積演算回路のセレクタ1
01、103、105、107、109、111、11
3、115へ送られる。
【0028】入力データYは18ビットに符号拡張され
た後、3ビットずつの組合わせに分けられ、図1に示す
ブース(Booth)デコーダ回路121においてブー
ス(Booth)の方法に従って、部分積Pnを求める
ための制御信号を生成し、部分積生成回路のセレクタ部
101、103、105、107、109、111、1
13、115に送られる。
【0029】上記制御信号により部分積生成回路のセレ
クタ部101、103、105、107、109、11
1、113、115で部分積Pnが求まる。
【0030】次に、求められた部分積Pnは、桁上げ保
存加算回路(CSA)102、104、106、10
8、110、112、114、116において、その重
みに応じて加算される。
【0031】セレクタ117によって、桁上げ保存加算
回路(CSA)118への入力として32ビットのデー
タZが選択される。
【0032】この部分積P0からP7の加算結果と32
ビットのデータZが桁上げ保存加算回路(CSA)11
8で加算され、桁上げ保存加算回路(CSA)118の
出力結果が、CPA119で完全な2の補数データに変
換される。
【0033】また、図1に示す乗算装置による16ビッ
ト符号無しの入力データX、Yの乗算は次のように行わ
れる。
【0034】まず、入力データXは18ビットに符号拡
張され、部分積演算回路のセレクタ101、103、1
05、107、109、111、113、115、11
7へ送られる。さらに、入力データXの2倍のデータが
18ビットにゼロ拡張され、部分積演算回路のセレクタ
101、103、105、107、109、111、1
13、115へ送られる。入力データYは18ビットに
符号拡張された後、3ビットずつの組合わせに分けら
れ、図1に示すブース(Booth)デコーダ回路12
1においてブース(Booth)の方法に従って、部分
積Pnを求めるための制御信号を生成し、部分積生成回
路のセレクタ部101、103、105、107、10
9、111、113、115に送られる。上記制御信号
により部分積生成回路のセレクタ部101、103、1
05、107、109、111、113、115で部分
積Pnが求まる。
【0035】次に、求められた部分積Pnは、桁上げ保
存加算回路(CSA)102、104、106、10
8、110、112、114、116においてその重み
に応じて加算される。セレクタ117によって、桁上げ
保存加算回路(CSA)118への入力として符号部の
部分積P8としてXまたは0が選択される。この部分積
P0からP7の加算結果と部分積P8が桁上げ保存加算
回路(CSA)118で加算され、桁上げ保存加算回路
(CSA)118の出力結果が桁上げ伝搬加算回路(C
PA)119で完全な2の補数データに変換される。
【0036】図4は、本発明の一実施形態に係る乗算回
路における部分積生成部のセレクタ(図1のセレクタ1
01〜115)の回路構成を示す図である。
【0037】乗数Yの3ビットの組合わせ(y2n+1、y
2n、y2n-1)がブース(Booth)デコーダ701に
よってデコードされ、X、−X、2X、−2X、0のう
ちのいずれかが部分積Pnとして選択される。すなわ
ち、第1段のセレクタで2XとXのいずれかが選択さ
れ、第2段のセレクタで第1段のセレクタで選択された
出力の反転信号と正転信号のいずれかが選択され、第3
段のセレクタで第2のセレクタからの出力と0のいずれ
かが選択出力されている。
【0038】図5は、本発明の一実施形態に係る乗算回
路の積和演算時の加数Zと乗算時の符号部の部分積のセ
レクタ117の回路構成を示す図である。
【0039】乗算時、乗数Yの符号ビット部の3ビット
の組合わせ(y17、y16、y15)が、Boothデコー
ダ701によってデコードされ、X、0のうちのいずれ
かが部分積P8として選択される。
【0040】積和演算時(積和演算命令信号がアクティ
ブ状態の時)、このセレクタ回路によって出力P8とし
て、データZが選択され、桁上げ保存加算回路(CS
A)118に出力される。
【0041】
【発明の効果】以上説明したように、本発明によれば、
積和演算時に符号付の乗算結果に符号付のデータを加算
するための桁上げ保存加算回路(CAS)と乗算時に符
号部の部分積を加算するための桁上げ保存加算回路(C
SA)を使い分けることにより、限られたLSI資源に
おいて乗算回路の回路規模を縮小させることができると
いう効果を有する。
【図面の簡単な説明】
【図1】本発明の一実施形態の構成を示すブロック図で
ある。
【図2】本発明の一実施形態における乗算演算処理を説
明するための図である。
【図3】本発明の一実施形態における積和演算処理を説
明するための図である。
【図4】本発明の一実施形態における部分積生成部のセ
レクタの回路構成を示す図である。
【図5】本発明の一実施形態における符号部の部分積生
成部のセレクタの回路構成を示す図である。
【図6】従来の乗算装置の構成を示すブロック図であ
る。
【図7】従来の乗算装置における乗算処理を説明するた
めの図である。
【図8】従来の乗算装置における積和演算処理を説明す
るための図である。
【符号の説明】
101、103、105、107、109、111、1
13、115、117、201、203、205、20
7、209、211、213、215、217部分積生
成部セレクタ回路 102、104、106、108、110、112、1
14、116、118、202、204、206、20
8、210、212、214、216、218、219
桁上げ保存加算回路 119、220 桁上げ伝搬加算回路 120、221 結果格納レジスタ 121、222、701、801 Boothデコーダ
回路

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】被乗数(X)と乗数(Y)の部分積を算出
    する複数の桁上げ保存加算回路(CSA)と、符号ビッ
    ト部の部分積を算出する桁上げ保存加算回路(CSA)
    と、 を含む部分積演算回路と、 前記部分演算回路の出力を加算する桁上げ伝搬加算回路
    (CPA)と、 を備えた乗算装置において、 上記符号ビット部の部分積を算出する桁上げ保存加算回
    路(CSA)への入力に部分積(Pn)の他にデータ
    (Z)を選択可能なセレクタを付加し、 新たな加算器を追加することなく積和演算を行えるよう
    にしたことを特徴とする乗算装置。
  2. 【請求項2】被乗数(X)と乗数(Y)の部分積を算出
    する複数段の桁上げ保存加算回路(CSA)と、 符号ビット部の部分積を算出する桁上げ保存加算回路
    (CSA)と、 を備えた乗算装置において、 最終段の桁上げ保存加算回路(CSA)への入力に、符
    号無し乗算時の被乗数(X)と、積和演算時の加算数
    (Z)と、を選択するためのセレクタを備え、 乗算演算時には前記最終段の桁上げ保存加算回路(CS
    A)を部分積(Pn)の加算に用いて最終積を求めると
    共に、 積和演算時には前記最終段の桁上げ保存加算回路(CS
    A)を加数(Z)の加算に用いて最終積和演算値を求め
    るように、一の桁上げ保存加算回路(CSA)を部分積
    と積和演算値の演算過程で共有してなることを特徴とす
    る乗算装置。
  3. 【請求項3】前記最終段以外の前記桁上げ保存加算回路
    (CSA)がそれぞれ、乗算時において、デコーダ回路
    に入力される乗数(Y)の所定ビットの信号値の組み合
    わせに応じて被乗数(X)について所定の値を選択する
    ための前記デコーダ回路から出力される選択信号により
    前記被乗数の所定値を部分積として対応する前記桁上げ
    保存加算回路(CSA)に出力するセレクタ回路を備え
    たことを特徴とする請求項1または2記載の乗算装置。
  4. 【請求項4】前記セレクタが前記デコーダ回路から選択
    信号を入力して部分積を対応する最終段の前記桁上げ保
    存加算回路(CSA)に出力し、積和演算時には、前記
    加数(Z)が前記桁上げ保存加算回路(CSA)に出力
    されることを特徴とする請求項3記載の乗算装置。
JP7347710A 1995-12-15 1995-12-15 乗算装置 Expired - Fee Related JP2734438B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7347710A JP2734438B2 (ja) 1995-12-15 1995-12-15 乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7347710A JP2734438B2 (ja) 1995-12-15 1995-12-15 乗算装置

Publications (2)

Publication Number Publication Date
JPH09167082A JPH09167082A (ja) 1997-06-24
JP2734438B2 true JP2734438B2 (ja) 1998-03-30

Family

ID=18392066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7347710A Expired - Fee Related JP2734438B2 (ja) 1995-12-15 1995-12-15 乗算装置

Country Status (1)

Country Link
JP (1) JP2734438B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4516051B2 (ja) * 2006-05-24 2010-08-04 ルネサスエレクトロニクス株式会社 フィルタ処理装置、乗算器及び動き補償処理装置
JP4519807B2 (ja) * 2006-06-05 2010-08-04 ルネサスエレクトロニクス株式会社 乗算器及びフィルタ処理装置

Also Published As

Publication number Publication date
JPH09167082A (ja) 1997-06-24

Similar Documents

Publication Publication Date Title
JP3244506B2 (ja) 小型乗算器
US5506799A (en) Booth array multiplying circuit having carry correction
US4525796A (en) Pipelined operation unit for vector data
JP2000259394A (ja) 浮動小数点乗算器
JPS6375932A (ja) ディジタル乗算器
JPS62280930A (ja) デイジタル乗算器
US5289399A (en) Multiplier for processing multi-valued data
JP2734438B2 (ja) 乗算装置
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US4118786A (en) Integrated binary-BCD look-ahead adder
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
JPH10111791A (ja) 除算装置
JP3515170B2 (ja) 実数または複素数用の乗算器
JPH11134175A (ja) 乗加減算器及び演算器
US4041296A (en) High-speed digital multiply-by-device
JPH02287874A (ja) 積和演算装置
JPS60112141A (ja) 乗算回路
JP2991788B2 (ja) 復号器
JP3130797B2 (ja) 積和演算処理方法およびその装置
JPH0793132A (ja) 演算装置及び演算方法
JP2675087B2 (ja) マイクロコンピュータ
JP2624738B2 (ja) 丸め処理方式
JP3230349B2 (ja) 10進乗算器
JP3104569B2 (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: 19971125

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

Free format text: PAYMENT UNTIL: 20080109

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees