JP3033212B2 - 乗算器 - Google Patents
乗算器Info
- Publication number
- JP3033212B2 JP3033212B2 JP3032444A JP3244491A JP3033212B2 JP 3033212 B2 JP3033212 B2 JP 3033212B2 JP 3032444 A JP3032444 A JP 3032444A JP 3244491 A JP3244491 A JP 3244491A JP 3033212 B2 JP3033212 B2 JP 3033212B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- signal
- inverter
- gate
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
【0001】
【産業上の利用分野】本発明は、乗算器に係り、特に累
積乗算A=A±X×Y(A、X及びYは2の補数表現デ
ータ)を演算する乗算器に関する。
積乗算A=A±X×Y(A、X及びYは2の補数表現デ
ータ)を演算する乗算器に関する。
【0002】
【従来の技術】図5は従来の累積乗算を演算する乗算器
の構成を示す。
の構成を示す。
【0003】従来、累積演算A=A±X×Y(A、X及
びYは2の補数表現データ)を行う場合には、次のよう
にして行っていた。まず、被乗数X52と乗数Y51と
の乗算P=X×Yの実行は、乗数Y51が与えられたブ
ースのデコーダ53の出力信号が入力される部分積生成
回路54において部分積を生成し、その部分積を部分積
加算回路55において加算することによって行う。次に
算術回路58を用いてA±Pを行うために、前記乗算結
果の符号反転データ生成回路56を用いてPの符号反転
のデータP′を求め、A−Pの場合は信号選択回路57
においてP′を選択してA+P′を行い、A+Pの場合
は信号選択回路57においてPを選択してA+Pを行
う。
びYは2の補数表現データ)を行う場合には、次のよう
にして行っていた。まず、被乗数X52と乗数Y51と
の乗算P=X×Yの実行は、乗数Y51が与えられたブ
ースのデコーダ53の出力信号が入力される部分積生成
回路54において部分積を生成し、その部分積を部分積
加算回路55において加算することによって行う。次に
算術回路58を用いてA±Pを行うために、前記乗算結
果の符号反転データ生成回路56を用いてPの符号反転
のデータP′を求め、A−Pの場合は信号選択回路57
においてP′を選択してA+P′を行い、A+Pの場合
は信号選択回路57においてPを選択してA+Pを行
う。
【0004】
【発明が解決しようとする課題】上述した従来の構成に
よる乗算器では、A=A−X×Yの演算を行う場合、X
とYの乗算結果の符号を反転して符号反転データを生成
する回路が必要である。従って、ハードウェアの規模が
大きくなり演算スピードが遅くなるという問題点があっ
た。
よる乗算器では、A=A−X×Yの演算を行う場合、X
とYの乗算結果の符号を反転して符号反転データを生成
する回路が必要である。従って、ハードウェアの規模が
大きくなり演算スピードが遅くなるという問題点があっ
た。
【0005】本発明はかかる問題点に鑑みてなされたも
のであって、XとYの乗算結果の符号を反転して符号反
転データを生成する回路を不要とし、構成簡単で且つ演
算を高速化し得る乗算器を提供することを目的とする。
のであって、XとYの乗算結果の符号を反転して符号反
転データを生成する回路を不要とし、構成簡単で且つ演
算を高速化し得る乗算器を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明に係る乗算器は、
ブースのアルゴリズムを用いた乗算器において、第1の
入力として乗数Yが与えられ、第2の入力として第1の
乗算X×Y(Xは被乗数)及び第2の乗算(−X×Y)
のいずれかを選択するモード信号が与えられ、下記表に
示す入出力関係を満たす信号を出力する2次のブースデ
コーダと、前記被乗数Xと前記デコーダから出力された
信号“2x”、“x”、“zero”、“plus”及び“minu
s”とを入力し、前記選択信号“plus”及び“minus”に
従って第1の部分積“X×Y”及び第2の部分積“−X
×Y”のいずれかを生成する部分積分生成回路と、前記
部分積生成回路の出力が入力される部分積加算回路と、
所定値“A”を保持する出力レジスタと、前記部分積加
算回路の出力及び前記所定値“A”を入力し、加算して
累積乗算A=A+X×Y及びA=A−X×Yのいずれか
を前記出力レジスタに書き込む算術回路と、を有し、前
記ブースデコーダは、第1の入力端が第1のトランスフ
ァゲートを介して前記入力信号y2j-1を入力すると共
に、第2のトランスファゲート及び第1のインバータを
介して同一の入力信号y2j-1を入力し、第2の入力端が
第3のトランスファゲートを介して前記入力信号y2jを
入力すると共に、第4のトランスファゲート及び第2の
インバータを介して同一の入力信号y2jを入力する第1
のNANDゲートと、前記NANDゲートの出力が入力
され、前記出力信号“2x”を出力する第3のインバー
タと、前記第3のインバータの出力が入力され、前記出
力信号“x”を出力する第4のインバータと、前記第1
のNANDゲートの前記第1及び第2の入力端に夫々接
続された1対の入力端を有するNORゲートと、前記N
ORゲートの出力が入力される第5のインバータと、前
記第5のインバータの出力が入力され前記出力信号“ze
ro”を出力する第6のインバータと、第1の入力端に前
記第5のインバータの出力が入力され、第2の入力端に
第5のトランスファゲートを介して前記入力信号y2j+1
が入力されると共に、トライステートインバータを介し
て同一の入力信号y2j+1が入力される第2のNANDゲ
ートと、前記第2のNANDゲートの出力が入力され、
前記出力信号“minus”を出力する第7のインバータ
と、前記第7のインバータの出力が入力され、前記出力
信号“plus”を出力する第8のインバータと、を有し、
前記第1乃至第4のトランスファゲートは、前記入力信
号y2j+1により、前記入力信号y2j+1が論理値“1”で
あるときは前記第1及び第3のトランスファゲートが信
号ブロッキング条件になり、前記第2及び第4のトラン
スファゲートが信号伝搬条件になるように制御され、前
記第5のトランスファゲート及び前記トライステートイ
ンバータは、前記mode信号により、前記mode信号が論理
値“0”であるときは前記第5のトランスファゲートが
信号伝搬条件になり、前記トライステートインバータが
ハイインピーダンス条件になるように制御され、前記mo
de信号が論理値“1”であるときは前記第5のトランス
ファゲートが信号ブロッキング条件になり、前記トライ
ステートインバータは、インバータとして機能するよう
に制御されるものであることを特徴とする。 表 但し、前記入力値y2j-1、y2j及びy2j+1は乗数Yの連
続する3ビットを表し、mode信号は乗算X×Yのときは
1、乗算(−X×Y)のときは0を表し、plus及びminu
sは前記2x及びxにより選択された出力の符号を示
す。
ブースのアルゴリズムを用いた乗算器において、第1の
入力として乗数Yが与えられ、第2の入力として第1の
乗算X×Y(Xは被乗数)及び第2の乗算(−X×Y)
のいずれかを選択するモード信号が与えられ、下記表に
示す入出力関係を満たす信号を出力する2次のブースデ
コーダと、前記被乗数Xと前記デコーダから出力された
信号“2x”、“x”、“zero”、“plus”及び“minu
s”とを入力し、前記選択信号“plus”及び“minus”に
従って第1の部分積“X×Y”及び第2の部分積“−X
×Y”のいずれかを生成する部分積分生成回路と、前記
部分積生成回路の出力が入力される部分積加算回路と、
所定値“A”を保持する出力レジスタと、前記部分積加
算回路の出力及び前記所定値“A”を入力し、加算して
累積乗算A=A+X×Y及びA=A−X×Yのいずれか
を前記出力レジスタに書き込む算術回路と、を有し、前
記ブースデコーダは、第1の入力端が第1のトランスフ
ァゲートを介して前記入力信号y2j-1を入力すると共
に、第2のトランスファゲート及び第1のインバータを
介して同一の入力信号y2j-1を入力し、第2の入力端が
第3のトランスファゲートを介して前記入力信号y2jを
入力すると共に、第4のトランスファゲート及び第2の
インバータを介して同一の入力信号y2jを入力する第1
のNANDゲートと、前記NANDゲートの出力が入力
され、前記出力信号“2x”を出力する第3のインバー
タと、前記第3のインバータの出力が入力され、前記出
力信号“x”を出力する第4のインバータと、前記第1
のNANDゲートの前記第1及び第2の入力端に夫々接
続された1対の入力端を有するNORゲートと、前記N
ORゲートの出力が入力される第5のインバータと、前
記第5のインバータの出力が入力され前記出力信号“ze
ro”を出力する第6のインバータと、第1の入力端に前
記第5のインバータの出力が入力され、第2の入力端に
第5のトランスファゲートを介して前記入力信号y2j+1
が入力されると共に、トライステートインバータを介し
て同一の入力信号y2j+1が入力される第2のNANDゲ
ートと、前記第2のNANDゲートの出力が入力され、
前記出力信号“minus”を出力する第7のインバータ
と、前記第7のインバータの出力が入力され、前記出力
信号“plus”を出力する第8のインバータと、を有し、
前記第1乃至第4のトランスファゲートは、前記入力信
号y2j+1により、前記入力信号y2j+1が論理値“1”で
あるときは前記第1及び第3のトランスファゲートが信
号ブロッキング条件になり、前記第2及び第4のトラン
スファゲートが信号伝搬条件になるように制御され、前
記第5のトランスファゲート及び前記トライステートイ
ンバータは、前記mode信号により、前記mode信号が論理
値“0”であるときは前記第5のトランスファゲートが
信号伝搬条件になり、前記トライステートインバータが
ハイインピーダンス条件になるように制御され、前記mo
de信号が論理値“1”であるときは前記第5のトランス
ファゲートが信号ブロッキング条件になり、前記トライ
ステートインバータは、インバータとして機能するよう
に制御されるものであることを特徴とする。 表 但し、前記入力値y2j-1、y2j及びy2j+1は乗数Yの連
続する3ビットを表し、mode信号は乗算X×Yのときは
1、乗算(−X×Y)のときは0を表し、plus及びminu
sは前記2x及びxにより選択された出力の符号を示
す。
【0007】
【作用】本発明の乗算器においては、A=A+X×Yか
A=A−X×Yかを選択するモード信号を乗数Yと共に
ブースのデコーダに入力し、前記モード信号を乗数Yの
選択信号としてデコードを行うため、符号反転データを
生成する回路が不要である。
A=A−X×Yかを選択するモード信号を乗数Yと共に
ブースのデコーダに入力し、前記モード信号を乗数Yの
選択信号としてデコードを行うため、符号反転データを
生成する回路が不要である。
【0008】
【実施例】以下、添付の図面を参照して、本発明の実施
例について説明する。
例について説明する。
【0009】図1は本発明の第1の実施例に係る乗算器
の構成を示し、図2はその要部の構成を詳細に示す。
の構成を示し、図2はその要部の構成を詳細に示す。
【0010】図1及び図2に示す乗算器は、2次のブー
スのデコーダ13、部分積生成回路14、部分積加算回
路15、算術回路16及び出力レジスタ17を有する。
スのデコーダ13、部分積生成回路14、部分積加算回
路15、算術回路16及び出力レジスタ17を有する。
【0011】2の補数同士の乗算を行う場合、乗数Y1
1は数式1に示す2次のブースのアルゴリズムの式を用
いて、数式2であらわされる。
1は数式1に示す2次のブースのアルゴリズムの式を用
いて、数式2であらわされる。
【0012】
【数1】Ej =−2y2j+1+y2j+y2j-1
【0013】
【数2】 ここで、P=X×Y、P′=−X×YとするとP及び
P′は、夫々数式3及び数式4であらわされる。
P′は、夫々数式3及び数式4であらわされる。
【0014】
【数3】
【0015】
【数4】 従って、Pを求めるときは2次のブースのデコーダ13
においてEj をデコードし、P′を求めるときは2次の
ブースのデコーダ13において(−Ej )をデコードす
ればよい。
においてEj をデコードし、P′を求めるときは2次の
ブースのデコーダ13において(−Ej )をデコードす
ればよい。
【0016】このとき、図2に示すように、乗算X×Y
(Xは被乗数)及び乗算(−X×Y)のいずれであるか
を選択するモード信号(以下、「mode信号」と称す
る)と、Ej の符号の正負をあらわす符号信号(以下、
「sign信号」と称する)の排他的論理和の値がP及
びP′を同一のハードウェアで行ったときの部分積の符
号をあらわす信号になる。
(Xは被乗数)及び乗算(−X×Y)のいずれであるか
を選択するモード信号(以下、「mode信号」と称す
る)と、Ej の符号の正負をあらわす符号信号(以下、
「sign信号」と称する)の排他的論理和の値がP及
びP′を同一のハードウェアで行ったときの部分積の符
号をあらわす信号になる。
【0017】デコーダ13の値は数式1に従っており、
その入出力値は表1の真理値表であらわされる。
その入出力値は表1の真理値表であらわされる。
【0018】
【表1】
【0019】ここで表1の真理値表について説明する。
入力値y2j-1、y2j及びy2j+1は、乗数Yの連続する3
ビットをあらわし、mode信号は乗算X×Yのときは
1、乗算(−X×Y)のときは0をあらわす。ブースの
デコーダ13の出力値は被乗数Xの2倍、被乗数X又は
0のいずれかを選択する信号とその符号をあらわすプラ
ス信号(以下、「plus信号」と称する)又はマイナ
ス信号(以下、「minus信号」と称する)からな
る。例えば、数式1のEj の値が−2でmode信号が
0のときデコード値は数式5であらわされる。
入力値y2j-1、y2j及びy2j+1は、乗数Yの連続する3
ビットをあらわし、mode信号は乗算X×Yのときは
1、乗算(−X×Y)のときは0をあらわす。ブースの
デコーダ13の出力値は被乗数Xの2倍、被乗数X又は
0のいずれかを選択する信号とその符号をあらわすプラ
ス信号(以下、「plus信号」と称する)又はマイナ
ス信号(以下、「minus信号」と称する)からな
る。例えば、数式1のEj の値が−2でmode信号が
0のときデコード値は数式5であらわされる。
【0020】
【数5】 (2x、x、zero、plus、minus) =(1、0、0、0、1) 即ち、デコーダ13が表1の真理値表に従って選択信号
を出力すると、その信号を部分積分生成回路14が受
け、この部分積分生成回路14において部分積が生成さ
れる。その(n+1)/2個の部分積を部分積加算回路
15で加算し、この加算結果と出力レジスタ17の値を
算術回路16で加算すれば、最終演算結果が出力レジス
タ17に出力される。よって、符号反転データ生成回路
なしに累積乗算を行うことができる。
を出力すると、その信号を部分積分生成回路14が受
け、この部分積分生成回路14において部分積が生成さ
れる。その(n+1)/2個の部分積を部分積加算回路
15で加算し、この加算結果と出力レジスタ17の値を
算術回路16で加算すれば、最終演算結果が出力レジス
タ17に出力される。よって、符号反転データ生成回路
なしに累積乗算を行うことができる。
【0021】図3は本発明の第2の実施例に係る乗算器
の構成を示し、図4はその要部の構成を詳細に示す。
の構成を示し、図4はその要部の構成を詳細に示す。
【0022】図3に示す乗算器は、2次のブースのデコ
ーダ33、部分積生成回路34、部分積加算回路35、
算術回路36及び出力レジスタ37を有する。
ーダ33、部分積生成回路34、部分積加算回路35、
算術回路36及び出力レジスタ37を有する。
【0023】乗数Y31及びmode信号を2次のブー
スのデコーダ33に入力し、この2次のブースのデコー
ダ33の出力と被乗数X32とを受けて部分積生成回路
34において部分積を生成する。部分積生成回路34に
おいて生成された部分積を、部分積加算回路35におい
て加算して乗算X×Y又は(−X×Y)の結果を得る。
この乗算結果を算術回路36において出力レジスタ37
の値Aと加算することによって累積乗算A=A±X×Y
を行う。
スのデコーダ33に入力し、この2次のブースのデコー
ダ33の出力と被乗数X32とを受けて部分積生成回路
34において部分積を生成する。部分積生成回路34に
おいて生成された部分積を、部分積加算回路35におい
て加算して乗算X×Y又は(−X×Y)の結果を得る。
この乗算結果を算術回路36において出力レジスタ37
の値Aと加算することによって累積乗算A=A±X×Y
を行う。
【0024】図4は、図3の2次のブースのデコーダ3
3を構成する(n+1)/2個のデコーダのうちの1個
の詳細な回路図である。
3を構成する(n+1)/2個のデコーダのうちの1個
の詳細な回路図である。
【0025】図4に示すデコーダは、図示のように接続
されたインバータ41〜43,4B,4D,4E,4G
〜4J、トランスファゲート44〜47,4A、2入力
NAND(ナンドゲート)48,4F、2入力NOR
(ノアゲート)49、及びクロックドインバータ4Cで
構成されている。
されたインバータ41〜43,4B,4D,4E,4G
〜4J、トランスファゲート44〜47,4A、2入力
NAND(ナンドゲート)48,4F、2入力NOR
(ノアゲート)49、及びクロックドインバータ4Cで
構成されている。
【0026】入力y2j+1、y2j及びy2j-1は乗数Yの連
続した3ビットであり、mode信号は乗算X×Y及び
(−X×Y)のいずれであるかを選択する信号であり、
出力2x、x、zero、plus及びminusは部
分積±2X、±X及び0のいずれかを選択するデコード
信号であって、出力値は表1の真理値表に従っている。
例えばy2j+1の論理値が1で、y2j及びy2j-1の論理値
が0そしてmode信号の論理値が0のとき、y2j+1の
論理値が1であるので、トランスファゲート45及びト
ランスファゲート47を通って信号が伝搬し、2入力N
AND48の入力値が共に1になるので、その出力値は
1となり、よって2xの論理値は1でxの論理値は0と
なる。2入力NOR49は入力値が共に1であるので、
その出力値は0となり、zeroの論理値は0となる。
またmode信号の論理値が0であるので、トランスフ
ァゲート4Aを通って信号が伝搬し、2入力NAND4
Fの入力値が共に1であるので、その出力値は0にな
り、plusの論理値は0でminusの論理値は1と
なる。他の入力値に対しても同様に出力値を確かめるこ
とができ、その入出力値の関係は真理値表と一致してい
る。
続した3ビットであり、mode信号は乗算X×Y及び
(−X×Y)のいずれであるかを選択する信号であり、
出力2x、x、zero、plus及びminusは部
分積±2X、±X及び0のいずれかを選択するデコード
信号であって、出力値は表1の真理値表に従っている。
例えばy2j+1の論理値が1で、y2j及びy2j-1の論理値
が0そしてmode信号の論理値が0のとき、y2j+1の
論理値が1であるので、トランスファゲート45及びト
ランスファゲート47を通って信号が伝搬し、2入力N
AND48の入力値が共に1になるので、その出力値は
1となり、よって2xの論理値は1でxの論理値は0と
なる。2入力NOR49は入力値が共に1であるので、
その出力値は0となり、zeroの論理値は0となる。
またmode信号の論理値が0であるので、トランスフ
ァゲート4Aを通って信号が伝搬し、2入力NAND4
Fの入力値が共に1であるので、その出力値は0にな
り、plusの論理値は0でminusの論理値は1と
なる。他の入力値に対しても同様に出力値を確かめるこ
とができ、その入出力値の関係は真理値表と一致してい
る。
【0027】よって、2次のブースのアルゴリズムの式
Ej =−2y2j+1+y2j+y2j-1(数式1)及び(−E
j )をmode信号によりデコードすることができるの
で第1の実施例と同様な効果を得ることができる。
Ej =−2y2j+1+y2j+y2j-1(数式1)及び(−E
j )をmode信号によりデコードすることができるの
で第1の実施例と同様な効果を得ることができる。
【0028】なお、上述の第1及び第2の実施例では2
次のブースを用いて説明したが、3次又はそれ以上の高
次のブースのデコーダを用いても同様な効果を得ること
ができる。
次のブースを用いて説明したが、3次又はそれ以上の高
次のブースのデコーダを用いても同様な効果を得ること
ができる。
【0029】上述したように、ブースのデコーダにおい
て、演算を選択するmode信号を加え、その選択信号
と符号の選択信号signとの排他的論理和をとる機能
を持たせることにより、乗算X×Y及び(−X×Y)を
同一のハードウェアで演算することができるため、乗算
結果の符号反転データを生成する回路が不要になる。従
って、ハードウェアの規模の増加を抑え、累積乗算を高
速に実行することができる。
て、演算を選択するmode信号を加え、その選択信号
と符号の選択信号signとの排他的論理和をとる機能
を持たせることにより、乗算X×Y及び(−X×Y)を
同一のハードウェアで演算することができるため、乗算
結果の符号反転データを生成する回路が不要になる。従
って、ハードウェアの規模の増加を抑え、累積乗算を高
速に実行することができる。
【0030】
【発明の効果】以上述べたように、本発明によれば、A
=A+X×YかA=A−X×Yかを選択するモード信号
を乗数Yと共にブースのデコーダに入力し、前記モード
信号を乗数Yの選択信号としてデコードを行うため、符
号反転データを生成する回路が不要であり、構成簡単で
且つ演算を高速化し得る乗算器を提供することができ
る。
=A+X×YかA=A−X×Yかを選択するモード信号
を乗数Yと共にブースのデコーダに入力し、前記モード
信号を乗数Yの選択信号としてデコードを行うため、符
号反転データを生成する回路が不要であり、構成簡単で
且つ演算を高速化し得る乗算器を提供することができ
る。
【図1】本発明の第1の実施例に係る乗算器の構成を示
すブロック図である。
すブロック図である。
【図2】図1の2次のブースのデコーダ13の詳細な構
成を示すブロック図である。
成を示すブロック図である。
【図3】本発明の第2の実施例に係る乗算器の構成を示
すブロック図である。
すブロック図である。
【図4】図3の2次のブースのデコーダ33の詳細な構
成を示す回路図である。
成を示す回路図である。
【図5】従来の乗算器の構成を示すブロック図である。
11,31;乗数Y 12,32;被乗数X 13,33;ブースのデコーダ 14,34;部分積生成回路 15,35;部分積加算回路 16,36;算術回路 17,37;出力レジスタ 41〜43,4B,4D,4E,4G〜4J;インバー
タ 44〜47,4A;トランスファゲート 48,4F;2入力NAND 49;2入力NOR 4C;クロックドインバータ
タ 44〜47,4A;トランスファゲート 48,4F;2入力NAND 49;2入力NOR 4C;クロックドインバータ
Claims (1)
- 【請求項1】 ブースのアルゴリズムを用いた乗算器に
おいて、 第1の入力として乗数Yが与えられ、第2の入力として
第1の乗算X×Y(Xは被乗数)及び第2の乗算(−X
×Y)のいずれかを選択するモード信号が与えられ、下
記表に示す入出力関係を満たす信号を出力する2次のブ
ースデコーダと、 前記被乗数Xと前記デコーダから出力された信号“2
x”、“x”、“zero”、“plus”及び“minus”とを
入力し、前記選択信号“plus”及び“minus”に従って
第1の部分積“X×Y”及び第2の部分積“−X×Y”
のいずれかを生成する部分積分生成回路と、 前記部分積生成回路の出力が入力される部分積加算回路
と、 所定値“A”を保持する出力レジスタと、 前記部分積加算回路の出力及び前記所定値“A”を入力
し、加算して累積乗算A=A+X×Y及びA=A−X×
Yのいずれかを前記出力レジスタに書き込む算術回路
と、 を有し、 前記ブースデコーダは、 第1の入力端が第1のトランスファゲートを介して前記
入力信号y2j-1を入力すると共に、第2のトランスファ
ゲート及び第1のインバータを介して同一の入力信号y
2j-1を入力し、第2の入力端が第3のトランスファゲー
トを介して前記入力信号y2jを入力すると共に、第4の
トランスファゲート及び第2のインバータを介して同一
の入力信号y2jを入力する第1のNANDゲートと、 前記NANDゲートの出力が入力され、前記出力信号
“2x”を出力する第3のインバータと、 前記第3のインバータの出力が入力され、前記出力信号
“x”を出力する第4のインバータと、 前記第1のNANDゲートの前記第1及び第2の入力端
に夫々接続された1対の入力端を有するNORゲート
と、 前記NORゲートの出力が入力される第5のインバータ
と、 前記第5のインバータの出力が入力され前記出力信号
“zero”を出力する第6のインバータと、 第1の入力端に前記第5のインバータの出力が入力さ
れ、第2の入力端に第5のトランスファゲートを介して
前記入力信号y2j+1が入力されると共に、トライステー
トインバータを介して同一の入力信号y2j+1が入力され
る第2のNANDゲートと、 前記第2のNANDゲートの出力が入力され、前記出力
信号“minus”を出力する第7のインバータと、 前記第7のインバータの出力が入力され、前記出力信号
“plus”を出力する第8のインバータと、 を有し、 前記第1乃至第4のトランスファゲートは、前記入力信
号y2j+1により、前記入力信号y2j+1が論理値“1”で
あるときは前記第1及び第3のトランスファゲートが信
号ブロッキング条件になり、前記第2及び第4のトラン
スファゲートが信号伝搬条件になるように制御され、 前記第5のトランスファゲート及び前記トライステート
インバータは、前記mode信号により、前記mode信号が論
理値“0”であるときは前記第5のトランスファゲート
が信号伝搬条件になり、前記トライステートインバータ
がハイインピーダンス条件になるように制御され、前記
mode信号が論理値“1”であるときは前記第5のトラン
スファゲートが信号ブロッキング条件になり、前記トラ
イステートインバータは、インバータとして機能するよ
うに制御されるものであることを特徴とする乗算器。 表 但し、前記入力値y2j-1、y2j及びy2j+1は乗数Yの連
続する3ビットを表し、mode信号は乗算X×Yのときは
1、乗算(−X×Y)のときは0を表し、plus及びminu
sは前記2x及びxにより選択された出力の符号を示
す。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3032444A JP3033212B2 (ja) | 1991-01-31 | 1991-01-31 | 乗算器 |
US07/830,400 US5303178A (en) | 1991-01-31 | 1992-01-31 | Multiplying system based on the Booth's algorithm and generating a positive or negative product in response to a mode signal |
DE69227791T DE69227791T2 (de) | 1991-01-31 | 1992-01-31 | Booth's Multiplikationssystem zur Durchführung von A+/- X.Y |
EP92300856A EP0497622B1 (en) | 1991-01-31 | 1992-01-31 | Booth's Multiplying system performing A+/- X.Y |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3032444A JP3033212B2 (ja) | 1991-01-31 | 1991-01-31 | 乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04246723A JPH04246723A (ja) | 1992-09-02 |
JP3033212B2 true JP3033212B2 (ja) | 2000-04-17 |
Family
ID=12359137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3032444A Expired - Fee Related JP3033212B2 (ja) | 1991-01-31 | 1991-01-31 | 乗算器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5303178A (ja) |
EP (1) | EP0497622B1 (ja) |
JP (1) | JP3033212B2 (ja) |
DE (1) | DE69227791T2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0612229A (ja) * | 1992-06-10 | 1994-01-21 | Nec Corp | 乗累算回路 |
US5477479A (en) * | 1993-03-08 | 1995-12-19 | Nkk Corporation | Multiplying system having multi-stages for processing a digital signal based on the Booth's algorithm |
JPH0713742A (ja) * | 1993-06-25 | 1995-01-17 | Mitsubishi Electric Corp | 乗算装置 |
JP3130797B2 (ja) * | 1996-06-27 | 2001-01-31 | 日本電気アイシーマイコンシステム株式会社 | 積和演算処理方法およびその装置 |
US6704761B1 (en) * | 1997-04-30 | 2004-03-09 | Lucent Technologies Inc. | Carry-save multiplier/accumulator system and method |
US6157939A (en) * | 1998-06-04 | 2000-12-05 | Integrated Device Technology, Inc. | Methods and apparatus for generating multiplicative inverse product |
DE60027149D1 (de) | 2000-08-01 | 2006-05-18 | St Microelectronics Sa | Aritmetik Einheit |
JP2004258141A (ja) * | 2003-02-24 | 2004-09-16 | Fujitsu Ltd | モンゴメリ乗算剰余の多倍長演算のための演算装置 |
US7809783B2 (en) * | 2006-02-15 | 2010-10-05 | Qualcomm Incorporated | Booth multiplier with enhanced reduction tree circuitry |
JP5074425B2 (ja) * | 2006-02-15 | 2012-11-14 | クゥアルコム・インコーポレイテッド | 拡張された削減ツリー回路構成を有するブース乗算器 |
US7797366B2 (en) * | 2006-02-15 | 2010-09-14 | Qualcomm Incorporated | Power-efficient sign extension for booth multiplication methods and systems |
US7797364B2 (en) * | 2006-06-27 | 2010-09-14 | International Business Machines Corporation | Booth decoder apparatus and method |
US7797365B2 (en) * | 2006-06-27 | 2010-09-14 | International Business Machines Corporation | Design structure for a booth decoder |
WO2021196096A1 (zh) * | 2020-04-01 | 2021-10-07 | 华为技术有限公司 | 一种多模融合乘法器 |
RU2762544C1 (ru) * | 2021-04-02 | 2021-12-21 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | Умножитель по модулю пять |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0086904B1 (de) * | 1982-02-18 | 1985-11-21 | Deutsche ITT Industries GmbH | Digitale Parallel-Rechenschaltung für positive und negative Binärzahlen |
JPS62229439A (ja) * | 1986-03-31 | 1987-10-08 | Toshiba Corp | 並列乗算器 |
US4969118A (en) * | 1989-01-13 | 1990-11-06 | International Business Machines Corporation | Floating point unit for calculating A=XY+Z having simultaneous multiply and add |
-
1991
- 1991-01-31 JP JP3032444A patent/JP3033212B2/ja not_active Expired - Fee Related
-
1992
- 1992-01-31 EP EP92300856A patent/EP0497622B1/en not_active Expired - Lifetime
- 1992-01-31 US US07/830,400 patent/US5303178A/en not_active Expired - Lifetime
- 1992-01-31 DE DE69227791T patent/DE69227791T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04246723A (ja) | 1992-09-02 |
EP0497622A2 (en) | 1992-08-05 |
DE69227791D1 (de) | 1999-01-21 |
US5303178A (en) | 1994-04-12 |
EP0497622B1 (en) | 1998-12-09 |
DE69227791T2 (de) | 1999-05-06 |
EP0497622A3 (en) | 1993-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3033212B2 (ja) | 乗算器 | |
US9146707B2 (en) | Generating a fast 3x multiplicand term for radix-8 booth multiplication | |
JPH04230521A (ja) | ビット反転演算器 | |
US6125381A (en) | Recursively partitioned carry select adder | |
JPS595349A (ja) | 加算器 | |
KR100489880B1 (ko) | 비동기fifo에서반-충만및반-빈플래그를발생시키기위한상태기계설계 | |
JP2970231B2 (ja) | 並列乗算回路 | |
JP3396720B2 (ja) | 部分積生成回路 | |
US6684236B1 (en) | System of and method for efficiently performing computations through extended booth encoding of the operands thereto | |
US7240085B2 (en) | Faster shift value calculation using modified carry-lookahead adder | |
US7194501B2 (en) | Complementary pass gate logic implementation of 64-bit arithmetic logic unit using propagate, generate, and kill | |
JP2002189588A (ja) | 改善された桁あふれフラッグの生成方式を採用する加算器 | |
US5617345A (en) | Logical operation circuit and device having the same | |
US7085796B1 (en) | Dynamic adder with reduced logic | |
JPH09101877A (ja) | 乗算演算方法及び乗算演算装置 | |
JPH0544047B2 (ja) | ||
JPH0418334B2 (ja) | ||
JP2907276B2 (ja) | 演算処理装置 | |
JPH06348456A (ja) | 1の補数の加算器および動作方法 | |
JPS6361368A (ja) | 論理回路形成方式 | |
KR950010571B1 (ko) | 라운딩 회로 | |
JPS648858B2 (ja) | ||
JPH113210A (ja) | 3入力比較器、並びにこれを用いた飽和演算装置およびその演算方法 | |
JPH05119969A (ja) | 積和演算器 | |
JPH0368412B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080218 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |