JP2606339B2 - 乗算器 - Google Patents
乗算器Info
- Publication number
- JP2606339B2 JP2606339B2 JP63304385A JP30438588A JP2606339B2 JP 2606339 B2 JP2606339 B2 JP 2606339B2 JP 63304385 A JP63304385 A JP 63304385A JP 30438588 A JP30438588 A JP 30438588A JP 2606339 B2 JP2606339 B2 JP 2606339B2
- Authority
- JP
- Japan
- Prior art keywords
- multiplication
- coefficient
- ivt
- data
- multiplier
- 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と記す)加算器との組合せによる乗算器が多く
用いられている。
乗算器には、Boothのアルゴリズムと桁上げ先見法(以
下、CLAと記す)加算器との組合せによる乗算器が多く
用いられている。
第3図は、Booth乗算器の例を示すブロック図で、乗
算入力データXが4ビット、乗算係数Yが2ビットの乗
算を±X、±2XのCLA加減算に置き換えることにより高
速化を図ったものである。
算入力データ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を得る構成となっている。
ルゴリズムの論理回路301により乗算係数Yから図中A,
B,Cの制御信号を発生し、制御信号AはXの選択、制御
信号Bは2Xの選択を表わし、制御信号A,BによってX,2X
の選択を回路302で実行し、制御信号Cにより加減算の
切り替え制御を回路303で行い、CLA加算器304でK入力
と高速加算を行い乗算出力Sを得る構成となっている。
一般には、(2×4)ビット程度の単位乗算回路を接
続して、より大きな乗算アレイを構成するのが普通であ
る。
続して、より大きな乗算アレイを構成するのが普通であ
る。
しかしながら、従来の乗算器は、Boothのアルゴリズ
ムの論理回路、X,2Xの切り替え回路、加減算の切り替え
回路などが必要で、構成が複雑であり、特に乗算係数の
数が予め限られている場合には回路が冗長となるために
回路規模が大きくなるという欠点がある。
ムの論理回路、X,2Xの切り替え回路、加減算の切り替え
回路などが必要で、構成が複雑であり、特に乗算係数の
数が予め限られている場合には回路が冗長となるために
回路規模が大きくなるという欠点がある。
本発明の目的は、以上のような欠点を解消し、2の補
数表示の乗算入力データと予め限られた数の乗算係数と
の乗算を簡単な構成で小さく回路規模により実現できる
乗算器を提供することにある。
数表示の乗算入力データと予め限られた数の乗算係数と
の乗算を簡単な構成で小さく回路規模により実現できる
乗算器を提供することにある。
本発明の乗算器は、2の補数表示の乗算入力データX
と2を基数とする(n+1)ビットの最小重み表示の予
め定められたM個の乗算係数 (乗算係数の項係数▲yi j▼は0,1,−1のいずれか、
乗算係数の非零の項係数の数はm≦((n/2)+1)で
ある)の乗算を行い、2の補数表示の乗算結果 を出力する乗算器において、前記乗算係数の非零の項係
数がiビットの位置にある場合に前記乗算入力データを
iビット左シフトしたシフトデータを前記乗算係数の非
零の各項係数について用意し前記M個の各乗算係数の項
係数の非零の項係数に対する前記シフトデータを入力と
し乗算係数選択信号(SEL)により1個を選択し出力す
る第1,第2,…,第mのセレクタと、前記第1,第2,…,第
mのセレクタに1個ずつ接続され後記m個のスイッチ制
御インバータに対してそれぞれに入力されるm個の2の
補数演算制御信号IVT(1),IVT(2),…,IVT(m)
が“1"の場合ビット反転を行い“0"の場合ビット反転を
行わない第1,第2,…第mのスイッチ制御インバータと、
前記M個の2の補数制御信号IVT(1),IVT(2),…,
IVT(m)がキャリー入力(CI)され前記第1,第2,…,
第mのスイッチ制御インバータの出力データの加算を行
い出力データを乗算結果とする加算回路とを含んで構成
される。
と2を基数とする(n+1)ビットの最小重み表示の予
め定められたM個の乗算係数 (乗算係数の項係数▲yi j▼は0,1,−1のいずれか、
乗算係数の非零の項係数の数はm≦((n/2)+1)で
ある)の乗算を行い、2の補数表示の乗算結果 を出力する乗算器において、前記乗算係数の非零の項係
数がiビットの位置にある場合に前記乗算入力データを
iビット左シフトしたシフトデータを前記乗算係数の非
零の各項係数について用意し前記M個の各乗算係数の項
係数の非零の項係数に対する前記シフトデータを入力と
し乗算係数選択信号(SEL)により1個を選択し出力す
る第1,第2,…,第mのセレクタと、前記第1,第2,…,第
mのセレクタに1個ずつ接続され後記m個のスイッチ制
御インバータに対してそれぞれに入力されるm個の2の
補数演算制御信号IVT(1),IVT(2),…,IVT(m)
が“1"の場合ビット反転を行い“0"の場合ビット反転を
行わない第1,第2,…第mのスイッチ制御インバータと、
前記M個の2の補数制御信号IVT(1),IVT(2),…,
IVT(m)がキャリー入力(CI)され前記第1,第2,…,
第mのスイッチ制御インバータの出力データの加算を行
い出力データを乗算結果とする加算回路とを含んで構成
される。
本発明の作用を説明するために、最小重み表示につい
て簡単に説明する。詳細は文献:嵩、都倉、岩垂、稲垣
著、「符号理論」、P426〜P433(コロナ社刊)を参照さ
れたい。
て簡単に説明する。詳細は文献:嵩、都倉、岩垂、稲垣
著、「符号理論」、P426〜P433(コロナ社刊)を参照さ
れたい。
整数N(|N|<2n-1)は、基数を2にとり各項の項係
数b1に0,+1,−1を許せば、 N=b020+b121+b222 +…+bn-12n-1 …(1) b1∈{−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)を越えないことが知
られている。
数b1に0,+1,−1を許せば、 N=b020+b121+b222 +…+bn-12n-1 …(1) b1∈{−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)を越えないことが知
られている。
次に乗算器の構成方法について説明する。
最小重み表示された乗数係数Yjは式(3)で表わされ
る。
る。
乗算入力データXと前記Yの積Pは、式(4)で表わ
される。
される。
式(4)より、▲yi j▼の値が1ならば乗算入力デ
ータXのiビット左シフトしたデータを、▲yi j▼の
値が−1ならば乗算入力データXのiビット左シフトし
たデータに2の補数演算を行ったデータを、iが0から
nまでについて得て、これらのデータの総和を計算する
と、前記Xと前記Yの乗算結果Pが求まる。複数の乗算
係数を実現するには、セレクタにより乗算入力データの
左シフトデータを切り換えればよい。
ータXのiビット左シフトしたデータを、▲yi j▼の
値が−1ならば乗算入力データXのiビット左シフトし
たデータに2の補数演算を行ったデータを、iが0から
nまでについて得て、これらのデータの総和を計算する
と、前記Xと前記Yの乗算結果Pが求まる。複数の乗算
係数を実現するには、セレクタにより乗算入力データの
左シフトデータを切り換えればよい。
本発明の乗算器は、2の補数演算回路をスイッチ制御
インバータと加算器のキャリー入力で実現すると、前記
乗算係数の非零となる項係数の最大数はm=((n/2)
+1)であるから、m個のセレクタとm個のスイッチ制
御インバータ、m個のキャリー入力付きm入力加算回路
で実現でき、従来の技術で説明したBoothの乗算器に比
べて、Boothのアルゴリズムの論理回路、X,2Xの切り替
え回路が必要なくなるので、簡単な構成で小型化が図れ
る。
インバータと加算器のキャリー入力で実現すると、前記
乗算係数の非零となる項係数の最大数はm=((n/2)
+1)であるから、m個のセレクタとm個のスイッチ制
御インバータ、m個のキャリー入力付きm入力加算回路
で実現でき、従来の技術で説明したBoothの乗算器に比
べて、Boothのアルゴリズムの論理回路、X,2Xの切り替
え回路が必要なくなるので、簡単な構成で小型化が図れ
る。
次に本発明の実施例を図面を参照しながら説明する。
第1図は本発明の一実施例を示すブロック図、第2図は
第1図に示す乗算器の詳細ブロック図である。本実施例
は、2個の乗算係数をとり、乗算係数の非零となる項係
数が最大3個の場合の乗算器の例である。
第1図は本発明の一実施例を示すブロック図、第2図は
第1図に示す乗算器の詳細ブロック図である。本実施例
は、2個の乗算係数をとり、乗算係数の非零となる項係
数が最大3個の場合の乗算器の例である。
セレクタ200,201,202は乗算係数の非零となる各項係
数に対応して各々乗算入力データの左シフトデータを係
数選択信号SELによって選択する。但し、各セレクタの
対応する乗算係数の項係数が0となる場合は0を選択す
る。
数に対応して各々乗算入力データの左シフトデータを係
数選択信号SELによって選択する。但し、各セレクタの
対応する乗算係数の項係数が0となる場合は0を選択す
る。
インバータ210,211,212は、セレクタ200,201,202が対
応する乗算係数の項係数が−1のとき2の補数制御信号
IVT(1),IVT(2),IVT(3)が“1"となりデータの
ビット反転を実行し、同時に、2の補数制御信号IVT
(1),IVT(2),IVT(3)により加算器220,221,222
のキャリー入力(CI)に“1"が入力されて、2の補数演
算を行い、同時に、加算器220,221,222はインバータ21
0,211,212の出力データを加算して、乗算入力データX
と乗算係数のYの乗算を実行する。
応する乗算係数の項係数が−1のとき2の補数制御信号
IVT(1),IVT(2),IVT(3)が“1"となりデータの
ビット反転を実行し、同時に、2の補数制御信号IVT
(1),IVT(2),IVT(3)により加算器220,221,222
のキャリー入力(CI)に“1"が入力されて、2の補数演
算を行い、同時に、加算器220,221,222はインバータ21
0,211,212の出力データを加算して、乗算入力データX
と乗算係数のYの乗算を実行する。
加算器222は外部からの加算入力Kと乗算結果との加
算に用いることも可能である。
算に用いることも可能である。
本発明によると、セレクタ、インバータおよび加算器
のキャリー入力を制御することにより予め定められた複
数の最小重み表示された乗算係数と入力データの乗算が
簡単に実現でき、乗算係数が限定されている乗算器を簡
単化、小型化できるという効果がある。
のキャリー入力を制御することにより予め定められた複
数の最小重み表示された乗算係数と入力データの乗算が
簡単に実現でき、乗算係数が限定されている乗算器を簡
単化、小型化できるという効果がある。
第1図は本発明の一実施例を示すブロック図、第2図は
第1図に示す乗算器の詳細ブロック図、第3図は従来の
一例を示すブロック図である。 100−1,100−2,…100−m……セレクタ、101−1,101−
2,…,101−m……スイッチ制御インバータ、102……加
算回路、200,201,202……セレクタ、211,212,213……ス
イッチ制御インバータ、220,221,222……キャリー入力
付き加算器、301……Boothのアルゴリズムの論理回路、
302……X,2Xの切り替え回路、303……加減算切り替え回
路、304……桁上げ先見法加算回路、305……最上位ビッ
ト処理回路。
第1図に示す乗算器の詳細ブロック図、第3図は従来の
一例を示すブロック図である。 100−1,100−2,…100−m……セレクタ、101−1,101−
2,…,101−m……スイッチ制御インバータ、102……加
算回路、200,201,202……セレクタ、211,212,213……ス
イッチ制御インバータ、220,221,222……キャリー入力
付き加算器、301……Boothのアルゴリズムの論理回路、
302……X,2Xの切り替え回路、303……加減算切り替え回
路、304……桁上げ先見法加算回路、305……最上位ビッ
ト処理回路。
Claims (1)
- 【請求項1】2の補数表示の乗算入力データXと2を基
数とする(n+1)ビットの最小重み表示の予め定めら
れたM個の乗算係数 (乗算係数の項係数▲yi j▼は0,1,−1のいずれか、
乗算係数の非零の項係数の数はm≦((n/2)+1)で
ある)の乗算を行い、2の補数表示の乗算結果 を出力する乗算器において、前記乗算係数の非零の項係
数がiビットの位置にある場合に前記乗算入力データを
iビット左シフトしたシフトデータを前記乗算係数の非
零の各項係数について用意し前記M個の各乗算係数の項
係数の非零の項係数に対する前記シフトデータを入力と
し乗算係数選択信号(SEL)により1個を選択し出力す
る第1,第2,…,第mのセレクタと、前記第1,第2,…,第
mのセレクタに1個ずつ接続され後記m個のスイッチ制
御インバータに対してそれぞれに入力されるm個の2の
補数演算制御信号IVT(1),IVT(2),…,IVT(m)
が“1"の場合ビット反転を行い“0"の場合ビット反転を
行わない第1,第2,…第mのスイッチ制御インバータと、
前記M個の2の補数制御信号IVT(1),IVT(2),…,
IVT(m)がキャリー入力(CI)され前記第1,第2,…,
第mのスイッチ制御インバータの出力データの加算を行
い出力データを乗算結果とする加算回路とを含むことを
特徴とする乗算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63304385A JP2606339B2 (ja) | 1988-11-30 | 1988-11-30 | 乗算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63304385A JP2606339B2 (ja) | 1988-11-30 | 1988-11-30 | 乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02148326A JPH02148326A (ja) | 1990-06-07 |
JP2606339B2 true JP2606339B2 (ja) | 1997-04-30 |
Family
ID=17932381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63304385A Expired - Lifetime JP2606339B2 (ja) | 1988-11-30 | 1988-11-30 | 乗算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2606339B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2708979B2 (ja) * | 1991-08-29 | 1998-02-04 | 三洋電機株式会社 | シフト加算方式を用いた乗算回路 |
US10621489B2 (en) * | 2018-03-30 | 2020-04-14 | International Business Machines Corporation | Massively parallel neural inference computing elements |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6371728A (ja) * | 1986-09-12 | 1988-04-01 | Matsushita Electric Ind Co Ltd | 演算処理装置および演算処理方法 |
-
1988
- 1988-11-30 JP JP63304385A patent/JP2606339B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02148326A (ja) | 1990-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5280439A (en) | Apparatus for determining booth recoder input control signals | |
JPH0479013B2 (ja) | ||
JPH0431412B2 (ja) | ||
EP0248166A2 (en) | Binary multibit multiplier | |
JPH02112023A (ja) | 基数16除算器 | |
JP2585649B2 (ja) | 除算回路 | |
Stelling et al. | Implementing multiply-accumulate operation in multiplication time | |
US5497343A (en) | Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method | |
JP3003467B2 (ja) | 演算装置 | |
JP2606339B2 (ja) | 乗算器 | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
JP2606326B2 (ja) | 乗算器 | |
JPH0464091B2 (ja) | ||
US5781465A (en) | Method and apparatus for fast carry generation detection and comparison | |
JPH086766A (ja) | 正弦余弦演算装置 | |
GB2226165A (en) | Parallel carry generation adder | |
JP3071607B2 (ja) | 乗算回路 | |
JPH0869372A (ja) | 2進乗算器 | |
KR950015180B1 (ko) | 고속연산형 가산기 | |
JP2734438B2 (ja) | 乗算装置 | |
JP3210420B2 (ja) | 整数上の乗算回路 | |
JP2907276B2 (ja) | 演算処理装置 | |
JP3198795B2 (ja) | 加算器及び加算方法 | |
US5983250A (en) | Arithmetic circuit for obtaining absolute-valued distance | |
JP3106525B2 (ja) | 加算方式及びその回路 |