JPH0431413B2 - - Google Patents
Info
- Publication number
- JPH0431413B2 JPH0431413B2 JP61072947A JP7294786A JPH0431413B2 JP H0431413 B2 JPH0431413 B2 JP H0431413B2 JP 61072947 A JP61072947 A JP 61072947A JP 7294786 A JP7294786 A JP 7294786A JP H0431413 B2 JPH0431413 B2 JP H0431413B2
- Authority
- JP
- Japan
- Prior art keywords
- multiplicand
- multiplier
- signal
- array
- supplied
- 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
- 238000004364 calculation method Methods 0.000 description 12
- 238000007792 addition Methods 0.000 description 9
- 239000002131 composite material Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
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
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明は、ブース(Booth)のアルゴリズム
を用いた2分割可能な配列乗算器に関するもの
で、特に2系統の乗算を同時に行なうことによつ
て演算効率を高めるために使用されるものであ
る。
を用いた2分割可能な配列乗算器に関するもの
で、特に2系統の乗算を同時に行なうことによつ
て演算効率を高めるために使用されるものであ
る。
(従来の技術)
従来、2分割可能な乗算器として、例えば第3
図に示すようなものが使用されている。図におい
て、M0〜M3はそれぞれ、mビツト×mビツトの
乗算器で、これら乗算器M0〜M3にはそれぞれ、
被乗数XH,XL(XH:上位ビツト,XL:下位ビツ
ト)および乗数YH,YL(YH:上位ビツト,YL:
下位ビツト)が選択的に供給される。すなわち、
乗算器M0には、被乗数XL,乗数YLが供給され、
下位ビツトL側の演算(乗数)出力が出力信号
Z0として出力されるとともに、上位ビツトH側
の出力が加算器A0に供給される。上記乗算器M1
には、被乗数XH,乗数YLが供給され、下位ビツ
トL側の演算出力がセレクタS0を介して上記加
算器A0に供給される。
図に示すようなものが使用されている。図におい
て、M0〜M3はそれぞれ、mビツト×mビツトの
乗算器で、これら乗算器M0〜M3にはそれぞれ、
被乗数XH,XL(XH:上位ビツト,XL:下位ビツ
ト)および乗数YH,YL(YH:上位ビツト,YL:
下位ビツト)が選択的に供給される。すなわち、
乗算器M0には、被乗数XL,乗数YLが供給され、
下位ビツトL側の演算(乗数)出力が出力信号
Z0として出力されるとともに、上位ビツトH側
の出力が加算器A0に供給される。上記乗算器M1
には、被乗数XH,乗数YLが供給され、下位ビツ
トL側の演算出力がセレクタS0を介して上記加
算器A0に供給される。
この加算器A0による加算出力は、加算器A1に
供給され、キヤリーCaが加算器A2に供給され
る。上記乗算器M1の上位ビツトH側の演算出力
は、セレクタS1を介して上記加算器A2に供給さ
れる。上記乗算器M2には、被乗数XL,乗数YHが
供給され、下位ビツトL側の演算出力はセレクタ
S2を介して上記加算器A1に供給される。
供給され、キヤリーCaが加算器A2に供給され
る。上記乗算器M1の上位ビツトH側の演算出力
は、セレクタS1を介して上記加算器A2に供給さ
れる。上記乗算器M2には、被乗数XL,乗数YHが
供給され、下位ビツトL側の演算出力はセレクタ
S2を介して上記加算器A1に供給される。
この加算器A1による加算出力は出力信号Z1と
して出力され、キヤリーCaが加算器A3に供給さ
れる。一方、上記乗算器M2の上位ビツトH側の
演算出力は、セレクタS1を介して上記加算器A2
に供給される。この加算器A2の加算出力は、上
記加算器A3に供給され、キヤリーCaが加算器A4
に供給される。上記乗算器M3には、被乗数XH,
乗数YHが供給され、下位ビツトL側の演算出力
は上記加算器A3に供給される。この加算器A3に
よる加算出力は出力信号Z2として出力され、キ
ヤリーCaが加算器A5に供給される。
して出力され、キヤリーCaが加算器A3に供給さ
れる。一方、上記乗算器M2の上位ビツトH側の
演算出力は、セレクタS1を介して上記加算器A2
に供給される。この加算器A2の加算出力は、上
記加算器A3に供給され、キヤリーCaが加算器A4
に供給される。上記乗算器M3には、被乗数XH,
乗数YHが供給され、下位ビツトL側の演算出力
は上記加算器A3に供給される。この加算器A3に
よる加算出力は出力信号Z2として出力され、キ
ヤリーCaが加算器A5に供給される。
一方、上記乗算器M3の上位ビツトH側の演算
出力は上記加算器A4に供給される。この加算器
A4には、加算数として“0”が供給されており、
上記乗算器M3の出力と上記加算器A2のキヤリー
Caとに基づく出力が加算器A5に供給される。
出力は上記加算器A4に供給される。この加算器
A4には、加算数として“0”が供給されており、
上記乗算器M3の出力と上記加算器A2のキヤリー
Caとに基づく出力が加算器A5に供給される。
また、上記加算器A5には加算数として“0”
が供給されており、上記加算器A4の加算出力と
上記加算器A3のキヤリーCaとに基づく出力が出
力信号Z3として出力されるようになつている。
が供給されており、上記加算器A4の加算出力と
上記加算器A3のキヤリーCaとに基づく出力が出
力信号Z3として出力されるようになつている。
上記のような構成において、2mビツト×2mビ
ツトの乗算を行なう場合には、セレクタS0によ
つて乗算器M1の下位ビツトL側の出力を選択し、
セレクタS1によつて上記乗算器M1の上位ビツト
H側の出力を選択するとともに、乗算器M2の上
位ビツトH側の出力を選択する。またセレクタ
S2によつて上記乗算器M2の下位ビツトL側の出
力を選択する。こうすることにより、第4図に示
すよう2mビツト×2mビツトの乗算が行なわれ
る。
ツトの乗算を行なう場合には、セレクタS0によ
つて乗算器M1の下位ビツトL側の出力を選択し、
セレクタS1によつて上記乗算器M1の上位ビツト
H側の出力を選択するとともに、乗算器M2の上
位ビツトH側の出力を選択する。またセレクタ
S2によつて上記乗算器M2の下位ビツトL側の出
力を選択する。こうすることにより、第4図に示
すよう2mビツト×2mビツトの乗算が行なわれ
る。
一方、mビツト×mビツトの2系統の乗算を行
なう場合には、セレクタS0,S1およびS2によつ
て、乗算器M1,M2の出力を“0”に設定し、こ
の“0”を加算数として加算器A0,A1およびA2
に供給する。こうすることにより、Z1とZ2には
「XL・YL」が、Z3とZ2には「XH・YH」がそれぞ
れ得られる。
なう場合には、セレクタS0,S1およびS2によつ
て、乗算器M1,M2の出力を“0”に設定し、こ
の“0”を加算数として加算器A0,A1およびA2
に供給する。こうすることにより、Z1とZ2には
「XL・YL」が、Z3とZ2には「XH・YH」がそれぞ
れ得られる。
しかし、上述したような乗算器を構成する場
合、以下に記するような種々の問題を生ずる。
合、以下に記するような種々の問題を生ずる。
まず第1に、配線数が多い。特に、オペランド
X,Yを入力するところ、および乗算器M0〜M3
の結果を次段のセレクタS0〜S2、加算器A0〜A3
に入力する際の配線が多くなる。この傾向はビツ
ト長が大きくなるに従い顕著となる。
X,Yを入力するところ、および乗算器M0〜M3
の結果を次段のセレクタS0〜S2、加算器A0〜A3
に入力する際の配線が多くなる。この傾向はビツ
ト長が大きくなるに従い顕著となる。
第2に、冗長な回路が多い。例えば各乗算器
M0〜M3には最終和の加算器が内蔵されており、
加算器A0〜A5の機能と重複している。また、セ
レクタS0〜S2も2mビツト×2mビツトの演算時に
は不要である。
M0〜M3には最終和の加算器が内蔵されており、
加算器A0〜A5の機能と重複している。また、セ
レクタS0〜S2も2mビツト×2mビツトの演算時に
は不要である。
第3に、上記第1,第2の理由によりLSI化し
た場合にパターン面積が大きくなる。
た場合にパターン面積が大きくなる。
第4に、動作速度が遅い。これは上述したよう
に、配線が多い(長い)ことにより配線容量など
による遅延が増大するためである。
に、配線が多い(長い)ことにより配線容量など
による遅延が増大するためである。
ところで、LSI化に適した高速乗算器の一つと
してブースのアルゴリズムを用いたものがある。
してブースのアルゴリズムを用いたものがある。
この乗算器は2の補数表示の数を直接演算でき
るという利点を持つている。この時の符号ビツト
の処理は、第5図aに示すように、MSBのビツ
トをそのまま拡張し、それらを加え合わせてい
る。第5図aでは、X=−25,Y=+23とした
時、YをデコードしてXを−X,2X,Xに変形
している。第5図bは上記符号拡張の一般的な場
合を、第5図cはこれを乗算セルの配列で表した
場合を示している。c図においては、斜線部が符
号のセルを表している。しかし、この方式では拡
張符号の処理のために余分なセルを必要とし、チ
ツプ面積の増大や配列乗算器の規則性を崩す欠点
がある。
るという利点を持つている。この時の符号ビツト
の処理は、第5図aに示すように、MSBのビツ
トをそのまま拡張し、それらを加え合わせてい
る。第5図aでは、X=−25,Y=+23とした
時、YをデコードしてXを−X,2X,Xに変形
している。第5図bは上記符号拡張の一般的な場
合を、第5図cはこれを乗算セルの配列で表した
場合を示している。c図においては、斜線部が符
号のセルを表している。しかし、この方式では拡
張符号の処理のために余分なセルを必要とし、チ
ツプ面積の増大や配列乗算器の規則性を崩す欠点
がある。
このような欠点を除去できる符号ビツトの処理
方法として、“Digital Circuits For Binary
Arithmetic”に、第5図d,第5図eに示すよ
うな方式が提案されている。すなわち、MSBの
反転信号を符号セルに入力し、符号セルと符号セ
ルとの間と、一番上段の符号セルに“1”を加え
る操作を行なうようにしている。
方法として、“Digital Circuits For Binary
Arithmetic”に、第5図d,第5図eに示すよ
うな方式が提案されている。すなわち、MSBの
反転信号を符号セルに入力し、符号セルと符号セ
ルとの間と、一番上段の符号セルに“1”を加え
る操作を行なうようにしている。
しかし、この操作を分割可能な配列乗算器でど
のようにして実現するかは開示されていない。
のようにして実現するかは開示されていない。
(発明が解決しようとする問題点)
上述した如く、従来の配列乗算器では、配線が
多く、不規則でLSI化に適さない。また、冗長な
回路が多くパターン面積が増大するとともに、動
作速度も遅い欠点があ。ブースのアルゴリズムを
用いた乗算器ではこのような欠点を除去できる
が、分割可能ではない。
多く、不規則でLSI化に適さない。また、冗長な
回路が多くパターン面積が増大するとともに、動
作速度も遅い欠点があ。ブースのアルゴリズムを
用いた乗算器ではこのような欠点を除去できる
が、分割可能ではない。
従つて、この発明の目的とするところは、LSI
化に適し、規則的で配線も少なく、且つ高速演算
が可能な、ブースのアルゴリズムを用いた分割可
能な配列乗算器を提供することにある。
化に適し、規則的で配線も少なく、且つ高速演算
が可能な、ブースのアルゴリズムを用いた分割可
能な配列乗算器を提供することにある。
[発明の構成]
(問題点を解決するための手段)
この発明による配列乗算器は、基本セルと最上
位ビツトに設けられる符号セルとから成り被乗数
の上位半ワードと乗数の下位半ワードとの積を取
る第1アレイブロツクと、この第1アレイブロツ
クの被乗数入力端に配設され選択制御信号に基づ
いで上記第1アレブロツクに不活性値あるいは被
乗数を選択的に供給する第1の選択回路と、上記
第1アレイブロツクの乗数入力端に配設される下
位デコーダと、基本セルと最上位ビツトに設けら
れる符号セルとから成り被乗数の上位半ワードと
乗数の上位半ワードとの積を取る第2アレイブロ
ツクと、この第2アレイブロツクの乗数入力端に
配設される上位デコーダと、基本セルと最上位ビ
ツトに設けられ分割制御信号に応じて符号セルあ
るいは基本セルとして機能する複合セルとから成
り被乗数の下位半ワードと乗数の下位半ワードと
の積を取る第3アレイブロツクと、被乗数の下位
半ワードと乗数の上位半ワードとの積を取る第4
アレイブロツクと、上記第3アレイブロツクと第
4アレイブロツク間に配設され選択制御信号に基
づいて上記第4アレイブロツクに不活性値あるい
は被乗数を選択的に供給する第2の選択回路とか
ら構成される。
位ビツトに設けられる符号セルとから成り被乗数
の上位半ワードと乗数の下位半ワードとの積を取
る第1アレイブロツクと、この第1アレイブロツ
クの被乗数入力端に配設され選択制御信号に基づ
いで上記第1アレブロツクに不活性値あるいは被
乗数を選択的に供給する第1の選択回路と、上記
第1アレイブロツクの乗数入力端に配設される下
位デコーダと、基本セルと最上位ビツトに設けら
れる符号セルとから成り被乗数の上位半ワードと
乗数の上位半ワードとの積を取る第2アレイブロ
ツクと、この第2アレイブロツクの乗数入力端に
配設される上位デコーダと、基本セルと最上位ビ
ツトに設けられ分割制御信号に応じて符号セルあ
るいは基本セルとして機能する複合セルとから成
り被乗数の下位半ワードと乗数の下位半ワードと
の積を取る第3アレイブロツクと、被乗数の下位
半ワードと乗数の上位半ワードとの積を取る第4
アレイブロツクと、上記第3アレイブロツクと第
4アレイブロツク間に配設され選択制御信号に基
づいて上記第4アレイブロツクに不活性値あるい
は被乗数を選択的に供給する第2の選択回路とか
ら構成される。
(作 用)
この発明の配列乗算器では、上記第3アレイブ
ロツクの複合セルに分割制御信号を供給して符号
セルあるいは基本セルの機能を選択することによ
り、ブースのアルゴリズムを用いて半ワード毎の
乗算を2系統同時に実行可能なようにしている。
ロツクの複合セルに分割制御信号を供給して符号
セルあるいは基本セルの機能を選択することによ
り、ブースのアルゴリズムを用いて半ワード毎の
乗算を2系統同時に実行可能なようにしている。
(実施例)
以下、この発明の一実施例について図面を参照
して説明する。第1図は、この発明によるブース
のアルゴリズムを用いた2分割可能な配列乗算器
を示している。第1図において、121〜124は
2mビツト×2mビツトの配列乗算器を4分割した
アレイブロツクで、右上のアレイブロツク121
で被乗数Xの下位ビツトXLと乗数Yの下位ビツ
トYLとの乗算XL・YLを行ない、左下のアレイブ
ロツク122で被乗数Xの上位ビツトXHと乗数Y
の上位ビツトYHとの乗算XH・YHを行なう。上記
XL・YLの上位ビツトが右下のアレイブロツク1
23の上半分を通過してその演算結果がZ0,Z1と
して出力され、上記XH・YHの下位ビツトが右下
のアレイブロツク123の下半分を通過してその
演算結果がZ2,Z3としれ出力される。この際、
双方の演算結果が影響を及ぼし合つたり、未使用
の左上のアレイブロツク124の演算出力が他の
領域に流入したりしないようにするために、左上
と右下のアレイブロツク124,123に選択制御
信号によつて制御される選択回路13から
被乗数Xに“0”を与える。従つて、左上のアレ
イブロツク124の演算結果は“0”となるので、
他のアレイブロツクに影響を与えることはない。
また、右下のアレイブロツク123の上下でそれ
ぞれ別の演算を行なつているので、上のアレイブ
ロツクのキヤリー出力が下のアレイブロツクに流
入しないようにするために、分離制御信号で
制御される分離回路14を設けている。
して説明する。第1図は、この発明によるブース
のアルゴリズムを用いた2分割可能な配列乗算器
を示している。第1図において、121〜124は
2mビツト×2mビツトの配列乗算器を4分割した
アレイブロツクで、右上のアレイブロツク121
で被乗数Xの下位ビツトXLと乗数Yの下位ビツ
トYLとの乗算XL・YLを行ない、左下のアレイブ
ロツク122で被乗数Xの上位ビツトXHと乗数Y
の上位ビツトYHとの乗算XH・YHを行なう。上記
XL・YLの上位ビツトが右下のアレイブロツク1
23の上半分を通過してその演算結果がZ0,Z1と
して出力され、上記XH・YHの下位ビツトが右下
のアレイブロツク123の下半分を通過してその
演算結果がZ2,Z3としれ出力される。この際、
双方の演算結果が影響を及ぼし合つたり、未使用
の左上のアレイブロツク124の演算出力が他の
領域に流入したりしないようにするために、左上
と右下のアレイブロツク124,123に選択制御
信号によつて制御される選択回路13から
被乗数Xに“0”を与える。従つて、左上のアレ
イブロツク124の演算結果は“0”となるので、
他のアレイブロツクに影響を与えることはない。
また、右下のアレイブロツク123の上下でそれ
ぞれ別の演算を行なつているので、上のアレイブ
ロツクのキヤリー出力が下のアレイブロツクに流
入しないようにするために、分離制御信号で
制御される分離回路14を設けている。
さらに、右下のアレイブロツク123では、加
算結果とキヤリーの加算のみを行なえば良いの
で、選択制御信号によつて制御される選択
回路15によつて被乗数Xに“0”を与える。
算結果とキヤリーの加算のみを行なえば良いの
で、選択制御信号によつて制御される選択
回路15によつて被乗数Xに“0”を与える。
上記アレイブロツク124,122の最左端には
符号セル16a,16b、上記アレイブロツク1
21の最左端には分割時にも非分割時にも乗算が
行なえる基本セルと符号セルとの複合セル17が
設けられ、他の領域は基本セルで構成されてい
る。なお、YDECLは乗数Yの下位デコーダ、
YDECHは乗数Yの上位デコーダである。
符号セル16a,16b、上記アレイブロツク1
21の最左端には分割時にも非分割時にも乗算が
行なえる基本セルと符号セルとの複合セル17が
設けられ、他の領域は基本セルで構成されてい
る。なお、YDECLは乗数Yの下位デコーダ、
YDECHは乗数Yの上位デコーダである。
第2図a〜cは、上記各セルの構成例を示すも
ので、a図は上記基本セルを、b図は上記符号セ
ルを、c図は上記複合セルをそれぞれ示してい
る。
ので、a図は上記基本セルを、b図は上記符号セ
ルを、c図は上記複合セルをそれぞれ示してい
る。
a図におけるフルアダー18には、前段からの
和信号SinおよびキヤリーCinが供給されるとと
もに、セレクタ19の出力が供給される。このセ
レクタ19は、アンドゲート20〜23と、これ
らアンドゲート20〜23の出力が供給されるオ
アゲート24とから成り、上記アンドゲート20
〜23の入力端には、乗数Y入力の3ビツトをデ
コードして生成してた信号X,,2X,2が選
択的に供給される。
和信号SinおよびキヤリーCinが供給されるとと
もに、セレクタ19の出力が供給される。このセ
レクタ19は、アンドゲート20〜23と、これ
らアンドゲート20〜23の出力が供給されるオ
アゲート24とから成り、上記アンドゲート20
〜23の入力端には、乗数Y入力の3ビツトをデ
コードして生成してた信号X,,2X,2が選
択的に供給される。
そして、各段でそれぞれXi,i,Xi-1,i-1を
被乗数入力Xinとして選択する。この際、どの信
号も活性でない時にはxinは“0”となる。
被乗数入力Xinとして選択する。この際、どの信
号も活性でない時にはxinは“0”となる。
そして、フルアダー18から得られた和信号
SoutおよびキヤリーCoutを次段に供給する。
SoutおよびキヤリーCoutを次段に供給する。
b図に示した符号セルにおいては、フルアダー
25にはセレクタ26の出力が供給される。この
セレクタ26は、アンドゲート27〜30と、こ
れらアンドゲート27〜30の出力が供給される
オアゲート31とから成る。上記アンドゲート2
8,30に供給されるXoは、XのMSBで、Y3ビ
ツトをデコードして生成した信号X,,2X,
2Xによつてそれぞれo,Xo,o,Xoが選ばれ、
どの信号も活性でない時には上記基本セルと同様
にXinは“0”となる。この符号セルには他のセ
ルから和信号もキヤリーも入力されないので、
Sin=0,Cin=0である。そして、フルアダー
25から得られた和信号Soutおよびキヤリー
Coutを次段に供給する。
25にはセレクタ26の出力が供給される。この
セレクタ26は、アンドゲート27〜30と、こ
れらアンドゲート27〜30の出力が供給される
オアゲート31とから成る。上記アンドゲート2
8,30に供給されるXoは、XのMSBで、Y3ビ
ツトをデコードして生成した信号X,,2X,
2Xによつてそれぞれo,Xo,o,Xoが選ばれ、
どの信号も活性でない時には上記基本セルと同様
にXinは“0”となる。この符号セルには他のセ
ルから和信号もキヤリーも入力されないので、
Sin=0,Cin=0である。そして、フルアダー
25から得られた和信号Soutおよびキヤリー
Coutを次段に供給する。
上記第1図に示した配列乗算器において、分割
モードで乗算を行なう場合にはアレイブロツク1
21,122でそれぞれ上位ビツト,下位ビツトの
乗算が行われる。この時アレイブロツク122の
左側の列は符号セルであるので問題はないが、ア
レイブロツク121の左端の列が基本セルである
と符号処理が行なえないので、上記複合セル17
を符号セルに切換える。
モードで乗算を行なう場合にはアレイブロツク1
21,122でそれぞれ上位ビツト,下位ビツトの
乗算が行われる。この時アレイブロツク122の
左側の列は符号セルであるので問題はないが、ア
レイブロツク121の左端の列が基本セルである
と符号処理が行なえないので、上記複合セル17
を符号セルに切換える。
c図に示す複合セルは、上記a図に示した基本
セルと上記b図に示した符号セルの両方の機能を
備えており、左側のセレクタ19は通常の乗算の
時のXセレクタ、右側のセレクタ26は分割時の
Xセレクタである。c図において、上記a図およ
びb図と同一構成部分には同じ符号を付してその
詳細な説明は省略する。上記セレクタ19,26
の出力は、アンドゲート32,33とオアゲート
34とから成り、分割制御信号,DIVによつ
て制御される2入力セレクタ35に供給される。
そして、分割時にはセレクタ26が、非分割時に
はセレクタ19がそれぞれ選択される。この選択
出力がフルアダー36に供給される。このフルア
ダー36の和信号入力端には、分割制御信号
および前段からの和信号Sinが供給されるアンド
ゲート37の出力が供給される。また、キヤリー
入力端には、分割制御信号DIVおよび前段からの
キヤリーCinが供給されるアンドゲート38の出
力が供給される。そして、フルアダー36から得
られた和信号SoutおよびキヤリーCoutを次段に
供給するようにして成る。
セルと上記b図に示した符号セルの両方の機能を
備えており、左側のセレクタ19は通常の乗算の
時のXセレクタ、右側のセレクタ26は分割時の
Xセレクタである。c図において、上記a図およ
びb図と同一構成部分には同じ符号を付してその
詳細な説明は省略する。上記セレクタ19,26
の出力は、アンドゲート32,33とオアゲート
34とから成り、分割制御信号,DIVによつ
て制御される2入力セレクタ35に供給される。
そして、分割時にはセレクタ26が、非分割時に
はセレクタ19がそれぞれ選択される。この選択
出力がフルアダー36に供給される。このフルア
ダー36の和信号入力端には、分割制御信号
および前段からの和信号Sinが供給されるアンド
ゲート37の出力が供給される。また、キヤリー
入力端には、分割制御信号DIVおよび前段からの
キヤリーCinが供給されるアンドゲート38の出
力が供給される。そして、フルアダー36から得
られた和信号SoutおよびキヤリーCoutを次段に
供給するようにして成る。
このような構成によれば、ブースのアルゴリズ
ムを用いた分割可能な配列乗算器において、余分
な符号セルを設けることなく、分割,非分割の両
モードの乗算が可能となる。また、前記第3図の
回路に比して配線を少なくでき、且つ乗算セルの
配置が規則的なのでLSI化に適している。しかも
冗長な回路が少ないのでハード量を低減でき、パ
ターン面積を縮小できるとともに動作速度も向上
できる。
ムを用いた分割可能な配列乗算器において、余分
な符号セルを設けることなく、分割,非分割の両
モードの乗算が可能となる。また、前記第3図の
回路に比して配線を少なくでき、且つ乗算セルの
配置が規則的なのでLSI化に適している。しかも
冗長な回路が少ないのでハード量を低減でき、パ
ターン面積を縮小できるとともに動作速度も向上
できる。
[発明の効果]
以上説明したようにこの発明によれば、LSI化
に適し、規則的で配線も少なく、且つ高速演算が
可能な、ブースのアルゴリズムを用いた分割可能
な配列乗算器が得られる。
に適し、規則的で配線も少なく、且つ高速演算が
可能な、ブースのアルゴリズムを用いた分割可能
な配列乗算器が得られる。
第1図はこの発明の一実施例に係わる配列乗算
器を示すブロツク図、第2図は上記第1図におけ
る乗算セルの構成例を示す図、第3図ないし第5
図はそれぞれ従来の配列乗算器ついて説明するた
めの図である。 124……第1アレイブロツク、……選択
制御信号、13……第1の選択回路、YDECL…
…乗数の下位デコーダ、122……第2アレイブ
ロツク、YDECH……乗数の上位デコーダ、
DIV,DIV……分割制御信号、121……第3ア
レイブロツク、123……第4アレイブロツク、
15……第2の選択回路。
器を示すブロツク図、第2図は上記第1図におけ
る乗算セルの構成例を示す図、第3図ないし第5
図はそれぞれ従来の配列乗算器ついて説明するた
めの図である。 124……第1アレイブロツク、……選択
制御信号、13……第1の選択回路、YDECL…
…乗数の下位デコーダ、122……第2アレイブ
ロツク、YDECH……乗数の上位デコーダ、
DIV,DIV……分割制御信号、121……第3ア
レイブロツク、123……第4アレイブロツク、
15……第2の選択回路。
Claims (1)
- 【特許請求の範囲】 1 乗算セルをアレイ状に配設し、乗算を並列的
に行なう配列乗算器において、基本セルと最上位
ビツトに設けられる符号セルとから成り被乗数の
上位半ワードと乗数の下位半ワードとの積を取る
第1アレイブロツクと、この第1アレイブロツク
被乗数入力端に配設され選択制御信号に基づいて
上記第1アレイブロツクに不活性値あるいは被乗
数を選択的に供給する第1の選択回路と、上記第
1アレイブロツクの乗数入力端に配設される下位
デコーダと、基本セルと最上位ビツトに設けられ
る符号セルとから成り被乗数の上位半ワードと乗
数の上位半ワードとの積を取る第2アレイブロツ
クと、この第2アレイブロツクの乗数入力端に配
設される上位デコーダと、基本セルと最上位ビツ
トに設けられ分割制御信号に応じて符号セルある
いは基本セルとして機能する複合セルとから成り
被乗数の下位半ワードと乗数の下位半ワードとの
積を取る第3アレイブロツクと、被乗数の下位半
ワードと乗数の上位半ワードとの積を取る第4ア
レイブロツクと、上記第3アレイブロツクと第4
アレイブロツク間に配設され選択制御信号に基づ
いて上記第4アレイブロツクに不活性値あるいは
被乗数を選択的に供給する第2の選択回路とを具
備し、 上記基本セルは、乗数入力の3ビツトをデコー
ドして生成した信号X,,2X,2が選択的
に供給され、各段でそれぞれXi,i,Xi-1,i-1
を被乗数入力として選択し、どの信号も活性でな
い時には被乗数入力を“0”とする第1のセレク
タと、前段からの和信号とキヤリーおよび上記第
1のセレクタにより選択された被乗数入力が供給
され、次段に和信号とキヤリーを供給する第1の
フルアダーとを含み、 上記符号セルは、被乗数の最上位ビツトの信号
Xoとその反転信号oおよび乗数入力の3ビツト
をデコードして生成した信号X,,2X,2
とが選択的に供給され、上記信号X,,2X,
2Xによつてo,Xo,o,Xoを選択し、どの信
号も活性でない時には被乗数入力を“0”とする
第2のセレクタと、和信号およびキヤリーとして
“0”が供給されると共に、上記第2のセレクタ
の選択が供給され、次段に和信号とキヤリーを供
給する第2のフルアダーとを含み、 上記複合セルは、乗数入力の3ビツトをデコー
ドして生成した信号X,,2X,2が選択的
に供給され、各段でそれぞれXi,i,Xi-1,i-1
を被乗数入力として選択し、どの信号も活性でな
い時には被乗数入力を“0”とするアレイ非分割
時用の第3のセレクタと、被乗数の最上位ビツト
の信号Xoとその反転信号oおよび乗数入力の3
ビツトをデコードして生成した信号X,,2
X,2とが選択的に供給され、上記信号X,
X,2X,2によつてo,Xo,o,Xoを選択
し、どの信号も活性でない時には被乗数入力を
“0”とするアレイ分割時用の第4のセレクタと、
上記第3,第4のセレクタによる選択出力が供給
され、上記分割制御信号の制御により、アレイ非
分割時に上記第3のセレクタの選択出力を選択
し、アレイ分割時に上記第4のセレクタによる選
択出力を選択する第5のセレクタと、この第5の
セレクタによる選択出力が被乗数入力として供給
され、和信号入力端に上記分割制御信号と前段か
らの和信号との論理積出力が供給され、キヤリー
入力端に上記分割制御信号の反転信号と前段から
のキヤリーとの論理積出力が供給され、次段に和
信号とキヤリーを出力する第3のフルアダーとを
含み、 ブースのアルゴリズムを用いて半ワード毎の乗
算を2系統同時に実行可能な如く構成したことを
特徴とする配列乗算器。 2 前記第4アレイブロツクは、前記分割制御信
号に基づいて、キヤリー入力を取るか不活性値を
取るかを選択するための分割回路を備えることを
特徴とする特許請求の範囲第1項記載の配列乗算
器。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61072947A JPS62229440A (ja) | 1986-03-31 | 1986-03-31 | 配列乗算器 |
US07/025,201 US4825401A (en) | 1986-03-31 | 1987-03-12 | Functional dividable multiplier array circuit for multiplication of full words or simultaneous multiplication of two half words |
DE8787104236T DE3774911D1 (de) | 1986-03-31 | 1987-03-23 | Matrix-strukturierte multiplizierschaltung. |
EP87104236A EP0239899B1 (en) | 1986-03-31 | 1987-03-23 | Multiplier array circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61072947A JPS62229440A (ja) | 1986-03-31 | 1986-03-31 | 配列乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62229440A JPS62229440A (ja) | 1987-10-08 |
JPH0431413B2 true JPH0431413B2 (ja) | 1992-05-26 |
Family
ID=13504083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61072947A Granted JPS62229440A (ja) | 1986-03-31 | 1986-03-31 | 配列乗算器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4825401A (ja) |
EP (1) | EP0239899B1 (ja) |
JP (1) | JPS62229440A (ja) |
DE (1) | DE3774911D1 (ja) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR920003908B1 (ko) * | 1987-11-19 | 1992-05-18 | 미쓰비시뎅끼 가부시끼가이샤 | 승산기(乘算器) |
US4989168A (en) * | 1987-11-30 | 1991-01-29 | Fujitsu Limited | Multiplying unit in a computer system, capable of population counting |
US4953119A (en) * | 1989-01-27 | 1990-08-28 | Hughes Aircraft Company | Multiplier circuit with selectively interconnected pipelined multipliers for selectively multiplication of fixed and floating point numbers |
EP0383965A1 (de) * | 1989-02-21 | 1990-08-29 | International Business Machines Corporation | Multiplizierwerk |
US5047973A (en) * | 1989-04-26 | 1991-09-10 | Texas Instruments Incorporated | High speed numerical processor for performing a plurality of numeric functions |
US5001662A (en) * | 1989-04-28 | 1991-03-19 | Apple Computer, Inc. | Method and apparatus for multi-gauge computation |
US5038315A (en) * | 1989-05-15 | 1991-08-06 | At&T Bell Laboratories | Multiplier circuit |
US5144576A (en) * | 1989-09-05 | 1992-09-01 | Cyrix Corporation | Signed digit multiplier |
US5040139A (en) * | 1990-04-16 | 1991-08-13 | Tran Dzung J | Transmission gate multiplexer (TGM) logic circuits and multiplier architectures |
JP2651267B2 (ja) * | 1990-07-26 | 1997-09-10 | 富士通株式会社 | 演算処理装置及び演算処理方法 |
US5162666A (en) * | 1991-03-15 | 1992-11-10 | Tran Dzung J | Transmission gate series multiplexer |
US5245564A (en) * | 1991-05-10 | 1993-09-14 | Weitek Corporation | Apparatus for multiplying operands |
US5255216A (en) * | 1991-08-16 | 1993-10-19 | International Business Machines Corporation | Reduced hardware look up table multiplier |
US5218562A (en) * | 1991-09-30 | 1993-06-08 | American Neuralogix, Inc. | Hamming data correlator having selectable word-length |
JPH05204609A (ja) * | 1992-01-13 | 1993-08-13 | Nec Corp | 乗算回路 |
DE4317074C1 (de) * | 1993-05-21 | 1994-06-23 | Itt Ind Gmbh Deutsche | Multiplizierer für reelle und komplexe Zahlen |
JP3637073B2 (ja) * | 1993-10-21 | 2005-04-06 | 株式会社東芝 | 倍精度・単精度・内積演算および複素乗算が可能な乗算器 |
EP0654733B1 (en) * | 1993-11-23 | 2000-05-24 | Hewlett-Packard Company | Parallel data processing in a single processor |
US5446651A (en) * | 1993-11-30 | 1995-08-29 | Texas Instruments Incorporated | Split multiply operation |
US5586070A (en) * | 1994-08-03 | 1996-12-17 | Chromatic Research, Inc. | Structure and method for embedding two small multipliers in a larger multiplier |
US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US5751622A (en) * | 1995-10-10 | 1998-05-12 | Chromatic Research, Inc. | Structure and method for signed multiplication using large multiplier having two embedded signed multipliers |
US5761106A (en) * | 1996-06-24 | 1998-06-02 | Motorola, Inc. | Horizontally pipelined multiplier circuit |
US5880985A (en) * | 1996-10-18 | 1999-03-09 | Intel Corporation | Efficient combined array for 2n bit n bit multiplications |
JP3479438B2 (ja) * | 1997-09-18 | 2003-12-15 | 株式会社東芝 | 乗算回路 |
US6026483A (en) * | 1997-10-23 | 2000-02-15 | Advanced Micro Devices, Inc. | Method and apparatus for simultaneously performing arithmetic on two or more pairs of operands |
US6115733A (en) * | 1997-10-23 | 2000-09-05 | Advanced Micro Devices, Inc. | Method and apparatus for calculating reciprocals and reciprocal square roots |
US6134574A (en) * | 1998-05-08 | 2000-10-17 | Advanced Micro Devices, Inc. | Method and apparatus for achieving higher frequencies of exactly rounded results |
US6223192B1 (en) | 1997-10-23 | 2001-04-24 | Advanced Micro Devices, Inc. | Bipartite look-up table with output values having minimized absolute error |
US6223198B1 (en) * | 1998-08-14 | 2001-04-24 | Advanced Micro Devices, Inc. | Method and apparatus for multi-function arithmetic |
US6085213A (en) * | 1997-10-23 | 2000-07-04 | Advanced Micro Devices, Inc. | Method and apparatus for simultaneously multiplying two or more independent pairs of operands and summing the products |
US6115732A (en) * | 1998-05-08 | 2000-09-05 | Advanced Micro Devices, Inc. | Method and apparatus for compressing intermediate products |
US6144980A (en) * | 1998-01-28 | 2000-11-07 | Advanced Micro Devices, Inc. | Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication |
WO1999021078A2 (en) * | 1997-10-23 | 1999-04-29 | Advanced Micro Devices, Inc. | A method and apparatus for multi-function arithmetic |
US6269384B1 (en) | 1998-03-27 | 2001-07-31 | Advanced Micro Devices, Inc. | Method and apparatus for rounding and normalizing results within a multiplier |
US6393554B1 (en) | 1998-01-28 | 2002-05-21 | Advanced Micro Devices, Inc. | Method and apparatus for performing vector and scalar multiplication and calculating rounded products |
US5999959A (en) * | 1998-02-18 | 1999-12-07 | Quantum Corporation | Galois field multiplier |
US6088800A (en) | 1998-02-27 | 2000-07-11 | Mosaid Technologies, Incorporated | Encryption processor with shared memory interconnect |
RU2131145C1 (ru) | 1998-06-16 | 1999-05-27 | Закрытое акционерное общество Научно-технический центр "Модуль" | Нейропроцессор, устройство для вычисления функций насыщения, вычислительное устройство и сумматор |
US6249799B1 (en) * | 1998-06-19 | 2001-06-19 | Ati International Srl | Selective carry boundary |
JP3139466B2 (ja) * | 1998-08-28 | 2001-02-26 | 日本電気株式会社 | 乗算器及び積和演算器 |
KR100324313B1 (ko) * | 1998-11-02 | 2002-06-22 | 김영환 | n비트와n/2비트를연산하는곱셈기 |
US6523055B1 (en) | 1999-01-20 | 2003-02-18 | Lsi Logic Corporation | Circuit and method for multiplying and accumulating the sum of two products in a single cycle |
US6692534B1 (en) * | 1999-09-08 | 2004-02-17 | Sun Microsystems, Inc. | Specialized booth decoding apparatus |
WO2003021423A2 (en) | 2001-09-04 | 2003-03-13 | Microunity Systems Engineering, Inc. | System and method for performing multiplication |
KR100430526B1 (ko) * | 2001-12-14 | 2004-05-10 | 한국전자통신연구원 | 수정된 부스 디코더를 적용한 고정 길이 승산기 및 그승산 방법 |
US6978426B2 (en) * | 2002-04-10 | 2005-12-20 | Broadcom Corporation | Low-error fixed-width modified booth multiplier |
US7269616B2 (en) * | 2003-03-21 | 2007-09-11 | Stretch, Inc. | Transitive processing unit for performing complex operations |
US7506017B1 (en) * | 2004-05-25 | 2009-03-17 | Altera Corporation | Verifiable multimode multipliers |
US9002915B1 (en) | 2009-04-02 | 2015-04-07 | Xilinx, Inc. | Circuits for shifting bussed data |
US9411554B1 (en) | 2009-04-02 | 2016-08-09 | Xilinx, Inc. | Signed multiplier circuit utilizing a uniform array of logic blocks |
US8527572B1 (en) * | 2009-04-02 | 2013-09-03 | Xilinx, Inc. | Multiplier architecture utilizing a uniform array of logic blocks, and methods of using the same |
US8706793B1 (en) * | 2009-04-02 | 2014-04-22 | Xilinx, Inc. | Multiplier circuits with optional shift function |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60205746A (ja) * | 1984-03-30 | 1985-10-17 | Toshiba Corp | 配列乗算器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3814924A (en) * | 1973-03-12 | 1974-06-04 | Control Data Corp | Pipeline binary multiplier |
DE2647262A1 (de) * | 1975-11-04 | 1977-05-05 | Motorola Inc | Multiplizierschaltung |
US4153938A (en) * | 1977-08-18 | 1979-05-08 | Monolithic Memories Inc. | High speed combinatorial digital multiplier |
JPS59149540A (ja) * | 1983-02-15 | 1984-08-27 | Toshiba Corp | 分割型乗算器 |
US4575812A (en) * | 1984-05-31 | 1986-03-11 | Motorola, Inc. | X×Y Bit array multiplier/accumulator circuit |
-
1986
- 1986-03-31 JP JP61072947A patent/JPS62229440A/ja active Granted
-
1987
- 1987-03-12 US US07/025,201 patent/US4825401A/en not_active Expired - Lifetime
- 1987-03-23 DE DE8787104236T patent/DE3774911D1/de not_active Expired - Lifetime
- 1987-03-23 EP EP87104236A patent/EP0239899B1/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60205746A (ja) * | 1984-03-30 | 1985-10-17 | Toshiba Corp | 配列乗算器 |
Also Published As
Publication number | Publication date |
---|---|
US4825401A (en) | 1989-04-25 |
DE3774911D1 (de) | 1992-01-16 |
JPS62229440A (ja) | 1987-10-08 |
EP0239899B1 (en) | 1991-12-04 |
EP0239899A1 (en) | 1987-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0431413B2 (ja) | ||
KR940002479B1 (ko) | 고속 디지탈 병렬승산기(multiplier) | |
US6009451A (en) | Method for generating barrel shifter result flags directly from input data | |
US5790446A (en) | Floating point multiplier with reduced critical paths using delay matching techniques | |
EP0992885B1 (en) | Multiplier accumulator circuits | |
JP3244506B2 (ja) | 小型乗算器 | |
JPH02196328A (ja) | 浮動小数点演算装置 | |
US5343416A (en) | Method and apparatus for re-configuring a partial product reduction tree | |
US4441158A (en) | Arithmetic operation circuit | |
US4366549A (en) | Multiplier with index transforms modulo a prime or modulo a fermat prime and the fermat prime less one | |
EP0650115B1 (en) | Multiplier capable of calculating double precision, single precision, inner product and multiplying complex numbers | |
US5497343A (en) | Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method | |
US5265043A (en) | Wallace tree multiplier array having an improved layout topology | |
US20040010536A1 (en) | Apparatus for multiplication of data in two's complement and unsigned magnitude formats | |
EP1052568B1 (en) | Three input split-adder | |
JPH0584529B2 (ja) | ||
JPH0312738B2 (ja) | ||
JPH09231201A (ja) | 浮動小数点乗算累算装置 | |
Raghunath et al. | A compact carry-save multiplier architecture and its applications | |
JPH04172526A (ja) | 浮動小数点除算器 | |
JPH02112020A (ja) | 単位加算器および並列乗算器 | |
JPH0550771B2 (ja) | ||
JPS6158036A (ja) | 乗算器 | |
JP2607735B2 (ja) | 倍数器の部分積加算方法 | |
US6643677B2 (en) | Digital arithmetic integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |