JPH07114454A - 乗算回路および乗算方法 - Google Patents

乗算回路および乗算方法

Info

Publication number
JPH07114454A
JPH07114454A JP5280393A JP28039393A JPH07114454A JP H07114454 A JPH07114454 A JP H07114454A JP 5280393 A JP5280393 A JP 5280393A JP 28039393 A JP28039393 A JP 28039393A JP H07114454 A JPH07114454 A JP H07114454A
Authority
JP
Japan
Prior art keywords
multiplication
data
rounding
output
adder
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
JP5280393A
Other languages
English (en)
Inventor
Mitsuharu Oki
光晴 大木
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP5280393A priority Critical patent/JPH07114454A/ja
Publication of JPH07114454A publication Critical patent/JPH07114454A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 従来に比して高速な丸め乗算処理を行うこと
ができる乗算回路および乗算方法を実現する。 【構成】 部分積の加算過程において、エクスクルーシ
ブオア回路60が同時に乗算結果C=A×Bの正負の判
定を行い、その判定結果SGNに応じてセレクタ50が
定数「1000」あるいは「0111」を選択して加算
器30に供給するようにし、これにより、最終段が2入
力1出力の加算器40で構成されるため、従来に比して
より高速な丸め乗算処理が可能になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えば、画像圧縮DC
T等のディジタル信号処理に用いて好適な乗算回路およ
び乗算方法に関する。
【0002】
【従来の技術】図3は、2の補数表現m+1ビットの被
乗数データA(Am,Am−1,..,A1,A0)
と、2の補数表現6ビットの乗数B(B5,..,B
1,B0)とを乗算し、乗算結果の下位4ビットを丸め
て出力dを発生する乗算回路の構成を示す回路図であ
る。この図において、10〜15はアンド回路、20〜
26は係数乗算器、130〜133および140は加算
器、200は加算器140の出力Cの下位4ビットを丸
め演算して出力dを発生する丸め回路である。
【0003】アンド回路10〜15の入力端子aには、
被乗数データA(Am,Am−1,..,A1,A0)
が入力される一方、入力端子b5〜b0にはそれぞれ乗
数B5〜B0が順次入力されて被乗数データAと乗数B
0〜B5との論理積A×B0、A×B1、A×B2、A
×B3、A×B4、A×B5が出力される。これら部分
積は、係数乗算器20〜25によりシフトされ、加算器
130〜133及び140により加算される。但し、乗
数B5は符号ビットであり、部分積A×B5は負の重み
を持っているので、加算器133において加算する前
に、乗算器26により(−1)倍される。こうして6個
の部分積(A×B0〜A×B5)が加算されて乗算結果
C=A×Bが加算器140から出力されると、丸め回路
200がこの乗算結果Cの下位4ビットを丸めて出力d
を発生する。
【0004】次に、丸め回路200について説明する。
丸め回路200は、加算器141とセレクタ150とか
ら構成されるものであって、乗算結果Cの最上位ビット
MSB、すなわち、符号ビットの正負に応じて与えられ
る定数「1000」あるいは「0111」と乗算結果C
とを加算し、その下位4ビットを除去した値を丸め値と
して出力する。以下、こうした点について説明してお
く。
【0005】乗算結果Cが「0」または「正」の場
合、即ち、乗算結果Cの符号ビット(MSB)が0の場
合 この場合は、例えば、 C=(0,0,0,..,0,0,1,0,1,0,
0,0)=40 C=(0,0,0,..,0,0,1,0,1,0,
0,1)=41 C=(0,0,0,..,0,0,1,0,1,0,
1,0)=42 C=(0,0,0,..,0,0,1,0,1,0,
1,1)=43 C=(0,0,0,..,0,0,1,0,1,1,
0,0)=44 C=(0,0,0,..,0,0,1,0,1,1,
0,1)=45 C=(0,0,0,..,0,0,1,0,1,1,
1,0)=46 C=(0,0,0,..,0,0,1,0,1,1,
1,1)=47 C=(0,0,0,..,0,0,1,1,0,0,
0,0)=48 C=(0,0,0,..,0,0,1,1,0,0,
0,1)=49 C=(0,0,0,..,0,0,1,1,0,0,
1,0)=50 C=(0,0,0,..,0,0,1,1,0,0,
1,1)=51 C=(0,0,0,..,0,0,1,1,0,1,
0,0)=52 C=(0,0,0,..,0,0,1,1,0,1,
0,1)=53 C=(0,0,0,..,0,0,1,1,0,1,
1,0)=54 C=(0,0,0,..,0,0,1,1,0,1,
1,1)=55 は、全て、2.5×16以上、3.5×16未満である
から、丸めを行うと、 D=(0,0,0,..,0,0,1,1)=3 となる。これから分かるように、乗算結果Cに(1,
0,0,0)を加算して、その加算結果の下位4ビット
を無視すれば良い。つまり、D=[{C+(1,0,
0,0)}の下位4ビットを無視]が丸め値となる。
【0006】乗算結果Cの符号ビット(MSB)が1
の場合 この場合は、例えば、 C=(1,1,1,..,1,1,0,0,1,0,
0,1)=−55 C=(1,1,1,..,1,1,0,0,1,0,
1,0)=−54 C=(1,1,1,..,1,1,0,0,1,0,
1,1)=−53 C=(1,1,1,..,1,1,0,0,1,1,
0,0)=−52 C=(1,1,1,..,1,1,0,0,1,1,
0,1)=−51 C=(1,1,1,..,1,1,0,0,1,1,
1,0)=−50 C=(1,1,1,..,1,1,0,0,1,1,
1,1)=−49 C=(1,1,1,..,1,1,0,1,0,0,
0,0)=−48 C=(1,1,1,..,1,1,0,1,0,0,
0,1)=−47 C=(1,1,1,..,1,1,0,1,0,0,
1,0)=−46 C=(1,1,1,..,1,1,0,1,0,0,
1,1)=−45 C=(1,1,1,..,1,1,0,1,0,1,
0,0)=−44 C=(1,1,1,..,1,1,0,1,0,1,
0,1)=−43 C=(1,1,1,..,1,1,0,1,0,1,
1,0)=−42 C=(1,1,1,..,1,1,0,1,0,1,
1,1)=−41 C=(1,1,1,..,1,1,0,1,1,0,
0,0)=−40 は、全て、−2.5×16以下、−3.5×16を越え
ているから、丸めを行うと、 D=(1,1,1,..,1,1,0,1)=−3 となる。これから分かるように、Cに(0,1,1,
1)を加算して、その加算結果の下位4ビットを無視す
れば良い。つまり、D=[{C+(0,1,1,1)}
の下位4ビットを無視]が丸め値となる。
【0007】従って、加算器141の一方の入力端子に
乗算結果Cを入力すると共に、当該乗算結果Cの符号ビ
ット(MSB)の値に応じて「1000」あるいは「0
111」をセレクタ150で選択し、選択した値を加算
器141の他方の入力端子に入力することで、Cが0ま
たは正の場合には、D=[{C+(1,0,0,0)}
の下位4ビットを無視]の丸め値が求まり、Cが負の場
合にはD=[{C+(0,1,1,1)}の下位4ビッ
トを無視]の丸め値が求まる。
【0008】加算器130〜133は図4に示すよう
に、3入力2出力の加算器であり、また加算器140、
141は図6に示すように2入力1出力の加算器から構
成されている。図4に示した3入力2出力の具体的な構
成を図5に示す。この図に示す通り、3入力2出力の加
算器では、3個の入力信号P、Q、Rの同じ桁に対応す
る各ビットがそれぞれ全加算器FA0〜FAnにより加
算され、その出力結果は、出力端子Sumとキャリアウ
ト端子Coutの2つの信号として取り出される。即
ち、加算結果1桁あたり2本の信号という冗長な形式で
出力される。このように、3入力2出力の加算器では、
計算過程においてキャリの伝搬が起こらないので、高速
な加算が可能となる。この出力(加算結果)を通常の2
の補数表現に直すためには、2入力1出力の加算器が必
要である。
【0009】
【発明が解決しようとする課題】ところで、上述した従
来の乗算回路において用いられる2入力1出力の加算器
(図6参照)は、図7に示す通り、2個の入力信号X、
Yの同じ桁に対応する各ビットがそれぞれ全加算器FA
00〜FA0nにより加算される。この計算過程におい
てキャリは、下位側の全加算器から上位側の全加算器へ
伝搬されることによって、Z=X+Yが計算されるよう
になっており、これはキャリリップル加算と言われてい
る。この他にも、キャリルックアヘッド加算やキャリセ
レクト加算などもあるが、いずれの方式においても下位
側から上位側へのキャリの伝搬がなされる。したがっ
て、2入力1出力の加算器は、上述した3入力2出力の
加算器に比べ処理が遅い。
【0010】このように従来の乗算回路では、処理時間
の遅い2入力1出力の加算器140、141を使用する
ことから、回路全体の処理速度を高速に動作させること
ができないという問題がある。そこで本発明は、従来に
比して高速な丸め乗算処理を行うことができる乗算回路
および乗算方法を提供することを目的としている。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の発明によれば、被乗数データと乗
数データとを乗算した結果に丸め演算を施して丸め乗算
値を出力する乗算回路において、前記被乗数データの符
号ビットと前記乗数データの符号ビットとの排他的論理
和に応じて丸め用の加算データを発生する丸め値発生手
段を具備することを特徴としている。また、請求項2に
記載の発明によれば、前記被乗数データと前記乗数デー
タとにより生成される部分積に前記丸め用の加算データ
を加算する丸め加算手段を備えることを特徴としてい
る。
【0012】さらに、請求項3に記載の発明にあって
は、被乗数データと乗数データとを乗算した結果に丸め
演算を施して丸め乗算値を出力する乗算方法において、
前記被乗数データの符号ビットと前記乗数データの符号
ビットとの排他的論理和に応じて丸め用の加算データを
発生することを特徴としている。また、請求項4に記載
の発明では、前記被乗数データと前記乗数データとによ
り生成される部分積に前記丸め用の加算データを加算す
ることを特徴としている。
【0013】
【作用】本発明では、丸め値発生手段が被乗数データの
符号ビットと前記乗数データの符号ビットとの排他的論
理和に応じて丸め用の加算データを発生するから、最終
段が2入力1出力の加算器1つで構成でき、この結果、
従来に比してより高速な丸め乗算処理が可能になる。
【0014】
【実施例】以下、図面を参照して本発明の実施例につい
て説明する。図1は、本発明の一実施例である乗算回路
の構成を示す回路図であり、図3に示す各部と共通する
部分には同一の番号を付し、その説明を省略する。この
図に示す乗算器が図3に示した従来のものと異なる点
は、部分積の加算過程において、エクスクルーシブオア
回路60が同時に乗算結果C=A×Bの正負の判定を行
い、その判定結果SGNに応じてセレクタ50が定数
「1000」あるいは「0111」を選択して加算器3
0に供給するようにし、これにより、最終段が2入力1
出力の加算器40で構成されるため、従来に比してより
高速な丸め乗算処理が可能になる。以下、こうした点に
ついて説明する。
【0015】図1に示す乗算回路は、図3に示す従来例
と同様に、2の補数表現m+1ビットの被乗数データA
(Am,Am−1,..,A1,A0)と、2の補数表
現6ビットの乗数B(B5,..,B1,B0)とを乗
算し、乗算結果の下位4ビットを丸めて出力dを発生す
るものである。まず、入力端子aから被乗数データA
(Am,Am−1,..,A1,A0)が入力されると
共に、入力端子b5〜b0にそれぞれ乗数B5〜B0が
入力されると、従来と同様にして、部分積A×B0、A
×B1、A×B2、A×B3、A×B4、A×B5が、
アンド回路10〜15から出力される。これら部分積
は、シフト回路20〜25によりシフトされ、加算器3
0〜34により加算される。但し、B5は符号ビットで
あり、部分積A×B5は負の重みを持っているので、加
算器34において加算する前に、(−1)倍回路26に
おいて(−1)倍している。
【0016】本発明においては、部分積の加算過程にお
いて、丸め用の加算(C=A×Bが0または正の場合
(1,0,0,0)の加算、C=A×Bが負の場合
(0,1,1,1)の加算)を同時に行っている。エク
スクルーシブ回路60は、乗算結果Cの正負の判定を行
い、その判定結果SGN)に応じてセレクタ50が乗数
「1000」または「0111」を選択し、その値を加
算器30に供給する。
【0017】乗算結果C=A×Bが0または正となる場
合は、「A=0または正、かつ、B=0または正」、ま
たは、「A=負、かつ、B=負」である。即ち、「Am
(Aの符号ビット)=0かつ、B5(Bの符号ビット)
=0」、または、「Am(Aの符号ビット)=1かつ、
B5(Bの符号ビット)=1」である。従って、Amと
B5のEOR(エクスクルーシブオア)の値SGNが0
のときは、丸め用として、(1,0,0,0)を加算す
れば良い。すなわち、加算器30〜34により、A×B
の部分積(A×B0〜A×B5)と(1,0,0,0)
が加算され、加算器34から1桁あたり2本の信号とい
う冗長な形式で出力される。この冗長な形式は、加算器
40において通常の2の補数表現に変換され、下位4ビ
ットが無視されて、出力端子dから出力される。
【0018】一方、乗算結果C=A×Bが負となるの
は、「A=0または正、かつ、B=負」、または、「A
=負、かつ、B=0または正」である。即ち、「Am
(Aの符号ビット)=0かつ、B5(Bの符号ビット)
=1」、または、「Am(Aの符号ビット)=1かつ、
B5(Bの符号ビット)=0」である。従って、Amと
B5のEORの値SGNが1のときは、丸め用として、
(0,1,1,1)を加算すれば良い。すなわち、加算
器30〜34により、A×Bの部分積(A×B0〜A×
B5)と(0,1,1,1)が加算され、加算器34か
ら1桁あたり2本の信号という冗長な形式で出力され
る。この冗長な形式は、加算器40において通常の2の
補数表現に変換され、下位4ビットが無視されて、出力
端子dから出力される。
【0019】「A=0、かつ、B=負」、または、「A
=負、かつ、B=0」のときは、C=A×B=0である
が、上述の回路ではCが負の場合と判定してしまい、丸
め用に(0,1,1,1)が加算されてしまう。即ち、
A×B+(0,1,1,1)が計算されてしまう。しか
し、A×B=0であるから、A×B+(0,1,1,
1)=(0,0,0,..,0,0,0,0,0,1,
1,1)であり、下位4ビットを無視すれば0となるの
で、正しい丸め結果が出力されることになる。こうした
場合分けの結果を図2に例示しておく。
【0020】図1において、判定結果SGNによってセ
レクタ50を切り替えて、加算器30へ(1,0,0,
0)または(0,1,1,1)を入力することで、丸め
用の加算データを加算している。これは、図示省略した
反転回路にSGNを入力させて、XSGN(SGNの反
転した値)を作成し、(XSGN,SGN,SGN,S
GN)という4ビットの信号を直接に加算器30に入力
することでも、丸め用の加算データを加算できる。この
とき、セレクタ50は不要となる。
【0021】従来、Cの正負の判定のために、2入力1
出力の加算器140で冗長な形式から通常の2の補数表
現に変換する加算を行い、その出力結果であるCの符号
ビットを使用していた。そのため、計算時間の遅い2入
力1出力の加算器を2つ(図2の140、141)使っ
ていたが、本発明によれば、上述したように、乗算結果
Cの正負の判定を被乗数Aの符号ビットAmと乗数Bの
符号ビットB5とから直接求めているので、2入力1出
力の加算器は最終段に1つ(加算器40)で済む。従っ
て、従来よりも高速な丸め乗算処理が可能になる訳であ
る。
【0022】乗算器として、Boothのアルゴリズム
を用いた乗算器や、部分積の加算順番を最適にするWa
llace方式を用いた乗算器などがあるが、本発明は
このような乗算器にも適用できることは言うまでもな
い。さらに、被乗数あるいは乗数のいずれか一方が常に
正であることが保証されていれば、他方の数の符号ビッ
トのみでCの正負の判定ができるので、直接にその符号
ビットをセレクタ50の選択信号(図1のSGN)とし
て使用しても良い。逆に、被乗数あるいは乗数のいずれ
か一方が常に負であることが保証されていれば、他方の
数の符号ビットのみでCの正負の判定ができるので、そ
の符号ビットの反転値をセレクタ50の選択信号(図1
のSGN)として使用しても良い。
【0023】
【発明の効果】本発明によれば、丸め値発生手段が被乗
数データの符号ビットと前記乗数データの符号ビットと
の排他的論理和に応じて丸め用の加算データを発生する
から、最終段が2入力1出力の加算器1つで構成でき、
この結果、従来に比して高速な丸め乗算処理を行うこと
ができる。
【図面の簡単な説明】
【図1】本発明に係わる乗算回路の一実施例の構成を示
す回路図である。
【図2】同実施例における乗算結果Cの正負判定を説明
するための図である。
【図3】従来例を説明するための図である。
【図4】従来例を説明するための図である。
【図5】従来例を説明するための図である。
【図6】従来例を説明するための図である。
【図7】従来例を説明するための図である。
【符号の説明】
10〜15 アンド回路 20〜25 シフト回路 30〜34 3入力2出力構成の加算器 40,140,141 2入力1出力構成の加算器 50,150 セレクタ 60 エクスクルーシブオア回路 200 丸め回路

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 被乗数データと乗数データとを乗算した
    結果に丸め演算を施して丸め乗算値を出力する乗算回路
    において、 前記被乗数データの符号ビットと前記乗数データの符号
    ビットとの排他的論理和に応じて丸め用の加算データを
    発生する丸め値発生手段を具備することを特徴とする乗
    算回路。
  2. 【請求項2】 前記被乗数データと前記乗数データとに
    より生成される部分積に前記丸め用の加算データを加算
    する丸め加算手段を備えることを特徴とする請求項1記
    載の乗算回路。
  3. 【請求項3】 被乗数データと乗数データとを乗算した
    結果に丸め演算を施して丸め乗算値を出力する乗算方法
    において、 前記被乗数データの符号ビットと前記乗数データの符号
    ビットとの排他的論理和に応じて丸め用の加算データを
    発生することを特徴とする乗算方法。
  4. 【請求項4】 前記被乗数データと前記乗数データとに
    より生成される部分積に前記丸め用の加算データを加算
    することを特徴とする請求項3記載の乗算方法。
JP5280393A 1993-10-14 1993-10-14 乗算回路および乗算方法 Pending JPH07114454A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5280393A JPH07114454A (ja) 1993-10-14 1993-10-14 乗算回路および乗算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5280393A JPH07114454A (ja) 1993-10-14 1993-10-14 乗算回路および乗算方法

Publications (1)

Publication Number Publication Date
JPH07114454A true JPH07114454A (ja) 1995-05-02

Family

ID=17624407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5280393A Pending JPH07114454A (ja) 1993-10-14 1993-10-14 乗算回路および乗算方法

Country Status (1)

Country Link
JP (1) JPH07114454A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167419A (en) * 1997-04-01 2000-12-26 Matsushita Electric Industrial Co., Ltd. Multiplication method and multiplication circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167419A (en) * 1997-04-01 2000-12-26 Matsushita Electric Industrial Co., Ltd. Multiplication method and multiplication circuit
US6167420A (en) * 1997-04-01 2000-12-26 Matsushita Electric Industrial Co., Ltd. Multiplication method and multiplication circuit

Similar Documents

Publication Publication Date Title
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US6233597B1 (en) Computing apparatus for double-precision multiplication
US5367477A (en) Method and apparatus for performing parallel zero detection in a data processing system
JP3345894B2 (ja) 浮動小数点乗算器
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
JPH07114454A (ja) 乗算回路および乗算方法
WO1992022027A1 (fr) Appareil diviseur
JPS58137045A (ja) 並列乗算器
JPH10111791A (ja) 除算装置
JP3019796B2 (ja) 乗算器
JP2991788B2 (ja) 復号器
JP2765516B2 (ja) 積和演算器
JP2606326B2 (ja) 乗算器
JP2606339B2 (ja) 乗算器
JPH1115641A (ja) 冗長2進加算器を用いた乗算装置
JPS6259828B2 (ja)
JP2907276B2 (ja) 演算処理装置
JP4042215B2 (ja) 演算処理装置およびその方法
JPS593634A (ja) 乗算器
JP2744299B2 (ja) 演算処理装置及び方法
JPS62214435A (ja) デイジタル除算回路
Mahmoud et al. A parallel combined binary/decimal fixed-point multiplier with binary partial products reduction tree
JPH04359370A (ja) ベクトル演算回路
JPH10312269A (ja) 積和演算器