JPH09505170A - ランタイムの短い乗算器 - Google Patents

ランタイムの短い乗算器

Info

Publication number
JPH09505170A
JPH09505170A JP7524301A JP52430195A JPH09505170A JP H09505170 A JPH09505170 A JP H09505170A JP 7524301 A JP7524301 A JP 7524301A JP 52430195 A JP52430195 A JP 52430195A JP H09505170 A JPH09505170 A JP H09505170A
Authority
JP
Japan
Prior art keywords
adder
multiplier
bit
partial product
sign
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.)
Pending
Application number
JP7524301A
Other languages
English (en)
Inventor
グレーン イェルク−ミヒャエル
ザーロモン オリヴァー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
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
Priority claimed from DE19944432432 external-priority patent/DE4432432A1/de
Priority claimed from DE4432425A external-priority patent/DE4432425A1/de
Application filed by Siemens AG filed Critical Siemens AG
Publication of JPH09505170A publication Critical patent/JPH09505170A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49994Sign extension

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

【発明の詳細な説明】 ランタイムの短い乗算器 本発明は、公知の乗算器よりも短いランタイムを有する2進符号化数値用の簡 単に構成された乗算器に関する。 2進符号化数値を乗算するために種々の乗算器構造が知られている。この場合 、シリアルでもパラレルでも動作する乗算方式が適用される。4象限乗算器とし てたとえばフィールド乗算器を用いることができ、そのアルゴリズムについては 雑誌"IEEE Transactions on Computers",Vol.C-22,No.1212.1973,p.1045-1 047に記載されている。あるいはブース(BOOTH)乗算器を用いることがで き、これについてはKlarによる”Integrierte digitale Schaltungen,Springer Verlag 1993,p.228-232”に記載されている。そこに示されているブース乗算 器はキャリー・リプル・ロジック(桁上げ伝播方式)を用いている。4象限乗算 器は、正の数値以外に負の数値も2の補数表示で処理できる。たとえばブース乗 算器を、キャリー・セーブ・ロジック(桁上げ保存方式)における計算時間の短 縮のために構成する場合には、符号ビットを個々の段において少なくとも2つの 別のビット桁で補足しなければならず、それらのビットは後続の加算段におけ る半加算器または全加算器の入力側へ導かれる。 たとえば被乗数と乗算器のそのつど1つのビットとの乗算により複数の部分積 が形成され、それらの部分積のうちまずはじめに最小位のものが加算される。次 に、形成された部分積小計にさらに別の部分積が加算される。 2の補数表示の数値を加算する際の基本法則により必要とされるのは、キャリ ー・セーブ方式で設計された乗算器(加算器)の場合、最上位の被加数ないし部 分積の最上位のものまで符号ビット(これは最上位ビットである)を補うことで ある。このことはやはり、個々の加算器列における各符号ビットを別の加算器の 入力側へ供給しなければならないことを意味する。 キャリー・リプル方式による乗算器の場合でも、被乗数と乗算器のそれぞれ1 つのビットとの乗算により複数の部分積が形成され、やはりまずはじめにそれら の部分積のうち最小位のものがキャリー・リプル方式で加算される。そして、形 成された部分積小計に、やはりそれぞれ1つの別の部分積が加算される。 2の補数表示による数値の加算めための相応の基本法則により必要とされるの は、キャリー・リプル方式で設計された乗算器の場合、予期される和の最上位ま で符号ビット(これは最上位ビットである)を補うことである。つまり、各符号 ビットを少なくとも1つの別の加算器の入力側へ供給しなければならない。 いかなる乗算器形式であっても、殊に別の加算器入力側による容量性負荷によ りランタイムが著しく長くなる。 したがって本発明の課題は、ランタイムの短くされた乗算器を提供することに ある。 この課題は、請求項1に記載の乗算器により解決される。 殊にこの乗算器の利点は、そのランタイムが短くなったことである。しかも回 路構成も簡単になり、レイアウト面積や電力消費も低減される。 また、1つの格別な利点は、この回路装置がブース乗算器において適用される ことである。その特別なアルゴリズムにより、他の乗算器回路よりもランタイム が著しく低減される。 さらに、たとえば小計のパラレルな算出のために1つまたは複数の2進桁だけ 符号ビットを補うことの必要な構造をもつ他のどのような乗算器形式であっても 、符号補足ないし符号補正の方式を適用できる。 キャリー・セーブ・ロジックで設計された乗算器の利点は殊にランタイムの低 減にあり、このことは一方では3つの最小位の部分積のパラレルな加算により、 他方では作動させるべき加算器入力側の低減により達成される。 キャリー・リプル方式による乗算器では終段加算器は不要になる。符号補足に よりランタイムが低減され る。しかも、やはり回路装置が簡単になり、レイアウト面積や電力消費も抑えら れる。 通常のフィールド乗算器の場合であっても回路が著しく単純になる。この利点 は、”パラレルに動作する”フィールド乗算器であれば複数のビットを有する符 号ビット補足によっていっそう大きくなる。 入力側に論理値1の供給される半加算器をそれぞれインバータと置き換えるこ とで、別の有利な回路単純化を行える。インバータ入力側による容量性および抵 抗性の負荷は、加算器の入力側と比べるとほとんど無視できる程度であり、構造 がいっそう簡略化される。 また、反転された入力信号の供給される全加算器をインバータと置き換えるこ とで、さらにランタイムが短くなる。 それぞれ1つの半加算器とインバータとから成る直列回路を省略できることで 、さらに別の回路単純化を行える。 当然ながら、乗算器をキャリー・リプル方式とキャリー・セーブ方式との混合 形態で設計できる。 乗算器に用いられる方式は、もちろん加算回路についても適用できる。これは 部分積の代わりに被加数だけを処理する一般的な乗算器に対応する。 次に、図面を参照しながら本発明の実施例について詳細に説明する。 図1は、著しく有利な本発明によるブース乗算器を 示す図である。 図2は、公知のブース乗算器を示す図である。 図3は、ブース符号化器を示す図である。 図4は、ブース乗算器を示す図である。 図5は、終段加算器を示す図である。 図6は、本発明によるブース乗算器を示す図である。 図7は、半加算器の等価回路である。 図8は、入力側が独特に組み合わせれた全加算器の等価回路である。 図9は、キャリー・セーブ・ロジックによるフィールド乗算器である。 図10は、改善されたフィールド乗算器の実施形態を示す図である。 図11は、改善された別のフィールド乗算器を示す図である。 図12は、最適化されたフィールド乗算器を示す図である。 図13は、乗算器回路の部分図である。 図14は、本発明による符号ビット補足の行われるこの部分図の変形実施例を 示す図である。 図15は、簡略化された別の乗算器回路を示す図である。 図16は、上記乗算器回路の最適化された実施形態を示す図である。 図17は、キャリー・リプル・ロジックによる公知のフィールド乗算器を示す 図である。 図18は、本発明によるフィールド乗算器を示す図である。 図19は、本発明によるフィールド乗算器の最適化された実施形態を示す図で ある。 図20は、乗算器回路の部分図である。 図21は、上記乗算器回路における本発明による変形実施例を示す図である。 図22は、上記変形実施例の最適化された実施形態を示す図である。 図1には、2つの8bit数値x8...x0およびy8...y0のための本発 明によるブース乗算器が示されている。このブース乗算器には上方の領域に、複 数のブースマルチプレクサMから成る2つの列R1およびR2が設けられている 。これに続いて(主として)複数の半加算器HAから成る列3が設けられている 。さらにこの列に続いて、やはり複数のブースマルチプレクサMから成る列R4 ,R6と、複数の全加算器VAから成る列R5,R7とが交互に設けられている 。この回路は実質的にキャリー・セーブ演算によって実現されたものである。乗 数y8...y0はブース符号化器BCOにおいていわゆるブース係数(ブースコ ントロール信号)VZ,S1,S2に変換され、これはブースマルチプレクサの ためのコントロール信号と して用いられる。 複数の段において積の和の計算が行われ、その際、部分積a8,a7,a6,. ..a0;b8,b7,b6,...b0;c8,c7,...の和が連続的に形成さ れる。半加算器HAないし全加算器VAにおいて、各列で形成された部分積が先 行の列ですでに形成されていた部分積小計に加算され、その際、小計における和 ビットSとキャリービットCが後続の加算器列へ導かれる。 終段加算器FA(図5)において、ブース係数VZと、もはやカスケードされ ない部分積ビットと、小計ビットとから、最終的な積が算出される。実際の乗算 器の場合には、終段加算器のためにランタイムのできるかぎり僅かな回路方式が 採用される。つまり、そこに示されている終段加算器は機能の説明のために用い られた構成にすぎない。 フィールド乗算器と比較すると、単純化されるように変形されたブース乗算器 の場合には、形成すべき部分積の個数が半減し、図1によればa8...a0;b8 ...b0;c8...c0;d8...d0となっている。このことは、奇数の乗 数ビットYi=y1,y3,y5,...(i=1,3,5,...)が除去され、 それらの情報が隣り合う偶数のビット桁に分配されることで達成される: したがってたとえば情報は最小位から4番目のビット(i=3)に対して、 (2)Y3・23=Y3[24 - 2・22] のようにして分配される。 図3には相応のブース符号化器BCOの回路が示されており、これにより式( 1)に応じた乗数の変換が実行される。 図4にはいわゆるブースマルチプレクサが示されており、次にその動作につい て手短に説明する。各ブース符号化器はそれぞれ3つの乗数ビットを2進のブー ス係数VZ,S1,S2に変換し、これにより値の範囲−2、−1、0、1、2 が表される。これらのブース係数にしたがって被乗数を1回ないし2回、加算ま たは減算するかあるいは無視する必要がある。2回加算する場合、乗数はブース マルチプレクサMにより1ビットだけシフトされる。必要とされる減算のために 、マルチプレクサの出力側が反転される。 この場合、+/−に対しVZ=0/1;VZ,S1,S2はブース係数である。 ブースマルチプレクサの出力信号ai,bi,ci,di(0≦i≦8)は、1の 補数表示の部分積にそれぞれ対応する。2の補数表示による数値への部分積の 変換のために、ブース係数の符号ビットVZa(0≦a≦3)が終段加算器FA において加算される。 形式上、1の補数表示による部分積も符号ビットも、2の補数表示による数値 のようにして扱われる。 先に挙げた文献”Integrierte digitale Schaltungen”の第231頁には、キ ャリー・リプル演算によるブース乗算器のロジックプランの一部分について詳細 に記載されている。そこには、それぞれ最初と最後のブースマルチプレクサはい っそう単純に設計できることが示されている。符号反転の構成は加算器に置き換 えられている。 図2による公知の4象限ブース乗算器の通常の構成の場合、部分積の和はでき るかぎり一様に構成された回路において求められる(たとえばIEEE Journal of Solid-State Circuits,Vol.SC-20,No.21985年4月刊、第542〜54 6頁)。 部分積の最上位ビットにより、個々の極性符号が表される。適正な極性符号処 理のためには、符号ビットを後続の部分積の最上位のものまで拡張しなければな らない。図2による公知の回路の場合、適正な符号処理のためにまずはじめに符 号ビットa8を後続の部分積の最上位のものまで補わなければならない。また同 様に、最上位の加算器セルのキャリービットCと和ビットSを、後続の部分積の 最上位のものまでそれぞれ補足しなければならない。 図2による回路の場合にはその結果として、”最上位の”(一番左側に配置さ れた)ブースマルチプレクサM18の出力側を3つの半加算器の各入力側と接続 しなければならない。また、列3の最上位の半加算器および列5の全加算器の和 ビット出力側およびキャリービット出力側も、符号を補足するため後続の加算器 列の3つの全加算器の各入力側とそれぞれ接続される。出力側における高められ た(容量性)負荷により、あらゆるロジックファミリにおいて遅延時間に対し悪 影響が及ぼされる。 図6には本発明によるブース乗算器が示されており、この回路はもはや上記の 欠点を有していない。 この回路構成を慣用のものと比べると、それぞれ最上位のブースマルチプレク サM18,M28,M38...の負荷が単純な負荷に低減されていることがわ かる。それぞれ示されているインバータを、相応のブースマルチプレクサの変形 により省略することができる。 この回路構成は、複雑さに関して最適化された回路の中間段階とみなすことが できる。それぞれ最上位の次のブースマルチプレクサM27,M37...の出 力側と接続されている各半加算器HAは、それらの出力側から部分積ビットb7 ないしc7,...を送出するが、それらの半加算器HAをインバータで置き換 えることができる。したがって、さもなければ論理値1 の供給されることになる入力側を有する半加算器が節約される。図7にはその等 価回路が示されている。 このような回路の変形は単に図式的に行うことができ、その際、最上位の桁p15 へはやはり1が加えられる。 本発明をいっそう良好に理解できるようにする目的で、まずはじめに極性符号 処理について数学的に説明する。 以下に示した表1には、乗数ビットMRと部分積PP1〜PP4と積PRとのの 対応づけが示されており、この積は部分積ビットと符号係数の和の形成により求 められる。 ワード長nを有する2の補数表示の数値Xは、次式のようにして表せる。 16bitである最大の和ワード長まで拡張された符号部分積ビットa8,b8 ,c8,d8の積極性符号和 SPVは、以下の通りとなる: (5)SPV= a8(-215+214+...+28) +b8(-215+214+...+210) +c8(-215+214+...;212) +d8(-215+214) この場合、 となる。 (7)SPV= a8(-215+215-28)+b8(-215+215-210) +c8(-215+215-212)- d8・214 = - a8・28 - b8・210 - c8・212 - d8・214 (−28+28)による拡張、第1の部分積PP1における拡張すべき符号ビッ トの負と正の2進値、なら により、次式が得られる: この場合、 8,b8,c8,...)であり次式が得られる: この結果の意味するところは次の通りである: 式(5)による表現とは異なり、正の係数を有する部分積だけが存在する;部 分積の符号ビットa8,b8,c8,d8は反転される;この場合、加算器からイン バーターへの式(9)による変形は、すでに考慮されている;重み28、29、211 、213、215を有する部分積ビットのために、1(これは個々の2のべき乗に 相応する)を加算する必要がある。 この計算の実行は図6にそのまま示されており、こ が実行されている。 部分積ビットの反転はブースマルチプレクサM18,M28,M38,M48 の出力側において行われ、つまりわかりやすくするために図示されているそれぞ れ1つのインバーターにより行われ、この反転は部分積ビットa8,b8,c8, d8に係わるものである。 2のべき乗28、29、211、213、215は、対応の加算器ならびに終段加算器 FAへ導かれる。 加算はその他の回路変形でも可能である。あとで2)のところで述べるように 、この回路をさらに簡単にすることができる。 数学的な計算の代わりに図式的な手順をとることもできる。さらに簡単にする ことも可能である。 1)第1段階では、次式により符号の補足が実行され る: =モジュロ2m+p加算 m 符号ビットの重み m+p 補足された最上位の符号ビットの重み 第1の加算器列に対し2つの2進桁だけ符号を拡張する場合、 が適用される。 相応に、図6の加算器列R3の回路が変形される。 式(12)による変形を以下の論理表で示す。 個々のキャリービットここでは2m+p+1(211)は 、不要である。 回路的には式の実行は以下のことを意味する: 符号ビットamの反転および2mの加算、つまり半加算器HAではなく全加算器 VAにおける1(図1または図6のa8;列R3)。 さらに、それぞれ半加算器HAの最上位桁における一定の1(2m+1と2m+2に 相応)の加算(図6、列3)。 2)第2段階では、一定の”論理値1”の供給される半加算器たとえば図6の最 初の加算器列R3における上位の2つの半加算器が、次式にしたがって置き換え られる: つまり、和ビットSは反転された入力信号bmに対応し、キャリービットCは入 力信号bmに対応する(図7)。 最上位の半加算器においては桁上げは不要となるの (これは図6における乗算器の別の加算器列ですでに行われている)。したがっ て図1の場合、すべての加算器列の上位の両方の半加算器はインバータに置き換 えられている。 3)第3段階では、図2中の他の加算器列R5およびR7における上位の2つの 全加算器VAの機能が、そ れぞれ次式にしたがって置き換えられる: 対応する回路が図8に示されている。 全加算器をそれぞれまずはじめに、たとえば図6によればブースマルチプレク サM37と接続されている半加算器と置き換えることができるし、あるいは図8 によるインバータと置き換えることができる。このことは回路的には、すでに第 1の加算器列において成されている措置に対応するものであり、図1による構成 となる。 同様に、一定の1が供給される全加算器の回路も簡単にすることができる。 つまり、一定の1の加えられる全加算器VAを、EX−NORゲートおよびO Rゲートで置き換えることができる。 符号補足の基本原理は種々の乗算器形式に適用でき、2桁よりも多い符号の補 足を行う必要のある場合でも適用できる(たとえば1991年9月刊のM.Belle ville等による文献”A 16*16 bits Multiplier 0.5μm CMOS technology”Proc eedings of ESSCIRC'91,Milan/Italy)。 ”最下位の”符号桁の場合、これまでどおり符号ビ ットの反転および論理値”1”の加算が行われる。最上位の半加算器(加算器) の場合、一定の論理値”1”が付加されるか、またはインバータと置き換えられ る。同じようにして他の加算器列も補われる。つまり、図1では部分積ビットb 7の供給される中央の変形された加算器回路が頻繁に生じる。 1つの加算器列においてただ1つの符号桁だけしか補わなくてよい場合には、 そのために1つの全加算器と1つの半加算器ないしインバータが必要とされる( 部分積ビットb7の供給される図6の半加算器HAは省略されることになる)。 次に、キャリー・セーブ方式によるフィールド乗算器に基づき本発明を説明す る。 図9にはこの種の乗算器が示されている。各乗算器列R1,R2,R3,R5 ,R7,R9において、被乗数x=x5....x0と乗数y=y5....y0の それぞれ1つのビットとの乗算により、部分積a5....a0,b5....b0 ,....,f5....f0が形成される。最初の3つの部分積a5....a0 ,b5....b0,c5....c0はパラレルに、第1の加算器列R4において 1つの”小計”Z1にまとめられる。これは和ビット”S”とキャリービット” C”とから成る(図5では見やすくするため、このことは全加算器VA45のと ころにだけ示されている)。 他の加算器列R6,R8,R10において、それぞれ1つの他の部分積d5. ...d0,...,f5....f0上記の中間値に加えられる。 簡単にすべき符号ビットの結線が太いラインにより表されている。第1の加算 器列R4において、第1の部分積a5....a0の符号ビットa5が上位の3 つの全加算器VA44〜VA46へ導かれ、第2の部分積b5....b0の符号 ビットb5も、同じ上位の2つの全加算器VA45,VA46へ導かれる。 加算器列R4および次の加算器列において、それぞれ最上位の全加算器VA4 6,VA66,VA86,...から送出される和ビットを1つのビット桁だけ 補足する必要がある。 最後の部分積は、被乗数xの2の補数と乗数yの符号ビットykとの乗算によ り形成される。終段加算器FAたとえばリプル加算器において、和ビットとキャ リービットとから最終的な積が算出される。 負の数値を2の補数で表す場合、式(16)にしたがって積が算出される: 最上位の加算器VA46...VAA6の部分で、この回路を簡単にすべきで ある。 次に、そのような回路の単純化についてまずはじめに説明する。その際、さし あたって2つの数値の符号ビットだけに絞って考察することにする。そしてこれ を多数の数値へと問題なく拡張できる。 最初の段階では、1つの符号ビットakに対する符号ビットの補足を次式にし たがって実行する。 下位のビットを無視すれば、たとえばk=5において次式が成り立つ: および それらのビットの加算(これは別の数値の最上位ビットc5,c4の加算によ り補われる)は、重みに応じて列ごとに並べられた次の表で示すことができる。 中央の2つの列は、式(18)および(19)にしたがって変形されたもので ある。右側の2つの列の場合、論理値1の加算がすでに実行されたものである。 右側の両方の列に示されている変形は次のように解釈できる。すなわち、重み2 6の反転された符号ビットと3番目の部分積のビットc4の加算ならびに論理値 1と3番目の部分積の符号ビットc5との加算により、和が算出される。 図10に示されている乗算器の場合、第1の加算器列R4においてこのような 単純化が行われている。最上位の次の全加算器VA45へ符号ビットa5とb5が 反転されて導かれ、最上位の全加算器VA46(図9)はすでに半加算器HA4 6に置き換えられており、この半加算器へは符号ビットC5のほかに一定の論理 値1が導かれている。 もちろん、最上位の全加算器VA46(図9)ないし半加算器HA46(図1 0)において、式(17)ないし(18)にしたがって変形を施すこともできる 。しかしこの変形によっても、以下で述べるような手順とは異なり、回路がさら に単純化されることにはならない。 半加算器の論理的動作(13)にしたがって、図10による回路装置をさらに 簡単にすることができ、こ れは次のようにして行える。すなわち、まずはじめに最上位の半加算器HA46 がインバータと置き換えられる。その結果が図11である。第2の加算器列R6 の最上位の全加算器VA66へは、互いに反転されている2つの入力信号が供給 される。したがって第3の段階で、この全加算器および他の加算器列の別の最上 位の全加算器VA86〜VAA6(図9)を、式(14)に応じて置き換えるこ とができる。 に処理できるので、可変の入力値cmのほかに論理値1の供給される1つの半加 算器で十分である。図11の場合、この簡略化はこれまで、半加算器HA86で 置き換えられた1つの全加算器VA86(図10)においてだけしか行わなかっ た。 残りの最上位の全加算器も、一定の論理値1の供給される半加算器で置き換え ることができ、さらにそれらの半加算器をやはりインバータで置き換えることが できる。図12には、このようにして最適化された回路構成が示されている。こ の場合、図9における最上位の全加算器VA46,VA66,...VAA6は 不要になっている。 当然ながら、ブールの規則による回路の変形も可能である。たとえば、1つの ゲートと1つのインバータの直列回路を1つの反転ゲートで置き換えることがで き、ANDゲートの機能をORゲートによってシミュ レートできる。 符号ビットの補足の既述の基本原理を任意のビット桁数のために拡張すること ができ、このことは殊に、少なくとも2つの符号ビットの処理されるビット桁に 関して重要である。 式(20)によれば次式が成り立つ: このことは回路的には次のことを意味する。すなわち、符号ビットが反転され て供給される全加算器の後ろで、すべての最上位の全加算器を半加算器で置き換 えることができ、それらの半加算器へはcビットのほかに論理値1が供給される 。論理値1の加算が意味するのはcビットの反転であり、したがって半加算器を 式(13)にしたがって1つのインバータで置き換えることができる。 また、簡略化された符号ビット補足のために、一般的に適用できるアルゴリズ ムを導出することもできる。ワード長k+1を有する2の補数表示の数値x=x k....x0を以下のように表せる: Sビットだけ符号を拡張する場合、符号ビットAおよびBの和に対し以下のこ とが成り立つ: 回路を実現させる場合、個々の2進桁において個々の部分積ビットまたは先行 の加算器列からのキャリービットをさらに加える必要がある。 図5には、並列に動作するキャリー・セーブ乗算器 の一部分が示されており、相前後する2つの加算器列の間で2つのビットの符号 ビットの補足が行われる。この場合、最上位の全加算器VA4Aの両方の出力値 を補う必要がある。 表(21)ないし式(24)にしたがって、まずはじめに第1の加算器列R4 が変形される。図14には、全加算器VA48に対する入力値の反転、ならびに 上位の2つの全加算器の半加算器HA49,HA4Aへの変形が示されている。 第2の段階で、半加算器HA49およびHA4Aが式(13)にしたがってそ れぞれ1つのインバータと置き換えられる。このことにより形成される回路が図 15に示されている。 第3の段階で、後続の加算器列(R6)の上位の2つの全加算器VA6A,V A69が式(14)にしたがって半加算器HA6A,HA69に置き換えられ、 さらにこれらの半加算器はインバータとして構成される(第2の段階と第3の段 階の順序は任意である)。 図16には最適化された回路構成が示されている。任意の大きさの符号ビット 補足においてこの手順を適用できる。 次に、キャリー・リプル方式による乗算器について本発明を説明する。 図17には、キャリー・リプル方式による公知のフィールド乗算器が示されて いる。乗算器列R1,R2 ,R4,R6,R8,R10において、被乗数x=x5...x0と乗数y=y5 ...y0のそれぞれ1つのビットとの乗算により、部分積a5....a0,b5 ....b0,....,f5....f0が形成される。最初の2つの部分積a5 ....a0,b5....b0は第1の加算器列R3において”小計”Z1にま とめられ、これは加算器VA,HAの和出力側”S”に生じる(和出力側Sおよ びキャリー出力側Cは図17(図18、図19)では見やすくするため全加算器 VA35においてしか示されていない)。 他の加算器列R5,R7,R9,R11において、その他の部分積c5... .c0,...,f5....f0がそれぞれ加えられる。 太いラインで符号ビットの”結線”が示されている。第1の加算器列R3にお いて、第1の部分積a5....a0の符号ビットa5が上位の3つの全加算器V A34..VA36へ導かれ、第2の部分積b5....b0の符号ビットb5が 上位の2つの全加算器VA35とVA36へ導かれている。 後続の加算器列R5....R11において、形成された小計に対しそれぞれ 1つの符号ビットの補足だけしか必要としない。 最後の部分積f5....f0は、被乗数xの2の補数と乗数yの符号ビットyk との乗算により形成され、これは最後の小計Z4に加えられ、これによって最 終的な積p11..p0を得ることができる。 この乗算器の場合、負の数値が2の補数で表示されているならば式(16)に したがって積が算出される。 符号の拡張のためにすでに導出されたアルゴリズムは、この乗算器形式にも適 用される。最上位の全加算器VA36,VA56,..の部分において、既述の 手順にしたがって回路を簡略化する。 最初の段階では、符号ビットak(重み≧2kから)のための符号の補足が式( 17)により実行される。 示されている回路の場合、この符号補足は加算器列R3の上位の全加算器VA 36,VA35において実行される。下位のビットを無視すれば次式が成り立つ : 変形により得られたビットから(符号ビットに応じて)和が形成される。 (キャリービットc6とc7で補われた)これらのビットの加算を次の表で示す ことができる。 中央の2つの列は、式(25)および(26)にしたがって変形されたもので ある。右側の2つの列では、論理値1の加算がすでに実行されている。これらの 列に示されている変形は次のように解釈できる。すなわち、重み26の反転され た符号ビットと3番目の部分積のキャリービットc5との加算ならびに論理値1 と符号ビットc5との加算により、和が算出される。論理値1の加算とはキャリ ービットの反転のことを意味する。したがって、半加算器をインバータで置き換 えることができる。 本発明による乗算器の示されている図18において、このような簡略化が実現 されている。最上位の次のすべての全加算器VA35〜VAB5へ供給される符 号ビットは反転され、最上位の全加算器はそれぞれ半加算器HA36,HA56 ....に置き換えられており、それらの半加算器にはキャリービットのほかに 一定の論理値1が導かれている。各半加算器の和出力側から送出されるビットS も(最上位桁の”和ビット”P11を除いて)、次の部分積の符号ビットと組み合 わせられる前に同じようにしてやはり反転される。 半加算器の論理的動作(13)にしたがって、この回路構成をさらに単純にす ることができ、これは次のようにして行える。すなわち、それぞれ半加算器とイ ンバータとの直列回路(図18)を省略し、ダイレク トな接続で置き換えることで行える(同様にインバータだけを省略することもで き、この場合には各半加算器へ論理値1の代わりに論理値0が導かれる)。当然 ながら、”ブールの規則”にしたがってこの回路をさらに変形することも可能で ある。 図19には最適化されたフィールド乗算器が示されており、この場合には各加 算器列において、図17に比べて1つの全加算器が省略されており、図18に比 べて1つの半加算器が省略されている。その際、全加算器VAB5のキャリー出 力側から送出されるビットを反転させる必要がある。 キャリー・リプル方式で回路を実現する場合には各符号ビットを処理する2進 桁において、反転された符号ビットまたは一定の2進値(論理値1)のほかに、 下位の全加算器のキャリービットをそれぞれ加える必要がある。 さらに図20には、符号の補足を伴うキャリー・リプル乗算器の一部分が示さ れている。 式(24)ないし表(27)にしたがって、まずはじめに第1の加算器列R3 が変形され、これは2つの符号ビットの導かれる全加算器VA39から着手され る。 次に、表(27)にしたがって最上位の全加算器VA39(図20)が、論理 値1の供給される半加算器HA39で置き換えられる(図21;変形された回路 は図18に相応する。それというのはこの場合もともかくそれぞれ最上位の次の 加算器へ2つの符号ビットが導かれるからである)。 実施された回路変形は、符号ビットの反転ならびに最上位の全加算器VA59 を半加算器HA59で置き換えることで、次の加算器列に対して繰り返される。 最上位の半加算器へは、やはりキャリービットのほかに論理値1がそれぞれ導か れる。 図21には変形された加算器列が示されている。 各加算器列の最上位の半加算器は、やはり式(18)にしたがってインバータ で置き換えることができる。この場合、それまで設けられていたインバータIN は省略される。それというのは半加算器とインバータにより符号ビットが2回反 転されるからである。その代わりにダイレクトな接続が行われる(たとえば、全 加算器VA38と次の加算器列における最上位の全加算器の入力側との間の接続 路中の半加算器HA39とインバータIN)。これに対し、全加算器VA38の キャリー出力側と全加算器VA57の入力側との間に付加的なインバータを必要 とすることなどがある。 図22には最適化された回路構成が示されている。この場合、任意の個数の符 号補足であっても簡略化は同じままである。 ANDゲートとインバータの直列回路をNANDゲートで置き換えることから はじまって、それをORゲ ート機能を有する等価回路により置き換えることなどから、反転された信号の処 理に至るまで、数多くの”ブール規則に基づく”変形も当然ながら可能である。 すべての乗算器形式において、複数の部分積小計を並列に算出してそれらをま とめることが知られているし、あるいは考えられる。 参照符号リスト BCO ブース符号化器 S1,S2,VZ ブース係数 VZ 極性符号 M,,.M18 ブース乗算器 R1,R2,R4 乗算器列または R3,R5,... 加算器列 VA 全加算器 HA 半加算器 IN インバータ a8...a0 部分積 b8...b0 〃 a5...a0 〃 b5...b0 〃 c8...c0 〃 x=x7...x0 被乗数 y=y7...y0 〃 x=x5...x0 〃 y=y5...y0 〃 x7,y7;x5,y5 符号ビット Z1,Z2,.... 小計 FA 終段加算器 p11...p0 最終積
【手続補正書】特許法第184条の8 【提出日】1996年3月28日 【補正内容】 明細書 ランタイムの短い乗算器 本発明は、公知の乗算器よりも短いランタイムを有する2進符号化数値用の簡 単に構成された乗算器に関する。 2進符号化数値を乗算するために種々の乗算器構造が知られている。この場合 、シリアルでもパラレルでも動作する乗算方式が適用される。4象限乗算器とし てたとえばフィールド乗算器を用いることができ、そのアルゴリズムについては 雑誌"IEEE Transactions on Computers",Vol.C-22,No.1212.1973,p.1045-1 047に記載されている。あるいはブース(BOOTH)乗算器を用いることがで き、これについてはKlarによる”Integrierte digitale Schaltungen,Springer Verlag 1993,p.228-232”に記載されている。そこに示されているブース乗算 器はキャリー・リプル・ロジック(桁上げ伝播方式)を用いている。4象限乗算 器は、正の数値以外に負の数値も2の補数表示で処理できる。たとえばブース乗 算器を、キャリー・セーブ・ロジック(桁上げ保存方式)における計算時間の短 縮のために構成する場合には、符号ビットを個々の段において少なくとも2つの 別のビット桁で補足しなければならず、それらのビットは後続の加算段におけ る半加算器または全加算器の入力側へ導かれる。 たとえば被乗数と乗算器のそのつど1つのビットとの乗算により複数の部分積 が形成され、それらの部分積のうちまずはじめに最小位のものが加算される。次 に、形成された部分積小計にさらに別の部分積が加算される。 2の補数表示の数値を加算する際の基本法則により必要とされるのは、キャリ ー・セーブ方式で設計された乗算器(加算器)の場合、最上位の被加数ないし部 分積の最上位のものまで符号ビット(これは最上位ビットである)を補うことで ある。このことはやはり、個々の加算器列における各符号ビットを別の加算器の 入力側へ供給しなければならないことを意味する。 キャリー・リプル方式による乗算器の場合でも、被乗数と乗算器のそれぞれ1 つのビットとの乗算により複数の部分積が形成され、やはりまずはじめにそれら の部分積のうち最小位のものがキャリー・リプル方式で加算される。そして、形 成された部分積小計に、やはりそれぞれ1つの別の部分積が加算される。 2の補数表示による数値の加算のための相応の基本法則により必要とされるの は、キャリー・リプル方式で設計された乗算器の場合も、予期される和の最上位 まで符号ビット(これは最上位ビットである)を補うことである。つまり、各符 号ビットを少なくとも1つの別の加算器の入力側へ供給しなければならない。 いかなる乗算器形式であっても、殊に別の加算器入力側による容量性負荷によ りランタイムが著しく長くなる。 ”Electronics Letters”25th 9.1986,Vol.22,No.20,p.1061 - 1061には 、ブース乗算器の符号ビット補足における簡略化手法が示されており、これは図 4にしたがって複数の全加算器により構成されている。しかしそこには、回路を いっそう簡略化するための記載は記されていない。なお、この方法はブース乗算 器に限定されたものではないが、他の乗算器形式にこの方法を適用しても最適な 結果は得られない。 したがって本発明の課題は、単純化された構造とランタイムの短くされた乗算 器を提供することにある。 この課題は、請求項1に記載の乗算器により解決される。 殊にこの乗算器の利点は、そのランタイムが短くなったことである。しかも回 路構成も簡単になり、レイアウト面積や電力消費も低減される。 さらに、たとえば小計のパラレルな算出のために1つまたは複数の2進桁だけ 符号ビットを補うことの必要な構造をもつ他のどのような乗算器形式であっても 、符号補足ないし符号補正の方式を適用できる。 キャリー・セーブ・ロジックで設計された乗算器の利点は殊にランタイムの低 減にあり、このことは一方では3つの最小位の部分積のパラレルな加算により、 他方では作動させるべき加算器入力側の低減により達成される。 キャリー・リプル方式による乗算器では終段加算器は不要になる。符号補足に よりランタイムが低減される。しかも、やはり回路装置が簡単になり、レイアウ ト面積や電力消費も抑えられる。 通常のフィールド乗算器の場合であっても回路が著しく単純になる。この利点 は、”パラレルに動作する”フィールド乗算器であれば複数のビットを有する符 号ビット補足によっていっそう大きくなる。 入力側に数値1(論理値1)の供給される半加算器をそれぞれインバータと置 き換えることで、別の有利な回路単純化を行える。インバータ入力側による容量 性および抵抗性の負荷は、加算器の入力側と比べるとほとんど無視できる程度で あり、構造がいっそう簡略化される。 また、反転された入力信号の供給される全加算器をインバータと置き換えるこ とで、さらにランタイムが短くなる。 それぞれ1つの半加算器とインバータとから成る直列回路を省略できることで 、さらに別の回路単純化を行える。 当然ながら、乗算器をキャリー・リプル方式とキャリー・セーブ方式との混合 形態で設計できる。 乗算器に用いられる方式は、もちろん加算回路につ いても適用できる。これは部分積の代わりに被加数だけを処理する一般的な乗算 器に対応する。 次に、図面を参照しながら本発明の実施例について詳細に説明する。 図1は、著しく有利な本発明によるブース乗算器を示す図である。 図2は、公知のブース乗算器を示す図である。 図3は、ブース符号化器を示す図である。 図4は、ブース乗算器を示す図である。 図5は、終段加算器を示す図である。 図6は、本発明によるブース乗算器を示す図である。 図7は、半加算器の等価回路である。 図8は、入力側が独特に組み合わせれた全加算器の等価回路である。 図9は、キャリー・セーブ・ロジックによるフィールド乗算器である。 図10は、改善されたフィールド乗算器の実施形態を示す図である。 図11は、改善された別のフィールド乗算器を示す図である。 図12は、最適化されたフィールド乗算器を示す図である。 図13は、乗算器回路の部分図である。 図14は、本発明による符号ビット補足の行われる この部分図の変形実施例を示す図である。 図15は、簡略化された別の乗算器回路を示す図である。 図16は、上記乗算器回路の最適化された実施形態を示す図である。 図17は、キャリー・リプル・ロジックによる公知のフィールド乗算器を示す 図である。 図18は、本発明によるフィールド乗算器を示す図である。 図19は、本発明によるフィールド乗算器の最適化された実施形態を示す図で ある。 図20は、乗算器回路の部分図である。 図21は、上記乗算器回路における本発明による変形実施例を示す図である。 図22は、上記変形実施例の最適化された実施形態を示す図である。 次に、ブース乗算器に基づき符号の拡張および回路簡略化の基本原理について 詳細に説明する。 先に挙げた文献”Integrierte digitale Schaltungen”の第231頁には、キ ャリー・リプル演算によるブース乗算器のロジックプランの一部分について詳細 に記載されている。そこには、それぞれ最初と最後のブースマルチプレクサはい っそう単純に設計できることが示されている。符号反転の構成は加算器に置き換 えられている。 図2による公知の4象限ブース乗算器の通常の構成の場合、部分積の和はでき るかぎり一様に構成された回路において求められる(たとえばIEEE Journal of Solid-State Circuits,Vol.SC-20,No.21985年4月刊、第542〜546 頁)。 このブース乗算器には上方の領域に、複数のブースマルチプレクサMから成る 2つの列R1およびR2が設けられている。これに続いて(主として)複数の半 加算器HAから成る列3が設けられている。さらにこの列に続いて、やはり複数 のブースマルチプレクサMから成る列R4,R6と、複数の全加算器VAから成 る列R5,R7とが交互に設けられている。この回路は実質的にキャリー・セー ブ演算によって実現されたものである。乗数y8...y0はブース符号化器BC Oにおいていわゆるブース係数(ブースコントロール信号)VZ,S1,S2に 変換され、これはブースマルチプレクサのためのコントロール信号として用いら れる。 この公知の回路の場合、適正な符号処理を達成するためには、まずはじめに符 号ビットa8を後続の部分積の最上位のものまで補足しなければならない。同じ やり方で、最上位の加算器列におけるキャリービットCと和ビットSをそれぞれ 後続の部分積の最上位のものまで補足しなければならない。 その結果、”最上位の”(最も左側に配置された) ブースマルチプレクサM18の出力側を3つの半加算器の各入力側と接続しなけ ればならない。また、列R3における最上位の半加算器の和ビット出力側とキャ リービット出力側も、後続の加算器列における3つの全加算器の各入力側とそれ ぞれ接続しなければならない。出力側の(容量性)負荷が高まることで、すべて のロジックファミリにおいて遅延時間に関して悪影響を及ぼす。 複数の段において積の和の計算が行われ、その際、部分積a8,a7,a6,. ..a0;b8,b7,b6,...b0;c8,c7,...の和が連続的に形成さ れる。半加算器HAないし全加算器VAにおいて、各列で形成された部分積が先 行の列ですでに形成されていた部分積小計に加算され、その際、小計における和 ビットSとキャリービットCが後続の加算器列へ導かれる。 1つの部分積の最上位ビットは個々の極性符号を表す。適正な符号処理のため には、後続の部分積の最上位のものまで符号ビットを同様に拡張しなければなら ない。 終段加算器FA(図5)において、ブース係数VZと、もはやカスケードされ ない部分積ビットと、小計ビットとから、最終的な積が算出される。実際の乗算 器の場合には、終段加算器のためにランタイムのできるかぎり僅かな回路方式が 採用される。つまり、そこ に示されている終段加算器は機能の説明のために用いられた構成にすぎない。 フィールド乗算器と比較すると、単純化されるように変形されたブース乗算器 の場合には、形成すべき部分積の個数が半減し、図1によればa8...a0;b8 ...b0;c8...c0;d8...d0となっている。このことは、奇数の乗 数ビットYi=y1,y3,y5,...(i=1,3,5,...)が除去され、 それらの情報が隣り合う偶数のビット桁に分配されることで達成される: したがってたとえば情報は最小位から4番目のビット(i=3)に対して、 (2)Y3・23 = Y3[24 - 2・22] のようにして分配される。 図3には相応のブース符号化器BCOの回路が示されており、これにより式( 1)に応じた乗数の変換が実行される。 図4にはいわゆるブースマルチプレクサが示されており、次にその動作につい て手短に説明する。各ブース符号化器はそれぞれ3つの乗数ビットを2進のブー ス係数VZ,S1,S2に変換し、これにより値の範囲−2、−1、0、1、2 が表される。これらのブー ス係数にしたがって被乗数を1回ないし2回、加算または減算するかあるいは無 視する必要がある。2回加算する場合、乗数はブースマルチプレクサMにより1 ビットだけシフトされる。必要とされる減算のために、マルチプレクサの出力側 が反転される。 この場合、+/−に対しVZ=0/1;VZ,S1,S2はブース係数である。 ブースマルチプレクサの出力信号ai,bi,ci,di(0≦i≦8)は、1の 補数表示の部分積にそれぞれ対応する。2の補数表示による数値への部分積の変 換のために、ブース係数の符号ビットVZa(0≦a≦3)が終段加算器FAに おいて加算される。 形式上、1の補数表示による部分積も符号ビットも、2の補数表示による数値 のようにして扱われる。 図6には本発明によるブース乗算器が示されており、この回路はもはや上記の 欠点を有していない。 この回路構成を慣用のものと比べると、それぞれ最上位のブースマルチプレク サM18,M28,M38...の負荷が単純な負荷に低減されていることがわ かる。それぞれ示されているインバータを、相応のブースマルチプレクサの変形 により省略することができる。 この回路構成は、複雑さに関して最適化された回路の中間段階とみなすことが できる。それぞれ最上位の 次のブースマルチプレクサM27,M37...の出力側と接続されている各半 加算器HAは、それらの出力側から部分積ビットb7ないしc7,...を送出す るが、それらの半加算器HAをインバータで置き換えることができる。したがっ て、さもなければ論理値1の供給されることになる入力側を有する半加算器が節 約される。図7にはその等価回路が示されている。 このような回路の変形は単に図式的に行うことができ、その際、最上位の桁p15 へはやはり1が加えられる。 本発明をいっそう良好に理解できるようにする目的で、まずはじめに極性符号 処理について数学的に説明する。 以下に示した表1には、乗数ビットMRと部分積PP1〜PP4と積PRとの の対応づけが示されており、この積は部分積ビットと符号係数の和の形成により 求められる。 ワード長nを有する2の補数表示の数値Xは、次式のようにして表せる。 16bitである最大の和ワード長まで拡張された符号部分積ビットa8,b8 ,c8,d8の積極性符号和SPVは、以下の通りとなる: (5)Spv= a8(-215+214+... +28) +b8(-215+214+... +210) +c8(-215+214+... ;212) +d8(-215+214) この場合、 となる。 (7)SPV= a8(-215+215- 28)+b8(-215+215- 210) +c8(-215+215-212) - d8・214 = - a8・28 - b8・210 - c8・212 - d8・214 (−28+28)による拡張、第1の部分積PP1における拡張すべき符号ビッ トの負と正の2進値、なら により、次式が得られる: この場合、 8,b8,c8,...)であり次式が得られる: この結果の意味するところは次の通りである: 式(5)による表現とは異なり、正の係数を有する部分積だけが存在する;部 分積の符号ビットa8,b8,c8,d8は反転される;この場合、加算器からイン バーターへの式(9)による変形は、すでに考慮されている;重み28、29、211 、213、215を有する部分積ビットのために、1(これは個々の2のべき乗に 相応する)を加算する必要がある。 この計算の実行は図6にそのまま示されており、こ が実行されている。 部分積ビットの反転はブースマルチプレクサM18,M28,M38,M48 の出力側において行われ、つまりわかりやすくするために図示されているそれぞ れ1つのインバーターにより行われ、この反転は部分積ビットa8,b8,c8, d8に係わるものである。 2のべき乗28、29、211、213、215は、対応の加算器ならびに終段加算器 FAへ導かれる。 加算はその他の回路変形でも可能である。あとで2 )のところで述べるように、この回路をさらに簡単にすることができる。 数学的な計算の代わりに図式的な手順をとることもできる。さらに簡単にする ことも可能である。 1)第1段階では、次式により符号の補足が実行される: =モジュロ2m+p加算 m 符号ビットの重み m+p 補足された最上位の符号ビットの重み 第1の加算器列に対し2つの2進桁だけ符号を拡張する場合、 が適用される。 相応に、図6の加算器列R3の回路が変形される。 式(12)による変形を以下の論理表で示す。 個々のキャリービットここでは2m+p+1(211)は、不要である。 回路的には式の実行は以下のことを意味する: 符号ビットamの反転および2mの加算、つまり半加算器HAではなく全加算器 VAにおける1(図1または図6のa8;列R3)。 さらに、それぞれ半加算器HAの最上位桁における一定の1(2m+1と2m+2に 相応)の加算(図6、列3)。 2)第2段階では、一定の”論理値1”の供給される半加算器たとえば図6の最 初の加算器列R3における上位の2つの半加算器が、次式にしたがって置き換え られる: つまり、和ビットSは反転された入力信号bmに対応し、キャリービットCは入 力信号bmに対応する(図7)。 最上位の半加算器においては桁上げは不要となるの (これは図6における乗算器の別の加算器列ですでに 行われている)。したがって図1の場合、すべての加算器列の上位の両方の半加 算器はインバータに置き換えられている。 3)第3段階では、図2中の他の加算器列R5およびR7における上位の2つの 全加算器VAの機能が、それぞれ次式にしたがって置き換えられる: 対応する回路が図8に示されている。 全加算器をそれぞれまずはじめに、たとえば図6によればブースマルチプレク サM37と接続されている半加算器と置き換えることができるし、あるいは図8 によるインバータと置き換えることができる。この措置によって、回路的には図 1による構造が得られる。この図面には有利な形態のブース乗算器が示されてお り、この場合、回路の単純化ゆえに半加算器と全加算器がインバータで置き換え られている。 同様に、一定の1が供給される全加算器の回路も簡単にすることができる。 つまり、一定の1の加えられる全加算器VAを、EX−NORゲートおよびO Rゲートで置き換えることができる。 符号補足の基本原理は種々の乗算器形式に適用でき 、2桁よりも多い符号の補足を行う必要のある場合でも適用できる(たとえば1 991年9月刊のM.Belleville等による文献"A 16*16 bits Multiplier 0.5μ m CMOS technology" Proceedings of ESSCIRC'91,Milan/Italy)。 ”最下位の”符号桁の場合、これまでどおり符号ビットの反転および論理値” 1”の加算が行われる。最上位の半加算器(加算器)の場合、一定の論理値”1 ”が付加されるか、またはインバータと置き換えられる。同じようにして他の加 算器列も補われる。つまり、図1では部分積ビットb7の供給される中央の変形 された加算器回路が頻繁に生じる。 1つの加算器列においてただ1つの符号桁だけしか補わなくてよい場合には、 そのために1つの全加算器と1つの半加算器ないしインバータが必要とされる( 部分積ビットb7の供給される図6の半加算器HAは省略されることになる)。 次に、キャリー・セーブ方式によるフィールド乗算器に基づき本発明を説明す る。 図9にはこの種の乗算器が示されている。各乗算器列R1,R2,R3,R5 ,R7,R9において、被乗数x=x5....x0と乗数y=y5....y0の それぞれ1つのビットとの乗算により、部分積a5....a0,b5....b0 ,....,f5....f0が形成される。最初の3つの部分積a5....a0 ,b5....b0,c5....c0はパラレルに、第1の加算器列R4におい て1つの”小計”Z1にまとめられる。これは和ビット”S”とキャリービット ”C”とから成る(図5では見やすくするため、このことは全加算器VA45の ところにだけ示されている)。 他の加算器列R6,R8,R10において、それぞれ1つの他の部分積d5. ...d0,...,f5....f0が上記の中間値に加えられる。 簡単にすべき符号ビットの結線が太いラインにより表されている。第1の加算 器列R4において、第1の部分積a5....a0の符号ビットa5が上位の3 つの全加算器VA44〜VA46へ導かれ、第2の部分積b5....b0の符号 ビットb5も、同じ上位の2つの全加算器VA45,VA46へ導かれる。 加算器列R4および次の加算器列において、それぞれ最上位の全加算器VA4 6,VA66,VA86,...から送出される和ビットを1つのビット桁だけ 補足する必要がある。 最後の部分積は、被乗数xの2の補数と乗数yの符号ビットykとの乗算によ り形成される。終段加算器FAたとえばリプル加算器において、和ビットとキャ リービットとから最終的な積が算出される。 負の数値を2の補数で表す場合、式(16)にしたがって積が算出される: 最上位の加算器VA46...VAA6の部分で、この回路を簡単にすべきで ある。 その際、符号ビットを反転しそれぞれ数値1を加算する公知のアルゴリズムを 適用しても、所期の結果は得られない。それというのは、そのように場合には4 つの入力側を備えた加算器VA44,VA45を使用しなければならないからで ある。 次に、回路の単純化に必要とする手法についてまずはじめに説明する。その際 、さしあたって2つの数値の符号ビットだけに絞って考察することにする。そし てこれを多数の数値へと問題なく拡張できる。 最初の段階では、1つの符号ビットakに対する符号ビットの補足を次式にし たがって実行する。 下位のビットを無視すれば、たとえばk=5において次式が成り立つ: および それらのビットの加算(これは別の数値の最上位ビットc5,c4の加算によ り補われる)は、重みに応じて列ごとに並べられた次の表で示すことができる。 中央の2つの列は、式(18)および(19)にしたがって変形されたもので ある。右側の2つの列の場合、論理値1の加算がすでに実行されたものである。 右側の両方の列に示されている変形は次のように解釈できる。すなわち、重み26 の反転された符号ビットと3番目の部分積のビットc4の加算ならびに論理値1 と3番目の部分積の符号ビットc5との加算により、和が算出される。 図10に示されている乗算器の場合、第1の加算器列R4においてこのような 単純化が行われている。最上位の次の全加算器VA45へ符号ビットa5とb5が 反転されて導かれ、最上位の全加算器VA46(図9 )はすでに半加算器HA46に置き換えられており、この半加算器へは符号ビッ トC5のほかに一定の論理値1が導かれている。 もちろん、最上位の全加算器VA46(図9)ないし半加算器HA46(図1 0)において、式(17)ないし(18)にしたがって変形を施すこともできる 。しかしこの変形によっても、以下で述べるような手順とは異なり、回路がさら に単純化されることにはならない。 半加算器の論理的動作(13)にしたがって、図10による回路装置をさらに 簡単にすることができ、これは次のようにして行える。すなわち、まずはじめに 最上位の半加算器HA46がインバータと置き換えられる。その結果が図11で ある。第2の加算器列R6の最上位の全加算器VA66へは、互いに反転されて いる2つの入力信号が供給される。したがって第3の段階で、この全加算器およ び他の加算器列の別の最上位の全加算器VA86〜VAA6(図9)を、式(1 4)に応じて置き換えることができる。 に処理できるので、可変の入力値cmのほかに数値1の供給される1つの半加算 器で十分である。図11の場合、この簡略化はこれまで、半加算器HA86で置 き換えられた1つの全加算器VA86(図10)においてだけしか行わなかった 。 残りの最上位の全加算器も、一定の数値1(論理値1)の供給される半加算器 で置き換えることができ、さらにそれらの半加算器をやはりインバータで置き換 えることができる。図12には、このようにして最適化された回路構成が示され ている。この場合、図9における最上位の全加算器VA46,VA66,... VAA6は不要になっている。 当然ながら、ブールの規則による回路の変形も可能である。たとえば、1つの ゲートと1つのインバータの直列回路を1つの反転ゲートで置き換えることがで き、ANDゲートの機能をORゲートによってシミュレートできる。 符号ビットの補足の既述の基本原理を任意のビット桁数のために拡張すること ができ、このことは殊に、少なくとも2つの符号ビットの処理されるビット桁に 関して重要である。 式(20)によれば次式が成り立つ: このことは回路的には次のことを意味する。すなわち、符号ビットが反転され て供給される全加算器の後 ろで、すべての最上位の全加算器を半加算器で置き換えることができ、それらの 半加算器へはcビットのほかに論理値1が供給される。数値1の加算が意味する のはcビットの反転であり、したがって半加算器を式(13)にしたがって1つ のインバータで置き換えることができる。 また、簡略化された符号ビット補足のために、一般的に適用できるアルゴリズ ムを導出することもできる。ワード長k+1を有する2の補数表示の数値x=x k....x0を以下のように表せる: Sビットだけ符号を拡張する場合、符号ビットAおよびBの和に対し以下のこ とが成り立つ: 回路を実現させる場合、個々の2進桁において個々の部分積ビットまたは先行 の加算器列からのキャリービットをさらに加える必要がある。 図5には、並列に動作するキャリー・セーブ乗算器の一部分が示されており、 相前後する2つの加算器列の間で2つのビットの符号ビットの補足が行われる。 この場合、最上位の全加算器VA4Aの両方の出力値を補う必要がある。 表(21)ないし式(24)にしたがって、まずはじめに第1の加算器列R4 が変形される。図14には、全加算器VA48に対する入力値の反転、ならびに 上位の2つの全加算器の半加算器HA49,HA4Aへの変形が示されている。 第2の段階で、半加算器HA49およびHA4Aが式(13)にしたがってそ れぞれ1つのインバータと置き換えられる。このことにより形成される回路が図 15に示されている。 第3の段階で、後続の加算器列(R6)の上位の2つの全加算器VA6A,V A69が式(14)にしたがって半加算器HA6A,HA69に置き換えられ、 さらにこれらの半加算器はインバータとして構成される(第2の段階と第3の段 階の順序は任意である)。 図16には最適化された回路構成が示されている。任意の大きさの符号ビット 補足においてこの手順を適用できる。 次に、キャリー・リプル方式による乗算器について本発明を説明する。 図17には、キャリー・リプル方式による公知のフィールド乗算器が示されて いる。乗算器列R1,R2,R4,R6,R8,R10において、被乗数x=x5 ...x0と乗数y=y5...y0のそれぞれ1つのビットとの乗算により、部 分積a5....a0,b5....b0,....,f5....f0が形成される 。最初の2つの部分積a5....a0,b5....b0は第1の加算器列R3に おいて”小計”Z1にまとめられ、これは加算器VA,HAの和出力側”S”に 生じる(和出力側Sおよびキャリー出力側Cは図17(図18、図19)では見 やすくするため全加算器VA35においてしか示されていない)。 他の加算器列R5,R7,R9,R11において、その他の部分積c5... .c0,...,f5....f0がそれぞれ加えられる。 太いラインで符号ビットの”結線”が示されている。第1の加算器列R3にお いて、第1の部分積a5....a0の符号ビットa5が上位の3つの全加算器V A34..VA36へ導かれ、第2の部分積b5.....b0の符号ビットb5 が上位の2つの全加算器VA35とVA36へ導かれている。 後続の加算器列R5....R11において、形成された小計に対しそれぞれ 1つの符号ビットの補足だけしか必要としない。 最後の部分積f5...f0は、被乗数xの2の補数と乗数yの符号ビットyk との乗算により形成され、これは最後の小計Z4に加えられ、これによって最終 的な積p11..p0を得ることができる。 この乗算器の場合、負の数値が2の補数で表示されているならば式(16)に したがって積が算出される。 符号の拡張のためにすでに導出されたアルゴリズムは、この乗算器形式にも適 用される。最上位の全加算器VA36,VA56,..の部分において、既述の 手順にしたがって回路を簡略化する。 最初の段階では、符号ビットak(重み≧2kから)のための符号の補足が式( 17)により実行される。 示されている回路の場合、この符号補足は加算器列R3の上位の全加算器VA 36,VA35において実行される。下位のビットを無視すれば次式が成り立つ 変形により得られたビットから(符号ビットに応じて)和が形成される。 (キャリービットc6とc7で補われた)これらのビットの加算を次の表で示す ことができる。 中央の2つの列は、式(25)および(26)にしたがって変形されたもので ある。右側の2つの列では、数値1の加算がすでに実行されている。これらの列 に示されている変形は次のように解釈できる。すなわち、重み26の反転された 符号ビットと3番目の部分積のキャリービットc5との加算ならびに論理値1と 符号ビットc5との加算により、和が算出される。数値1の加算とはキャリービ ットの反転のことを意味する。したがって、半加算器をインバータで置き換える ことができる。 本発明による乗算器の示されている図18において、このような簡略化が実現 されている。最上位の次のすべての全加算器VA35〜VAB5へ供給される符 号ビットは反転され、最上位の全加算器はそれぞれ半加算器HA36,HA56 ....に置き換えられて おり、それらの半加算器にはキャリービットのほかに一定の数値1が導かれてい る。各半加算器の和出力側から送出されるビットSも(最上位桁の”和ビット” P11を除いて)、次の部分積の符号ビットと組み合わせられる前に同じようにし てやはり反転される。 半加算器の論理的動作(13)にしたがって、この回路構成をさらに単純にす ることができ、これは次のようにして行える。すなわち、それぞれ半加算器とイ ンバータとの直列回路(図18)を省略し、ダイレクトな接続で置き換えること で行える(同様にインバータだけを省略することもでき、この場合には各半加算 器へ論理値1の代わりに論理値0が導かれる)。当然ながら、”ブールの規則” にしたがってこの回路をさらに変形することも可能である。 図19には最適化されたフィールド乗算器が示されており、この場合には各加 算器列において、図17に比べて1つの全加算器が省略されており、図18に比 べて1つの半加算器が省略されている。その際、全加算器VAB5のキャリー出 力側から送出されるビットを反転させる必要がある。 キャリー・リプル方式で回路を実現する場合には各符号ビットを処理する2進 桁において、反転された符号ビットまたは一定の2進値(論理値1)のほかに、 下位の全加算器のキャリービットをそれぞれ加える必要がある。 さらに図20には、符号の補足を伴うキャリー・リプル乗算器の一部分が示さ れている。 式(24)ないし表(27)にしたがって、まずはじめに第1の加算器列R3 が変形され、これは2つの符号ビットの導かれる全加算器VA39から着手され る。 次に、表(27)にしたがって最上位の全加算器VA39(図20)が、論理 値1の供給される半加算器HA39で置き換えられる(図21;変形された回路 は図18に相応する。それというのはこの場合もともかくそれぞれ最上位の次の 加算器へ2つの符号ビットが導かれるからである)。 実施された回路変形は、符号ビットの反転ならびに最上位の全加算器VA59 を半加算器HA59で置き換えることで、次の加算器列に対して繰り返される。 最上位の半加算器へは、やはりキャリービットのほかに数値1がそれぞれ導かれ る。 図21には変形された加算器列が示されている。 各加算器列の最上位の半加算器は、やはり式(18)にしたがってインバータ で置き換えることができる。この場合、それまで設けられていたインバータIN は省略される。それというのは半加算器とインバータにより符号ビットが2回反 転されるからである。その代わりにダイレクトな接続が行われる(たとえば、全 加算器VA38と次の加算器列における最上位の全加 算器の入力側との間の接続路中の半加算器HA39とインバータIN)。これに 対し、全加算器VA38のキャリー出力側と全加算器VA57の入力側との間に 付加的なインバータを必要とすることなどがある。 図22には最適化された回路構成が示されている。この場合、任意の個数の符 号補足であっても簡略化は同じままである。 ANDゲートとインバータの直列回路をNANDゲートで置き換えることから はじまって、それをORゲート機能を有する等価回路により置き換えることなど から、反転された信号の処理に至るまで、数多くの”ブール規則に基づく”変形 も当然ながら可能である。 すべての乗算器形式において、複数の部分積小計を並列に算出してそれらをま とめることが知られているし、あるいは考えられる。 請求の範囲 1.少なくとも1つの2進桁で部分積(a5,b5,;a8,b8)または小計にお ける符号ビットの補足が行われ、 補足すべき符号ビット(a5,b5,;a8,b8)が反転されて次の加算器列( R3)における1つの加算器へ導かれ、該加算器(VA)において付加的に数値 1が加えられ、 同じ加算器列(R3)におけるそれよりも上位の加算器(HA)では符号ビッ ト(a8)の代わりに一定の数値1がそれぞれ加えられる、 複数の加算器列から成るマトリクス状の回路構成を備えた乗算器において、 2つの部分積(a5....a0,b5....b0;a8...a0,b8... b0)における2つの符号ビット(a5,b5;a8,b8)をまとめる第1の加算 器列(R4,R3)の下位の全加算器(VA45;VA )が導かれ、 同じ加算器列(R4;R3)における最上位の加算器は半加算器(HA46; HA4A)として構成されていることを特徴とする、 複数の加算器列から成るマトリクス状の回路構成を備えた乗算器。 2.少なくとも1つの加算器列(R4,R6,R8,...)を備えキャリー・ セーブ方式で構成されており、それぞれ少なくとも1つの2進桁で1つの部分積 (a5....a0,b5....b0)または1つの小計結果の符号ビット補足( a5,b5,c5,...)が行われる、請求項1記載の乗算器。 3.第1の加算器列(R4)により3つの部分積(a5....a0,b5... .b0,c5....c0)がまとめられる、請求項2記載の乗算器。 4.別の加算器列(R6,R8,R10)における最上位の加算器は半加算器( ...,HA86,....)として構成されており、該加算器へは1つの部分 積の符号ビット(...,e5,...)のほかに数値1がそれぞれ導かれる、 請求項2または3記載の乗算器。 5.複数のビットを含む符号ビット補足では、2つの符号ビット(a8,b8)を まとめる第1の加算器列における下位の全加算器(VA48)へ、それらの符号 れ、 該加算器列(R4)におけるそれよりも上位の加算器は半加算器(HA49, HA4A)として構成されており、該加算器へは1つの部分積(c8....c0 )における上位のビット(c7,c8)のうちの一方のほかに数値値1が導かれる 、 請求項2〜4のいずれか1項記載の乗算器。 6.後続の加算器列(R6,...)における相応の上位の加算器は半加算器( HA6A,HA69)として構成されており、該加算器へは別の部分積(d8. ...d0)における上位のビット(d8,d7)のうちそれぞれ1つのビットと 数値1が導かれる、請求項5記載の乗算器。 7.少なくとも1つの加算器列(R3,R5,R7,...)を備えキャリー・ リプル方式で構成されており、それぞれ少なくとも1つの2進桁で1つの部分積 (a5....a0,b5....b0)または1つの小計(Z1,Z2,...) の符号ビット補足(a5,b5,c5,...)が行われる、請求項1記載の乗算 器。 8.各加算器列の最上位の加算器は半加算器(HA36,HA56)として構成 されている、請求項7記載の乗算器。 9.1つの加算器列(R3,...)におけるそれぞれ最上位の半加算器(HA 36,...)の和出力側(S)は、インバータ(IN)を介して次の加算器列 (R5,...)における最上位から2番目の加算器、全加算器(VA55,. ..)と接続されており、または半加算器(HA36,...)には反転を行う 和出力側が設けられている、請求項7または8記載の乗算器。 10.複数のビットを含む符号ビットの補足では、1つの加算器列(R3,... )における最上位の半加算器(HA39,...)のそれぞれ和出力側(S)が 、それぞれ1つのインバータ(IN)を介して次の加算器列(R5,...)に おける最上位から2番目の加算器、全加算器(VA58,...)と接続されて おり、該次の加算器列(R5,...)におけるそれよりも下位の少なくとも1 つの全加算器(VA57)の入力側とダイレクトに接続されている、請求項7、 8または9記載の乗算器。 11.最上位の半加算器(HA36;HA39,...)および該半加算器と直列 に接続されたインバータ(IN)はそれぞれ、同じ加算器列(R3,...)に おける最上位から2番目の全加算器(VA35;VA38,...)のキャリー 出力側(C)と次の加算器列(R5,...)における最上位から2番目の全加 算器(VA55;VA58,...)の入力側とのダイレクトな接続で置き換え られる、請求項9または10記載の乗算器。 12.処理すべきデータビットのほかに数値1がそれぞれ導かれる半加算器(HA 46,...HA86,..;HA4A,HA49,HA6A,HA69)はイ ンバータ(IN)として構成されている、請求項1〜11のいずれか1項記載の 乗算器。 供給される全加算器(VA)の代わりに、半加算器(HA)またはインバータが 設けられている、請求項1〜12のいずれか1項記載の乗算器。 14.1つの加算器列(R3,...)における最上位から2番目の全加算器(V A38,..)のキャリー出力側(C)は付加的にインバータを介して、次の加 算器列(R5,..)におけるそれよりも下位の少なくとも1つの全加算器(V A54,...)の入力側とそれぞれ接続されている、請求項12記載の乗算器 。 15.最上位の部分積(f5およびf0)は、被乗数(x)の反転および乗数(y) の符号ビット(y5)との乗算ならびにその符号ビット(y5)の加算により算出 される、請求項1〜14のいずれか1項記載の乗算器。 16.処理すべきデータビット(d5,c5)のほかに数値1が導かれる加算器列( R3,R5,R7)のそれぞれ最上位の加算器(VA66,HA46)はインバ ータで置き換えられ、または付加的に反転されたビッ におけるカスケード接続された加算器(VA)へ供給される、請求項1〜15の いずれか1項記載の乗算器。 17.当該回路構成には”ブール規則による変形”が含まれる、請求項1〜16の いずれか1項記載の乗算器 。 18.部分積(a5...a0,b5...b0,...a8....,b8....) の代わりに被加数が加えられ、これにより当該回路が加算器として動作する、請 求項1〜17のいずれか1項記載の計算回路。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 P4432432.4 (32)優先日 1994年9月12日 (33)優先権主張国 ドイツ(DE) (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),JP,US

Claims (1)

  1. 【特許請求の範囲】 1.複数の2進桁で部分積(a8,a7,a6,...)またはその小計の符号ビ ットの補足が行われる複数の加算器列から成るマトリクス状の回路構成を備えた 乗算器において、 補足すべき符号ビット(a8)が反転されて次の加算器列(R3)における1 つの加算器(VA)へ導かれ、 該加算器(VA)において付加的に数値1が加えられ、 同じ加算器列(R3)における上位の加算器(HA)では、それぞれ符号ビッ ト(a8)の代わりに一定の数値1が加えられることを特徴とする、 複数の加算器列から成るマトリクス状の回路構成を備えた乗算器。 2.キャリー・セーブ・ロジックによるブース構造で回路が設計されており、 複数のマルチプレクサ列(R1,R2,R4,R6)と、それらの間でそれぞ れ1つのマルチプレクサ列に続く加算器列(R3,R5,R7)が設けられてお り、 第1のマルチプレクサ列(R1)における最上位のブースマルチプレクサ(M 18)の出力側は、第1の加算器列(R3)におけるカスケード接続された加算 送出し、 該加算器(VA)において部分積ビット(b6)のほかに”論理値1”が加え られ、 第1の加算器列(R3)における上位の加算器へは符号ビット(a8)の代わ りに”論理値1”が導かれ、 第2の加算器列(R5)における最上位から3番目の加算器(VA)へ、第2 のマルチプレクサ列(R2)における反転された最上位の符号ビット(b8)お よび該マルチプレ列におけるそれよりも下位の部分積ビット(b7)ならびに第 3のマルチプレクサ列(R4)における最上位から3番目の部分積ビット(c6 )が導かれ、 第2の加算器列(R5)における上位の加算器へ部分積ビット(c7,c8)の ほかに”論理値1”が導かれ、 後続の加算器列(R7,...)の各加算器は同じように、先行のマルチプレ クサ列(R4およびR6,...)におけるブースマルチプレクサ(M38,M 37,M48,M47)の出力側と接続されており、 最後の加算器列(R7)の各出力側は終段加算器(FA)と接続されている、 請求項1記載の乗算器。 3.1つの加算器列(R3,R5,R7)におけるそ れぞれ最上位の加算器列(VA,HA)はインバータ )が後続の加算器列(たとえばR5)におけるカスケード接続された加算器(V A)へ供給される、請求項1または2記載の乗算器。 4.入力側に一定の”論理値1”の供給される半加算器(HA)の代わりにイン バータが設けられている、請求項1〜3のいずれか1項記載の乗算器。 供給される全加算器(VA)の代わりに、半加算器(HA)またはインバータが 設けられている、請求項1〜4のいずれか1項記載の乗算器。 6.少なくとも1つの2進桁で、部分積(a5....a0,b5....b0,. ...;a8...,b8...)または小計(Z1,Z2,...)における最 上位の和ビット(S)の符号ビット(a5,b5,..;a8,b8,..)の補足 が行われる、少なくとも1つの加算器列(R4,R6,R8,...)を備えた キャリー・セーブ方式による乗算器において、 2つの部分積(a5....a0,b5....b0;a8...a0,b8... b0)の符号ビット(a5,b5;a8,b8)をまとめる第1の加算器列(R4) における下位の全加算器(VA45;VA48)へ、 同じ加算器列(R4)における最上位の加算器は半 加算器(HA46;HA4A)として構成されており、該加算器へは部分積(c5 ....c0,c8....c0)の最上位ビット(c5;c8)のほか、補足され た符号ビット(a5,b5;a8,b8)の代わりに論理値1が導かれることを特徴 とする、 少なくとも1つの加算器列を備えたキャリー・セーブ方式による乗算器。 7.第1の加算器列(R4)により3つの部分積(a5....a0,b5... .b0,c5....c0)がまとめられる、請求項6記載の乗算器。 8.別の加算器列(R6,R8,R10)における最上位の加算器は半加算器( ...,HA86,....)として構成されており、該加算器へは1つの部分 積の符号ビット(...,e5,...)のほかに論理値1がそれぞれ供給され る、請求項6または7記載の乗算器。 9.複数のビットを含む符号ビット補足では、2つの符号ビット(a8,b8)を まとめる第1の加算器列における下位の全加算器(VA48)へ、それらの符号 れ、 該加算器列(R4)におけるそれよりも上位の加算器は半加算器(HA49, HA4A)として構成されており、該加算器へは1つの部分積(c8....c0 )における上位のビット(c7,c8)のうちの一方の ほかに論理値1が供給される、 請求項6〜8のいずれか1項記載の乗算器。 10.後続の加算器列(R6,...)における相応の上位の加算器は半加算器( HA6A,HA69)として構成されており、該加算器へは別の部分積(d8. ...d0)における上位のビット(d8,d7)のうちそれぞれ1つのビットと 論理値1が導かれる、請求項9記載の乗算器。 11.部分積ビットにおける1つビットのほかに論理値1がそれぞれ導かれる半加 算器(HA46,...HA86,..;HA4A,HA49,HA6A,HA 69)はインバータ(IN)として構成されている、請求項6〜10のいずれか 1項記載の乗算器。 12.最上位の部分積(f5...f0)は被乗数(x)の反転および乗数(y)の 符号ビット(y5)との乗算ならびに乗数(y)における符号ビット(y5)の加 算により算出される、請求項1〜11のいずれか1項記載の乗算器。 13.それぞれ少なくとも1つの2進桁で、部分積(a5....a0,b5... .b0)または小計(Z1,Z2,...)における符号ビット(a5,b5,c5 ,...)の補足が行われる、少なくとも1つの加算器列(R3,R5,R7, ...)を備えたキャリー・リプル方式による乗算器において、 2つ部分積(a5....a0,b5....b0)ま たは1つの部分積(c5....c0,d5....d0,...)および複数の小 計(Z1,Z2,...)のうちの1つにおける符号ビット(a5,b5)の供給 される各加算器列(R3,R5,R7,...)の下位の全加算器(VA35, VA55,VA75,...)へ、それらの符号ビットが反転された符号ビット 各加算器列(R3,R5,R7,...)の最上位の加算器(VA36,VA 56,VA76,...)はそれぞれ半加算器(HA36,....)として構 成されており、該加算器へキャリービット(C)のほかに一定の論理値が導かれ ることを特徴とする、 キャリー・リプル方式による乗算器。 14.1つの加算器列(R3,...)におけるそれぞれ最上位の半加算器(HA 36,...)の和出力側(S)は、インバータ(IN)を介して次の加算器列 (R5,...)における最上位から2番目の加算器、全加算器(VA55,. ..)と接続されており、または半加算器(HA36,...)には反転を行う 和出力側が設けられている、請求項13記載の乗算器。 15.複数のビットを含む符号ビットの補足では、1つの加算器列(R3,... )における最上位の半加算器(HA39,...)のそれぞれ和出力側(S)が 、それぞれ1つのインバータ(IN)を介して次の加 算器列(R5,...)における最上位から2番目の加算器、全加算器(VA5 8,...)と接続されており、該次の加算器列(R5,...)におけるそれ よりも下位の少なくとも1つの全加算器(VA57)の入力側とダイレクトに接 続されている、請求項13または14記載の乗算器。 16.最上位の半加算器(HA36;HA39,...)および該半加算器と直列 に接続されたインバータ(IN)はそれぞれ、同じ加算器列(R3,...)に おける最上位から2番目の全加算器(VA35;VA38,...)のキャリー 出力側(C)と次の加算器列(R5,...)における最上位から2番目の全加 算器(VA55;VA58,...)の入力側とのダイレクトな接続で置き換え られる、請求項14または15記載の乗算器。 17.1つの加算器列(R3,...)における最上位から2番目の全加算器(V A38,..)のキャリー出力側(C)は付加的にインバータを介して、次の加 算器列(R5,..)におけるそれよりも下位の少なくとも1つの全加算器(V A54,...)の入力側とそれぞれ接続されている、請求項15記載の乗算器 。 18.最上位の部分積は、被乗数(x)の反転および乗数(y)の符号ビット(y5 )との乗算ならびにその符号ビット(y5)の加算により算出される、請求項 13〜17のいずれか1項記載の乗算器。 19.当該回路構成には”ブール規則による変形”が含まれる、いずれか1項記載 の乗算器。 20.部分積(a5...a0,b5...b0,...a8....,b8....) の代わりに被加数が加えられ、これにより当該回路が加算器として動作する、請 求項6〜19のいずれか1項記載の計算回路。
