JPH11134175A - 乗加減算器及び演算器 - Google Patents

乗加減算器及び演算器

Info

Publication number
JPH11134175A
JPH11134175A JP9297386A JP29738697A JPH11134175A JP H11134175 A JPH11134175 A JP H11134175A JP 9297386 A JP9297386 A JP 9297386A JP 29738697 A JP29738697 A JP 29738697A JP H11134175 A JPH11134175 A JP H11134175A
Authority
JP
Japan
Prior art keywords
circuit
addition
partial
partial product
multiplication
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.)
Pending
Application number
JP9297386A
Other languages
English (en)
Inventor
Haruhide Kikuchi
地 治 秀 菊
Masayuki Koizumi
泉 正 幸 小
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9297386A priority Critical patent/JPH11134175A/ja
Priority to US09/177,558 priority patent/US6202078B1/en
Priority to TW087117867A priority patent/TW432324B/zh
Publication of JPH11134175A publication Critical patent/JPH11134175A/ja
Pending 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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

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

Abstract

(57)【要約】 【課題】 乗加減算器の回路規模の縮小化及び計算速度
の高速化を図る。 【解決手段】 ブースデコーダ20では、乗算でA×B
又は−A×Bをするかによって、A又は−Aをブースの
アルゴリズムにしたがってデコードする。部分積生成・
部分加算回路30では、このデコード結果にしたがって
A×B又は−A×Bの部分積を生成するとともに、この
部分積を加算していく。また、部分積生成・部分加算回
路30には、この乗算結果にCを加算するか又は−Cを
加算するかによって、C又はこのCのビットを反転した
データが入力される。このC又はCのビットを反転した
データも、部分積生成・部分加算回路30で加算されて
いく。最終加算回路50では、この部分積の最後の加算
を行うとともに、−Cを加算する場合には1を加算す
る。これにより、Z=±(A×B)±C(符号順不同)
の計算を行うことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、乗加減算器及び演
算器に関し、例えばブースのアルゴリズム等を用いた乗
加減算器及び演算器に関する。
【0002】
【従来の技術】図23は、Z=±(A×B)±C(符号
順不同)を演算する、発明者が個人的に知り得た従来の
乗加減算器を示す図である。ここで、A、B、C、Z
は、いずれも、2の補数表現がされた2進数データを示
している。
【0003】この図23からわかるように、乗数Aは、
ブースデコーダ回路1に入力される。この乗数Aは、こ
のブースデコーダ回路1でブースアルゴリズムにしたが
ってデコードされる。このデコード結果は、部分積生成
・部分加算回路2に入力される。この部分積生成・部分
加算回路2には、被乗数Bも入力されており、これら乗
数Aと被乗数Bとにより、ブースアルゴリズムを用い
て、部分積を生成するとともに、同じ重みをもつ部分積
を加算する。但し、この部分積生成・部分加算回路2で
は、生成された部分積の加算のうちの一部を行う。具体
的には、CSA(Carry Save Adder)方式により各段の
部分積を加算していき、最後の段の加算をする1つ前ま
で加算をする。そして、この加算結果は、乗算部最終加
算回路3に入力される。
【0004】この乗算部最終加算回路3では、これらの
部分積の最終的な加算が行われる。すなわち、部分積の
加算のうちの最後の段の加算が行われる。この最後の段
の加算は、下の桁からの桁上げも考慮しなければならな
いため、CLA(Carry Lookahead adder)方式や、全
加算器を直列的につないだリップルキャリー方式等で、
行われる。この乗算部最終加算回路3で、同じ重みを持
つ部分積がすべて加算されたことになり、A×Bの演算
結果のデータが出力される。
【0005】このA×Bの演算結果のデータは、符号反
転回路4に入力される。この符号反転回路4では、制御
信号1に基づいて、A×Bの符号の反転を行う。すなわ
ち、制御信号1の値の如何により、A×Bをそのまま出
力するか、又は、A×Bの符号を反転させて、−(A×
B)を出力する。この出力は、加算器5に入力される。
【0006】一方、符号反転回路6には、加数Cが入力
される。この符号反転回路6では、制御信号2に基づい
て、加数Cの符号の反転を行う。すなわち、制御信号2
の値の如何により、Cをそのまま出力するが、又は、C
の符号を反転させて、−Cを出力する。この出力も、加
算器5に入力される。
【0007】加算器5では、これら符号反転回路4、6
からの入力データの加算を行う。つまり、CLA方式等
により、±(A×B)のデータと±Cのデータとの加算
を行う。そして、最終的な計算結果であるZを出力す
る。
【0008】
【発明が解決しようとする課題】上述したところからわ
かるように、このような方法でZ=±(A×B)±C
(符号順不同)を計算する場合、まず±(A×B)の計
算をし終えてから、±Cの加算を行わなければならな
い。このため、機能的に等しい乗算部最終加算回路3と
加算器5とが必要になってしまう。これら乗算部最終加
算回路3と加算器5とは、上述のように、通常、CLA
等で設計されるため、回路規模が大きい。このため、乗
算部最終加算回路3と加算器5との2つを用いると、全
体の回路面積が大きくなってしまうという、問題があっ
た。また、クリティカルパスに含まれるゲート段数も多
くなることから、当然に、計算スピードも遅くなるとい
う問題があった。ここで、クリティカルパスとは、入力
端子と出力端子の間で、信号の伝播に最も時間を要する
経路のことをいう。したがって、機能的に等しい回路を
2つ設けることによる、計算スピードに対する利点もな
かった。
【0009】そこで本発明は、前記課題に鑑みてなされ
たものであり、機能的に等しい2つの回路を設ける必要
のない、乗加減算器を提供することを目的とする。すな
わち、乗算部最終加算回路3と加算器5のうち、加算器
5を省略可能な、乗加減算器を提供することを目的とす
る。さらに、これにより、回路面積の縮小を図り、計算
スピードの向上を図った、乗加減算器を提供することを
目的とする。
【0010】
【課題を解決するための手段】上記課題を解決するた
め、本発明に係る乗加減算器は、乗算部にブースのアル
ゴリズムを用いて、2の補数データZ、A、B及びCに
対して、Z=±(A×B)±C(符号順不同)の計算を
行う乗加減算器であって、乗算でA×B又は−A×Bの
いずれかを行うかによって、第1制御信号を切り替える
ことにより、Aをそのままデコードするか、又は、−A
をデコードするかが切り替わるデコード手段と、加算で
C又は−Cのいずれを加算するかによって、第2制御信
号を切り替えることにより、選択的にCをビット反転す
るビット反転手段と、前記デコード手段のデコード結果
とBとを入力することにより、これらの部分積を生成
し、これら部分積同士の部分加算を行うとともに、前記
部分積と前記ビット反転手段からの入力データとの加算
を行い、中間段階の加算結果を出力する、部分積生成・
部分加算手段と、前記部分積生成・部分加算手段からの
中間段階の加算結果に対して、最終加算を行うととも
に、前記第2制御信号によって−Cを加算する場合には
選択的に最下位ビットに1を加算する、最終加算手段
と、を備えたことを特徴とする。
【0011】
【発明の実施の形態】本発明は、±(A×B)±C(符
号順不同)を計算する乗加減算器において、乗算で生成
された部分積を加算するための回路と、この乗算結果に
加数を加算するための回路とを、共通に使用することに
より、回路規模の縮小化及び計算速度の高速化を図った
ものである。以下、本発明の一実施形態について図面を
参照して詳細に説明する。
【0012】図1は、本実施形態に係る乗加減算器を示
す図である。この乗加減算器は、Z=±(A×B)±C
(符号順不同)をブースのアルゴリズムを利用して計算
するための、演算器である。ここで、A、B、C、Z
は、いずれも、2の補数表現がされた2進数のデータで
ある。また、符号順不同とは、+(A×B)+C、+
(A×B)−C、−(A×B)+C、−(A×B)−C
という、4パターンの計算があることを意味する。
【0013】この図1からわかるように、乗加減算器に
おける図中左側の符号反転回路10には、乗数Aが入力
される。この符号反転回路10は、制御信号3に基づい
て、選択的に乗数Aの符号を反転する。すなわち、制御
信号3の値により、Aをそのままデータdとして出力す
るか、又は、Aの符号を反転した−Aをデータdとして
出力する。ここで、2の補数表現におけるAの符号を反
転するとは、Aの各ビットを反転した上で、最下位ビッ
トに1を加えることである。このように出力としてA又
は−Aを選択することにより、乗算としてA×B又は−
(A×B)のどちらを行うかを選択することになる。つ
まり、制御信号3により、A×B又は−(A×B)の選
択が可能になっている。このデータdは、ブースデコー
ダ回路20に入力される。
【0014】ブースデコーダ回路20では、このデータ
dのデコードをする。すなわち、2次のブースのアルゴ
リズムに基づいて、A又は−Aのデコードをする。具体
的には、乗算として(A×B)を行う場合は乗数Aをそ
のままデコードすることとなり、乗算として−(A×
B)を行う場合は乗数Aの符号を反転した−Aをデコー
ドすることになる。このブースデコーダ回路20におけ
るデコード結果は、信号eとして、部分積生成・部分加
算回路30に入力される。この信号eにより、ブースデ
コーダ回路20は、部分積生成・部分加算回路30へ、
対応する部分積を、+1倍するのか、−1倍するのか、
+2倍するのか、−2倍するのか、0倍するのかの、指
令を与える。
【0015】図1右側のビット反転回路40には、加数
Cが入力される。このビット反転回路40では、制御信
号4に基づいて、選択的に加数Cのビット反転がなされ
る。すなわち、制御信号4の値により、加数Cをそのま
まデータfとして出力するか、又は、加数Cのビットを
反転してデータfとして出力する。このビット反転と後
述する最下位ビットへの1の加算により、Cを加算する
か又は−Cを加算するかの選択を行う。つまり、制御信
号4により、Cを加算するのか減算するのかの選択を行
う。このデータfも、部分積生成・部分加算回路30に
入力される。
【0016】部分積生成・部分加算回路30には、被乗
数Bも入力されている。このため、この部分積生成・部
分加算回路30では、デコード結果である信号eにした
がって乗数Aと被乗数Bの部分積が生成されるととも
に、この部分積の部分加算が行われていく。すなわち、
CSA方式で、順次、乗数Aと被乗数Bの部分積を生成
するとともに、これらの同等の重みを持つ部分積同士を
加算していく。但し、この部分積生成・部分加算回路3
0では、部分積の加算のうちの一部が行われる。すなわ
ち、CSA方式で加算していく場合の、最後の1段の加
算を除いた各段の加算をする。また、この加算処理の一
部において、2進数のデータfの加算も行う。すなわ
ち、ビット反転回路から入力された2進数のデータf
も、この部分積生成・部分加算回路30で同等の重みを
持つ部分積と加算される。この中間段階の加算結果を、
2進数のデータgとして、最終加算回路50へ入力す
る。
【0017】最終加算回路50では、上述の部分積の加
算工程のうちの最後の1段の加算を行う。すなわち、C
SA方式では、最後の段の加算においては、桁上がりを
次の段で加算することができない。したがって、最後の
段の桁上がりは最後の段で加算されていなければならな
い。このため、最後の段の加算は、リップルキャリー加
算方式やCLA方式で行わなければならない。本実施形
態においては、演算速度の高速化を図るため、CLA方
式により加算を行っている。この最終加算回路50に
は、制御信号4も入力されている。この制御信号4によ
り、最終加算回路50では、加数Cを反転させた場合に
最下位ビットに1を加える。すなわち、ビット反転回路
50で加数Cのビット反転をした場合に、1を加える。
これにより、乗算結果に−Cを加算したこととなる。す
なわち、ビット反転回路40でビット反転し、最終加算
回路50で最下位ビットに1を加えることにより、−C
についての2の補数表現を成し得たこととなる。これに
より最終的な演算結果Zを得ることができる。すなわ
ち、±(A×B)±C(符号順不同)の演算結果Zを得
ることができる。
【0018】図2は、図1に示した乗加減算器の具体的
構成を示した図である。
【0019】この図2からわかるように、図中左側に
は、前述した符号反転回路10が設けられている。この
符号反転回路10は、複数の選択回路SEL1、SEL
2から構成されている。これら選択回路SEL1、SE
L2には、乗数Aと制御信号3とが入力されている。本
実施形態では、乗数AはAM0〜AM11の12ビット
からなる2の補数表現されたデータである。そして、こ
の符号反転回路10からは、dm0〜dm11の12ビ
ットからなるデータdが出力される。上述したように、
このデータdは、制御信号3の値に応じて、A又は−A
を表している。この符号反転回路10で用いられている
選択回路SEL1の回路構成の一例を図3に示し、選択
回路SEL2の回路構成の一例を図4に示す。なお、選
択回路SEL1、SEL2を交互に配置したのは、選択
回路SEL1のCOから選択回路SEL2のCO_Bま
でが、ゲート1段で伝播するようにし、且つ、選択回路
SEL2のCO_Bから選択回路SEL1のCOまで
が、ゲート1段で伝播するようにするためである。この
ようにすることにより、このパスがスピードのネックに
ならないようにしている。
【0020】図2からわかるように、ブースデコーダ回
路20は、複数のデコード回路DECから構成されてい
る。それぞれのデコード回路DECには、ブースアルゴ
リズムにしたがって、dm0〜dm11の12ビットの
データのうち、3ビットのデータが入力されている。こ
のため、隣り合うデコード回路DEC同士には、そのう
ちの1ビットが共通入力されている。このデコード回路
DECの回路構成の一例を図5に示す。この図5のデコ
ード回路DECは、3ビットのデータにより、4ビット
の信号eを生成する。すなわち、SLX_B、SLXB
_B、SL2XB_B、SL2X_Bを生成する。これ
らの信号は、対応する部分積を、それぞれ、1倍する
か、−1倍するか、2倍するか、−2倍するか、を示し
ている。また、信号eの4ビットがいずれも立っていな
い場合は、その部分積はゼロにすることを示している。
このため、この指令に基づいて、部分積生成・部分加算
回路30は、部分積を生成する。
【0021】図2からわかるように、部分積生成・部分
加算回路30は、ドライブ回路DRVと、符号拡張用セ
レクタ回路MSSLと、部分積生成用セレクタ回路MS
Lと、部分積生成用セレクタ回路と全加算器を組み合わ
せた回路MFAと、必要に応じてMFAをロジック変換
した回路MFAC0S1、MFAC1、MFAC0と、
半加算回路MHAと、全加算回路MFAZとを、備えて
構成される。この部分積生成・部分加算回路30には、
ドライブ回路DRVを介して、BM0〜BM11からな
る12ビットの被乗数Bが入力される。この被乗数Bは
2の補数表現されたデータである。ドライブ回路DRV
の回路構成の一例を図6に示す。符号拡張用セレクタ回
路MSSLの回路構成の一例を図7に示す。部分積生成
用セレクタ回路MSLの回路構成の一例を図8に示す。
必要に応じてMFAをロジック変換した回路MFAC0
S1、MFAC1、MFAC0の回路構成の一例を、ぞ
れぞれ、図9、図10、図11に示す。部分積生成用セ
レクタ回路と全加算器を組み合わせた回路MFAの回路
構成の一例を図12に示す。半加算回路MHAの回路構
成の一例を図13に示す。全加算回路MFAZの回路構
成の一例を図14に示す。なお、部分積生成用セレクタ
回路と全加算器を組み合わせた回路MFAの部分積生成
用セレクタ回路と、このMFAをロジック変換した回路
MFAC0S1、MFAC1、MFAC0の部分積生成
用セレクタ回路が異なるのは、計算スピードを上げるた
めである。
【0022】図15に、ビット反転回路40の具体的構
成を示す。この図15からわかるように、ビット反転回
路40は、ビット反転器MBITREVにより構成され
ている。このビット反転器MBITREVには、CM0
〜CM23からなる24ビットの加数Cが入力されてい
る。この加数Cは2の補数表現されたデータである。ま
た、制御信号4も入力されている。上述したように、こ
の制御信号4の値に応じて、加数Cをそのままデータf
として出力するか、又は、加数Cを反転してデータfと
して出力している。したがって、データfも当然にfm
0〜fm23からなる24ビットのデータである。これ
らfm0〜fm23は、図2からわかるように、部分積
生成回路・部分加算回路30へ入力される。ビット反転
器MBITREVは、図16に示すような選択回路MC
SELを24個設けることにより形成されている。この
選択回路MCSELの回路構成の一例を図17に示す。
【0023】図2からわかるように、最終加算回路50
は、第1CLA回路MCLA2N1と、第2CLA回路
MCLA2N2と、第3CLA回路MCLA3と、第4
CLA回路MBCLAとを、備えて構成されている。こ
れらからは、ZM0〜ZM23の24ビットからなる演
算結果Zが出力される。第1CLA回路MCLA2N1
の回路構成の一例を図18に示す。第2CLA回路MC
LA2N2の回路構成の一例を図19に示す。第3CL
A回路MCLA3の回路構成の一例を図20に示す。第
4CLA回路MBCLAの回路構成の一例を図21に示
す。なお、図2からわかるように、第1CLA回路MC
LA2N1と第2CLA回路MCLA2N2とを交互に
配置したのは、これらのブロック間におけるキャリー信
号の伝播がゲート1段ですむようにするためである。こ
のようにすることにより、計算スピードが上がるように
している。
【0024】以上からわかるように、本実施形態に係る
乗加減算器によれば、部分積を加算するための回路と、
Cの加減算をする回路とを、共通に使用する構成とした
ので、回路規模の縮小化及び計算速度の高速化を図るこ
とができる。すなわち、加減算を行う前に乗算を終えて
おく必要がなくなるので、計算速度のスピードアップ
と、回路面積の縮小化を図ることができる。具体的に
は、計算速度については従来より10%〜20%程度の
スピードアップが見込まれ、回路面積については従来よ
り10%〜20%程度の縮小が可能と見込まれる。
【0025】より詳しくは、ブースデコーダ回路20に
乗数Aを入力する際に、乗算としてA×Bをする場合に
は、そのままAをブースデコーダ回路20へ入力し、乗
算として−A×Bをする場合には、Aの符号を反転して
−Aとしてブースデコーダ回路20へ入力することとし
た。さらに、この乗算結果にCを加算する場合には、部
分積生成・部分加算回路30にCを入力し、この乗算結
果に−Cを加算する場合には、部分積生成・部分加算回
路30にCをビット反転して入力するとともに最終加算
回路50で1を加えることとした。このため、従来必要
とされていた±(A×B)と±Cとの加算をするための
加算器を別途設ける必要がなくなる。このような加算器
は通常CLA等で設計されるため、回路規模が大きくな
るが、この回路規模の大きい加算器を省略することがで
きる。したがって、全体の回路面積を縮小することがで
きる。しかも、回路面積の縮小を図るとともに、計算ス
ピードの向上と、消費電力の減少とを、図ることができ
る。
【0026】また、加算で−Cを乗算結果に加える場合
には、部分積生成・部分加算回路30へ、加数Cのビッ
トを反転した数を入力し、最終加算回路50で最下位ビ
ットに1を加算することとした。このため、−Cについ
ての2の補数表現をするのに必要な最下位ビットに1を
加えるための加算回路を別途設ける必要がなくなる。な
お、本発明は上記実施形態に限定されず種々の変形が可
能である。例えば、図22に示すように、部分積生成・
部分加算回路30の前段に符号反転回路42を設けるこ
ともできる。このように、符号反転回路42を設けるこ
とにより、部分積生成・部分加算回路30へC又は−C
を入力することができるようになる。このため、−Cを
加算する場合に、最終加算回路50で1を加える必要が
なくなる。
【0027】さらに、図1からわかるように、部分積生
成・部分加算回路30のうち、部分積を生成する回路を
符号付部分積生成回路としてとらえるとともに、部分積
生成・部分加算回路30の加算回路と最終加算回路50
とを合わせて符号付加算回路としてとらえることもでき
る。このようにとらえると、本実施形態は、±A×Bの
部分積の加算処理の一部として、±Cの加算処理がなさ
れることとなる。
【0028】また、上記実施形態では、ブースのアルゴ
リズムにより乗算をする場合を例として説明したが、部
分積が生成される他の乗算アルゴリズムにも適用するこ
とができる。図23は従来のブースアルゴリズムを用い
ない、2の補数同士の乗加減算器をの構成をブロックで
示す図である。このような乗加減算器に本発明を適用す
ると、図24に示すようになる。すなわち、ブースデコ
ーダ回路20は不要になり、部分積生成・部分加算回路
30’では、筆算と同様の要領で、被乗数Bが1のとき
には、乗数Aの部分積を生成するとともに乗数Aの1ビ
ットシフトを行い、被乗数Bが0のときには乗数Aの1
ビットシフトのみを行う。
【0029】図25は、符号なし2進数同士の乗加算器
の従来の構成を、ブロックで示す図である。すなわち、
(A×B)+Cを演算する演算器を示す図である。この
ような乗加算器に本発明を適用すると図26に示すよう
になる。この図26からわかるように、符号なし演算で
あるので、さらに、符号反転回路10やビット反転回路
40は不要となる。すなわち、部分積生成・部分加算回
路30”に直接的にA、B、Cが入力される。
【0030】
【発明の効果】以上説明したように、本発明によれば、
±(A×B)±C(符号順不同)を計算する乗加減算器
において、乗算における±(A×B)の部分積を加算す
るための回路と、この乗算結果に加数±Cを加算するた
めの回路とを、共通に使用することとしたので、回路規
模の縮小化及び計算速度の高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る乗加減算器の構成を
ブロックで示す図。
【図2】本発明の一実施形態に係る乗加減算器を構成す
る主要部の回路を示す図。
【図3】図2で用いられた選択回路SEL1の具体的回
路構成の一例を示す図。
【図4】図2で用いられた選択回路SEL2の具体的回
路構成の一例を示す図。
【図5】図2で用いられたデコード回路DECの具体的
回路構成の一例を示す図。
【図6】図2で用いられたドライブ回路DRVの具体的
回路構成の一例を示す図。
【図7】図2で用いられた符号拡張用セレクタ回路MS
SLの具体的回路構成の一例を示す図。
【図8】図2で用いられた部分積生成用セレクタ回路M
SLの具体的回路構成の一例を示す図。
【図9】図2で用いられたMFAをロジック変換した回
路MFAC0S1の具体的回路構成の一例を示す図。
【図10】図2で用いられたMFAをロジック変換した
回路MFAC1の具体的回路構成の一例を示す図。
【図11】図2で用いられたMFAをロジック変換した
回路MFAC0の具体的回路構成の一例を示す図。
【図12】図2で用いられた部分積生成用セレクタ回路
と全加算器を組み合わせた回路MFAの具体的回路構成
の一例を示す図。
【図13】図2で用いられた半加算回路MHAの具体的
回路構成の一例を示す図。
【図14】図2で用いられた全加算回路MFAZの具体
的回路構成の一例を示す図。
【図15】ビット反転回路の具体的回路構成の一例を示
す図。
【図16】図15で用いられたビット反転回路MBIT
REVの具体的回路構成の一例を示す図。
【図17】図2で用いられた選択回路MCSELの具体
的回路構成の一例を示す図。
【図18】図2で用いられた第1CLA回路MCLA2
N1の具体的回路構成の一例を示す図。
【図19】図2で用いられた第2CLA回路MCLA2
N2の具体的回路構成の一例を示す図。
【図20】図2で用いられた第3CLA回路MCLA3
の具体的回路構成の一例を示す図。
【図21】図2で用いられた第4CLA回路MBCLA
の具体的回路構成の一例を示す図。
【図22】本発明の別の変形例を示す図。
【図23】従来の他のアルゴリズムにおける乗加減算器
の構成をブロックで示す図。
【図24】図23に示す乗加減算器に本発明を適用した
場合の構成をブロックで示す図。
【図25】従来の符号なし乗加算器の構成をブロックで
示す図。
【図26】図25に示す乗加算器に本発明を適用した場
合の構成をブロックで示す図。
【図27】従来の乗加減算器を示す図。
【符号の説明】
10 符号反転回路 20 ブースデコーダ回路 30 部分積生成・部分加算回路 40 ビット反転回路 50 最終加算回路

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】2進数のデータZ、A、B及びCに対し
    て、Z=±(A×B)±C(符号順不同)の計算を行う
    乗加減算器であって、 乗算でA×Bを行う場合はA×Bの部分積を生成し、乗
    算で−A×Bを行う場合は−A×Bの部分積を生成す
    る、符号付部分積生成手段と、 前記符号付部分積生成手段により生成された部分積の加
    算を行うとともに、前記乗算結果にCを加算する場合に
    は前記部分積の加算処理の一部としてCを加算し、前記
    乗算結果からCを減算する場合には前記部分積の加算処
    理の一部として−Cを加算する、符号付加算手段と、 を備えたことを特徴とする乗加減算器。
  2. 【請求項2】前記乗算結果からCを減算する場合には、
    前記符号付加算手段に、Cのビットを反転して入力し、
    この加算処理の一部で、最下位ビットに1を加えること
    を特徴とする請求項1に記載の乗加減算器。
  3. 【請求項3】前記乗算結果からCを減算する場合には、
    前記符号付加算手段に、Cの符号を反転して入力する、
    ことを特徴とする請求項1に記載の乗加減算器。
  4. 【請求項4】乗算部にブースのアルゴリズムを用いて、
    2の補数データZ、A、B及びCに対して、Z=±(A
    ×B)±C(符号順不同)の計算を行う乗加減算器であ
    って、 乗算でA×B又は−A×Bのいずれかを行うかによっ
    て、第1制御信号を切り替えることにより、Aをそのま
    まデコードするか、又は、−Aをデコードするかが切り
    替わるデコード手段と、 加算でC又は−Cのいずれを加算するかによって、第2
    制御信号を切り替えることにより、選択的にCをビット
    反転するビット反転手段と、 前記デコード手段のデコード結果とBとを入力すること
    により、これらの部分積を生成し、これら部分積同士の
    部分加算を行うとともに、前記部分積と前記ビット反転
    手段からの入力データとの加算を行い、中間段階の加算
    結果を出力する、部分積生成・部分加算手段と、 前記部分積生成・部分加算手段からの中間段階の加算結
    果に対して、最終加算を行うとともに、前記第2制御信
    号によって−Cを加算する場合には選択的に最下位ビッ
    トに1を加算する、最終加算手段と、 を備えたことを特徴とする乗加減算器。
  5. 【請求項5】2進数のデータA、B及びCに対して、少
    なくとも、A×Bの乗算とこの演算結果にCを加える加
    算とを行う、演算器であって、 乗算でA×Bを行う場合に、A×Bの部分積を生成し、
    この生成された部分積の加算を行う処理の一部としてC
    を加算することを特徴とする演算器。
