JP2606326B2 - 乗算器 - Google Patents

乗算器

Info

Publication number
JP2606326B2
JP2606326B2 JP63269732A JP26973288A JP2606326B2 JP 2606326 B2 JP2606326 B2 JP 2606326B2 JP 63269732 A JP63269732 A JP 63269732A JP 26973288 A JP26973288 A JP 26973288A JP 2606326 B2 JP2606326 B2 JP 2606326B2
Authority
JP
Japan
Prior art keywords
multiplication
coefficient
ivt
input
data
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
JP63269732A
Other languages
English (en)
Other versions
JPH02115929A (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 JP63269732A priority Critical patent/JP2606326B2/ja
Publication of JPH02115929A publication Critical patent/JPH02115929A/ja
Application granted granted Critical
Publication of JP2606326B2 publication Critical patent/JP2606326B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、2の補数表示の乗算入力データと最小重み
表示の乗算係数を乗算して2の補数表示の乗算結果を出
力する乗算器に関するものである。
(従来の技術) 従来の2の補数の入力データと乗算係数の乗算を行う
乗算器には、Boothのアルゴリズムと桁上げ先見法(以
下CLAと記す)加算器との組合せによる乗算器が多く用
いられている。第3図に、Booth乗算器の例を示す。第
3図は、乗算入力データXが4ビット、乗算係数Yが2
ビットの乗算を±X,±2XのCLA加減算に置き換えること
により高速化を図った乗算器である。第3図の乗算器の
動作について説明する。Boothのアルゴリズムの論理回
路301により乗算係数Yから図中A,B,Cの制御信号を発生
し、前記制御信号AはXの選択、前記制御信号Bは2Xの
選択を表わし、前記制御信号A,BによってX,2Xの選択を
回路302で実行し、前記制御信号Cにより加減算の切り
替え制御を回路303で行い、CLA加算器304でK入力と高
速加算を行い乗算出力Sを得る構成となっている。一般
には、(2×4)ビット程度の単位乗算回路を接続し
て、より大きな乗算アレイを構成するのが普通である。
(発明が解決しようとする問題点) しかしながら、Boothのアルゴリズムの乗算器は、Boo
thのアルゴリズムの論理回路、X,2Xの切り替え回路、加
減算の切り替え回路などが必要で、構成が複雑であり、
特に乗算係数の数が予め限られている場合には回路が冗
長となるために回路規模が大きくなるという欠点があ
る。
本発明の目的は、以上のような欠点を解消し、2の補
数表示の乗算入力データと予め限られた数の乗算係数と
の乗算を簡単な構成で小さな回路規模により実現できる
乗算器を提供することにある。
(問題を解決するための手段) 第1図は本発明の一般的な構成を示す図である。
本発明は、2の補数表示の乗算入力データXと2を基
数とする(n+1)ビットの最小重み表示の予め定めら
れたM個の乗算係数 (ys jは極性符号でys j=0の場合に正数を、ys j=1の
場合に負数を表わす。乗算係数の頂係数yj iは0,1,−1
のいずれか、ただし最上位の乗算係数の非零の項係数の
値は1とする。乗算係数の非零の項係数の数はm≦
((n/2)+1)である)の乗算を行い、2の補数表示
の乗算結果 を出力する乗算器において、前記乗算係数の非零の項係
数がiビットの位置にある場合に前記乗算入力データを
iビット左シフトしたシフトデータを前記乗算係数の非
零の各項係数について用意し前記M個の各乗算係数の項
係数の最上位の非零の項係数に対する前記シフトデータ
を入力とし乗算係数選択信号(SEL)により1個を選択
し出力する第1のセレクタと、前記乗算係数の最上位以
下にある非零の項係数についても同様にしてM個の各乗
算係数の項係数の最上位以下の非零の項係数に対する前
記シフトデータを入力とし前記乗算係数選択信号により
1個を選択し出力する第2,第3,…,第mのセレクタと、
前記第2,第3,…,第mのセレクタに1個ずつ接続され後
記(m−1)個のスイッチ制御インバータに対してそれ
ぞれに入力される(m−1)個の2の補数演算制御信号
IVT(1),IVT(2),…,IVT(m−1)が“1"の場合
ビット反転を行い“0"の場合ビット反転を行わない第1,
第2,…,第(m−1)個のスイッチ制御インバータと、
前記2の補数制御信号IVT(1),IVT(2),…,IVT
(m−1)がキャリー入力(CI)され前記第1,第2,…,
第(m−1)のスイッチ制御インバータの出力データと
第1のセレクタの出力データの計m個のデータを加算す
る加算回路と、該加算回路の出力データを入力とし2の
補数演算制御信号IVT(m)が“1"の場合にビット反転
を行い“0"の場合ビット反転を行わないスイッチ制御イ
ンバータmと、前記2の補数演算制御信号IVT(m)が
キャリー入力(CI)に接続され前記スイッチ制御インバ
ータmの出力データとの加算を行い出力データを乗算結
果とする加算器から構成される乗算器。
(作用) 本発明の作用を説明するために、最小重み表示につい
て簡単に説明する。詳細は文献:嵩、都倉、岩垂、稲垣
著「符号理論」p426〜p433(コロナ社刊)を参照された
い。
整数N(<2n)は、基数を2にとり各項の項係数bi
0,+1,−1を許せば N=b020+b121+b222+bn-12n-1 (1) bi∈{−1,0,+1},i=0,1,2,…,(n−1) のように表示することができ、式(1)の表示の中で非
零の項係数の数が最小であるもを最小重み表示という。
式(1)が整数Nの最小重み表示であるためには、式
(1)において隣合う非零の項係数が存在しない、すな
わち、 bibi+1=0(i=0,1,2,…,n−2) (2) という条件が成立すればよく、逆に式(2)の成立する
表示は最小重み表示であり、かつ、式(2)の条件を満
たす最小重み表示は一通りである。さらに最小重み表示
では、nビットの2進数Nの式(2)の条件を満たす最
小重み表示のビット数はたかだか(n+1)であり、非
零の項係数の数は((n/2)+1)を越えないことが知
られている。本発明においては、絶対値を前述の最小重
み表示で表わし、これに極性符号を付加して前記極性符
号が0ならば正整数を1なばら負整数を表わすとして、
正負の整数を表現する。
次に乗算器の構成方法について説明する。
最小重み表示された乗算係数Yjの絶対値|Yj|は式
(3)で表わされる。
乗算入力データXと前記|Y|の積Qは、式(4)で表
される。
式(4)より、yj iの値が1ならば乗算入力データX
のiビット左シルトしたデータを、yj iの値が−1なら
ば乗算入力データXのiビット左シフトしたデータに2
の補数演算を行ったデータを、iが0からnまでについ
て得て、これらのデータの総和を計算すると、前記Xと
前記|Y|の積Qが求まる。次に、前記Yの極性符号が1
ならば前記Qの2の補数演算を行い前記Xと前記Yの乗
算結果Pを得る。複数の乗算係数を実現するには、セレ
クタにより乗算入力データの左シフトデータを切り換え
ればよい。本構成は、2の補数演算回路をスイッチ制御
インバータと加算器のキャリー入力で実現すると、前記
乗算係数の非零となる項係数の最大数はm=((n/2)
+1)であるから、m個のセレクタのm個のスイッチ制
御インバータ、m個のキャリー入力付き(m−1)入力
加算回路と、1個のキャリー入力付き加算器で実現で
き、従来の技術で説明したBoothの乗算器に比べて、Boo
thのアルゴリズムの論理回路、X,2Xの切り替え回路が必
要なくなるので、簡単な構成で小型化が図れる。
(実施例) 次に本発明の実施例を図面を参照しながら説明する。
第2図は本発明の乗算器の実施例である。本実施例は、
2個の乗算係数をとり、乗算係数の非零となる項係数が
最大3個の場合の乗算器の例である。
セレクタ200は乗算係数の最上位の非零となる項係数
に対応する乗算入力の左シフトデータを、セレクタ201,
202は残りの乗算係数の非零となる項係数に対応し各々
乗算入力データの左シフトデータを係数選択信号SELに
よって選択する。但し、各セレクタの対応する乗算係数
の項係数が0となる場合は0を選択する。インバータ20
3,204は、セレクタ201,202が対応する乗算係数の項係数
が−1のとき2の補数制御信号IVT(1)、IVT(2)が
“1"となりデータのビット反転を実行し、同時に、2の
補数制御信号IVT(1),IVT(2)により加算器205,206
のキャリー入力(CI)に“1"が入力されて、2の補数演
算を行い、同時に、加算器205,206はセレクタ200とイン
バータ203,204の出力データを加算して、乗算入力デー
タXと乗算係数の絶対値|Y|の乗算を実行する。乗算係
数が負の場合は、2の補数制御信号IVT(3)が“1"と
なりインバータ207でビット反転を行い、同時に2の補
数制御信号IVT(3)により加算器208のキャリー入力
(CI)に“1"が入力され2の補数演算を実行する。加算
器208は外部からの加算入力Kと乗算結果との加算に用
いることも可能である。
(発明の効果) 本発明によると、セレクタ、インバータおよび加算器
のキャリー入力を制御することにより予め定められた複
数の最小重み表示された乗算係数と入力データの乗算が
簡単に実現でき、乗算係数が限定されている乗算器を簡
単化、小型化できる。
【図面の簡単な説明】
第1図は本発明の乗算器の構成を示す図、第2図は本発
明の実施例を示す図、第3図は従来の乗算器の例を表す
図である。 図において、100−1,100−2,…,100−mはセレクタ、10
1−1,101−2,101−mはスイッチ制御インバータ、102は
加算回路、103は加算器、200,201,202はセレクタ、203,
204,207はスイッチ制御インバータ、205,206,208はキャ
リー入力付き加算器、301はBoothのアルゴリズムの論理
回路、302はX,2Xの切り替え回路、303は加減算切り替え
回路、304は桁上げ先見法(CLA)加算回路、305は最上
位ビット(MSB)処理回路である。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】2の補数表示の乗算入力データXと2を基
    数とする(n+1)ビットの最小重み表示の予め定めら
    れたM個の乗算係数 (ys jは極性符号でys j=0の場合に正数を、ys j=1の
    場合に負数を表わす。乗算係数の頂係数yj iは0,1,−1
    のいずれか、ただし最上位の乗算係数の非零の項係数の
    値は1とする。乗算係数の非零の項係数の数はm≦
    ((n/2)+1)である)の乗算を行い、2の補数表示
    の乗算結果 を出力する乗算器において、前記乗算係数の非零の項係
    数がiビットの位置にある場合に前記乗算入力データを
    iビット左シフトしたシフトデータを前記乗算係数の非
    零の各項係数について用意し前記M個の各乗算係数の項
    係数の最上位の非零の項係数に対する前記シフトデータ
    を入力とし乗算係数選択信号(SEL)により1個を選択
    し出力する第1のセレクタと、前記乗算係数の最上位以
    下にある非零の項係数についても同様にしてM個の各乗
    算係数の項係数の最上位以下の非零の項係数に対する前
    記シフトデータを入力とし前記乗算係数選択信号により
    1個を選択し出力する第2,第3,…,第mのセレクタと、
    前記第2,第3,…,第mのセレクタに1個ずつ接続され後
    記(m−1)個のスイッチ制御インバータに対してそれ
    ぞれに入力される(m−1)個の2の補数演算制御信号
    IVT(1),IVT(2),…,IVT(m−1)が“1"の場合
    ビット反転を行い“0"の場合ビット反転を行わない第1,
    第2,…,第(m−1)のスイッチ制御インバータと、前
    記2の補数制御信号IVT(1),IVT(2),…,IVT(m
    −1)がキャリー入力(CI)され前記第1,第2,…第(m
    −1)のスイッチ制御インバータの出力データと第1の
    セレクタの出力データの計m個のデータを加算する加算
    回路と、該加算回路の出力データを入力とし2の補数演
    算制御信号IVT(m)が“1"の場合にビット反転を行い
    “0"の場合ビット反転行わない第mのスイッチ制御イン
    バータと、前記2の補数演算制御信号IVT(m)がキャ
    リー入力(CI)に接続され前記第mのスイッチ制御イン
    バータの出力データとの加算を行い出力データを乗算結
    果とする加算器から構成されることを特徴とする乗算
    器。
JP63269732A 1988-10-25 1988-10-25 乗算器 Expired - Lifetime JP2606326B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63269732A JP2606326B2 (ja) 1988-10-25 1988-10-25 乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63269732A JP2606326B2 (ja) 1988-10-25 1988-10-25 乗算器

Publications (2)

Publication Number Publication Date
JPH02115929A JPH02115929A (ja) 1990-04-27
JP2606326B2 true JP2606326B2 (ja) 1997-04-30

Family

ID=17476396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63269732A Expired - Lifetime JP2606326B2 (ja) 1988-10-25 1988-10-25 乗算器

Country Status (1)

Country Link
JP (1) JP2606326B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000051099A (ko) * 1999-01-19 2000-08-16 정몽규 터보랙 현상 방지 장치
US8234319B2 (en) 2005-05-25 2012-07-31 Qualcomm Incorporated System and method of performing two's complement operations in a digital signal processor
JP5086675B2 (ja) * 2007-03-26 2012-11-28 ルネサスエレクトロニクス株式会社 フィルタ演算器及び動き補償装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6371729A (ja) * 1986-09-12 1988-04-01 Matsushita Electric Ind Co Ltd 演算処理装置
JPH0610787B2 (ja) * 1987-01-23 1994-02-09 松下電器産業株式会社 乗算処理装置
JPH07120267B2 (ja) * 1987-03-04 1995-12-20 日本電信電話株式会社 カウンタ回路

Also Published As

Publication number Publication date
JPH02115929A (ja) 1990-04-27

Similar Documents

Publication Publication Date Title
WO1996028774A1 (en) Exponentiation circuit utilizing shift means and method of using same
CA2530015C (en) Division and square root arithmetic unit
EP0613082B1 (en) 4:2 adder and multiplier circuit employing the same
JPH0431412B2 (ja)
US4868777A (en) High speed multiplier utilizing signed-digit and carry-save operands
JPH02112023A (ja) 基数16除算器
JP3436994B2 (ja) シフト装置
JP3003467B2 (ja) 演算装置
US4677583A (en) Apparatus for decimal multiplication
JP2606326B2 (ja) 乗算器
JPH07234778A (ja) 演算回路
JPH05158659A (ja) 乗算器
JP3660075B2 (ja) 除算装置
JP2606339B2 (ja) 乗算器
JP3071607B2 (ja) 乗算回路
JP2645422B2 (ja) 浮動小数点演算処理装置
JPS5841532B2 (ja) セキワケイサンカイロ
JP4042215B2 (ja) 演算処理装置およびその方法
JP3106767B2 (ja) 乗算方法及び乗算回路
JPS58181143A (ja) デイジタル乗算器
JP2699358B2 (ja) デコーダ回路
KR0172308B1 (ko) 변형 부스 곱셈기
JP3851024B2 (ja) 乗算器
JPH1115641A (ja) 冗長2進加算器を用いた乗算装置
JPH0786824B2 (ja) 部分積生成回路