JP7524301A 1994-03-21 1995-03-21 ランタイムの短い乗算器 Pending JPH09505170A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
DE4409613 1994-03-21
DE4409613.5 1994-09-12
DE19944432432 DE4432432A1 (de) 1994-09-12 1994-09-12 Multiplizierer in Carry-Save-Technik
DE4432425A DE4432425A1 (de) 1994-03-21 1994-09-12 Multiplizierer in Carry-Ripple-Technik
DE4432432.4 1994-09-12
DE4432425.1 1994-09-12
PCT/DE1995/000385 WO1995025998A1 (de) 1994-03-21 1995-03-21 Multiplizierer mit geringer laufzeit

Publications (1)

Publication Number Publication Date
JPH09505170A true JPH09505170A (ja) 1997-05-20

Family

ID=27206198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7524301A Pending JPH09505170A (ja) 1994-03-21 1995-03-21 ランタイムの短い乗算器

Country Status (4)

Country Link
US (1) US5954791A (ja)
EP (1) EP0752130B1 (ja)
JP (1) JPH09505170A (ja)
WO (1) WO1995025998A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6183122B1 (en) * 1997-09-04 2001-02-06 Cirrus Logic, Inc. Multiplier sign extension
US6081823A (en) * 1998-06-19 2000-06-27 Ati International Srl Circuit and method for wrap-around sign extension for signed numbers
US6073156A (en) * 1998-06-19 2000-06-06 Ati International Srl Circuit and method for wrap-around sign extension for signed numbers using replacement of most significant bit
US20060106910A1 (en) * 2004-11-16 2006-05-18 Analog Devices, Inc. Galois field polynomial multiplication

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60237534A (ja) * 1984-05-09 1985-11-26 Toshiba Corp 並列乗算器
US4910701A (en) * 1987-09-24 1990-03-20 Advanced Micro Devices Split array binary multiplication
US5262976A (en) * 1989-11-13 1993-11-16 Harris Corporation Plural-bit recoding multiplier

