JPH07506444A - 小型乗算器 - Google Patents

小型乗算器

Info

Publication number
JPH07506444A
JPH07506444A JP5519127A JP51912793A JPH07506444A JP H07506444 A JPH07506444 A JP H07506444A JP 5519127 A JP5519127 A JP 5519127A JP 51912793 A JP51912793 A JP 51912793A JP H07506444 A JPH07506444 A JP H07506444A
Authority
JP
Japan
Prior art keywords
carry
sum
adder
register
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.)
Granted
Application number
JP5519127A
Other languages
English (en)
Other versions
JP3244506B2 (ja
Inventor
チュー チアオーアー アリサ
Original Assignee
セイコーエプソン株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by セイコーエプソン株式会社 filed Critical セイコーエプソン株式会社
Publication of JPH07506444A publication Critical patent/JPH07506444A/ja
Application granted granted Critical
Publication of JP3244506B2 publication Critical patent/JP3244506B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61MDEVICES FOR INTRODUCING MEDIA INTO, OR ONTO, THE BODY; DEVICES FOR TRANSDUCING BODY MEDIA OR FOR TAKING MEDIA FROM THE BODY; DEVICES FOR PRODUCING OR ENDING SLEEP OR STUPOR
    • A61M2210/00Anatomical parts of the body
    • A61M2210/10Trunk
    • A61M2210/1042Alimentary tract
    • A61M2210/1075Gall bladder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction 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/5336Reduction 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/5338Reduction 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 小型乗算器 公吸α畷L U迂肚 本発明は一般的に集積回路、超大規模集積回路、極超大規模集積回路の乗算器に 関するものである。特に、本発明は、チップ上で非常に小さな面積のみしか要し ないレイアウトアーキテクチャを用いた高速乗算技術に関するものである。
ヱー」影1艮訪 ディジタルシステムは多くの乗算アルゴリズムを用いる。第1A図は5x3=1 5という乗算の簡単な例を示している。2進の被乗数は2進の乗数で乗算される 。一連の、シフトした部分積はゼロと1からなっている。それらシフトした部分 積は加算され、積が得られる。ディジタルシステムでは、Xビットの数がyビッ トの数で乗算されれば、できる積はx+yビットの長さとなろう。
簡単な2進数の乗算においては、部分積は、乗数の最下位ビットから始め、一時 に乗数の1−ビットを加えることにより作られる。
部分積を作る最も簡単な方法の一つは、ビットバイピットの乗算器として、かの ゲートを用いることである。この簡単な乗算技術を用いると、Xビットの乗算器 はX個の部分積を生成することになる。
従来の方式では、部分積の数を減らすため符号化技術を用いている。部分積の数 を減らすことにより、必要な加算の数を減らすことができる。必要な加算の数を 減らすことは、2進数の乗算において必要なりロックサイクルの数を減らすこと になる。
従来の一つの方式は、ブース(Boo山)のアルゴリズムを符号化技術として採 用しているが、これにより部分積の数を半分に減らすことができる。ブースのア ルゴリズムは、時間のががる動作である乗算動作の速度を速める。第」B図は、 符号付き数の乗算に有効なブースコーディングを示している。ブースコーディン グは、時にはブースレコーディングデコーディングと呼ばれ、基本的には、積を 生成するのに必要な部分積の量を減らすものである。ブースのアルゴリズムとハ ードウェアでの実現方法は、fE’)9ny 、−術演、:静泪と゛ : Di  1tal Com user Arithmetic: Desi n an d知四km臼P焦四11J、F、 Cavanagh、 3章、McGraw− Hill Book Company(+984) (後に述べるWallaa : Treesを含む。)(ここに参考文献として含める。)に解説されている 。
いったん部分積ができるとそれらを加算しなくてはならない。
従来の加算器にはいくつかの型がある。従来の2人力加算器のひとつはキャリ伝 搬加算器(carry propagate adder; CPA)である。
CPA加算器は和ベクトルをキャリベクトルに加え、ひとつの最終的な積を出力 する。CPAは全加算器の一種である。全加算器とは2つのオペランドのビット の和とキャリーインビットを生成する回路である。キャリーインビットとはその 前の低次のオーダーのビット位置のキャリーアウトを表している。全加算器は2 つの出力を出力する:和ビット及びキャリーアウトピントである。
他の型の加算器はキャリーセイブ加算器(carry 5ave adder; C5A)と呼ばれるものである。C5Aは、単に多くの独立した全加算器又は半 加n器を集めたものである。全加算器は、3つの入力を持ち、半加算器は2つの 入力を持つ。C5Aは、高速度乗算に必要な多重加算を行うときに有用である。
C5Aの多数性のため、すべての加算が完了するまでキャリ伝搬を置いておくこ とができる。典型的には、CPAは最後のクロックサイクルで用いられ、C3A で行われたすべての加算に対するキャリ伝搬を完了する。
第2図はアレー乗算器201のブロックダイアダラムである。
第2図に示されているように、7つのC3Aと1つのCPAを用いて、2つの8 ビツトの数を互いに掛は合わすことができる。第2図のハードウェアを用い、乗 算をパイプライン化し、全スルーブツトを増加させることができる。しかしなが ら、第2図の設計を用いて、2つの倍桔度の数を掛は合わせるのに十分大きなア レーをひとつのチップにはめ込み、他の算術演算にもスペースを取ることは、典 型的には可能ではない。
したがって、VLSI設計者はマルティパスアレー乗算器や偶数/奇数乗算器( 両者ともここには示していない)のような他の型の乗算器を用いようとする。そ のような設計の例として、肚箆虱1−キテクチャ″量的 法 Com user  Architecture A antita口ve佃凹興助、J、 Hen nessy & D、 Patterson、 Morgan Kaufman n Publishers。
Inc、、付録A(+990) (後に述べるWallaoeTreesを含む 。) にこに参考文献として含める。)を参照のこと。これらのよく知られた設 計は、VLSIで容易に製作可能ではあるが、現在得られる設計の中で最高の速 度を与えるものではない。
乗算の速度を増加させる最も速い設計のひとつは、ワラスラリ−(Wallac e tree)である。従来のワラスラリー乗算器は第3図に示されている。図 に示されているようにワラスラリーはいくつかのC5Aと1つのCPAとを組み 合わせたものである。この設計の考え方は、2つの加算が並行に進むこと、ある いは他の言葉でいうと、データのほとんどのストリームが全加算器を通過し、多 数のパイプライン化したステージを可能にするということである。ワラスラリー は、最低でも、上述したアレー乗算器の速度の2倍で動作する。
ワラスラリーは書面上ではすばらしく見える。それは従来の他の乗算器に比ベゲ ートの数が少なくてよい。しかし、VLSIで製作するのが著しく難しいため、 ワラスラリーはもはやVLSI設計者には使われない。それはVLSIに必要な 、簡単で規則正しい構造を持たないことが判明したためである。したがって、従 来のVLSIワラスラリーはチップ」二で著しく大きな面積を必要とし;他の回 路に対しては以前」、り小さな面積しか取ることができない。第3図を参照しで 、ステージ302.304.306および308は統一性がない事に注目。
ワラスラリーの各ステージは次のステージと異なっている。これが、ワラスラリ ーをシリコン」−で製作するのが困難な1つの理由である。
ワラスラリーは不規則な構造を持つため、その正しさをチェックするのに大きな 労力が必要である。その」二、ワラスラリーが不規則な構造を持つため、レイア ウトにおける誤りを見つけるのは非常に困難である。これらの理由から、瓢!設 計者はほとんどの場合、ワラスラリー程遠くはないが、バイナリツリー乗算器( ここに示されていない)のような他の設計を選んできた。
手短に言うと、ワラスラリーは大きなチップ面積を必要とし、その不規則な構造 のため製作するのに大きな努力を払わなくてはならない。それ故、求めるものは 、ワラスラリーと同等な速度を持つが、チップ上でより小さな面積及び製作上よ り少ない労力しか必要としない規則的構造を持つデバイスである。
杢企咽!巾ワε 本発明は、極く小さなチップ面積しか要しないレイアウトアーキテクチャを用い た高速乗算技術を目的とする。本発明は、規則性を示す、高度に構造化したフロ アプランを採用している。本発明のフロアプランは従来のワラスラリーに比べて 約333%はど小型になっている。
独特なアーキテクチャ設計の他に、本発明は、その乗算器のあるエレメントを1 lulJ用する独特の乗算方式を用いている。例えば、最初の2つのC5A、ブ ースコーディング回路及び部分積回路は引き続くクロックサイクルで再利用され る。第1クロツクフエイズでは、部分積の第1のグループがブースコード化され る。第2クロツクフエイズでは、部分積の第1グループは最初の2つのC5Aに 入力され、一方同時に部分積の第2のグループがブースコード化される。第1の クロックサイクルの第2フエイズでは、部分積の第1グループは第1C3A及び 第2のCSAに入力される。第2のC5Aからの結果は第1及び第2のレジスタ にラッチされる。また、第」クロックサイクルの第2フエイズの間に、部分積の 第2グループがブースコード化される。
第2クロツクサイクルの第1のフェイズでは部分積の第2グループが第1 C5 A及び第2 C5Aに入力される。第2CSAからの結果は第3及び第4のレジ スタにラッチされる。
第2クロツクサイクルの第2フエイズで、第1、第2、第3及び第4のレジスタ からの結果は第3 C3A及び第4 C3Aに入力される。第4 CSAからの 出力は第5及び第6レジスタにラッチされる。
第3クロツクサイクルの第1フエイズでは第5及び第6レジスタに記憶された結 果がCPAに入力される。そしてそのCPAは乗算器としての最終的積を生成す る。
杢父里り竺駕上上戸; 本発明のひとつの特徴は、従来のワラスラリーに比べてチップ面積が33%少な い乗算器を提供することである。
本発明のもうひとつの特徴は構造的規則性である。
さらに、本発明のもうひとつの特徴は、レイアウト上の誤りが容易に分かる、す なわち、従来のワラスラリーのレイアウト上の誤りに比べて簡単に認識し修正を 行うことができる設計を提供することである。
本発明のもうひとつの特徴は、従来のワラスラリーに比べてキャリ七イブ加算器 の数が少ない乗算器を提供することである。
さらに、本発明の他の特徴及び利点、並びに本発明の種々の実施例の構造及び動 作に関して、以下図面を参照しながら詳しく説明する。
図面の簡単な説明 第1A図は乗算の簡単な例を示す。
第1B図は符号付き数の乗算のブース(Boo山)アルゴリズムの例を示す。
第2図はアレー乗や器のブロックダイアグラムを示す。
第3図は従来のワラスラリーを示す。
第4図は本発明による乗算器のアーキテクチャを表すブロックダイアグラムを示 す。
第5図は本発明のタイミングダイアグラムを示す。
図において、同一の要素又は同様の機能を持つ要素は同じ数で表す。さらに、番 号の一番左の数字は、その番号が最初に出てくる図面の番号を表す。
去施躬9可土父卆αL 月と二隊籾 本発明は、チップ上で非常に小さい面積しか必要としないレイアウトアーキテク チャを用いた高速乗算方式に関するものである。
本発明は2つの実施例を含む。第1の実施例は、本発明のアーキテクチャ的イン プリメンテーションに関するもので、第2の実施例は、本発明のアーキテクチャ 的インプリメンテーションを利用する方法に関するものである。上述した実施例 を以下のセクションで議論する。
20 アーキテクチャ 従来の乗算器、とくにワラスラリーに比べて本発明が持つ重要な利点のひとつは 、アーキテクチャにある。本発明は、規則性があり、従来のワラスラリーに比べ て約33.3%小型になるフロアプランを採用する。本発明は、その小さなサイ ズで速度に関し極く小さな犠牲を払うだけである(マシンサイクルの半分以下) 。
第4図は、本発明による乗算器402のアーキテクチャを示すブロックダイアグ ラムである。乗算器402は、4つのキャリ七イブ加算器(C5A) C5A  1−4、レジスタ1−4及びキャリ伝搬加算器1(CPAI)を含む。
C5Aは3つの入力及び2つの出力を有する。各C5Aの2つの出力は、第4図 に示すように、和(S)部分及びキャリ部分(Qからなる。C3Aの構造及び動 作はこの分野の専門家にはよく知られている。
レジスタI−4の各々は1つの入力と1つの出力を有する。この例では、レジス タ1は、C5A2がらの相入力410及びC5A 3への出力413を持ち;レ ジスタ2は、C5A 2からのキャリ入力卿及びC5A 3への出力414を持 ち;レジスタ3は、C3A 2からの相入力412及びC5A 3への出力41 5を持ち;レジスタ4は、C5A2がらのキャリ入力411及びC5A 4への 出力418を持つ。キャリ入力409及び4]1は異なった時刻における異なっ た値を表している。同様に、相入力410および相入力412は異なった時刻に おける異なった値を表している。以下に詳しく述べるように、レジスタl及び2 は部分積(AO−A3)に付随し、レジスタ3及び4は部分積(A4−A7)に 付随している。
CPA Iは2つの入力422及び423を持つ。CPAの構造及び動作はこの 分野の専門家にはよく知られている。
C5A及びレジスタ両名からの入力及び出力はデータバス(即ち、和及びキャリ )である。データバスはデータの信号ビットを運ぶバスのことである。データバ スの輻はどんなビット輻でもよい。
この実施例ではそれは69ビット幅である。
乗算器402は、ワラスラリーに比べてC5Aが2つ少ない。これは主にC5A  1及びC5A 2を再利用することで達成されている。その結果、乗算器40 2は従来のワラスラリーに比べて小型になり、規則性を示すことになる。乗算器 402の設泪の規則性は以下の議論でより明確になるであろう。
部分積AO−Axは、乗算器402への人力データを表す。ここでXはブースコ ーディング後の部分積の番号の1つを表す。部分積については従来技術のセクシ ョンで述べているが、部分積はこの分野の専門家にはよく知られている。同様に 、ブース コーディング、ハードウェア構造及び動作(従来技術のセクションで 述べている)もこの分野の専門家にはよく知られている。
第4図の例では、8つの部分積AO−A7がある。部分積AO−A7は、システ ムの仕様によるもので、何ビットの大きさでもよい。本実施例では各部分積Mは 66ビツトの幅を持つ。部分積は以下のごとくグループ化される:AOとA4、 AIとA5.A2とA6、MとA7゜各グループの最初の部分積(AO−A3) は、各グループの第2番目の部分積(A4−A7)と異なったクロックフェイズ で乗算器402に入力される。(すなわち、PHASEJおよびPHASE−2 ゜)本実施例では、部分積グループAO−A3はサイクル1の第1フエイズで乗 算器402に入力され、部分積グループA4A7はサイクルlの第2フエイズで 乗算器402に人力される。しかし、部分積が乗算積402に入力するのに、こ れらと同じフェイズやクロックサイクルに限る必要はない。
3.0タイミング 第5図は、本発明によるタイミングダイアグラム500を示す。
タイミングダイアグラム500は、データフロー、マシンサイクル(1−3)及 び2フエイズのクロック(CLK)を含む: CLK[O]およびCL、K(I ]、本発明には約2.5サイクルの待ち時間があるが、これは従来のワラスラリ ーと同じか幾分長い。しかしこの実現法の結果、構造に規則性ができ、従来のワ ラスラリーに比べてチップ面積の著しい減少が得られる。第4図では第3図より 少ないハードウェアで同じ結果が得られることに注意。とくに、C5A 1及び C5A2が再利用されている。さらに、第3図のセットアツプと異なり、乗算器 402には規則性がある。
第4図、第5図を参照して乗算器402がどのように乗算を行うかを以下に説明 する。サイクルlの第1フエイズでは部分積AC)−A3はブースコード化され 、乗算器402に入力される。
サイクルlの第2フエイズでは部分積AO1AI及びMがC3A1への入力にな る。C5A Iがらのキャリ405及び和406はC5A 2への人力になる。
すべてのC5Aは3つの入力が必要なため、部分積A3がC5A 2への第3の 入力になる。C3A2からの結果即ち出力は次にレジスタl及び2にラッチされ る。キャリ屯θはレジスタ2にラッチされ、和410はレジスタ1にラッチされ る。またサイクル2の後半部分では部分積A4−A7のブースコードが生成され る。
サイクル2の第1フエイズでは部分積A4、A5及びA6がC5Alへの入力に なる。C5A 1からの結果であるキャリ405及び和406はC5A2への入 力になる。部分積A7はC3A 2への第3の入力として働く。C5A2からの 結果は次にレジスタ3及び4にラッチされる。
特に、キャリ411はレジスタ4にラッチされ、和412はレジスタ3にラッチ される。
サイクル2の第2フエイズでは、レジスタl、レジスタ2及びレジスタ3にラン チされた結果が、それぞれ、データバス413.414及び415を通してC3 A 3に出力される。C5A 3からの出力、即ち和416およびキャリ417 はC5A 4にたいする2つの入力として働く。レジスタ4にラッチされた結果 はC5A4に対する第3の入力418である。C3A4からの結果は次にレジス タ5及び6にラッチされる。C5A 4からの和420及びキャリ421は、そ れぞれレジスタ5及び6にラッチされる。
サイクル3の第1フエイズではレジスタ5にラッチされたデータはデータバス4 22を通してCPA 1に入力される。同様に、レジスタ6にラッチされたデー タはデータバス423を通してCPA Iのもうひとつの人力となる。CPA  Iにデータが完全にロードされると、レジスタ5−6からの和及びキャリを加え 、最終の積が決定される。
システムによって、CPA Iは何ビットの大きさでもよい。本実施例ではCP A Iは128ビツトの加算器である。
レジスタ5及び6は、バイブライニングのため、C5A 4からの結果をCPA  lに送る前に記憶するために必要である。C5A 4からのキャリ421およ び和420は、典型的には、CPA Iが最終的積を生成するよりも速く決定さ れる。従って、CPA Iの遅い速度を補償するため、C3A 4からの出力を CPA Iで加算を行うため次のステージに送る前にそれらを記憶することが必 要なのである。
本発明の種々の実施例を1に述べたが、それらは例として挙げられたのであり、 限度を示すためのものではない。従って、本発明の精神と範囲は、上述した、例 として示したいかなる実施例もその限界を!j、えるものではなく、以下の特許 請求範囲及びそれと同等のものに従ってのみ規定される。
5 x 3 = 15 0101 MULTIPLICAND 敵乗数0101 MtJLT工PLIC AND #r更数Cう又ン1ノー 第 3 口 (従函に4支nテ2 凱−J−回 第 5回 補正書の翻訳文攪出書(特許法第184条の8)平成 6年 10月 28日

Claims (1)

  1. 【特許請求の範囲】 1.高速乗算器であって、 第1のキャリヤイプ加算器(CSA;carry−save adder)と、 上記第1のCSAに接続した第2のCSAと、上記第2のCSAに接続した第1 、第2、第3及び第4のレジスタと、 上記第1、ヒ記第2及び上記第3レジスタに接続した第3のCSAと、 上記第4レジスタ及び上記第3CSAに接続した第4のCSAと、上記第4のC SAに接続した第5及び第6のレジスタと、及び、上記第5及び第6CSAに接 続したキャリ伝搬加算器(carry propagate adder)と、 を有することを特徴とする高速乗算器。 2.ブースコード化した(Booth coded)部分積を入力とする小型集 積回路乗算器であって、 複数の部分積を入力し、第1の和と第1のキャリを生成する第1のキャリヤイプ 加算器(carry−save adder)と、上記第1キャリセイブ加算器 に接続し、もうひとつの部分積並びに上記第1の和及び上記第1のキャリを入力 とし、第2の和及び第2のキャリを化成する第2のキャリヤイプ加算器と、上記 第2キャリセイブ加算器に接続し、上記第2の和及び上記第2のキャリを記憶す るレジスタ手段と、上記レジスタ手段に接続し、上記レジスタ手段からの上記第 2の和及び上記第2のキャリを入力し、第3のキャリ及び第3の和を生成する第 3のキャリセイブ加算器と、上記レジスタ手段及び上記第3のキャリセイブ加算 器に接続し、上記レジスタ手段からの上記第2のキャリを入力し、上記第3キャ リヤイプ加算器からの上記第3のキャリ及び上記第3の和を入力し、第4のキャ リ及び第4の和を生成する第4のキャリヤイプ加算器と、 上記第4のキャリヤイプ加算器に接続し、上記第4のキャリ及び上記第4の和を 入力し、上記第4のキャリを上記第4の和に加算し最終的積を得るためのキャリ 伝搬加算器(carry propagate adder)と、 を有することを特徴とする小型集積回路乗算器。 3.請求項第2項の乗算器であって、上記レジスタ手段は第1レジスタ及び第2 レジスタを有し、上記第1レジスタは上記第2の和を記憶し、上記第2レジスタ は上記第2のキャリを記憶することを特徴とする乗算器。 4.請求項第3項の乗算器であって、上記第1及び第2レジスタは、クロックサ イクルの第1のフェイズで上記第2の和及び上記第2のキャリを入力することを 特徴とする乗算器。 5.請求項第2項の乗算器であって、上記レジスタ手段は第3レジスタ及び第4 レジスタを有し、上記第3レジスタは上記第2の和を記憶し、上記第4レジスタ は第2のキャリを記憶することを特徴とする乗算器。 6.請求項第5項の乗算器であって、上記第3及び第4レジスタはクロックサイ クルの第2フェイズに上記第2の和及び上記第2のキャリを入力することを特徴 とする乗算器。 7.請求項第2項の乗算器であって、さらに、上記第4キャリヤイプ加算器と上 記キャリ伝搬加算器との間に接続された第5のレジスタ及び第6のレジスタを有 し、上記第5レジスタは上記第4キャリセイブ加算器からの上記第4の和を上記 キャリ伝搬加算器に送る前に記憶し、上記第6レジスタは上記第4キャリヤイプ 加算器からの上記第4のキャリを上記キャリ伝搬加算器に送る前に記憶すること を特徴とする乗算器。 8.乗算器に入力したブースコード化した複数の部分積を用いて、2つの数を乗 算する方法であって、 (1)第1のキャリヤイプ加算器(CSA;carry−save adder )に入力した複数の部分積から、第1の和及び第1のキャリを上記第1CSAで 生成するステップと、 (2)第2のCSAに入力した、もうひとつの部分積並び上記第1の和及び上記 第1のキャリから第2の和と第2のキャリを上記第2CSAで生成するステップ と、 (3)上記第2の和及び上記第2のキャリを第1及び第2のレジスタに記憶する ステップと、 (4)上記第2の和及び上記第2のキャリを第3及び第4のレジスタに記憶する ステップと、 (5)上記ステップ(3)で記憶され、第3のCSAに入力された上記第2の和 及び上記第2のキャリから第3のキャリと第3の和を上記第3CSAで生成する ステップと、(6)上記ステップ(4)で記憶され、第4のCSAに入力された 上記第2の和及び上記第2のキャリから策4のキャリと第4の和を上記第4CS Aで生成するステツプと、(7)上記第4のキャリと第4の和を第5及び第6の レジスタに記憶するステップと、 (8)キャリ伝搬加算器に入力した、上記記憶された第4のキャリ及び上記記憶 された第4の和から上記キャリ伝搬加算器で最終的積を化成するステップと、を 有することを特徴とする乗算方法。 9.請求項第8項の方法であって、ステップ(1)及びステップ(2)から作ら れた上記第2のキャリ及び上記第2の和が、クロックサイクルの第1のフェイズ に上記第1及び第2のレジスタに記憶されることを特徴とする方法。 10.請求項第8項の方法であって、さらに、上記ステップ1−2を繰り返すス テップを有する方法。 11.請求項第10項の方法であって、上記繰り返しステップ1−2からの上記 第2のキャリ及び上記第2の和が、クロックサイクルの第2のフェイズの間に上 記第3及び第4のレジスタに記憶されることを特徴とする方法。
JP51912793A 1992-05-01 1993-04-27 小型乗算器 Expired - Fee Related JP3244506B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/877,562 US5325320A (en) 1992-05-01 1992-05-01 Area efficient multiplier for use in an integrated circuit
US877,562 1992-05-01
PCT/JP1993/000552 WO1993022721A1 (en) 1992-05-01 1993-04-27 Compact multiplier

Publications (2)

Publication Number Publication Date
JPH07506444A true JPH07506444A (ja) 1995-07-13
JP3244506B2 JP3244506B2 (ja) 2002-01-07

Family

ID=25370232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51912793A Expired - Fee Related JP3244506B2 (ja) 1992-05-01 1993-04-27 小型乗算器

Country Status (3)

Country Link
US (1) US5325320A (ja)
JP (1) JP3244506B2 (ja)
WO (1) WO1993022721A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146781A (ja) * 1993-11-19 1995-06-06 Sony Corp プロセツサ
GB2287331B (en) * 1994-03-02 1998-04-29 Advanced Risc Mach Ltd Electronic multiplying and adding apparatus and method
KR0147942B1 (ko) * 1994-08-12 1998-09-15 배순훈 승산기에서의 부스 레코딩회로
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
US6385634B1 (en) * 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US5721892A (en) * 1995-08-31 1998-02-24 Intel Corporation Method and apparatus for performing multiply-subtract operations on packed data
US6058408A (en) * 1995-09-05 2000-05-02 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5936872A (en) * 1995-09-05 1999-08-10 Intel Corporation Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations
US5983253A (en) * 1995-09-05 1999-11-09 Intel Corporation Computer system for performing complex digital filters
US6470370B2 (en) 1995-09-05 2002-10-22 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US6237016B1 (en) 1995-09-05 2001-05-22 Intel Corporation Method and apparatus for multiplying and accumulating data samples and complex coefficients
US5822459A (en) * 1995-09-28 1998-10-13 Intel Corporation Method for processing wavelet bands
US5621674A (en) * 1996-02-15 1997-04-15 Intel Corporation Computer implemented method for compressing 24 bit pixels to 16 bit pixels
JP3532338B2 (ja) * 1996-02-27 2004-05-31 株式会社ルネサステクノロジ 乗算装置
US5831885A (en) * 1996-03-04 1998-11-03 Intel Corporation Computer implemented method for performing division emulation
US5943250A (en) * 1996-10-21 1999-08-24 Samsung Electronics Co., Ltd. Parallel multiplier that supports multiple numbers with different bit lengths
US5974437A (en) * 1996-12-02 1999-10-26 Synopsys, Inc. Fast array multiplier
US6687722B1 (en) * 2000-03-16 2004-02-03 Agere Systems, Inc. High-speed/low power finite impulse response filter
US6883011B2 (en) * 2000-08-04 2005-04-19 Arithmatica Limited Parallel counter and a multiplication logic circuit
US7136888B2 (en) * 2000-08-04 2006-11-14 Arithmatica Limited Parallel counter and a logic circuit for performing multiplication
GB2365636B (en) * 2000-08-04 2005-01-05 Automatic Parallel Designs Ltd A parallel counter and a multiplication logic circuit
US20050021585A1 (en) * 2000-08-04 2005-01-27 Dmitriy Rumynin Parallel counter and a logic circuit for performing multiplication
GB2373602B (en) * 2001-03-22 2004-11-17 Automatic Parallel Designs Ltd A multiplication logic circuit
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
GB2383435A (en) * 2001-12-18 2003-06-25 Automatic Parallel Designs Ltd Logic circuit for performing modular multiplication and exponentiation
GB2396718B (en) * 2002-12-23 2005-07-13 Arithmatica Ltd A logic circuit and method for carry and sum generation and method of designing such a logic circuit
US6909767B2 (en) * 2003-01-14 2005-06-21 Arithmatica Limited Logic circuit
US7042246B2 (en) * 2003-02-11 2006-05-09 Arithmatica Limited Logic circuits for performing threshold functions
US7308471B2 (en) 2003-03-28 2007-12-11 Arithmatica Limited Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
WO2004104820A2 (en) * 2003-05-23 2004-12-02 Arithmatica Limited A sum bit generation circuit
KR20130111721A (ko) * 2012-04-02 2013-10-11 삼성전자주식회사 부분 곱 생성기의 부스코드 생성방법, 컴퓨터 시스템 및 그 매체와 디지털 신호프로세서

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4646257A (en) * 1983-10-03 1987-02-24 Texas Instruments Incorporated Digital multiplication circuit for use in a microprocessor
JPS6284335A (ja) * 1985-10-09 1987-04-17 Hitachi Ltd 乗算回路
JPS6297033A (ja) * 1985-10-24 1987-05-06 Hitachi Ltd 乗算装置
US4972362A (en) * 1988-06-17 1990-11-20 Bipolar Integrated Technology, Inc. Method and apparatus for implementing binary multiplication using booth type multiplication
US5036482A (en) * 1989-04-07 1991-07-30 Intel Corporation Method and circuitry for digital system multiplication