JP9297386A 1997-10-29 1997-10-29 乗加減算器及び演算器 Pending JPH11134175A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9297386A JPH11134175A (ja) 1997-10-29 1997-10-29 乗加減算器及び演算器
US09/177,558 US6202078B1 (en) 1997-10-29 1998-10-23 Arithmetic circuit using a booth algorithm
TW087117867A TW432324B (en) 1997-10-29 1998-10-28 Multiplier, adder, subtractor and calculator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9297386A JPH11134175A (ja) 1997-10-29 1997-10-29 乗加減算器及び演算器

Publications (1)

Publication Number Publication Date
JPH11134175A true JPH11134175A (ja) 1999-05-21

Family

ID=17845826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9297386A Pending JPH11134175A (ja) 1997-10-29 1997-10-29 乗加減算器及び演算器

Country Status (3)

Country Link
US (1) US6202078B1 (ja)
JP (1) JPH11134175A (ja)
TW (1) TW432324B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527060A (ja) * 2006-02-15 2009-07-23 クゥアルコム・インコーポレイテッド 拡張された削減ツリー回路構成を有するブース乗算器
JP2009527064A (ja) * 2006-02-15 2009-07-23 クゥアルコム・インコーポレイテッド ブース乗算方法及びシステムのための電力効率の良い符号拡張
US7809783B2 (en) 2006-02-15 2010-10-05 Qualcomm Incorporated Booth multiplier with enhanced reduction tree circuitry

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203718B1 (en) * 1999-10-29 2007-04-10 Pentomics, Inc. Apparatus and method for angle rotation
US7296049B2 (en) * 2002-03-22 2007-11-13 Intel Corporation Fast multiplication circuits
US9032009B2 (en) 2013-03-11 2015-05-12 Freescale Semicondutor, Inc. Multiplier circuit
US8933731B2 (en) 2013-03-11 2015-01-13 Freescale Semiconductor, Inc. Binary adder and multiplier circuit

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5053987A (en) * 1989-11-02 1991-10-01 Zoran Corporation Arithmetic unit in a vector signal processor using pipelined computational blocks
US5179530A (en) * 1989-11-03 1993-01-12 Zoran Corporation Architecture for integrated concurrent vector signal processor
US5163017A (en) * 1990-03-23 1992-11-10 Texas Instruments Incorporated Pipelined Fast Fourier Transform (FFT) architecture
US5095456A (en) * 1990-03-23 1992-03-10 Texas Instruments Incorporated Method for densely packing a complex multiplier
JP2859779B2 (ja) * 1992-06-17 1999-02-24 三菱電機株式会社 乗算器
JP3637073B2 (ja) * 1993-10-21 2005-04-06 株式会社東芝 倍精度・単精度・内積演算および複素乗算が可能な乗算器
JPH07234778A (ja) * 1994-02-22 1995-09-05 Texas Instr Japan Ltd 演算回路
DE69534097T2 (de) * 1994-12-21 2006-02-09 Koninklijke Philips Electronics N.V. Booth-Multiplizierer für trigonometrische Funktionen
US5600658A (en) * 1995-10-19 1997-02-04 National Semiconductor Corporation Built-in self tests for large multiplier, adder, or subtractor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527060A (ja) * 2006-02-15 2009-07-23 クゥアルコム・インコーポレイテッド 拡張された削減ツリー回路構成を有するブース乗算器
JP2009527064A (ja) * 2006-02-15 2009-07-23 クゥアルコム・インコーポレイテッド ブース乗算方法及びシステムのための電力効率の良い符号拡張
US7797366B2 (en) 2006-02-15 2010-09-14 Qualcomm Incorporated Power-efficient sign extension for booth multiplication methods and systems
US7809783B2 (en) 2006-02-15 2010-10-05 Qualcomm Incorporated Booth multiplier with enhanced reduction tree circuitry

