JPH0543136B2 - - Google Patents
Info
- Publication number
- JPH0543136B2 JPH0543136B2 JP62208402A JP20840287A JPH0543136B2 JP H0543136 B2 JPH0543136 B2 JP H0543136B2 JP 62208402 A JP62208402 A JP 62208402A JP 20840287 A JP20840287 A JP 20840287A JP H0543136 B2 JPH0543136 B2 JP H0543136B2
- Authority
- JP
- Japan
- Prior art keywords
- carry
- array
- bits
- sum
- circuit
- 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
- 239000000047 product Substances 0.000 claims description 58
- 230000000295 complement effect Effects 0.000 claims description 17
- 238000009825 accumulation Methods 0.000 claims description 8
- 239000012467 final product Substances 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 239000013067 intermediate product Substances 0.000 claims 5
- 238000007792 addition Methods 0.000 description 19
- HJVCHYDYCYBBQX-HLTLHRPFSA-N (2s,3s,4e,6e,8s,9s)-3-amino-9-methoxy-2,6,8-trimethyl-10-phenyldeca-4,6-dienoic acid Chemical compound OC(=O)[C@@H](C)[C@@H](N)/C=C/C(/C)=C/[C@H](C)[C@@H](OC)CC1=CC=CC=C1 HJVCHYDYCYBBQX-HLTLHRPFSA-N 0.000 description 12
- PBLZLIFKVPJDCO-UHFFFAOYSA-N omega-Aminododecanoic acid Natural products NCCCCCCCCCCCC(O)=O PBLZLIFKVPJDCO-UHFFFAOYSA-N 0.000 description 12
- 102100024348 Beta-adducin Human genes 0.000 description 9
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 9
- 230000035508 accumulation Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 229910003460 diamond Inorganic materials 0.000 description 5
- 239000010432 diamond Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101001069723 Homo sapiens Paired mesoderm homeobox protein 2 Proteins 0.000 description 1
- 101001090065 Homo sapiens Peroxiredoxin-2 Proteins 0.000 description 1
- 102100033829 Paired mesoderm homeobox protein 2 Human genes 0.000 description 1
- 101100005727 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CDC12 gene Proteins 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
-
- 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
(発明の分野)
本発明はデイジタル乗算器に関し、特に乗算の
最終積を形成するため部分積を加算する速度を改
良したデイジタル乗算器に関する。
最終積を形成するため部分積を加算する速度を改
良したデイジタル乗算器に関する。
(従来の技術)
2進数乗算は多くのデイジタル信号処理分野で
重要な機能である。いくつかの応用例ではさらに
前の演算の結果との積の累算を必要とする(例え
ば積和の形成)。融通性のある乗算回路は2の補
数又は符号なし記法のどちらかでもこれらの機能
を実行する能力を有していなければならない。
重要な機能である。いくつかの応用例ではさらに
前の演算の結果との積の累算を必要とする(例え
ば積和の形成)。融通性のある乗算回路は2の補
数又は符号なし記法のどちらかでもこれらの機能
を実行する能力を有していなければならない。
当該技術において、2進数乗算を実行するのに
要する時間を減少させる多数の方法が既知であ
る。例えば、最終積を形成するため加算されなけ
ればならない部分積の数を減少させる多数の異な
つたコード化手法が工夫されてきた。修正ブー
ス・アルゴリズム(modified Booth algorithm)
は集積回路デイジタル乗算器にしばしば用いられ
るものの1つである。
要する時間を減少させる多数の方法が既知であ
る。例えば、最終積を形成するため加算されなけ
ればならない部分積の数を減少させる多数の異な
つたコード化手法が工夫されてきた。修正ブー
ス・アルゴリズム(modified Booth algorithm)
は集積回路デイジタル乗算器にしばしば用いられ
るものの1つである。
部分積の加算を加速させる試みも行なわれてい
る。ウエア(Ware)に米国特許第4545028号で
は、加算アレイがブロツクに分割され、従つて各
ブロツク内の全ての加算はリプル的に実行される
とはいえ、異なるブロツクは加算の異なる部分を
並列に実行可能である。さらに、第1ブロツクは
4個の部分積のみを含み、残りのブロツクは算術
伝播に合せなければならず、従つて1個のブロツ
クからのキヤリーは次のブロツクにより必要とさ
れる時に現われる。
る。ウエア(Ware)に米国特許第4545028号で
は、加算アレイがブロツクに分割され、従つて各
ブロツク内の全ての加算はリプル的に実行される
とはいえ、異なるブロツクは加算の異なる部分を
並列に実行可能である。さらに、第1ブロツクは
4個の部分積のみを含み、残りのブロツクは算術
伝播に合せなければならず、従つて1個のブロツ
クからのキヤリーは次のブロツクにより必要とさ
れる時に現われる。
加算は又キヤリー・ルツクアヘツド加算器の使
用によつても加速される。連続した一連の加算段
中のリプル的なキヤリーの伝播には、加算部のビ
ツト数が大きくなればなる程大きな時間を必要と
する。キヤリー・ルツクアヘツド加算器では、論
理回路は連続ではなく同時のキヤリー伝播を行な
う。しかしながら、ビツト寸法が大きくなるにつ
れて回路複雑度、ゲート・カウント及びチツプ域
が迅速に増大してくるため、キヤリー・ルツクア
ヘツド加算器のビツト寸法は限定される。
用によつても加速される。連続した一連の加算段
中のリプル的なキヤリーの伝播には、加算部のビ
ツト数が大きくなればなる程大きな時間を必要と
する。キヤリー・ルツクアヘツド加算器では、論
理回路は連続ではなく同時のキヤリー伝播を行な
う。しかしながら、ビツト寸法が大きくなるにつ
れて回路複雑度、ゲート・カウント及びチツプ域
が迅速に増大してくるため、キヤリー・ルツクア
ヘツド加算器のビツト寸法は限定される。
従つて、本発明の主要な目的は、集積回路に最
小の追加複雑度及び空間で部分積を高速並列加算
する回路と方法を提供することである。
小の追加複雑度及び空間で部分積を高速並列加算
する回路と方法を提供することである。
他の目的は、累算を与えるのに適合した、又符
号付又は符号なし記法のどちらでも処理できるよ
う適合した改良高速加算器アーキテクチヤを与え
ることである。
号付又は符号なし記法のどちらでも処理できるよ
う適合した改良高速加算器アーキテクチヤを与え
ることである。
本発明の更に他の目的は、標準IC技術で実装
可能な並列加算アーキテクチヤにより高速2進乗
算を行なうことである。
可能な並列加算アーキテクチヤにより高速2進乗
算を行なうことである。
(発明の要旨)
これらの及び多くの他の目的は2進加数を加算
する3重アレイ回路で達成される。アレイはキヤ
リー・セーブ・アレイと第1及び第2のキヤリ
ー・ルツクアヘツド・アレイを含む。キヤリー・
セーブ・アレイは、最終和の最小位ビツトを発生
しかつ中間和及びキヤリー信号を発生するため所
定数の最小位又は最下ランク加数の実質的に全て
のビツトを含む第1群の加数ビツトを加算する。
第1のキヤリー・ルツクアヘツド・アレイは加数
の実質的に全ての残りのビツトを加算して副和を
発生する。第2のキヤリー・ルツクアヘツド・ア
レイは副和と中間和及びキヤリー信号から最終和
の最大位又は残りのビツトを発生する。
する3重アレイ回路で達成される。アレイはキヤ
リー・セーブ・アレイと第1及び第2のキヤリ
ー・ルツクアヘツド・アレイを含む。キヤリー・
セーブ・アレイは、最終和の最小位ビツトを発生
しかつ中間和及びキヤリー信号を発生するため所
定数の最小位又は最下ランク加数の実質的に全て
のビツトを含む第1群の加数ビツトを加算する。
第1のキヤリー・ルツクアヘツド・アレイは加数
の実質的に全ての残りのビツトを加算して副和を
発生する。第2のキヤリー・ルツクアヘツド・ア
レイは副和と中間和及びキヤリー信号から最終和
の最大位又は残りのビツトを発生する。
本発明の一面では、3重アレイ回路はデイジタ
ル乗算回路に含まれる。デイジタル乗算器は又、
入力に印加される乗算器信号と被乗数信号に応答
して異なるランクの部分積を発生する部分積発生
装置も含む。
ル乗算回路に含まれる。デイジタル乗算器は又、
入力に印加される乗算器信号と被乗数信号に応答
して異なるランクの部分積を発生する部分積発生
装置も含む。
本発明の他の面では、3アレイの寸法と部分積
ビツトの割当は回路の速度と配置寸法に対して最
適化されている。
ビツトの割当は回路の速度と配置寸法に対して最
適化されている。
本発明の新規の特徴は特許請求の範囲に詳細に
記述されている。本発明自体は、その構成と動作
方法に関しては、その他の目的と利点と共に、添
付図面と関連して以下の詳細な説明を参照するこ
とにより最も良く理解できる。
記述されている。本発明自体は、その構成と動作
方法に関しては、その他の目的と利点と共に、添
付図面と関連して以下の詳細な説明を参照するこ
とにより最も良く理解できる。
(発明の実施例)
第1図を見ると、3重アレイ・アーキテクチヤ
が示されている。この回路は乗数入力10と被乗
数入力11とを含む。乗数入力10の乗数信号は
コード化回路12に印加されてコード化入力13
に変換される。コード化はいくつかの公知のアル
ゴリズム(例えば修正ブース・アルゴリズム)に
従つて実行されるため、コード化入力13と被乗
数入力11から発生される部分積の数は他の方法
で発生するものより少ない。例えば、各々16ビツ
ト長の乗数と被乗数で修正ブース・アルゴリズム
を用いると、コード化入力13は9項にコード化
される。この結果、部分積発生器14は最終積を
形成するため加算される9部分積を発生する。
が示されている。この回路は乗数入力10と被乗
数入力11とを含む。乗数入力10の乗数信号は
コード化回路12に印加されてコード化入力13
に変換される。コード化はいくつかの公知のアル
ゴリズム(例えば修正ブース・アルゴリズム)に
従つて実行されるため、コード化入力13と被乗
数入力11から発生される部分積の数は他の方法
で発生するものより少ない。例えば、各々16ビツ
ト長の乗数と被乗数で修正ブース・アルゴリズム
を用いると、コード化入力13は9項にコード化
される。この結果、部分積発生器14は最終積を
形成するため加算される9部分積を発生する。
部分積発生器14はその入力として複数個の増
加ランクの部分積を有する。部分積のビツトは3
重加算器アレイで加算される群に分割される。部
分積ビツトの1群であるSETAはADDA加算ア
レイに入力される。部分積ビツトの他の群である
SETBはADDB加算アレイに入力される。小数の
残り部分積ビツトSETCはADDC加算アレイに任
意に与えることが可能である。
加ランクの部分積を有する。部分積のビツトは3
重加算器アレイで加算される群に分割される。部
分積ビツトの1群であるSETAはADDA加算ア
レイに入力される。部分積ビツトの他の群である
SETBはADDB加算アレイに入力される。小数の
残り部分積ビツトSETCはADDC加算アレイに任
意に与えることが可能である。
発明の望ましい実施例では、SETAは下位のr
部分積のビツトを含む。rの値はnの1/2より
大きいことが望ましく、ここでnは部分積の全数
である。ADDAアレイでの加算結果は最終積の
下位部分、中間和SUMAと中間キヤリーCARA
を含む。低位結果はレジスタ15に与えられ、
SUMAとCARA信号はADDC加算アレイへの入
力される。
部分積のビツトを含む。rの値はnの1/2より
大きいことが望ましく、ここでnは部分積の全数
である。ADDAアレイでの加算結果は最終積の
下位部分、中間和SUMAと中間キヤリーCARA
を含む。低位結果はレジスタ15に与えられ、
SUMAとCARA信号はADDC加算アレイへの入
力される。
SETBには残りの部分積ビツトの全て又は実質
的に全てが含まれる。ADDBアレイでの加算結
果はSUMBで、これはADDC加算アレイへ入力
される。SUMA、CARA、SUMBを加算するの
に使用されないADDCアレイの利用可能な加算
位置に対応する小数の部分積ビツトがあるかもし
れない。これらのビツトはADDAとADDBアレ
イをバイパスしてADDCアレイに含まれる
SETC′に含まれる。ADDC加算アレイでの加算
結果はレジスタ15に与えられる最終結果の高位
部分である。
的に全てが含まれる。ADDBアレイでの加算結
果はSUMBで、これはADDC加算アレイへ入力
される。SUMA、CARA、SUMBを加算するの
に使用されないADDCアレイの利用可能な加算
位置に対応する小数の部分積ビツトがあるかもし
れない。これらのビツトはADDAとADDBアレ
イをバイパスしてADDCアレイに含まれる
SETC′に含まれる。ADDC加算アレイでの加算
結果はレジスタ15に与えられる最終結果の高位
部分である。
本発明の3重アレイ・アーキテクチヤによる
と、ADDAをキヤリー・セーブ・アレイ、
ADDBとADDCをキヤリー・ルツクアヘツド・
アレイとして実装することにより高速性と低複雑
度が達成される。従つて、ADDAアレイはキヤ
リー・セーブ・アレイの低複雑度と小チツプ面積
を利用しつつ低ランク部分積を加算する。キヤリ
ー・ルツクアヘツド加算器の高速性は高位加算の
実行時にADDB及びADDCアレイに有利に用い
られる。特に、ADDAアレイはSETAの部分積
の加算用にr―1行のキヤリー・セーブ加算器を
含むことが望ましい。ADDAは又累算と2の補
数表示処理用の行(すなわち全体でr行)を含ん
でもよい。ADDBとADDCは各々キヤリー・ル
ツクアヘツド加算器に続けて1行以上のキヤリ
ー・セーブ加算器を含むことが望ましい。
と、ADDAをキヤリー・セーブ・アレイ、
ADDBとADDCをキヤリー・ルツクアヘツド・
アレイとして実装することにより高速性と低複雑
度が達成される。従つて、ADDAアレイはキヤ
リー・セーブ・アレイの低複雑度と小チツプ面積
を利用しつつ低ランク部分積を加算する。キヤリ
ー・ルツクアヘツド加算器の高速性は高位加算の
実行時にADDB及びADDCアレイに有利に用い
られる。特に、ADDAアレイはSETAの部分積
の加算用にr―1行のキヤリー・セーブ加算器を
含むことが望ましい。ADDAは又累算と2の補
数表示処理用の行(すなわち全体でr行)を含ん
でもよい。ADDBとADDCは各々キヤリー・ル
ツクアヘツド加算器に続けて1行以上のキヤリ
ー・セーブ加算器を含むことが望ましい。
望ましい実施例の他の面では、rの値は、
ADDAでのキヤリー・セーブ加算の時間遅延が
ADDBでのキヤリー・ルツクアヘツド加算の時
間遅延に最も近密に等しくなるように選択されて
いる。このようにして、アーキテクチヤは最適化
されSUMA、CARA、SUMBは同時にADDCア
レイに与えられる。
ADDAでのキヤリー・セーブ加算の時間遅延が
ADDBでのキヤリー・ルツクアヘツド加算の時
間遅延に最も近密に等しくなるように選択されて
いる。このようにして、アーキテクチヤは最適化
されSUMA、CARA、SUMBは同時にADDCア
レイに与えられる。
レジスタ15の内容は乗算器の出力を与える。
累算を実行するためには、レジスタ15の内容を
以後の処理に含ませるためADDAアレイに帰還
させる。
累算を実行するためには、レジスタ15の内容を
以後の処理に含ませるためADDAアレイに帰還
させる。
符号付又は符号無記法のどちらも処理するた
め、被乗数(入力11)は2ビツト拡張され、乗
数(入力10)は1ビツト拡張される。拡張高位
ビツトの値は使用する記法と元の数の最大位ビツ
トの値とに依存する。従つて、符号付記法を用い
ている時、最大位ビツトの値は余分なビツトの
各々で繰返される、例えば被乗数のMSB位置の
論理「1」は入力11の拡張2ビツトで繰返され
る。符号無記法を用いている時には、余分なビツ
トの各々は論理「0」に強制される。
め、被乗数(入力11)は2ビツト拡張され、乗
数(入力10)は1ビツト拡張される。拡張高位
ビツトの値は使用する記法と元の数の最大位ビツ
トの値とに依存する。従つて、符号付記法を用い
ている時、最大位ビツトの値は余分なビツトの
各々で繰返される、例えば被乗数のMSB位置の
論理「1」は入力11の拡張2ビツトで繰返され
る。符号無記法を用いている時には、余分なビツ
トの各々は論理「0」に強制される。
2の補数符号付記法を処理するためには、部分
積発生器14は2の補数レジスタ16も含む。レ
ジスタ16は複数個のビツトを有し、各ビツトは
部分積に対応する。2の補数記法の対応する部分
積が負であることを指示するため、各ビツトはセ
ツト可能である。部分積の加算を実行する時、レ
ジスタ16の内容を加算しなければならない。各
2の補数ビツトを各々の部分積を含むアレイに加
算することが望ましい。
積発生器14は2の補数レジスタ16も含む。レ
ジスタ16は複数個のビツトを有し、各ビツトは
部分積に対応する。2の補数記法の対応する部分
積が負であることを指示するため、各ビツトはセ
ツト可能である。部分積の加算を実行する時、レ
ジスタ16の内容を加算しなければならない。各
2の補数ビツトを各々の部分積を含むアレイに加
算することが望ましい。
修正ブース・アルゴリズム・コード化を用いて
16ビツトかける16ビツトの乗算/累算を実行して
9部分積を発生するようにした3重アレイ乗算器
の特定の群分けの例は第2図に図示してある。9
部分積はPとP0からP7で指示される。各指示
にはビツト指定OからHが続く。Pは最低位、す
なわち最小部分積である。P7は最高位部分積で
ある。最小位ビツトはOで指示され、最大位ビツ
トはHである。第2図は又TCとTC0からTC7
で指示した2の補数ビツトも示す。アキユムレー
タ・レジスタの内容はOR0からORX2で指示さ
れ、アキユムレータ・レジスタの2の補数ビツト
はTCAとして示されている。
16ビツトかける16ビツトの乗算/累算を実行して
9部分積を発生するようにした3重アレイ乗算器
の特定の群分けの例は第2図に図示してある。9
部分積はPとP0からP7で指示される。各指示
にはビツト指定OからHが続く。Pは最低位、す
なわち最小部分積である。P7は最高位部分積で
ある。最小位ビツトはOで指示され、最大位ビツ
トはHである。第2図は又TCとTC0からTC7
で指示した2の補数ビツトも示す。アキユムレー
タ・レジスタの内容はOR0からORX2で指示さ
れ、アキユムレータ・レジスタの2の補数ビツト
はTCAとして示されている。
第2図のビツトは、等しい桁のビツトは同じ縦
列にくるように配置してある。従つて、ビツト桁
は右へ向つて移動するにつれて増大する。各2の
補数ビツトは各々の部分積の最小位ビツトと同じ
桁を有する(又はTCAの場合にはアキユムレー
タ・レジスタ)。
列にくるように配置してある。従つて、ビツト桁
は右へ向つて移動するにつれて増大する。各2の
補数ビツトは各々の部分積の最小位ビツトと同じ
桁を有する(又はTCAの場合にはアキユムレー
タ・レジスタ)。
第2図に示すように、SETAは6部分積のビツ
ト、すなわちPとP0からP4と、アキユムレー
タ内容OR0からPRX2、及び対応する2の補数
ビツトTC、TC0からTC4、TCAを含む。
SETBは部分積P6とP7及び対応する2の補数
ビツトTC6とTC7を含み、部分積P5のビツト
P52からP5Hを含む。低位ビツトP50とP
51、2の補数ビツトTC5はSETC′にグループ
分けされる。
ト、すなわちPとP0からP4と、アキユムレー
タ内容OR0からPRX2、及び対応する2の補数
ビツトTC、TC0からTC4、TCAを含む。
SETBは部分積P6とP7及び対応する2の補数
ビツトTC6とTC7を含み、部分積P5のビツト
P52からP5Hを含む。低位ビツトP50とP
51、2の補数ビツトTC5はSETC′にグループ
分けされる。
第2図のグループ分けりより加算を実行する3
重アレイ加算回路は第4図から第8図に概略的に
図示され、第3図が第4図から第8図をいかに配
置するかを示す。
重アレイ加算回路は第4図から第8図に概略的に
図示され、第3図が第4図から第8図をいかに配
置するかを示す。
ADDAは第4図から第6図に示すキヤリー・
セーブ・アレイである。第1行は第16及び第19ビ
ツト位置を除いて半加算器から構成される。第16
ビツト位置には全加算器が用いられて丸めビツト
RNDを導入し、必要なら結果の丸めを生じさせ
る。ダイヤモンド加算器が第1行の第19ビツト位
置にあつて、前の半加算器からそのb入力へ延び
たビツトPGを有する。第1行の全加算器、ダイ
ヤモンド加算器、第1半加算器の入力指示は図面
中の同一型式の他の加算器にも繰返される(図示
せず)。
セーブ・アレイである。第1行は第16及び第19ビ
ツト位置を除いて半加算器から構成される。第16
ビツト位置には全加算器が用いられて丸めビツト
RNDを導入し、必要なら結果の丸めを生じさせ
る。ダイヤモンド加算器が第1行の第19ビツト位
置にあつて、前の半加算器からそのb入力へ延び
たビツトPGを有する。第1行の全加算器、ダイ
ヤモンド加算器、第1半加算器の入力指示は図面
中の同一型式の他の加算器にも繰返される(図示
せず)。
当該技術において公知のように、(第5図の全
加算器40のような)全加算器は加数入力aと
b、キヤリー入力cio、和出力sとキヤリー出力
cputとを有する。半加算器41のような半加算器
はa,b入力とs,cput出力を有する。ダイヤモ
ンド加算器42のようなダイヤモンド加算器は、
a,b入力とs出力、そして半加算器のsとc出
力の論理ORである「s又はc」出力を有する。
各加算器へ入力されるビツトは図示の通りであ
る。さらに、ある入力は図示のように論理「1」
又は論理「0」に配線されている。
加算器40のような)全加算器は加数入力aと
b、キヤリー入力cio、和出力sとキヤリー出力
cputとを有する。半加算器41のような半加算器
はa,b入力とs,cput出力を有する。ダイヤモ
ンド加算器42のようなダイヤモンド加算器は、
a,b入力とs出力、そして半加算器のsとc出
力の論理ORである「s又はc」出力を有する。
各加算器へ入力されるビツトは図示の通りであ
る。さらに、ある入力は図示のように論理「1」
又は論理「0」に配線されている。
ADDAアレイは又条件和加算器MX0からMX
8を含む。当該技術において公知のように、これ
らはそのcio入力に従つて2個の全加算器の内の
一方を選択するマルチプレクを用いた高速加算器
である。最終積の反転低位ビツトは第4図で0
と10として図示されている。
8を含む。当該技術において公知のように、これ
らはそのcio入力に従つて2個の全加算器の内の
一方を選択するマルチプレクを用いた高速加算器
である。最終積の反転低位ビツトは第4図で0
と10として図示されている。
ADDBは第7図と第8図に示す1行の全加算
器に続く20ビツト・キヤリー・ルツクアヘツド加
算器(CLA)100を含む。最終積の反転高位
ビツトはCLA101から出力され、11から34
として図示されている。最終加算の実行時に、
ADDCアレイはADDBアレイからの中間和信号
を受信し、かつADDAアレイからの中間和信号
と中間キヤリー信号の両方を受取る。CLA10
0とCLA101はその入力を上に出力を下に図
示されている。CLAは当該技術において公知の
標準的な構成のもので、例えばエヌ・スコツト
(N.Scott)の「コンピユータの数値系と算術」
(1985)や米国特許第4153938号に示され、この両
方共引用により本明細書に含まれる。
器に続く20ビツト・キヤリー・ルツクアヘツド加
算器(CLA)100を含む。最終積の反転高位
ビツトはCLA101から出力され、11から34
として図示されている。最終加算の実行時に、
ADDCアレイはADDBアレイからの中間和信号
を受信し、かつADDAアレイからの中間和信号
と中間キヤリー信号の両方を受取る。CLA10
0とCLA101はその入力を上に出力を下に図
示されている。CLAは当該技術において公知の
標準的な構成のもので、例えばエヌ・スコツト
(N.Scott)の「コンピユータの数値系と算術」
(1985)や米国特許第4153938号に示され、この両
方共引用により本明細書に含まれる。
キヤリー・セイブ・アレイと第1のキヤリー・
ルツクアヘツド・アレイによる並列加算に続く第
2のキヤリー・ルツクアヘツド・アレイによる最
終和を用いた以上の3重アレイ乗算器アーキテク
チヤは高速、高性能かつ標準IC技術で実装可能
な回路の小チツプ面積を達成する。回路は融通性
のあるもので、累積も実行でき、符号付又は符号
無記法のどちらでも動作可能である。
ルツクアヘツド・アレイによる並列加算に続く第
2のキヤリー・ルツクアヘツド・アレイによる最
終和を用いた以上の3重アレイ乗算器アーキテク
チヤは高速、高性能かつ標準IC技術で実装可能
な回路の小チツプ面積を達成する。回路は融通性
のあるもので、累積も実行でき、符号付又は符号
無記法のどちらでも動作可能である。
本発明の望ましい実施例を本明細書に図示し記
述してきたが、前記実施例は単なる一例として与
えたものであることが理解できる。本発明の要旨
から逸脱することなく多くの変更や修正、置換え
が当業者には可能である。従つて、添附特許請求
の範囲は本発明の要旨と範囲に該当する全ての前
記変更をカバーする意図のものである。
述してきたが、前記実施例は単なる一例として与
えたものであることが理解できる。本発明の要旨
から逸脱することなく多くの変更や修正、置換え
が当業者には可能である。従つて、添附特許請求
の範囲は本発明の要旨と範囲に該当する全ての前
記変更をカバーする意図のものである。
第1図は本発明の3重アレイ加算を含むデイジ
タル乗算器の1実施例のブロツク線図である。第
2図は例示16×16乗算器/アキユムレータの加数
ビツトの群分けを示し、コード化を用いて9部分
積が発生している。第3図〜第8図は共に第2図
の乗算器/アキユムレータに対応する3重アレイ
アーキテクチヤの1実施例の概略図を与える。 10…乗数入力、11…被乗数入力、12…コ
ード化回路、14…部分積発生器、15…レジス
タ、16…2の補数レジスタ、40…全加算器、
41…半加算器、42…ダイヤモンド加算器、1
00,101…キヤリー・ルツクアヘツド加算
器。
タル乗算器の1実施例のブロツク線図である。第
2図は例示16×16乗算器/アキユムレータの加数
ビツトの群分けを示し、コード化を用いて9部分
積が発生している。第3図〜第8図は共に第2図
の乗算器/アキユムレータに対応する3重アレイ
アーキテクチヤの1実施例の概略図を与える。 10…乗数入力、11…被乗数入力、12…コ
ード化回路、14…部分積発生器、15…レジス
タ、16…2の補数レジスタ、40…全加算器、
41…半加算器、42…ダイヤモンド加算器、1
00,101…キヤリー・ルツクアヘツド加算
器。
Claims (1)
- 【特許請求の範囲】 1 和を発生するため2進加数を加算する回路に
おいて、 前記加数の第1群のビツトを加算するキヤリ
ー・セーブ・アレイであつて、前記第1群のビツ
トは所定数の最小位加数のビツトを実質的に含
み、前記和の最小位ビツトと中間和及びキヤリー
信号を発生する前記キヤリー・セーブ・アレイ
と、 前記第‘群にない前記加数の実質的に全てのビ
ツトを加算して小計を発生する、前記キヤリー・
セーブ・アレイと同時並行動作をする第1のキヤ
リー・ルツクアヘツド・アレイと、 前記キヤリー・セーブ・アレイと前記第1のキ
ヤリー・ルツクアヘツド・アレイに結合された第
2のキヤリー・ルツクアヘツド・アレイであつ
て、前記小計と前記中間和及びキヤリー信号から
前記和の最上位ビツトを発生する前記第2のキヤ
リー・ルツクアヘツド・アレイと、 を含む、2進加数を加算する回路。 2 特許請求の範囲第1項記載の回路において、
前記所定数の最小位加数は少なくとも加数の全数
の半分である回路。 3 特許請求の範囲第1項記載の回路において、
前記和を受取るため前記キヤリー・セーブ・アレ
イと前記第2のキヤリー・ルツクアヘツド・アレ
イに結合されたアキユムレータ・レジスタを含
み、前記キヤリー・セーブ・アレイは累算を実行
するため前記アキユムレータ・レジスタの内容を
前記第1群のビツトに加算するようにしてある回
路。 4 特許請求の範囲第1項記載の回路において、
前記キヤリー・セーブ・アレイに結合されて複数
個のビツトを有する2の補数レジスタを含み、各
ビツトは各加数の符号を各々指示し、前記2の補
数レジスタの内容は前記和に加算される回路。 5 デイジタル乗算器回路において、 前記部分積発生装置の入力に印加される乗数信
号と被乗数信号とに応答して複数個の異なるラン
クの部分積を発生する部分積発生装置と、 前記部分積の第1群のビツトを加算するため前
記部分積発生装置に結合したキヤリー・セーブ・
アレイであつて、前記第1群のビツトは最小位部
分積の所定数のビツトを実質的に含み、前記和の
最小位ビツトと中間和及びキヤリー信号を発生す
る前記キヤリー・セーブ・アレイと、 中間積を発生するため前記第1群中にない前記
部分積の実質的に全てのビツトを加算する前記部
分積発生装置に結合した、前記キヤリー・セー
ブ・アレイと同時並行動作をする第1のキヤリ
ー・ルツクアヘツド・アレイと、 前記キヤリー・セーブ・アレイと前記第1のキ
ヤリー・ルツクアヘツド・アレイに結合した第2
のキヤリー・ルツクアヘツド・アレイであつて、
前記中間積と前記中間和及びキヤリー信号から前
記和の最上位ビツトを発生する前記第2のキヤリ
ー・ルツクアヘツド・アレイと、 を含むデイジタル乗算器回路。 6 特許請求の範囲第5項記載の乗算器回路にお
いて、前記部分積発生装置は、発生される部分積
の数を減少させるため前記乗算器信号をコード化
するコード化回路を含む乗算器回路。 7 特許請求の範囲第6項記載の乗算器回路にお
いて、前記コード化回路は修正ブース・アルゴリ
ズムを実行する乗算器回路。 8 特許請求の範囲第5項記載の乗算器回路にお
いて、前記和を受取るため前記キヤリー・セー
ブ・アレイと前記第2のキヤリー・ルツクアヘツ
ド・アレイとに結合されたアキユムレータ・レジ
スタをさらに含み、前記キヤリー・セーブ・アレ
イは累算を実行するため前記第1群のビツトへ前
記アキユムレータ・レジスタの内容を加算するよ
うにした乗算器回路。 9 特許請求の範囲第5項記載の乗算器回路にお
いて、前記キヤリー・セーブ・アレイへ結合され
て複数個のビツトを有する2の補数レジスタをさ
らに含み、各ビツトは各部分積の符号を各々指示
し、前記2の補数レジスタの内容は前記和へ加算
されている乗算器回路。 10 特許請求の範囲第5項記載の乗算器回路に
おいて、部分積の前記所定数は部分積の全数の少
なくとも半分であり、かつ前記中間和とキヤリー
信号及び前記中間積が実質的に同時に発生される
ように選択されている乗算器回路。 11 特許請求の範囲第5項記載の乗算器回路に
おいて、前記部分積発生装置は9部分積を発生
し、前記キヤリー・セーブ・アレイにより加算さ
れる前記第1群のバイトは6最下部分積のビツト
を含み、前記第1のキヤリー・ルツクアヘツド・
アレイは1行の全加算器とキヤリー・ルツクアヘ
ツド加算器を含み、前記第2のキヤリー・ルツク
アヘツド・アレイは1行の全加算器とキヤリー・
ルツクアヘツド加算器とを含む乗算器回路。 12 デイジタル乗算器でn部分積を加算する方
法において、 キヤリー・セーブ・アレイでr最下部分積を加
算して最終積の最下ビツトを発生しかつ中間和と
キヤリー信号とを発生する段階であつて、rの値
はnの半分より大きい整数であり、前記キヤリ
ー・セーブ・アレイは時間遅延Aで前記加算を実
行する前記加算段階と、 キヤリー・ルツクアヘツド・アレイで前記部分
積の残りのビツトと同時に加算して時間遅延Bで
中間積を発生する段階と、 前記中間和とキヤリー信号及び前記中間積を加
算して前記最終和の最上位ビツトを発生する段階
と、 を含むn部分積を加算する方法。 13 特許請求の範囲第12項記載の方法におい
て、rの値は時間遅延Aと時間遅延Bとの間の差
を最小とするよう選択されている方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US908489 | 1986-09-17 | ||
US06/908,489 US4831577A (en) | 1986-09-17 | 1986-09-17 | Digital multiplier architecture with triple array summation of partial products |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6375932A JPS6375932A (ja) | 1988-04-06 |
JPH0543136B2 true JPH0543136B2 (ja) | 1993-06-30 |
Family
ID=25425888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62208402A Granted JPS6375932A (ja) | 1986-09-17 | 1987-08-24 | ディジタル乗算器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4831577A (ja) |
EP (1) | EP0260515B1 (ja) |
JP (1) | JPS6375932A (ja) |
DE (1) | DE3789132T2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4839848A (en) * | 1987-09-14 | 1989-06-13 | Unisys Corporation | Fast multiplier circuit incorporating parallel arrays of two-bit and three-bit adders |
US5278781A (en) * | 1987-11-12 | 1994-01-11 | Matsushita Electric Industrial Co., Ltd. | Digital signal processing system |
US4972362A (en) * | 1988-06-17 | 1990-11-20 | Bipolar Integrated Technology, Inc. | Method and apparatus for implementing binary multiplication using booth type multiplication |
JPH0776914B2 (ja) * | 1988-10-18 | 1995-08-16 | 三菱電機株式会社 | 乗算回路 |
GB2226899A (en) * | 1989-01-06 | 1990-07-11 | Philips Electronic Associated | An electronic circuit and signal processing arrangements using it |
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 |
EP0383965A1 (de) * | 1989-02-21 | 1990-08-29 | International Business Machines Corporation | Multiplizierwerk |
JP2540934B2 (ja) * | 1989-03-09 | 1996-10-09 | 三菱電機株式会社 | 論理回路装置 |
JPH07118630B2 (ja) * | 1989-06-29 | 1995-12-18 | 三菱電機株式会社 | 乗算用信号処理回路 |
US5121352A (en) * | 1990-02-06 | 1992-06-09 | Micron Technology, Inc. | Multiplier-accumulator circuit array operable in multiple modes |
US5121431A (en) * | 1990-07-02 | 1992-06-09 | Northern Telecom Limited | Processor method of multiplying large numbers |
US5153850A (en) * | 1990-08-24 | 1992-10-06 | Mass Microsystems | Method and apparatus for modifying two's complement multiplier to perform unsigned magnitude multiplication |
JPH04116720A (ja) * | 1990-09-07 | 1992-04-17 | Hitachi Ltd | 半導体装置 |
JP2838326B2 (ja) * | 1991-04-16 | 1998-12-16 | 三菱電機株式会社 | ディジタル乗算器 |
US5218564A (en) * | 1991-06-07 | 1993-06-08 | National Semiconductor Corporation | Layout efficient 32-bit shifter/register with 16-bit interface |
US5220525A (en) * | 1991-11-04 | 1993-06-15 | Motorola, Inc. | Recoded iterative multiplier |
US5375078A (en) * | 1992-12-15 | 1994-12-20 | International Business Machines Corporation | Arithmetic unit for performing XY+B operation |
KR0158647B1 (ko) * | 1995-05-22 | 1998-12-15 | 윤종용 | 부호/무부호 수 겸용 곱셈기 |
US5974437A (en) * | 1996-12-02 | 1999-10-26 | Synopsys, Inc. | Fast array multiplier |
US6571268B1 (en) | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
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 |
US6215325B1 (en) | 1999-03-29 | 2001-04-10 | Synopsys, Inc. | Implementing a priority function using ripple chain logic |
WO2004019534A2 (en) * | 2002-08-22 | 2004-03-04 | Med-El Elektromedizinische Geräte GmbH | Method and system for multiplication of binary numbers |
US20080225939A1 (en) * | 2007-03-15 | 2008-09-18 | Jiun-In Guo | Multifunctional video encoding circuit system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS593634A (ja) * | 1982-06-30 | 1984-01-10 | Fujitsu Ltd | 乗算器 |
JPS5911445A (ja) * | 1982-07-13 | 1984-01-21 | Nec Corp | 乗算器 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3508038A (en) * | 1966-08-30 | 1970-04-21 | Ibm | Multiplying apparatus for performing division using successive approximate reciprocals of a divisor |
US3670956A (en) * | 1968-09-26 | 1972-06-20 | Hughes Aircraft Co | Digital binary multiplier employing sum of cross products technique |
US3675001A (en) * | 1970-12-10 | 1972-07-04 | Ibm | Fast adder for multi-number additions |
US3866030A (en) * | 1974-04-01 | 1975-02-11 | Bell Telephone Labor Inc | Two{3 s complement parallel array multiplier |
BE844199A (nl) * | 1976-07-16 | 1976-11-16 | Inrichting voor het vermenigvuldigen van binaire getallen | |
US4153938A (en) * | 1977-08-18 | 1979-05-08 | Monolithic Memories Inc. | High speed combinatorial digital multiplier |
US4215416A (en) * | 1978-03-22 | 1980-07-29 | Trw Inc. | Integrated multiplier-accumulator circuit with preloadable accumulator register |
NL7809398A (nl) * | 1978-09-15 | 1980-03-18 | Philips Nv | Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie. |
US4228520A (en) * | 1979-05-04 | 1980-10-14 | International Business Machines Corporation | High speed multiplier using carry-save/propagate pipeline with sparse carries |
US4484301A (en) * | 1981-03-10 | 1984-11-20 | Sperry Corporation | Array multiplier operating in one's complement format |
US4545028A (en) * | 1982-10-13 | 1985-10-01 | Hewlett-Packard Company | Partial product accumulation in high performance multipliers |
JPH0640301B2 (ja) * | 1983-09-22 | 1994-05-25 | ソニー株式会社 | 並列乗算回路 |
US4660165A (en) * | 1984-04-03 | 1987-04-21 | Trw Inc. | Pyramid carry adder circuit |
US4575812A (en) * | 1984-05-31 | 1986-03-11 | Motorola, Inc. | X×Y Bit array multiplier/accumulator circuit |
US4679164A (en) * | 1984-12-17 | 1987-07-07 | The United States Of America As Represented By The Secretary Of The Army | Digital high speed programmable convolver |
-
1986
- 1986-09-17 US US06/908,489 patent/US4831577A/en not_active Expired - Lifetime
-
1987
- 1987-08-24 JP JP62208402A patent/JPS6375932A/ja active Granted
- 1987-08-31 EP EP87112663A patent/EP0260515B1/en not_active Expired - Lifetime
- 1987-08-31 DE DE3789132T patent/DE3789132T2/de not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS593634A (ja) * | 1982-06-30 | 1984-01-10 | Fujitsu Ltd | 乗算器 |
JPS5911445A (ja) * | 1982-07-13 | 1984-01-21 | Nec Corp | 乗算器 |
Also Published As
Publication number | Publication date |
---|---|
EP0260515A3 (en) | 1990-09-26 |
EP0260515B1 (en) | 1994-02-23 |
EP0260515A2 (en) | 1988-03-23 |
US4831577A (en) | 1989-05-16 |
DE3789132D1 (de) | 1994-03-31 |
JPS6375932A (ja) | 1988-04-06 |
DE3789132T2 (de) | 1994-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0543136B2 (ja) | ||
US4168530A (en) | Multiplication circuit using column compression | |
US5790446A (en) | Floating point multiplier with reduced critical paths using delay matching techniques | |
Ma et al. | Multiplier policies for digital signal processing | |
US4866656A (en) | High-speed binary and decimal arithmetic logic unit | |
US5508952A (en) | Carry-lookahead/carry-select binary adder | |
US4965762A (en) | Mixed size radix recoded multiplier | |
US4868777A (en) | High speed multiplier utilizing signed-digit and carry-save operands | |
JPS62280930A (ja) | デイジタル乗算器 | |
US5944776A (en) | Fast carry-sum form booth encoder | |
US5734599A (en) | Performing a population count using multiplication | |
US5497343A (en) | Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method | |
GB2262637A (en) | Padding scheme for optimized multiplication. | |
US4545028A (en) | Partial product accumulation in high performance multipliers | |
EP0670061B1 (en) | Enhanced fast multiplier | |
GB2263002A (en) | Parallel binary adder. | |
US4190894A (en) | High speed parallel multiplication apparatus with single-step summand reduction | |
JP3227538B2 (ja) | 2進整数乗算器 | |
US8417761B2 (en) | Direct decimal number tripling in binary coded adders | |
EP0534760A2 (en) | High speed multiplier device | |
EP0326414B1 (en) | High speed multiplier | |
US5119325A (en) | Multiplier having a reduced number of partial product calculations | |
JPH056892B2 (ja) | ||
JP2635696B2 (ja) | 乗算命令処理方式 | |
JPH0869372A (ja) | 2進乗算器 |