JP2996024B2 - 乗算回路 - Google Patents

乗算回路

Info

Publication number
JP2996024B2
JP2996024B2 JP4255048A JP25504892A JP2996024B2 JP 2996024 B2 JP2996024 B2 JP 2996024B2 JP 4255048 A JP4255048 A JP 4255048A JP 25504892 A JP25504892 A JP 25504892A JP 2996024 B2 JP2996024 B2 JP 2996024B2
Authority
JP
Japan
Prior art keywords
multiplication
multiplier
multiplicand
shift
bits
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 - Lifetime
Application number
JP4255048A
Other languages
English (en)
Other versions
JPH06103031A (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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP4255048A priority Critical patent/JP2996024B2/ja
Publication of JPH06103031A publication Critical patent/JPH06103031A/ja
Application granted granted Critical
Publication of JP2996024B2 publication Critical patent/JP2996024B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ブース(Booth)
のアルゴリズムを用いた「2」の補数乗算回路に利用す
る。特に、AMI符号等の絶対値の小さい信号を乗数ま
たは被乗数として取り扱う乗算回路に関する。
【0002】ここで、AMI符号について説明する。デ
ィジタル伝送では方式設計の理由から原情報符号列を別
のパルス系列に符号変換して伝送を行う。この伝送路符
号は、次の条件を満たさなければならない。
【0003】1.低周波成分を十分に抑圧する。
【0004】2.一定時間以上、同一符号が続かない。
【0005】3.伝送路の符号誤りを監視しやすくな
る。
【0006】AMI符号とはこのような条件を満たす符
号で、「−1」、「0」、「1」で原情報符号列を表わ
す符号である。
【0007】
【従来の技術】まず、ブースのアルゴリズムを用いた乗
算回路について説明する。ブースのアルゴリズムとは、
「2」の補数乗算アルゴリズムで乗数符号列を差分符号
列に置き換えることにより極性ビットを含め補正なしに
乗算を行う方法である。「2」の補数表示の乗数Yは次
のように表現できる。
【0008】
【数1】 ただし、*印は乗算符号である。したがって、乗算U=
X*Yは
【0009】
【数2】 となり、表1に示すように符号(Yi 、Yi+1 )によっ
てXを加算または減算し、シフト加算していくことによ
り乗算が行える。
【0010】
【表1】 さらに、式(1)を2項ずつ括ると
【0011】
【数3】 と表せる。これが二次のブースのアルゴリズムで表2に
示すように、X、2Xの加減算制御により「2」の補数
表示の乗算が行える。
【0012】
【表2】 乗数が14ビット、被乗数が24ビットの場合の二次の
ブースのアルゴリズムを用いた「2」の補数乗算器の構
成図を図6に示す。従来の乗算アルゴリズムを図7に示
す。この乗算アルゴリズムでは、乗数が「1」のとき、
すなわちY1 のみ「1」でY2 〜Y14が全て「0」のと
きに、乗算器11の出力は被乗数そのものとなり、入力
2 〜A7 、B2 〜B7 、C2 〜C7 が全て「0」にも
かかわらず以降の乗算器12〜17の論理演算に影響す
る。次に乗数Yが「−1」に変化したとするとY1 〜Y
14は全て「1」となり、乗算器11〜17は全て変化の
影響を受け動作する。
【0013】また、従来の乗算回路では、乗数が
「1」、被乗数が「−1」のときに、すなわちY1 のみ
「1」でY2 〜Y14が全て「0」、X1 〜X24が全て
「1」のときに、乗算器11の出力は被乗数そのものと
なり、入力A2 〜A7 、B2 〜B7 、C2 〜C7 が全て
「0」にもかかわらず以降の乗算器12〜17の論理演
算に影響する。次に乗数Yが「−1」に変化したとする
と、Y1 〜Y14は全て「1」となり、乗算器11〜17
は全て変化の影響を受け動作する。同様に被乗数Xが
「0」に変化したとするとX1 〜X24は全て「0」とな
り、乗算器11〜17は全て変化の影響を受ける。
【0014】
【発明が解決しようとする課題】従来の乗算アルゴリズ
ムでは、乗数または被乗数がAMI符号のように絶対値
が大きく変化しない場合にも乗算回路全体が動作し、消
費電力が大きくなる欠点があった。
【0015】本発明は、このような欠点を除去するもの
で、絶対値の小さい信号を乗数およびまたは被乗数とし
て取り扱う場合の消費電力を削減する手段をもつ乗算回
路を提供することを目的とする。
【0016】
【課題を解決するための手段】第一の発明は、二次ブー
スアルゴリズムとけた上げ先見法加算とを組み合わせて
2の補数乗算を行う乗算手段を備えた乗算回路におい
て、乗数が所定のビット数以下のときに、前記乗算手段
に入力する乗数を最上位ビット位置までシフトし、最下
位ビットまでをすべて「0」にする乗数シフト手段と、
乗算結果を最下位側にシフトする乗算結果シフト手段と
を備えたことを特徴とする。
【0017】第の発明は、二次ブースアルゴリズムと
けた上げ先見法加算とを組み合わせて2の補数乗算を行
う乗算手段を備えた乗算回路において、被乗数が所定の
ビット数以下のときに、前記乗算手段に入力する被乗数
を最上位ビット位置までシフトし、最下位ビットまでを
すべて「0」にする被乗数シフト手段と、乗算結果を最
下位側にシフトする乗算結果シフト手段と備えたことを
特徴とする。
【0018】第三の発明は、二次ブースアルゴリズムと
けた上げ先見法加算とを組み合わせて2の補数乗算を行
う乗算手段を備えた乗算回路において、乗数が所定のビ
ット数以下のときに、前記乗算手段に入力する乗数を最
上位ビット位置までシフトし、最下位ビットまでをすべ
て「0」にする乗数シフト手段と、被乗数が所定のビッ
ト数以下のときに、前記乗算手段に入力する被乗数を最
上位ビット位置までシフトし、最下位ビットまでをすべ
て「0」にする被乗数シフト手段と、乗算結果を最下位
側にシフトする乗算結果シフト手段とを備えたことを特
徴とする。
【0019】
【作用】乗数およびまたは被乗数の絶対値が小さいとき
に、乗数およびまたは被乗数をMSB側にシフトし、他
をすべて「0」にして乗算を行い、乗算結果をLSB側
にシフトして乗算のシフトによる影響を相殺する。
【0020】
【実施例】以下、本発明の乗算アルゴリズムについて説
明する。図1は本発明の第一の実施例の構成図である。
この第一の実施例は、図1、図2および図3に示すよう
に、乗数Y1 、Y2 、…、Y14および被乗数X1
2 、…、X24を入力して乗数Y1 、Y2 、…、Y14
絶対値が「3」以下のときにY3 をY14に、Y2 をY13
に、Y1 をY12にシフトし、Y11〜Y1 をすべて「0」
にする乗算回路制御部40と、乗算回路制御部40が出
力するY1 、Y2 、Y3 を入力してA1 、B1 、C1
出力し、また、乗数Y3 、Y4 、Y5 を入力してA2
2 、C2 を出力し、…、また、乗数Y12、Y13、Y14
を入力してA7 、B7 、C7 を出力する二次ブースアル
ゴリズム部20と、被乗数X1 、X2 、…、X24が与え
られ、そのX・2X演算切り替え部にA1 およびB1
与えられ、加算・減算切り替え部にC1 が与えられて加
算部でけた上げ先見法加算を行う乗算器11と、また、
被乗数X1 、X2 、…、X24が与えられ、X・2X演算
切り替え部にA2 およびB2が与えられ、加算・減算切
り替え部にC2 が与えられ加算部でけた上げ先見法加算
を行う乗算器12と、…、また、被乗数X1 、X2
…、X24が与えられ、X・2X演算切り替え部にA7
よびB7 が与えられ、加算・減算切り替え部にC7 が与
えられ加算部でけた上げ先見法加算を行う乗算器17
と、乗算器11の演算結果、乗算器12の演算結果、…
および乗算器17の演算結果をシフト加算する加算器3
0と、この加算器30の演算結果に対して最下位側に1
1ビットシフトして乗算結果U1 、U2 、…、U36、U
37を生成する乗算結果制御部50とを備える。ここで、
二次ブースアルゴリズム部20は与えれる一組の乗数
2i、Y2i+1 、Y2i+2に応じて表2に示すA、B、C
の値を生成する。Aは演算Xを、Bは演算2Xを乗算器
のX・2X演算切り替え部に指示し、Cは加算または減
算の一方を加算・減算切り替え部に指示する。
【0021】次に、この実施例の動作を説明する。この
実施例の乗算アルゴリズムでは、図2に示すように、乗
数Yが「−3」、「−2」、「−1」、「0」、
「1」、「2」、「3」のときにY3 をY14に、Y2
13に、Y1 をY12にシフトし、Y11〜Y1 はすべて
「0」にする方法をとっている。例としてYを「1」と
するとA1 〜A6 、B1 〜B6 、C1 〜C6 はすべて
「0」なので、乗算回路11〜16の出力はすべて
「0」となる。次に、Yが「−1」のときも同様にA1
〜A6、B1 〜B6 、C1 〜C6 がすべて「0」とな
り、乗算回路11〜16は変化しない。すなわち、乗算
回路17のみがYの変化の影響を受ける。すなわち、被
乗数Xおよび乗数Yに次々と新しいデータを供給して乗
算を行う際に、通常は乗数Yがランダムデータであるの
で乗数Yに新しいデータを供給するするたびに乗算回路
11〜17に論理の「0」、「1」の反転が発生する
が、Y≦3のデータが次々と供給される場合には、乗算
回路11〜16のA=B=0、C=1であり論理出力が
常に「0」となるので、乗数Yが変化しても論理反転が
発生せず、CMOSで構成した場合には、乗算回路11
〜16では電力が消費されない。ただしこのとき出力U
は11ビットシフトした分を考慮する必要がある。すな
わち、乗数をMSB側に3ビットシフトすると、例えば
00111は11000となり、23 倍していることに
なるので、その分を計算後に戻すべくLSB側に計算結
果を11ビットシフトする。この乗算アルゴリズムを用
いれば、例えばAMI符号のような絶対値の小さい信号
を乗数として取り扱う場合に乗算回路11〜16が動作
しないので、消費電力を大幅に削減することができる。
この実施例では約80%削減可能である。
【0022】この第二実施例は、図1、図4および図5
に示すように、乗数Y1 、Y2 、…、Y14および被乗数
1 、X2 、…、X24を入力して被乗数X1 、X2
…、X24の絶対値が「3」以下のときにX3 をX24に、
2 をX23に、X1 をX22にシフトし、X21〜X1 をす
べて「0」にする乗算回路制御部40と、乗算回路制御
部40が出力するY1 、Y2 、Y3 を入力してA1 、B
1 、C1 を出力し、また、乗数Y3 、Y4 、Y5 を入力
してA2 、B2 、C2 を出力し、…、また、乗数Y12
13、Y14を入力してA7 、B7 、C7 を出力する二次
ブースアルゴリズム部20と、被乗数X1 、X2 、…、
24が与えられ、そのX・2X演算切り替え部にA1
よびB1 が与えられ、加算・減算切り替え部にC1 が与
えられて加算部でけた上げ先見法加算を行う乗算器11
と、また、被乗数X1 、X2 、…、X24が与えられ、X
・2X演算切り替え部にA2 およびB2 が与えられ、加
算・減算切り替え部にC2 が与えられ加算部でけた上げ
先見法加算を行う乗算器12と、…、また、被乗数
1 、X2 、…、X24が与えられ、X・2X演算切り替
え部にA7 およびB7 が与えられ、加算・減算切り替え
部にC7 が与えられ加算部でけた上げ先見法加算を行う
乗算器17と、乗算器11ないし乗算器17の演算結果
をシフト加算する加算器30と、この加算器30の演算
結果に対して最下位側に21ビットシフトして乗算結果
1 、U2 、…、U36、U37を生成する乗算結果制御部
50とを備える。ここで、二次ブースアルゴリズム部2
0は与えれる一組の乗数Y2i、Y2i+1 、Y2i+2に応
じて表2に示すA、B、Cの値を生成する。Aは演算X
を、Bは演算2Xを乗算器のX・2X演算切り替え部に
指示し、Cは加算または減算の一方を加算・減算切り替
え部に指示する。
【0023】図3に本発明の第二の実施例の乗算アルゴ
リズムを示す。この実施例の乗算アルゴリズムでは、被
乗数Xが「−3」、「−2」、「−1」、「0」、
「1」、「2」、「3」のときX24←X3 、X23
2 、X22←X1 にシフトし、他のビットを全て「0」
にする方法である。この実施例のアルゴリズムでは、被
乗数が|X|≦3の間で変化したときに、乗算器11〜
17のMSB側だけ動作し、LSB側21ビットは
「0」のままXの変化の影響を受けない。この乗算アル
ゴリズムでも出力Uは21ビットシフトした分を考慮す
る必要がある。すなわち、被乗数をMSB側に3ビット
シフトすると、その分を計算後に戻すべくLSB側に計
算結果を21ビットシフトする。この乗算アルゴリズム
を用いれば、AMI符号のような絶対値の小さい信号を
被乗数として取り扱う場合に乗算回路11〜17のLS
B側21ビットが動作しないので、消費電力を大幅に削
減することができる。この実施例では約80%削減可能
である。
【0024】この第三実施例は、図1、図6および図7
に示すように、乗数Y1 、Y2 、…、Y14および被乗数
1 、X2 、…、X24を入力して被乗数X1 、X2
…、X24の絶対値が「3」以下のときにX3 をX24に、
2 をX23に、X1 をX22にシフトし、X21〜X1 をす
べて「0」にし、かつ、乗数Y1 、Y2 、…、Y14の絶
対値が「3」以下のときにY3 をY14に、Y2 をY
13に、Y1 をY12にシフトし、Y11〜Y1 をすべて
「0」にする乗算回路制御部40と、乗算回路制御部4
0が出力するY1 、Y2 、Y3 を入力してA1 、B1
1 を出力し、また、乗数Y3 、Y4 、Y5 を入力して
2 、B2 、C2 を出力し、…、また、乗数Y12
13、Y14を入力してA7 、B7 、C7 を出力する二次
ブースアルゴリズム部20と、被乗数X1 、X2 、…、
24が与えられ、そのX・2X演算切り替え部にA1
よびB1 が与えられ、加算・減算切り替え部にC1 が与
えられて加算部でけた上げ先見法加算を行う乗算器11
と、また、被乗数X1 、X2 、…、X24が与えられ、X
・2X演算切り替え部にA2 およびB2 が与えられ、加
算・減算切り替え部にC2 が与えられ加算部でけた上げ
先見法加算を行う乗算器12と、被除数X1 、X2
…、X24が与えられ、そのX・2X演算切り替え部にA
i およびBi が与えられ、加算・減算切り替え部にCi
が与えられて加算部でけた上げ先見法加算を行う乗算器
i とまた、被乗数X1 、X2 、…、X24が与えられ、
X・2X演算切り替え部にA7 およびB7 が与えられ、
加算・減算切り替え部にC7 が与えられ加算部でけた上
げ先見法加算を行う乗算器17と、乗算器11ないし乗
算器17の演算結果をシフト加算する加算器30と、こ
の加算器30の演算結果に対して最下位側に32ビット
シフトして乗算結果U1 、U2 、…、U36、U37を生成
する乗算結果制御部50とを備える。ここで、二次ブー
スアルゴリズム部20は与えれる一組の乗数Y2i、Y
2i+1 、Y2i+2に応じて表3に示すA、B、Cの値を生
成する。Aは演算Xを、Bは演算2Xを乗算器のX・2
X演算切り替え部に指示し、Cは加算または減算の一方
を加算・減算切り替え部に指示する。図1中の乗算回路
制御部40および乗算結果制御部50はそれぞれ図4お
よび3に示すアルゴリズムになっている。この実施例の
乗算回路では、乗数Yが「−3」、「−2」、「−
1」、「0」、「1」、「2」、「3」および被乗数X
が「−3」、「−1」、「0」、「1」、「2」、
「3」のときに、乗算回路制御部40では、Y3 をY14
に、Y2 をY13に、Y1 をY12にシフトし、Y11〜Y1
はすべて「0」にすると共に、X3 をX24に、X2 をX
23に、X1 をX22にシフトし、X21〜X1 は全て「0」
にしている。さらに、その演算結果を乗算結果制御部5
0で32ビットLSB側にシフトしている。例としてX
=1、Y=1のときにXおよびYともにシフトするとX
22、Y12のみ「1」で他は全て「0」となる。したがっ
て、A1 〜A6 、B1 〜B6 、C1 〜C5 はすべて
「0」なので、乗算器11〜16の出力はすべて「0」
となる。さらに乗算器17もLSB側が全て「0」にな
る。次にXが「3」にYが「−1」に変化したときも同
様にシフトすれば、A1 〜A6 、B1 〜B6 、C1 〜C
5 がすべて「0」となり、乗算器11〜16は変化しな
い。乗算器17のMSB側数ビットのみがXおよびYの
変化の影響を受ける。この乗算回路を用いれば、例えば
AMI符号のように絶対値の小さい信号が乗数および被
乗数として繰り返し出現する場合に、乗算器11〜16
および乗算器17のLSB側が動作しないので、消費電
力を大幅に削減することができる。本実施例では約95
%削減可能である。
【0025】
【発明の効果】本発明は、以上説明したように、乗数お
よびまたは被乗数として絶対値が小さい信号を取り扱う
場合に、乗数または被乗数のどちらか一方をMSB側に
シフトすることにより乗数または被乗数が変化したとき
の乗算回路の動作率を下げ、消費電力を大幅に削減でき
る効果がある。
【図面の簡単な説明】
【図1】本発明実施例の構成を示すブロック構成図。
【図2】本発明の第一実施例の動作を示すフローチャー
ト。
【図3】本発明の第二実施例の動作を示すフローチャー
ト。
【図4】本発明の第三実施例の動作を示すフローチャー
ト。
【図5】本発明の第三実施例の動作を示すフローチャー
ト。
【図6】従来例の構成を示すブロック構成図。
【図7】従来例の動作を示すフローチャート。
【符号の説明】
11〜17 乗算器 20 二次ブースアルゴリズム部 30 加算器 40 乗算回路制御部50 乗算結果制御部

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 二次ブースアルゴリズムとけた上げ先見
    法加算とを組み合わせて2の補数乗算を行う乗算手段を
    備えた乗算回路において、乗数が所定のビット数以下のときに、前記乗算手段に入
    力する乗数を最上位ビット位置までシフトし、最下位ビ
    ットまでをすべて「0」にする乗数シフト手段と、乗算
    結果を最下位側にシフトする乗算結果シフト手段と を備
    えたことを特徴とする乗算回路。
  2. 【請求項2】 二次ブースアルゴリズムとけた上げ先見
    法加算とを組み合わせて2の補数乗算を行う乗算手段を
    備えた乗算回路において、被乗数が所定のビット数以下のときに、前記乗算手段に
    入力する被乗数を最上位ビット位置までシフトし、最下
    位ビットまでをすべて「0」にする被乗数シフト手段
    と、乗算結果を最下位側にシフトする乗算結果シフト手
    段と 備えたことを特徴とする乗算回路。
  3. 【請求項3】 二次ブースアルゴリズムとけた上げ先見
    法加算とを組み合わせて2の補数乗算を行う乗算手段を
    備えた乗算回路において、乗数が所定のビット数以下のときに、前記乗算手段に入
    力する乗数を最上位ビット位置までシフトし、最下位ビ
    ットまでをすべて「0」にする乗数シフト手段と、被乗
    数が所定のビット数以下のときに、前記乗算手段に入力
    する被乗数を最上位ビット位置までシフトし、最下位ビ
    ットまでをすべて「0」にする被乗数シフト手段と、乗
    算結果を最下位側にシフトする乗算結果シフト手段と
    備えたことを特徴とする乗算回路。
JP4255048A 1992-09-24 1992-09-24 乗算回路 Expired - Lifetime JP2996024B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4255048A JP2996024B2 (ja) 1992-09-24 1992-09-24 乗算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4255048A JP2996024B2 (ja) 1992-09-24 1992-09-24 乗算回路

Publications (2)

Publication Number Publication Date
JPH06103031A JPH06103031A (ja) 1994-04-15
JP2996024B2 true JP2996024B2 (ja) 1999-12-27

Family

ID=17273438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4255048A Expired - Lifetime JP2996024B2 (ja) 1992-09-24 1992-09-24 乗算回路

Country Status (1)

Country Link
JP (1) JP2996024B2 (ja)

Also Published As

Publication number Publication date
JPH06103031A (ja) 1994-04-15

Similar Documents

Publication Publication Date Title
US6233597B1 (en) Computing apparatus for double-precision multiplication
JPH04205026A (ja) 除算回路
JPH0317132B2 (ja)
JPH07234778A (ja) 演算回路
JP2996024B2 (ja) 乗算回路
JPH0234054B2 (ja)
EP0044450A1 (en) Digital adder circuit
US6684236B1 (en) System of and method for efficiently performing computations through extended booth encoding of the operands thereto
JP3019796B2 (ja) 乗算器
JPH0540605A (ja) 浮動小数点乗算装置
KR100309520B1 (ko) 라운드오프기능을갖는승산방법및승산회로
JPH086766A (ja) 正弦余弦演算装置
JPH11126157A (ja) 乗算方法および乗算回路
JP2856792B2 (ja) 浮動小数点数演算装置
JP2951685B2 (ja) 固定小数点演算器
JP2777265B2 (ja) 高基数開平演算装置
JP2995721B2 (ja) 除算装置および除算方法
JPS60160438A (ja) 除算装置
JP3482817B2 (ja) 商ディジット選択回路および除算演算器
KR950006583B1 (ko) 승산방법 및 회로
JPH0253819B2 (ja)
JPH0424766A (ja) 計算機システムの算術演算処理装置
JPH09160757A (ja) クランプ付き演算器
JPH07120265B2 (ja) 2進浮動小数点乗算における丸め処理方式
Gosling et al. Negative Numbers and Their Effect on Arithmetic