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
Links
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は、2の補数表示の乗算入力データと最小重み
表示の乗算係数を乗算して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のアルゴリズムと桁上げ先見法(以
下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の切り替え回路、加
減算の切り替え回路などが必要で、構成が複雑であり、
特に乗算係数の数が予め限られている場合には回路が冗
長となるために回路規模が大きくなるという欠点があ
る。
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の出力データとの加算を行い出力データを乗算結
果とする加算器から構成される乗算器。
数とする(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(コロナ社刊)を参照された
い。
て簡単に説明する。詳細は文献:嵩、都倉、岩垂、稲垣
著「符号理論」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なばら負整数を表わすとして、
正負の整数を表現する。
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)で表わされる。
(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の切り替え回路が必
要なくなるので、簡単な構成で小型化が図れる。
の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個の場合の乗算器の例である。
第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と乗算結果との加算に用
いることも可能である。
に対応する乗算入力の左シフトデータを、セレクタ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)処理回路である。
明の実施例を示す図、第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)
- 【請求項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のスイッチ制御イン
バータの出力データとの加算を行い出力データを乗算結
果とする加算器から構成されることを特徴とする乗算
器。
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)
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)
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 | 日本電信電話株式会社 | カウンタ回路 |
-
1988
- 1988-10-25 JP JP63269732A patent/JP2606326B2/ja not_active Expired - Lifetime
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) | 部分積生成回路 |