Also Published As

Publication number Publication date
US5954791A (en) 1999-09-21
EP0752130A1 (de) 1997-01-08
EP0752130B1 (de) 1998-05-27
WO1995025998A1 (de) 1995-09-28

Similar Documents

Publication Publication Date Title
JP3761977B2 (ja) 遅延整合技術の利用によりクリティカル・パスを減少させた浮動小数点型掛け算器及びその演算方法
US4168530A (en) Multiplication circuit using column compression
EP0448367B1 (en) High speed digital parallel multiplier
US11042360B1 (en) Multiplier circuitry for multiplying operands of multiple data types
US6523055B1 (en) Circuit and method for multiplying and accumulating the sum of two products in a single cycle
US6763368B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
JP3244506B2 (ja) 小型乗算器
WO1985005705A1 (en) AN XxY BIT ARRAY MULTIPLIER/ACCUMULATOR CIRCUIT
US6240438B1 (en) Multiplier circuit for reducing the number of necessary elements without sacrificing high speed capability
JPH0157814B2 (ja)
JPH0844540A (ja) 並列乗算論理回路
JPH0823811B2 (ja) 3オペランド演算論理機構におけるオーバーフローを決定する方法及び算術上のオーバーフローを検出する機構
JPH0368416B2 (ja)
Dadda et al. A variant of a radix-10 combinational multiplier
JP3297683B2 (ja) 乗算器
Yan et al. An energy-efficient multiplier with fully overlapped partial products reduction and final addition
US6813628B2 (en) Method and apparatus for performing equality comparison in redundant form arithmetic
JPH0552530B2 (ja)
US4823300A (en) Performing binary multiplication using minimal path algorithm
JP3227538B2 (ja) 2進整数乗算器
JPH0464091B2 (ja)
US6826588B2 (en) Method and apparatus for a fast comparison in redundant form arithmetic
US5954791A (en) Multipliers with a shorter run time
US5153847A (en) Arithmetic processor using signed digit representation of internal operands
US5119325A (en) Multiplier having a reduced number of partial product calculations