Also Published As

Publication number Publication date
TW432324B (en) 2001-05-01
US6202078B1 (en) 2001-03-13

Similar Documents

Publication Publication Date Title
JPH1195981A (ja) 乗算回路
US5426598A (en) Adder and multiplier circuit employing the same
JPH0431412B2 (ja)
JPH0447849B2 (ja)
JPH11134175A (ja) 乗加減算器及び演算器
JPH07234778A (ja) 演算回路
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPS5856033A (ja) 乗算回路
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
JP3660075B2 (ja) 除算装置
JPH0149973B2 (ja)
US5084835A (en) Method and apparatus for absolute value summation and subtraction
JP2734438B2 (ja) 乗算装置
EP0353041A2 (en) Signal processing apparatus and method using modified signed digit arithmetic
JPS6222178A (ja) 2つの複素数の乗算のための乗算器
JPS6047609B2 (ja) 乗算回路
JP3130797B2 (ja) 積和演算処理方法およびその装置
JP2620659B2 (ja) 乗算器
JPH1011418A (ja) 積和演算装置
JPH07319668A (ja) 冗長2進乗算器および冗長2進alu並びにプログラム制御回路
JP2001005642A (ja) 乗算器
JPS6224365A (ja) 積和演算器
JPH06131161A (ja) 正規化浮動小数点乗算回路
JPH07114454A (ja) 乗算回路および乗算方法
JPH02239325A (ja) 除算回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040330