Also Published As

Publication number Publication date
WO1993022721A1 (en) 1993-11-11
JP3244506B2 (ja) 2002-01-07
US5325320A (en) 1994-06-28

Similar Documents

Publication Publication Date Title
JPH07506444A (ja) 小型乗算器
JP3869269B2 (ja) 単一サイクルにおける乗算累算演算の処理
JP4064989B2 (ja) パック・データの乗加算演算を実行する装置
JPS6217770B2 (ja)
JP3667635B2 (ja) 演算装置
JPS6297033A (ja) 乗算装置
JPH0368416B2 (ja)
US6728744B2 (en) Wide word multiplier using booth encoding
US5257217A (en) Area-efficient multiplier for use in an integrated circuit
JP3516504B2 (ja) データ処理乗算装置および方法
JPH01220528A (ja) パリテイ発生器
Srinivas et al. High efficient accurate DL-PO logic multiplier design for low power applications
JP2734438B2 (ja) 乗算装置
JP3221076B2 (ja) ディジタルフィルタ設計法
JPS6259828B2 (ja)
Ramaswamy et al. CMOS VLSI implementation of a digital logarithmic multiplier
Sacristán et al. A reusable Inner Product Unit for DSP applications
JPH0377539B2 (ja)
JPS6086671A (ja) 除算回路
JP3456450B2 (ja) 固定小数点乗算器および方法
JP2620660B2 (ja) 乗算器
JPS61177544A (ja) 直列乗算装置
JPH0421026A (ja) 高桁乗算装置
Wei et al. MODULO (2p±1) MULTIPLIERS USING A THREE-OPERAND MODULAR SIGNED-DIGIT ADDITION ALGORITHM
JPS5822448A (ja) 2の補数乗算回路

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081026

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091026

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101026

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101026

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111026

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121026

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121026

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121026

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees