JPH01267728A - 乗算器 - Google Patents

乗算器

Info

Publication number
JPH01267728A
JPH01267728A JP63097693A JP9769388A JPH01267728A JP H01267728 A JPH01267728 A JP H01267728A JP 63097693 A JP63097693 A JP 63097693A JP 9769388 A JP9769388 A JP 9769388A JP H01267728 A JPH01267728 A JP H01267728A
Authority
JP
Japan
Prior art keywords
data
multiplier
output
bit
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.)
Pending
Application number
JP63097693A
Other languages
English (en)
Inventor
Toshiya Ishimaru
石丸 俊也
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP63097693A priority Critical patent/JPH01267728A/ja
Publication of JPH01267728A publication Critical patent/JPH01267728A/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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value
    • 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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は波乗数を乗数で乗算する乗算器に関する。
[従来の技術] 従来、二次のブースのアルゴリズムに基づいて、それぞ
れ次式の通り2の補数分数表示で表される波乗数Xを乗
数Yで乗算する乗算器が知られている。
X=−X、20十Km−+2−2+…+x02Km−2
2−1+・・・mY=−″・・・(1) Y=−yn20+yh−+2−”y、、−22″″+−
+ya2−”・・・(2) ここで、X、ないしXo+  ynないしy。はそれぞ
れl又はOであり、m及びnは自然数である。
第3図はこの従来例の乗算器のブロック図であり、この
乗算器はマルチプライヤ部MUXと変換回路CO■から
構成され、このマルチプライヤ部MUXは、それぞれ詳
細後述されるブースエンコーダ部BE、部分積生成部B
M、加算器ADD、及び飽和処理回路(以下、SAT回
路という。)S八から構成される。
この乗算器においては、乗算値Z=XYが次式で表され
ることを利用して、 Z=XY =−yn2 ’X +Yn−+ 2−’X 十−+y、
 2−nx=(y−計yo 2y+) 2−’X +(y++yt  2y3)2−”″X十・・・ト (
)’ 、−4+  y n−3−2y  n−t)  
2 −X ++  (yn−z+ 3’n−+−2yn
)20X   ・・・ (3ン上記(3)式の右辺の各
部分jlJの項であるyに関する加減算の項(Y−++
Ya  2yυ、 (yr+yt   2  y3ン 
、 ・=、  (yo−a + y−−s−2yfi−
J  。
(y n−1+ y、、1−2ynンをそれぞれブース
エンコーダ部BEによって3ピ1.lトのt、7報に符
号化した炭、上記3ビツトの情報に基づいて上記(3)
式の右辺の各部分積の値を部分積生成部DMによって求
めた後、部分積生成部BMで生成される各部分積の値を
すべて加算器ADDによって加算して乗算値Pを求め、
該乗算値Pが変換回路COvに入力される。ここで、y
−IはOである。
第2図は、マルチプライヤ部MUX内のSAT回路SA
の回路図である。第2図において、SAT@路SΔは、
波乗数Xの2のhli数分数表示の各ビットの値X。、
xl、・・・、Xsのうち3関ずつの値をそれぞれ反転
した後輪理Wの演算を行う反転入力端子付きアンドゲー
トAND 1.AND2゜AND3と、土J己アンドゲ
ートANDI、AND2、AND3の各演算結果に対し
て論理積の演算を行った後反転を行うナンドゲー)NA
NDI。
NAND2と、上記ナントゲートNへSDI、NAND
2の演算結果の値をそれぞれ反転した後輪理h7の演算
を行う反転入力端子付きアンドゲートAND7を備える
。また、SAT口路S八はへ乗数Y02のhli数分数
表示の各ビットの値y。、yl。
・・・ y、のうち3個ずつの値をそれぞれ反転した後
輪理h7の演算を行う反転入力端子付きアンドゲートA
ND4.AND5.AND6と、上記アントゲ−)AN
D/l、AND5.AND6の各演算結果に対して論理
積の演算を行った後反転を行うナントゲートNAND3
.NAND4と、上記ナントゲートNAND3.NAN
D4の演算結果の値をそれぞれ反転した後輪埋積の演算
を行う反転入力端子付きアンドゲートAND8とを備え
る。
さらに、SAT回路SAは、アンドゲートAND7とア
ンドゲートΔND8の各演算結果の論理積の演算を行う
アンドゲートAN69を(J:rfえ、このアンドゲー
トAND9の出力はSAT信号として変換回路CoVに
出力される。以上のように構成されたSAT回路SAに
おいて、被乗数Xが−1であって乗1yが−1であると
き、上記マルチプライヤ部MUXがオーバーフロー状態
となり、SAT信号が1ルベルとなる。
第4図は変換回路C○■の1ビツト分の回路を示す回路
図である。第4図において、変換回路COVは、2個の
インバータINVII、INVI2と2個のトランスミ
ッションゲートTGI、TG2から構成される。変換回
路COvはマルチプライヤ部MUXがオーバーフロー状
態となりSAT回路SAから出力されるI(レベルのS
AT信号に基づいて、乗算結果Zの各ビットをすべて″
 l”にして出力し、すなわち乗算結果2として最大の
値(1−2−”°1りを出力する。
[発明が解決しようとする課題] しかしながら、上述の従来例の乗算器においては、上記
マルチプライヤ部MUXにおいてオーバーフロー状態が
生じた時に上述のオーバーフロー処理を行うため、出力
される乗算結果の各ビット毎に第4図に示す変換回路を
設ける必要がある。
従って、1該乗算器の回路が複雑となる七ともに集積回
路チップ上で比較的大きな面積を占有するという問題点
があった。また、乗算結果のデータを上記変換回路CO
■に通過させる必要があるために、比較的長い処理時間
を要するという問題点があった。
本発明の目的は以上の課題を解決し、被乗数と乗数を2
のhn数分数表示で表して乗算を行う乗算器であって、
従来例に比べて簡単な回路でかつ高速でオーバーフロー
処理を行うことができる乗算器を提供することにある。
[課題を解決するための手段] 本発明は、入力される乗数データを二次のブースのアル
ゴリズムに基づいて符号化する符号化手段と、上記符号
化手段によって符号化されたデータと入力される被乗数
データとの容積である各部分積のデータを演算する演算
手段と、上記演算手段で演算された各部分積のデータを
加算して上記加算結果のデータを乗算器の出力データと
して出力する加算手段を6jHえ、それぞれ2の補数分
数表示で表された上記被乗数データを乗数データで乗算
を行う乗算器において、上記被乗数データと上記乗数デ
ータがともに−1である。ことを検出し検出信号を出力
する検出手段と、上記検出手段から出力される検出信号
に応答して上記加算手段から出力される乗算結果のデー
タが最高値となるように上記符号化手段から出力される
符号化されたデータを論理演算して上記演算手段に出力
する制御手段とを備えたことを特徴とする。
上記の発明において、被乗数データXと乗数データYが
それぞれ自然数m+’1ピットと自然数n千1ビットの
2の補数の分数表示である次式で表され、 X−−x、20+ Xs−+ 2−’ + Xs−22
−t + ・・・+ Xo2−Y=−y。20十yn−
+ 2−2+…+x02yn−22−” + ・= +
 yo2−’上記演算手段が乗算結果2を表す次式の右
辺の各部分積を演算することを特徴とする。
Z=(yo2yυ2−”X + (y++yz−2y*)2−″すX+・・・ト(y
 n−4+ y n−5−2y n−*) 2−”X 
++(y。−y +yn−+  2 yn) 20Xま
た、」1記発明において、それぞれ3ビツトの乗数デー
タを符号化する自然数(n+1>/2nQ又は(n+2
)/2f[7jの上記符号化手段と、上記自然数(n+
1)/2個又は(n+2)/2個の第1ないし第(n+
1)/2又は第(n+2)/2の上記演算手段を61「
え、上記検出信号に応答して第!の演算手段が(m+2
)ビットの部分積データのうち最上位ビットを”0”と
し最上位ピ。
ト以外のビットを”1”として上記加算手段に出力し、
第2ないし第(n+1)/2−1又は第(n+2)/2
−1の演算手段が(m+2)ビットの部分積データの各
ビットを”O”として上記加算手段に出力し、第(n+
1)/2又は第(n+2)/2の演算手段が(m+3)
ビットの部分積デ−夕のうち最下位ビットを“0”とし
最下位ビット以外の各ビットを” l”として上記加算
手段に出力するように上記制御手段が上記各符号化手段
から出力される符号化されたデータを論理演Ωして」二
記谷演算手段に出力することを特徴とする・[作I[月 以」二のようにt1可成することにより、まず、オーバ
ーフローが乗じない通常の乗算演算の動作時において、
上記符号化手段は、入力される上記乗数データを二次の
ブースのアルゴリズムに基づいて符シフ化した後、上記
演算手段が上記符号化手段によって符号化されたデータ
と入力される被乗数データとの6積である各部分積のデ
ータを演算する。
次いで、上記加算手段が上記演算手段で演算された各部
分積のデータを加算して上記加算結果のデータを乗算器
の出力データとして出力する。
また、上記被乗数データと上記乗数データがともに−1
であるときオーバーフロー状態となり、上記検出手段が
」二記肢乗敗データと上記乗数データがともに−1であ
ることを検出し検出信号を出力した後、上記制御手段が
、上記検出手段から出力される検出信号に応答して上記
加算手段から出力される乗算結果のデータが最高値とな
るように上記符号化手段から出力される符号化されたデ
ータを論理演算して上記演算手段に出力する。以上のよ
うにオーバーフロー状態時の処理を行うことができる。
また、例えば、岐乗数データXと乗数データYがそれぞ
れ自然数m+lビブトと自然数n+lビットの2の補数
の分散表示である次式で表され、X=  X@20+ 
Wm−12−’ + l5−22−1十−+ x、 2
−”Y=  yn20+ yn−+2−’ + yn−
+2−” + ・” + yo2−’上記演算手段が乗
算結果2を表す次式の右辺の各部分蹟を演算するように
構成できる。
Z= (yo−2y+)2−’X + (y++3’t  2y3)2−”′X+・・・+
 ()’r+−4+yn−s−2yn−*)2−”X+
+ (yn−*+y、−+−2y、)20Xさらに、例
えば、それぞれ3ビツトの乗数データを符号化する自然
数(n+1)/2個又は(n+2)/2gの上記符号化
手段と、上記自然数(n+1)/2個又は(n+2)/
2個の第1ないし第(n+1)/2又は第(n+2)/
2の上記演算手段を備え、上記検出信号に応答して第1
の演算手段が(m+2)ビットの部分積データのうち最
上位ビットを”0”とし最上位ビット以外のビットを”
 ビとして上記加算手段に出力し、第2ないし第(n+
1)/2−J又は第(n+2)/2−1の演算手段が(
m+2)ビットの部分も7データの各ビ・ットを”O”
として上記加算手段に出力し、第(n+1)/2又は第
(n+2)/2の演算手段が(m+3)ビットの部分積
データのうち最下位ビットを”0“とし最下位ビット以
外の各ビットを” l”として上記加算手段に出力する
ように上記制御手段が上記各符号化手段から出力される
符号化されたデータを論理演算して上記各演算手段に出
力するように枯成できる。
[実施例] i1図は本発明の一実施例である二次のブースのアルゴ
リズムに基づいて被乗数Xを乗数Yで乗算する乗0器の
ブロック図であり、第1図において第3図と同一のもの
については同一の符号を付している。
この実施例の乗算器は、従来例の乗算器に比べて、上記
変換回路CO■を設けず、上記オーバーフロー処理を行
うためのサチュレーシジン制御部SCIないしSC4を
新たに設けたことを特徴としている。
第1図において、入力される被乗数Xに対する2の&1
irjt分数表示の各ビットのデータKO+Xl+・・
・、Xsが入力端子TXOないしTXmを介して入力レ
ジスタIRIに人力され一時的に記憶された後、SAT
回路S八及へ部分積生成部13M+に出力される。また
、入力される乗数Yに対する2のhfi数分数表示の各
ビットのデータYll+yI+ ・・・。
ynが入力端子TYOないしTYnを介して入力レジス
タrBに人力され一時的に記憶された後、SAT回路S
A及びブースエンコーダ部B[E+ないしSC4に出力
される。
ブースエンコーダ部BEIは、入力されるデー夕’!−
+、yo、y+に対して次式で表される論理演算を行っ
た後、演算結果のデータX+、2X1.C1をサチュレ
ーション制御部SCIに出力する。
ここで、Y−+は上述の通り0である。また、ブースエ
ンコーダ部r31Elの動作を示す真理値表を第1表に
示す。
X l= Y o           ・・・(/I
a)2L=y+・T    ・・・(、/I b)CI
−yI          ・・・(/Ic)ブースエ
ンコーダ部13E2ないしl3E71はそれぞれ、入力
されるデータY l−1+  3’ I+  Y le
tに対して次式で表される論理rii算を行った後、演
算結果のデータX、、2X、、C,をそれぞれサチュレ
ーション制御部SC2ないし5AC4に出力する。
ここで、iはO,I、  2.・・・、n−1である。
Xff1:yI■y+−+         、 (5
a)2L−(y+■y+−+) + U’iユ刀σ7つ
・・・(5b) Cv−Y+−+            ・・・(5C
)SAT回路SΔは、入力されるデータX。ないしXw
+  yoないしynに対して第2図の従来例と同様の
動作を行い、波乗数データ及び乗数データがともに−1
となるオーバーフロー状態となるとき1■レベルのSA
T信号をサチュレーション制御部SCIないしSC4に
出力する。
サチュレーション制御部SCIにおいて、ブースエンコ
ーダ部BEIから出力されるデータX1がナントゲート
NAND1の第1の入力端子に人力され、データ2X、
はそのままデータ2X1として部分積生成部BMIに出
力される。データC7はノアゲートN0RIの第1の入
力端子に入力される。SAT回路から出力されるSAT
信号はノアゲートN0RIの第2の入力端子に入力され
るとともに、インバータINVIを介してナンドゲ−ト
NAND1の第2の入力端子に入力される。
ナントゲートNAND lから出力されるデータはイン
バータINV2を介して、データX 、+ とじて部分
積生成部BMIに出力される。ノアゲートN0RIから
出力されるデータはインバータINv3を介して、デー
タC,1として部分積生成部BMIに出力される。
サチュレーション制御部SC2において、ブースエンコ
ーダ部BE2から出力されるデータX、。
2X、はそれぞれ、そのままデータx、’ 、2x。
° として部分積生成部BM2に出力される。また、ブ
ースエンコーダ部BE2から出力されるデータC2はナ
ントゲートNAND2の第1の入力端子に入力される。
さらに、SAT回路SΔから出力されるSAT信号は、
インバータINV4を介してナントゲートNAND2の
第2の入力端子に入力される。またさらに、ナンドゲー
+−N ’h N D 2から出力されるデータはイン
バータ[NV5を介して、データC3″ として部分積
生成部[3M2に出力される。
サチュレーション制御部SC3において、ブースエンコ
ーダ部BE3から出力されるデータX t+2 x t
はそれぞれ、そのままデータx、’ 、2x。
° として部分積生成部BM3に出力される。また、ブ
ースエンコーダ部BE3から出力されるデータC2はナ
ントゲートNΔND3の第1の入力端子に入力される。
さらに、SAT回路SAから出力されるSAT信号は、
インバータINV5を介してナントゲートNΔND3の
第2の入力端子に入力される。またさらに、ナントゲー
トNΔND3から出力されるデータはインバータINV
6を介して、データC!′ とじて部分積生成部BM3
に出力される。
サチュレーション制御部SC4において、ブースエンコ
ー、1部[3E4から出力されるデータXtは、そのま
まデータXf°  とじて部分積生成部BM4に出力さ
れる。ブースエンコーダ部n E 4から出力されるデ
ータ2X、は、ナントゲートNΔND4の第1の入力端
子に入力され、ブースエンコーダBE4から出力される
データC7は/アゲートN0R2の第1の入力端子に入
力される。SAT回路SAから出力されるSAT信号は
、ノアゲートN0R2の第2の入力り:11子に入力さ
れるとともに、インバータrNV7を介してナントゲー
トNΔND4の第2の入力端子に入力される。ナノドゲ
ートNAND4から出力されるデータはインバータrN
V8を介して、データ2x1′として部分積生成部BM
/Iに入力され、ノアゲートN0R2から出力されるデ
ータはインバータINV9を介してデータC2″ とし
て部分積生成部[3M4に出力される。
部分子i’!生成部r3Mlないし8M4はそれぞれ、
公知の通り、入力レジスタl R]から出力されるデー
タX。ないしX、と、サチュレーションul 9a部S
CIないしSC4から出力されるデータX1°。
2X、°C1′又はXt’ 、2Xt’ 、Ct’ に
基づいて、上記(3)式の右辺の各部分積の演算を行い
、演算結果のデータを加算器へDDに出力する。
すなわち、部分積生成部[IMlないし8M4はそれぞ
れ、データX1又はXlo がI(レベルであるとき入
力されるδビットのデータx0ないしX、をそのまま出
力し、データX、又はX、′が1ルベルであるとき入力
される各ビットのデータx0ないしX、を上位側に1桁
だけけた移動させて、上記入力データを2倍する演算を
行い、さらに、C1又はC1°がHレベルであるとき、
上記データX0ないしX、又は上記データX0ないしX
、が上位側に1桁だけ桁移動されたデータについてそれ
ぞれ補数演算を行い、演算結果のデータを加算器ADI
)に出力する。
なお、SAT信号が1ルベルであるとき、部分積生成部
13MIはm+2ビツトの出力データのうち最上位ピッ
ト(以下、MSBという。)を”O”とし、MSB以外
のビットを′″ 1″として(m+2)ビットのデータ
“0111・・・Ill”を加算器へDDに出力し、部
分積生成部OM2及び3M3はそれぞれ(m+2)ビッ
トの出力データの各ビットを”0”として(m+2)ビ
・ノドのデータ”000・・・000”を加算器ΔDD
に出力し、部分積生成部r3M/Iは最下位ビ・ット(
以下、しSBという。)を”O”としLSB以外のピ、
ノドを” ビとして(m+3)ビットのデータ” Il
l・・・110’を加算器ADDに出力する。
加算器へDDは、部分積生成部BMIないし8M4から
それぞれ出力されるデータを公知の通り加算して、(m
+n+l)ビットの乗算結果2のデータを出力端子QT
に出力するとともに、キャリーデータを出力端子CTに
出力する。
以上のように構成された乗17器の動作についてSAT
信号が1、レベルであるときの通常の乗算演算、並びに
SAT信号が1ルベルであるときのオーバーフロー状態
における動作に分けて第1図をlJjσして以下に説明
する。
(+)通常の乗算演算 このとき、入力される波乗数Xに対する2の補数分数表
示の各ビットのデータX、、x、、−,x1が入力端子
TXOないしTXmを介して入力レジスタIRIに入力
され一時的に記憶された後、SAT回路SΔ及び部分積
生成部BMIに出力される。また、入力される乗数Yに
対する2の補数分数表示の各ビットのデータy11+y
++ ・・・、  ynが入力端子TYQない1.TY
nを介して入力レジスタJR2に入力され一時的に記憶
された後、SAT回路SA及びブースエンコーダ部BE
IないしBF2に出力される。このとき、SAT回路S
AはLレベルのSAT信号をサチュレーション制御部S
CIないしSC4に出力する。
次いで、ブースエンコーダ部BEIは、入力されるデー
タF−+、)’o、7+に対して(4a)ないしく4C
)式で表される論理演算を行った後、演算結果のデータ
X、、2X、、C,をサチュレーション制御部SCIを
介してそのままデータX、゛。
2X、’ 、C,’  として部分積生成部BMIに出
力する。また、ブースエンコーダ部BE2ないしBF2
はそれぞれ、入力されるデータyI−1+  Y l+
y1.1jこ対して(5a)ないしく5C)式で表され
る論理演算を行った後、演算結果のデータXf。
2X、、C,をそれぞれサチュレーシヲン制U++部S
C2ないし5AC4を介してそのままデータX。
+、 2 X t’ + Cf’  として部分積生成
部BM2ないしBM/lに出力する。
次いで、部分積生成部BMIないし8M4はそれぞれ、
公知の通り、入力レジスタ[R1から出力されるデータ
×6ないしX、と、サチュレーション制御部SCIない
しSC4から構成される装置夕X、’ 、2X、°C1
又はX、’ 、2X、’ 、C。
°に基づいて、上記(3)式の右辺の各部分積の演算を
行い、演算結果のデータを上記加算器ADDに出力する
さらに、加算2:IΔDDは、部分G′1生成部13M
1ないし13M4からそれぞれ出力されるデータを公知
の通り加算して、(m+n+I)ビットの乗算結果Zの
データを出力端子QTに出力するとともに、キャリーデ
ータを出力端子C′Fに出力する。
以上で通常の乗算動作が終了する。
(2)オーバーフロー状態における動作このとき、上記
(1)の通常の乗算演算動作時と同様に、入力される被
乗数Xに対する2の補数分数表示の各ビットのデータX
。+XI+ ・・・、  Xsが入力端子TKOないし
TXmを介して入力レジスタIRIに入力され一時的に
記憶された後、SA′r回路SA及び部分積生成部[3
M+に出力される。また、入力される乗数Yに対する2
の補数分数表示の各ビットのデータy。、yl、・・・
 >Toが入力端子TYOないしTYnを介して入力レ
ジスタIR2に入力され一時的に記憶された後、SAT
回路SΔ及びブースエンコーダ部r3EIないし131
ζ4に出力される。このときSAT回路SAは、被乗数
Xと乗数Yがともに−1であるので、従来例と同様に、
1ルベルのSAT信号をサチュレーション制御部SCI
ないしSC4に出力する。
ブースエンコーダ部BEIないしBF2はそれぞれ、」
二連と同様に符号化を行い、それぞれ符号化された、H
レベルのデータX、、1.レベルのデータ2X、、Hレ
ベルのデータCI又はLレベルのデータX、、Lレベル
のデータ2X、、I+レベルのデータC1をサチュレー
ション制御部SCIないしSC/Iに出力する。
サチュレーション制御部SCIは、入力されたデータに
基づいて上述の論理演算を行って、17レベルのデータ
X、’、Lレベルのデータ2x、’ 、及びHレベルの
データC1を部分積生成部13M1に出力する。また、
サチュレーション制御部S02及びSC3はそれぞれ、
入力されたデータに基づいて上述の論理演算を行って、
それぞれLレベルのデータX、、2x、、Ctをそれぞ
れ部分積生成部BM2.BM3に出力する。さらに、サ
チュレーション制御部SC4は、入力されたデータにL
’i ツいて上述の演算を行って、LレベルのデータX
 t、L レベルI)データ2 X tx 及ヒHレベ
ルのデータC2を部分積生成部I3M、iに出力する。
これに応答して、部分積生成部BMIないし8M4はそ
れぞれ、入力レジスタIRIから出力されるデータX。
ないしX、と、サチュレーション制御部SCIないしS
C4から出力されるデータX1°、2X1°C1又はX
、’ 、2X、’ 、C,’に基づいて、上記(3)式
の右辺の各部分積の演算を行い、演算結果のデータを加
算器ΔDDに出力する。ここで、部分積生成部BMIは
m+2ビ。
トの出力データのうち最上位ビット(以下、MSBとい
う。)を”0”とし、MSB以外のビットを” 1″と
して(m+2)ビットのデータ”0111・・111”
を加算器ADDに出力し、部分積生成部BM2及び8M
3はそれぞれ(m+2)ビットの出力データの各ビット
を”0“として(m+2)ビットのデータ”OOO・・
・000”を加算器ADDに出力し、部分積生成部BM
、Iは最下位ビット(以下、LSr3という。)を”0
″としLSB以外のビットを” ビとして(m+3)ビ
ットのデータ” 111・・・110”を加算器ΔDD
に出力する。
さらに、加算器ADDは、部分積生成部13M1ないし
r3M/Iからそれぞれ出力されるデータを公知の通り
加算して、各ビットがすべて” じである(m+n+I
)ビットのデータを出力端子QTに出力するとともに、
Hレベルのキャリーデータを出力端子CTに出力する。
以上説明したように、オーバーフロー時にSA′I゛回
路SAから出力される14レベルのSAT 信Qに応答
して、ブースエンコーダ部BEIないしBF2から出力
されるデータに対してそれぞれ、第1図で示される論理
演算を行って部分積生成部BM1ないしr3M4に出力
するようにしたので、従来例のようにオーバーフロー時
において乗算結果を上記変換回路Co■を用いて最大値
のデータ(l−2−(・・nl)に変換する必要がない
とともに、このオーバーフロー処理を従来例に比べて高
速で処理することができる。上記サチュレーション制御
部SCIないしSC4の回路は、上記変換回路COvに
比べて非常に簡単であるので、本実施例の乗算器を集積
化したとき、集積回路チップ上での占有面積を従来例に
比べて小さくできる。
第1表 第2表 [発明の効果コ 以上詳述したように本発明によれば、二次のブースのア
ルゴリズムに基づいてそれぞれ2の補数分散表示で表さ
れた上記被乗数データを乗数データで乗算を行う乗算器
において、上記被乗数データと上記乗数データがともに
−lであることを検出して検出信号を出力する検出手段
と、上記検出手段から出力される検出信号に応答して乗
算結果のデータが最高値となるように符号化手段から出
力される符号化されたデータを論理演算して演算手段に
出力する制御手段をつ1uえたたので、従来例のように
オーバーフロー時において乗算結果を上記変換回路CO
Vを用いて最大値のデータに変換する必要がなく、この
オーバーフロー処理を従来例に比べて高速で処理するこ
とができる。また、上記検出手段と上記制御手段からな
る本発明のオーバーフローの回路は従来例の変換回路C
OVに比べて簡単であるので、本発明の乗算器を集積回
路化したとき、集積回路チップ上での占有面積を従来例
に比べて小さくすることができるという利点がある。
【図面の簡単な説明】
第1図は本発明の一実施例である乗算器のブロック図、 第2図は第1図及び第3図のSAT回路の回路図、 第3図は従来例の乗算器のブロック図、第4図は第3図
の変換回路の1ビット分の回路を示す回路図である。 S八・・・SA’r回路、 [IE+ないし[3E/l・・・ブースエンコーダ部、
SCIないしSC4・・・サチュレーション制御部、n
MIないし[3M4・・・部分積生成部、八DD・・・
加算器、 INVIないしfNV9・・・インバータ、NへNDI
ないしNAND4・・・ナントゲート、N0RIないし
N0R2・・・ノアゲート。

Claims (2)

    【特許請求の範囲】
  1. (1)入力される乗数データを二次のブースのアルゴリ
    ズムに基づいて符号化する符号化手段と、上記符号化手
    段によって符号化されたデータと入力される被乗数デー
    タとの各積である各部分積のデータを演算する演算手段
    と、 上記演算手段で演算された各部分積のデータを加算して
    上記加算結果のデータを乗算器の出力データとして出力
    する加算手段を備え、 それぞれ2の補数分数表示で表された上記被乗数データ
    を乗数データで乗算を行う乗算器において、 上記被乗数データと上記乗数データがともに−1である
    ことを検出し検出信号を出力する検出手段と、 上記検出手段から出力される検出信号に応答して上記加
    算手段から出力される乗算結果のデータが最高値となる
    ように上記符号化手段から出力される符号化されたデー
    タを論理演算して上記演算手段に出力する制御手段とを
    備えたことを特徴とする乗算器。
  2. (2)被乗数データXと乗数データYがそれぞれ自然数
    m+1ビットと自然数n+1ビットの2の補数の分数表
    示である次式で表され、 X=−x_m2^0+x_m_−_12^−^1+x_
    m_−_22^−^2+…+x_02^−^mY=−y
    _n2^0+y_n_−_12^−^1+y_n_−_
    22^−^2+…+y_02^−^n上記演算手段が乗
    算結果Zを表す次式の右辺の各部分積を演算することを
    特徴とする請求項第1項記載の乗算器。 Z=(y_0−2y_1)2^−^nX +(y_1+y_2−2y_3)2^−^n^+^2X
    +…+(y_n_−_4+y_n_−_3−2y_n_
    −_2)2^−^2X++(y_n_−_2+y_n_
    −_1−2y_n)2^0X(3)それぞれ3ビットの
    乗数データを符号化する自然数(n+1)/2個又は(
    n+2)/2個の上記符号化手段と、 上記自然数(n+1)/2個又は(n+2)/2個の第
    1ないし第(n+1)/2又は第(n+2)/2の上記
    演算手段を備え、 上記検出信号に応答して第1の演算手段が(m+2)ビ
    ットの部分積データのうち最上位ビットを“0”とし最
    上位ビット以外のビットを“1”として上記加算手段に
    出力し、第2ないし第(n+1)/2−1又は第(n+
    2)/2−1の演算手段が(m+2)ビットの部分積デ
    ータの各ビットを“0”として上記加算手段に出力し、
    第(n+1)/2又は第(n+2)/2の演算手段が(
    m+3)ビットの部分積データのうち最下位ビットを“
    0”とし最下位ビット以外の各ビットを“1”として上
    記加算手段に出力するように上記制御手段が上記各符号
    化手段から出力される符号化されたデータを論理演算し
    て上記各演算手段に出力することを特徴とする請求項第
    2項記載の乗算器。
JP63097693A 1988-04-19 1988-04-19 乗算器 Pending JPH01267728A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63097693A JPH01267728A (ja) 1988-04-19 1988-04-19 乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63097693A JPH01267728A (ja) 1988-04-19 1988-04-19 乗算器

Publications (1)

Publication Number Publication Date
JPH01267728A true JPH01267728A (ja) 1989-10-25

Family

ID=14199024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63097693A Pending JPH01267728A (ja) 1988-04-19 1988-04-19 乗算器

Country Status (1)

Country Link
JP (1) JPH01267728A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119148A (ja) * 1990-09-20 1994-04-28 American Teleph & Telegr Co <Att> 演算回路
EP0992885B1 (en) * 1998-10-06 2005-12-28 Texas Instruments Incorporated Multiplier accumulator circuits
US7315163B2 (en) 2005-02-17 2008-01-01 Matsushita Electric Industrial Co., Ltd. Arithmetic unit
JP2009524169A (ja) * 2006-01-20 2009-06-25 クゥアルコム・インコーポレイテッド 予め飽和させる固定小数点乗算器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119148A (ja) * 1990-09-20 1994-04-28 American Teleph & Telegr Co <Att> 演算回路
EP0992885B1 (en) * 1998-10-06 2005-12-28 Texas Instruments Incorporated Multiplier accumulator circuits
US7315163B2 (en) 2005-02-17 2008-01-01 Matsushita Electric Industrial Co., Ltd. Arithmetic unit
CN100440136C (zh) * 2005-02-17 2008-12-03 松下电器产业株式会社 算术单元
JP2009524169A (ja) * 2006-01-20 2009-06-25 クゥアルコム・インコーポレイテッド 予め飽和させる固定小数点乗算器
JP2011248904A (ja) * 2006-01-20 2011-12-08 Qualcomm Incorporated 予め飽和させる固定小数点乗算器
US8082287B2 (en) 2006-01-20 2011-12-20 Qualcomm Incorporated Pre-saturating fixed-point multiplier

Similar Documents

Publication Publication Date Title
US5095457A (en) Digital multiplier employing CMOS transistors
EP0530372B1 (en) Numerical expression converter and vector processor using the same
JPS5811652B2 (ja) 演算ユニツト
JPS635774B2 (ja)
JPH02247727A (ja) 乗算装置及びその方法
JPH04246723A (ja) 乗算器
JP2970231B2 (ja) 並列乗算回路
JPH034382A (ja) 加算方法と乗算回路
JPH01267728A (ja) 乗算器
JPH03135627A (ja) ファジイ演算装置
US5377135A (en) High cardinal number type non-restoring divider reducing delay time for adding two numbers
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
JPS6222178A (ja) 2つの複素数の乗算のための乗算器
JPH10198552A (ja) 乗算器
JPS59186070A (ja) 高速信号処理装置
JPH02148326A (ja) 乗算器
JPS63254525A (ja) 除算装置
JPS5831449A (ja) 乗算器
JPS5827418A (ja) デジタルフイルタ
JP2620660B2 (ja) 乗算器
JPH02150962A (ja) 演算装置
JPH05151249A (ja) 複素数乗算器
JPS60245046A (ja) ロジカルシフト演算回路
JPH02181870A (ja) ディジタル信号処理装置