JP4358272B2 - Csa用5−3圧縮回路及びこれを使用したキャリアセーブ加算回路 - Google Patents

Csa用5−3圧縮回路及びこれを使用したキャリアセーブ加算回路 Download PDF

Info

Publication number
JP4358272B2
JP4358272B2 JP2007512385A JP2007512385A JP4358272B2 JP 4358272 B2 JP4358272 B2 JP 4358272B2 JP 2007512385 A JP2007512385 A JP 2007512385A JP 2007512385 A JP2007512385 A JP 2007512385A JP 4358272 B2 JP4358272 B2 JP 4358272B2
Authority
JP
Japan
Prior art keywords
eor
carry
output
circuit
circuits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007512385A
Other languages
English (en)
Other versions
JPWO2006106581A1 (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2006106581A1 publication Critical patent/JPWO2006106581A1/ja
Application granted granted Critical
Publication of JP4358272B2 publication Critical patent/JP4358272B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/607Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4816Pass transistors

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、乗算を行う際の部分積を加算するキャリアセーブ加算回路用5−3圧縮回路及びキャリアセーブ加算回路に関し、特に、高速に加算動作するキャリアセーブ加算回路用5−3圧縮回路及びキャリアセーブ加算回路に関する。
CPU(Central Processor Unit)の処理速度の向上に伴い、CPUの構成が複雑となっている。例えば、CPUは、演算ユニット、命令ユニット、キャッシュメモリ、キャッシュコントロールユニット、各種レジスタを備える。近年の集積化技術の発達により、このCPUも1チップ化の傾向にあり、CPU内の各ユニットの高速化が要請されている。
このような演算ユニットには、加算/減算器、論理演算回路、シフト回路等が存在する。この内、加算器として、キャリアセーブ加算回路は、乗算を行う際の部分積を加算する回路として、利用されている。図7は、乗算動作の説明図である、例えば、Em〜E0からなるEと、Fm〜F0からなるFを乗算するには、E,即ち、(Em〜E0)とFの各桁の乗算を行い、乗算結果(これを部分積という)の加算を行う。ここで、乗算結果をGとすると、以下の式で、乗算結果を得る。
G=(Em〜E0)×F0+(Em〜E0)×F1+……+(Em〜E0)×Fm
図7では、部分積X1(X1m〜X10)が、(Em〜E0)×F0であり、部分積X2(X2m〜X20)が、(Em〜E0)×F1であり、以下、同様に、部分積Xn(Xnm〜Xn0)が、(Em〜E0)×Fmである。これら部分積を加算して、最終的な乗算結果Gを得る。
この部分積を加算するキャリアセーブ加算器の動作を、図8で説明する。図8では、8個の部分積X1〜X8を加算する例を示す。キャリアセーブ加算回路(CSAという)は、1段目で、各部分積X1〜X4の各桁の加算結果S1m〜S10と、各桁のキャリーC1m〜C10と、各部分積X5〜X8の各桁の加算結果S2m〜S20と、各桁のキャリーC2m〜C20とを計算する。2段目では、加算結果S1m〜S10と、各桁のキャリーC1m〜C10と、加算結果S2m〜S20と、各桁のキャリーC2m〜C20とを桁毎に、加算して、加算結果S3m〜S30と、キャリーC3m〜C30を得る(例えば、特許文献1参照)。
このCSAは、各桁の5−3圧縮回路を連結して、構成される。図9は、従来の5−3圧縮回路を用いたCSAの構成図である。図9において、5−3圧縮回路100−1,100−2,100−3,100−4は、直列に接続される。CSAで使用される5−3圧縮回路100−2(100−1,100−3,100−4)は、主に排他的論理和回路(EOR)で構成される。即ち、ある2つの信号から排他的論理和を生成し、それを利用している。
即ち、入力(A1、A2,A3,A4)の相補信号を生成するため、反転ゲート110,112,114,116を挿入し、一対のパストランジスタ120、122、124,126で、EORを演算する。即ち、A1とA2のEOR出力は、図10のように、A1と反転A2の乗算に、A1の反転とA1の乗算との和で示される。
従って、EOR回路120は、A1とA2のEORを、EOR回路122は、A1とA2のEORの反転を、EOR回路124は、A3とA4のEORを、EOR回路126は、A3とA4のEORの反転を、出力する。
同様に、EOR回路140は、A1とA2とA3とA4のEORを、EOR回路142は、A1とA2とA3とA4のEORの反転を、出力し、その出力を受けるEOR回路144は、A1とA2とA3とA4とCIのEORを、S(SUM)として、出力する。同様に、反転ゲート134,152を介しA1と、EOR回路140,142の出力と、反転ゲートを介しCIを受けるEOR回路146は、図10に示すキャリーCを出力する。
更に、EOR回路124の出力と、EOR回路126の出力と、反転ゲート124を介しA2の反転と、反転ゲート116を介しA4の反転を受けるEOR回路148は、反転ゲート154を介し、図10のキャリーアウトCOを出力する。このキャリーアウトCOが、上位桁の5−3圧縮回路100−3のキャリーインCIとして、出力される。
このように、キャリーアウトCOが、上位桁へのキャリーであり、キャリーCが、次段(図8参照)への桁上げ出力である。即ち、この加算回路は、5入力、3出力の加算回路である。
特開平2−501242号公報(図3)
しかしながら、従来技術では、EOR演算のためには、図10で示したように、入力の相補信号が必要であり、このため、反転ゲートを挿入しているため、遅延時間が長くなり、高速な加算動作が困難である。特に、図8のように、複数桁の部分積を乗算するCSAでは、1つの加算回路の遅延時間が、累積し、部分積の加算時間が長くなる。
従って、本発明の目的は、EOR演算を行う加算回路の高速化を実現するためのCSA用5−3圧縮回路及びこれを使用したキャリアセーブ加算回路を提供することにある。
又、本発明の他の目的は、EOR演算のための相補信号の作成に必要な遅延時間の増加を防止するためのCSA用5−3圧縮回路及びこれを使用したキャリアセーブ加算回路を提供することにある。
更に、本発明の別の目的は、EOR演算のための反転ゲートによる遅延時間の増加を防止するためのCSA用5−3圧縮回路及びこれを使用したキャリアセーブ加算回路を提供することにある。
この目的の達成のため、本発明のCSA用5−3圧縮回路は、4つの入力信号と下位桁のキャリーアウト入力を受け、加算ビットと、キャリービットと、前記キャリーアウトビットを演算するCSA用5−3圧縮回路である。そして、その圧縮回路は、前記4つの入力信号とその相補信号を受け、各々2つの入力信号のEOR演算を行い、2つのEOR出力とその相補信号を出力する4つの1段目EOR回路と、
前記4つの1段目EOR回路の出力を受け、前記2つのEOR出力のEOR演算を行い、1つのEOR出力とその相補信号を出力する2つの2段目EOR回路と、前記2つの2段目EOR回路の出力と前記キャリーアウトビットを受け、前記EOR出力と前記キャリーアウトビットのEOR演算を行い、加算ビットを出力する3段目EOR回路と、前記2つの2段目EOR回路の出力と前記キャリーアウトビットと前記4つの入力信号の1つを受け、前記EOR出力と前記キャリーアウトビットと前記1つの入力信号のEOR演算を行い、キャリービットを出力するキャリー出力用EOR回路と、2つの前記1段目EOR回路の出力と前記入力信号の相補信号の2つを受け、前記2つのEOR出力と前記2つの相補信号のEOR演算を行い、前記キャリーアウトビットとその相補信号を出力する2つのキャリーアウト用EOR回路とを有する。
又、本発明のキャリーセーブ加算回路は、4つの入力信号と下位桁のキャリーアウト入力を受け、加算ビットと、キャリービットと、前記キャリーアウトビットを演算する複数のCSA用5−3圧縮回路を、前記キャリーアウト入力で連結したキャリーセーブ加算回路である。そして、その各CSA用5−3圧縮回路は、各4つの入力信号とその相補信号を受け、各々2つの入力信号のEOR演算を行い、2つのEOR出力とその相補信号を出力する4つの1段目EOR回路と、前記4つの1段目EOR回路の出力を受け、前記2つのEOR出力のEOR演算を行い、1つのEOR出力とその相補信号を出力する2つの2段目EOR回路と、前記2つの2段目EOR回路の出力と前記キャリーアウトビットを受け、前記EOR出力と前記キャリーアウトビットのEOR演算を行い、加算ビットを出力する3段目EOR回路と、前記2つの2段目EOR回路の出力と前記キャリーアウトビットと前記4つの入力信号の1つを受け、前記EOR出力と前記キャリーアウトビットと前記1つの入力信号のEOR演算を行い、キャリービットを出力するキャリー出力用EOR回路と、2つの前記1段目EOR回路の出力と前記入力信号の相補信号の2つを受け、前記2つのEOR出力と前記2つの相補信号のEOR演算を行い、前記キャリーアウトビットとその相補信号を出力する2つのキャリーアウト用EOR回路とを有する。
更に、本発明では、好ましくは、前記3段目EOR回路は、前記2つの2段目EOR回路の出力と前記キャリーアウトビットを受け、前記EOR出力と前記キャリーアウトビットのEOR演算を行い、加算ビットとその相補信号を出力する一対のEOR回路で構成され、前記キャリー出力用EOR回路は、前記2つの2段目EOR回路の出力と前記キャリーアウトビットと前記4つの入力信号の1つを受け、前記EOR出力と前記キャリーアウトビットと前記1つの入力信号のEOR演算を行い、キャリービットとその相補信号を出力する一対のEOR回路で構成された。
更に、本発明では、好ましくは、前記4つの入力信号の相補信号を生成する4つのインバータを更に有する。
更に、本発明では、好ましくは、前記4つの1段目EOR回路は、データバスから前記4つの入力信号とその相補信号を受ける。
更に、本発明では、好ましくは、前記4つの1段目EOR回路と前記4つのインバータは、データバスから前記4つの入力信号を受ける。
更に、本発明では、好ましくは、前記複数の5−3圧縮回路を、複数設け、初段の前記複数の5−3圧縮回路の加算ビットと前記キャリービットとを、次段の前記複数の5−3圧縮回路に入力する。
本発明では、EOR回路群で構成される5−3圧縮回路に、キャリーアウトビットとその相補信号を出力する2つのキャリーアウト用EOR回路を少なくとも設け、少なくとも、キャリーアウトをデュアルレーン化したので、必要とするインバータを削減でき、遅延時間の増加を抑圧し、高速な加算動作を実現できる。
本発明の第1の実施の形態のCSA用5−3圧縮回路の回路図である。 図1の5−3圧縮回路を用いたキャリーセーブアダーの回路図である。 本発明の第2の実施の形態のCSA用5−3圧縮回路の回路図である。 図3の5−3圧縮回路を用いたキャリーセーブアダーの回路図である。 従来技術と第1の実施の形態と第2の実施の形態の5−3圧縮回路の各段のインバータ及びパストランジスタの段数の説明図である。 従来技術と第1の実施の形態と第2の実施の形態の5−3圧縮回路の各段のインバータ及びパストランジスタの段数の比較図である。 乗算における部分積の説明図である。 部分積のCSA加算動作の説明図である。 従来の5−3圧縮回路の回路図である。 図9のEOR回路のサム、キャリー、キャリーアウトの演算動作の説明図である。
符号の説明
1−0,1−1,1−2,1−3 CSAセル(5−3圧縮回路)
3,4初段CSA
5 次段CSA
10,12,14,16 1段目EOR回路
20,22 2段目EOR回路
24,26 キャリーアウト用EOR回路
30,32 3段目EOR回路
34,36 キャリー用EOR回路
以下、本発明の実施の形態を、第1の実施の形態、第2の実施の形態、他の実施の形態の順で説明するが、これらの実施の形態は、本発明の一例であり、種々の変形を排除するものではない。
[第1の実施の形態]
図1は、本発明の第1の実施の形態の5−3圧縮回路の回路図、図2は、図1の5−3圧縮回路を用いたCSAのブロック図である。
図1に示すように、5−3圧縮回路1―0,1−1、1−2,1−3は、直列に接続される。各5−3圧縮回路1−1(1−0,1−2,1−3)は、3段のEOR回路群で構成される。各EOR回路は、一対のパストランジスタで構成され、図10で示したように、A1とA2のEOR出力を、A1と反転A2の乗算に、A1の反転とA1の乗算との和で演算する。
この実施の形態では、相補信号を両方使用するデュアルレールを使用することにより、高速化を実現する。即ち、入力(A1、A2,A3,A4)と、その相補信号(XA1,XA2,XA3,XA4)とを、1段目の各EOR10,12,14,16に入力する。従って、EOR回路10は、A1とA2のEORを、EOR回路12は、A1とA2のEORの反転を、EOR回路14は、A3とA4のEORを、EOR回路16は、A3とA4のEORの反転を、出力する。
同様に、2段目のEOR回路20は、A1とA2とA3とA4のEORを、EOR回路22は、A1とA2とA3とA4のEORの反転を、出力し、その出力を受ける3段目のEOR回路32は、A1とA2とA3とA4とCIのEORを、反転ゲート47を介しS(SUM)として、出力する。同様に、XA1を反転ゲート41,43を介し受け、且つEOR回路20,22の出力と、XCIを受けるEOR回路34は、反転ゲート48を介し、図10に示したキャリーCを出力する。
更に、EOR回路14の出力と、EOR回路16の出力と、XA2と、XA4を受けるEOR回路24は、反転ゲート44を介し、図10のキャリーアウトCOを出力する。このキャリーアウトCOが、上位桁の5−3圧縮回路1−2のキャリーインCIとして、出力される。このように、キャリーアウトCOが、上位桁へのキャリーであり、キャリーCが、次段への桁上げ出力である。
更に、出力の相補信号を作成するため、2段目のEOR回路20の出力と、EOR回路22の出力と、CI,XCI(CIの相補信号)とを受ける3段目のEOR回路30は、A1とA2とA3とA4とCIのEORの反転XSを、反転ゲート46を介し、出力する。同様に、XA1を反転ゲート41を介し受け、且つEOR回路20,22の出力と、CIを受けるEOR回路36は、反転ゲート49を介し、図10に示したキャリーCの相補信号XCを出力する。
更に、EOR回路14の出力と、EOR回路16の出力と、A2と、A4を受けるEOR回路26は、反転ゲート45を介し、図10のキャリーアウトCOの相補信号XCOを出力する。このキャリーアウトXCOも、上位桁の5−3圧縮回路1−2のキャリーインXCIとして、出力される。
他の5−3圧縮回路1−0,1−2,1−3も同様の構成である。このように、5−3圧縮回路のような排他的論理和回路を多く使用する回路では、EOR回路が、ある信号とその反転信号を生成する遅延時間を零とすることができる点に注目し、その2つの信号を効率的に使用することにより、高速化を実現することができる。
相補信号を両方使用するデュアルレールを使用することにより、増加した出力分のトランジスタ(図1のEOR30、36、26)が増加するが、相補信号で扱うので、その信号の反転信号をインバータで作らなくてもよくなる。即ち、図9の従来に比し、反転ゲート110,112,114,116,150を削減できる。よって、その分のトランジスタを減少させ、結果的にはトランジスタの増加を抑えることができる。
又、各CSAセル1−1のキャリーアウト出力(CO)は、一桁上位のCSAセル1−2のキャリーイン入力(CI)と接続されるが、入力からキャリーアウト、一桁上位のキャリーインを通り、その一桁上位のSUM,キャリーまで、出力されるパスの段数が、キャリーアウト、キャリーインを通過しないパスより1段多く、クリティカルとなる。このパスの高速化をするべく、キャリアアウトの相補信号XCOを作成し、上位桁に渡す。この結果、クリティカルパスの高速化が図れ、段数的には,入力からSUM、キャリーまでのパスは、キャリーアウトを通過する、しないに関わらず、同じとすることができる。
図2は、これを使用したCSAのブロック図である。図8の部分積の加算動作を行う構成を例にしてある。第1のCSA3は、図8の部分積X1,X2,X3,X4の各桁の加算を行い、第2のCSA4は、図8の部分積X5,X6,X7,X8の各桁の加算を行う。第3のCSA5は、図8の加算結果S1m〜S10と、各桁のキャリーC1m〜C10と、加算結果S2m〜S20と、各桁のキャリーC2m〜C20とを桁毎に、加算して、加算結果S3m〜S30と、キャリーC3m〜C30を得る。
CSA3は、図1の5−3圧縮回路1−0,1−1,1−2,1−3,1−4,1−5を、下位桁のキャリーアウトCOで、連結して、構成される。各5−3圧縮回路1−0,1−1,1−2,1−3,1−4,1−5は、部分積X1,X2,X3,X4及びその反転信号であるXX1,XX2,XX3,XX4を伝達するバスに接続される。具体的には、最下位桁(1桁目)の5−3圧縮回路1−0には、部分積X1の1桁目X10とその相補信号XX10が入力する。2桁目の5−3圧縮回路1−1には、部分積X1の2桁目X11、その相補信号XX11,部分積X2の1桁目X20,その相補信号XX20が入力する。
3桁目の5−3圧縮回路1−2には、部分積X1の3桁目X12とその相補信号XX12、部分積X2の2桁目X21、その相補信号XX21,部分積X3の1桁目X30,その相補信号XX30が入力する。4桁目の5−3圧縮回路1−3には、部分積X1の4桁目X13とその相補信号XX13、部分積X2の3桁目X22、その相補信号XX22,部分積X3の2桁目X31,その相補信号XX31、部分積X4の1桁目X40、その相補信号XX40が入力される。
5桁目の5−3圧縮回路1−4には、部分積X1の5桁目X14とその相補信号XX14、部分積X2の4桁目X23、その相補信号XX23,部分積X3の3桁目X32,その相補信号XX32、部分積X4の2桁目X41,その相補信号XX41が入力する。6桁目の5−3圧縮回路1−5には、部分積X1の6桁目X15とその相補信号XX15、部分積X2の5桁目X24、その相補信号XX24,部分積X3の4桁目X33,その相補信号XX33、部分積X4の3桁目X42、その相補信号XX42が入力される。以下、同様である。
同様に、CSA4は、図1の5−3圧縮回路1−10,1−11,1−12,1−13…を、下位桁のキャリーアウトCOで、連結して、構成される。各5−3圧縮回路1−10,1−11,1−12,1−13…は、部分積X5,X6,X7,X8及びその反転信号であるXX5,XX6,XX7,XX8を伝達するバスに接続される。具体的には、最下位桁(1桁目)の5−3圧縮回路1−10には、部分積X5の1桁目X50とその相補信号XX50が入力する。2桁目の5−3圧縮回路1−11には、部分積X5の2桁目X51、その相補信号XX51,部分積X6の1桁目X60,その相補信号XX60が入力する。
3桁目の5−3圧縮回路1−12には、部分積X5の3桁目X52とその相補信号XX52、部分積X6の2桁目X61、その相補信号XX61,部分積X7の1桁目X70,その相補信号XX70が入力する。4桁目の5−3圧縮回路1−13には、部分積X5の4桁目X53とその相補信号XX53、部分積X6の3桁目X62、その相補信号XX62,部分積X7の2桁目X71,その相補信号XX71、部分積X8の1桁目X80、その相補信号XX80が入力される。以下、同様である。
更に,CSA5は、図1の5−3圧縮回路1−20,1−21,1−22,1−23,1−24,1−25,1−26,1−27,1−28…を、下位桁のキャリーアウトCOで、連結して、構成される。最下位桁(1桁目)の5−3圧縮回路1−20には、5−3圧縮回路1−0のサムS20及びXS20が、入力する。2桁目の5−3圧縮回路1−21には、5−3圧縮回路1−0のキャリーC10,XC10,5−3圧縮回路1−1のサムS11,XS11が入力する。以下、5桁目の5−3圧縮回路1−24まで同様である。
6桁目の5−3圧縮回路1−25には、5−3圧縮回路1−4のキャリーC14,XC14,5−3圧縮回路1−5のサムS15,XS15、5−3圧縮回路1−10のサムS20,XS20が入力する。以下、7桁目以降の5−3圧縮回路1−26も同様である。
このように、バスラインから、4入力とその相補信号を、各5−3圧縮回路1−0〜1−13に入力することにより、図1のような構成の5−3圧縮回路を動作できる。このようにして、乗算のための部分積の加算においては、これらのCSAセルを複数段組み合わせて使用するので、より高速化を図ることが可能となる。
[第2の実施の形態]
図3は、本発明の第2の実施の形態の5−3圧縮回路の回路図、図4は、図2の5−3圧縮回路を用いたCSAのブロック図である。図3及び図4において、図1及び図2で示したものと同一のものは、同一の記号で示してある。
図3に示すように、5−3圧縮回路1―0,1−1、1−2,1−3は、直列に接続される。各5−3圧縮回路1−1(1−0,1−2,1−3)は、3段のEOR回路群で構成される。各EOR回路は、一対のパストランジスタで構成され、図10で示したように、A1とA2のEOR出力を、A1と反転A2の乗算に、A1の反転とA1の乗算との和で演算する。
この実施の形態では、クリティカルパスであるキャリーアウトのみに、相補信号を両方使用するデュアルレールを使用することにより、面積増を抑えつつ、高速化を実現する。即ち、入力(A1、A2,A3,A4)と、反転ゲート50,51,52,53で反転したその相補信号(XA1,XA2,XA3,XA4)とを、1段目の各EOR10,12,14,16に入力する。従って、EOR回路10は、A1とA2のEORを、EOR回路12は、A1とA2のEORの反転を、EOR回路14は、A3とA4のEORを、EOR回路16は、A3とA4のEORの反転を、出力する。
同様に、2段目のEOR回路20は、A1とA2とA3とA4のEORを、EOR回路22は、A1とA2とA3とA4のEORの反転を、出力し、その出力を受ける3段目のEOR回路32は、A1とA2とA3とA4とCIのEORを、反転ゲート47を介しS(SUM)として、出力する。同様に、XA1を反転ゲート41,43を介し受け、且つEOR回路20,22の出力と、XCIを受けるEOR回路34は、反転ゲート48を介し、図10に示したキャリーCを出力する。
更に、EOR回路14の出力と、EOR回路16の出力と、XA2と、XA4を受けるEOR回路24は、反転ゲート44を介し、図10のキャリーアウトCOを出力する。このキャリーアウトCOが、上位桁の5−3圧縮回路1−2のキャリーインCIとして、出力される。このように、キャリーアウトCOが、上位桁へのキャリーであり、キャリーCが、次段への桁上げ出力である。
更に、キャリーアウト出力の相補信号を作成するため、EOR回路14の出力と、EOR回路16の出力と、A2と、A4を受けるEOR回路26は、反転ゲート45を介し、図10のキャリーアウトCOの相補信号XCOを出力する。このキャリーアウトXCOも、上位桁の5−3圧縮回路1−2のキャリーインXCIとして、出力される。
他の5−3圧縮回路1−0,1−2,1−3も同様の構成である。このように、5−3圧縮回路のような排他的論理和回路を多く使用する回路では、EOR回路が、ある信号とその反転信号を生成する遅延時間を零とすることができる点に注目し、その2つの信号を効率的に使用することにより、高速化を実現することができる。
相補信号を両方使用するデュアルレールを使用することにより、増加した出力分のトランジスタ(図1のEOR26)が増加するが、相補信号で扱うので、その信号の反転信号をインバータで作らなくてもよくなる。即ち、図9の従来に比し、反転ゲート150を削減できる。よって、その分のトランジスタを減少させ、結果的にはトランジスタの増加を抑えることができる。
又、各CSAセル1−1のキャリーアウト出力(CO)は、一桁上位のCSAセル1−2のキャリーイン入力(CI)と接続されるが、入力からキャリーアウト、一桁上位のキャリーインを通り、その一桁上位のSUM,キャリーまで、出力されるパスの段数が、キャリーアウト、キャリーインを通過しないパスより1段多く、クリティカルとなる。このパスの高速化をするべく、キャリーアウトの相補信号XCOを作成し、上位桁に渡す。この結果、クリティカルパスの高速化が図れ、段数的には,入力からSUM、キャリーまでのパスは、キャリーアウトを通過する、しないに関わらず、同じとすることができる。
図4は、これを使用したCSAのブロック図である。図8の部分積の加算動作を行う構成を例にしてある。第1のCSA3は、図8の部分積X1,X2,X3,X4の各桁の加算を行い、第2のCSA4は、図8の部分積X5,X6,X7,X8の各桁の加算を行う。第3のCSA5は、図8の加算結果S1m〜S10と、各桁のキャリーC1m〜C10と、加算結果S2m〜S20と、各桁のキャリーC2m〜C20とを桁毎に、加算して、加算結果S3m〜S30と、キャリーC3m〜C30を得る。
CSA3は、図3の5−3圧縮回路1−0,1−1,1−2,1−3,1−4,1−5を、下位桁のキャリーアウトCO、XCOで、連結して、構成される。各5−3圧縮回路1−0,1−1,1−2,1−3,1−4,1−5は、部分積X1,X2,X3,X4を伝達するバスに接続される。具体的には、最下位桁(1桁目)の5−3圧縮回路1−0には、部分積X1の1桁目X10が入力する。2桁目の5−3圧縮回路1−1には、部分積X1の2桁目X11,部分積X2の1桁目X20が入力する。
3桁目の5−3圧縮回路1−2には、部分積X1の3桁目X12、部分積X2の2桁目X21、部分積X3の1桁目X30が入力する。4桁目の5−3圧縮回路1−3には、部分積X1の4桁目X13、部分積X2の3桁目X22,部分積X3の2桁目X31、部分積X4の1桁目X40が入力される。
5桁目の5−3圧縮回路1−4には、部分積X1の5桁目X14、部分積X2の4桁目X23,部分積X3の3桁目X32、部分積X4の2桁目X41が入力する。6桁目の5−3圧縮回路1−5には、部分積X1の6桁目X15、部分積X2の5桁目X24,部分積X3の4桁目X33、部分積X4の3桁目X42が入力される。以下、同様である。
同様に、CSA4は、図1の5−3圧縮回路1−10,1−11,1−12,1−13…を、下位桁のキャリーアウトCO,XCOで、連結して、構成される。各5−3圧縮回路1−10,1−11,1−12,1−13…は、部分積X5,X6,X7,X8を伝達するバスに接続される。具体的には、最下位桁(1桁目)の5−3圧縮回路1−10には、部分積X5の1桁目X50が入力する。2桁目の5−3圧縮回路1−11には、部分積X5の2桁目X51,部分積X6の1桁目X60が入力する。
3桁目の5−3圧縮回路1−12には、部分積X5の3桁目X52、部分積X6の2桁目X61,部分積X7の1桁目X70が入力する。4桁目の5−3圧縮回路1−13には、部分積X5の4桁目X53、部分積X6の3桁目X62,部分積X7の2桁目X71、部分積X8の1桁目X80が入力される。以下、同様である。
更に,CSA5は、図1の5−3圧縮回路1−20,1−21,1−22,1−23,1−24,1−25,1−26,1−27,1−28…を、下位桁のキャリーアウトCO、XCOで、連結して、構成される。最下位桁(1桁目)の5−3圧縮回路1−20には、5−3圧縮回路1−0のサムS20が、入力する。2桁目の5−3圧縮回路1−21には、5−3圧縮回路1−0のキャリーC10,5−3圧縮回路1−1のサムS11が入力する。以下、5桁目の5−3圧縮回路1−24まで同様である。
6桁目の5−3圧縮回路1−25には、5−3圧縮回路1−4のキャリーC14,5−3圧縮回路1−5のサムS15、5−3圧縮回路1−10のサムS20が入力する。以下、7桁目以降の5−3圧縮回路1−26も同様である。
このように、バスラインから、4入力を、各5−3圧縮回路1−0〜1−13に入力することにより、図1のような構成の5−3圧縮回路を動作できる。このようにして、乗算のための部分積の加算においては、これらのCSAセルを複数段組み合わせて使用するので、面積を抑えつつ、より高速化を図ることが可能となる。
図5、図6は、図9の従来技術、図1の第1の実施の形態、図3の第2の実施の形態のインバータとパストランジスタの数を比較したものである。図9の従来技術では、CSAセル(5−3圧縮回路)1段で、キャリー出力に、インバータ3段、パストランジスタ3段を、キャリーアウトを出力するのに、インバータ4段、パストランジスタ3段を要する。従って、4段、即ち、4個のCSAセル(5−3圧縮回路)を連結した場合には、キャリー出力に、インバータ12段、パストランジスタ12段を、キャリーアウトを出力するのに、インバータ16段、パストランジスタ12段を要する。
一方、第1の実施の形態では、CSAセル(5−3圧縮回路)1段で、キャリー出力に、インバータ3段、パストランジスタ3段を、キャリーアウトを出力するのに、インバータ3段、パストランジスタ3段を要する。従って、4段、即ち、4個のCSAセル(5−3圧縮回路)を連結した場合には、キャリー出力に、インバータ9段、パストランジスタ12段を、キャリーアウトを出力するのに、インバータ9段、パストランジスタ12段で済む。
更に、第2の実施の形態では、CSAセル(5−3圧縮回路)1段で、キャリー出力に、インバータ3段、パストランジスタ3段を、キャリーアウトを出力するのに、インバータ3段、パストランジスタ3段を要する。従って、4段、即ち、4個のCSAセル(5−3圧縮回路)を連結した場合には、キャリー出力に、インバータ12段、パストランジスタ12段を、キャリーアウトを出力するのに、インバータ12段、パストランジスタ12段で済む。
このように、パストランジスタの段数は、変わらないが、インバータの段数が減少でき、それだけ、遅延時間の増加を抑えることができ、高速化できる。又、第1の実施の形態では、最もインバータの段数を削減でき、より高速化できる。逆に、第2の実施の形態では、ある程度インバータの段数を削減でき、従来より高速化できるとともに、回路の増加をより抑制でき、チップ面積を抑えることができる。
[他の実施の形態]
上述の実施の形態では、図7及び図8の部分積の加算の例で説明したが、他の桁数の部分積、部分積数の加算に適用できる。
EOR回路群で構成される5−3圧縮回路に、キャリーアウトビットとその相補信号を出力する2つのキャリーアウト用EOR回路を少なくとも設け、少なくとも、キャリーアウトをデュアルレーン化したので、必要とするインバータを削減でき、遅延時間の増加を抑圧し、高速な加算動作を実現でき、桁数の多い部分積の加算を高速化するのに寄与する。

Claims (11)

  1. 4つの入力信号と下位桁のキャリーアウト入力を受け、加算ビットと、キャリービットと、前記キャリーアウトビットを演算するCSA用5−3圧縮回路において、
    前記4つの入力信号とその相補信号を受け、各々2つの入力信号のEOR演算を行い、2つのEOR出力とその相補信号を出力する4つの1段目EOR回路と、
    前記4つの1段目EOR回路の出力を受け、前記2つのEOR出力のEOR演算を行い、1つのEOR出力とその相補信号を出力する2つの2段目EOR回路と、
    前記2つの2段目EOR回路の出力と前記キャリーアウトビットを受け、前記EOR出力と前記キャリーアウトビットのEOR演算を行い、加算ビットを出力する3段目EOR回路と、
    前記2つの2段目EOR回路の出力と前記キャリーアウトビットと前記4つの入力信号の1つを受け、前記EOR出力と前記キャリーアウトビットと前記1つの入力信号のEOR演算を行い、キャリービットを出力するキャリー出力用EOR回路と、
    2つの前記1段目EOR回路の出力と前記入力信号の相補信号の2つを受け、前記2つのEOR出力と前記2つの相補信号のEOR演算を行い、前記キャリーアウトビットとその相補信号を出力する2つのキャリーアウト用EOR回路とを有する
    ことを特徴とするCSA用5−3圧縮回路。
  2. 前記3段目EOR回路は、
    前記2つの2段目EOR回路の出力と前記キャリーアウトビットを受け、前記EOR出力と前記キャリーアウトビットのEOR演算を行い、加算ビットとその相補信号を出力する一対のEOR回路で構成され、
    前記キャリー出力用EOR回路は、
    前記2つの2段目EOR回路の出力と前記キャリーアウトビットと前記4つの入力信号の1つを受け、前記EOR出力と前記キャリーアウトビットと前記1つの入力信号のEOR演算を行い、キャリービットとその相補信号を出力する一対のEOR回路で構成された
    ことを特徴とする請求項1のCSA用5−3圧縮回路。
  3. 前記4つの入力信号の相補信号を生成する4つのインバータを更に有する
    ことを特徴とする請求項1のCSA用5−3圧縮回路。
  4. 前記4つの1段目EOR回路は、データバスから前記4つの入力信号とその相補信号を受ける
    ことを特徴とする請求項2のCSA用5−3圧縮回路。
  5. 前記4つの1段目EOR回路と前記4つのインバータは、データバスから前記4つの入力信号を受ける
    ことを特徴とする請求項3のCSA用5−3圧縮回路。
  6. 4つの入力信号と下位桁のキャリーアウト入力を受け、加算ビットと、キャリービットと、前記キャリーアウトビットを演算する複数のCSA用5−3圧縮回路を、前記キャリーアウト入力で連結したキャリーセーブ加算回路において、
    各前記CSA用5−3圧縮回路は、
    各4つの入力信号とその相補信号を受け、各々2つの入力信号のEOR演算を行い、2つのEOR出力とその相補信号を出力する4つの1段目EOR回路と、
    前記4つの1段目EOR回路の出力を受け、前記2つのEOR出力のEOR演算を行い、1つのEOR出力とその相補信号を出力する2つの2段目EOR回路と、
    前記2つの2段目EOR回路の出力と前記キャリーアウトビットを受け、前記EOR出力と前記キャリーアウトビットのEOR演算を行い、加算ビットを出力する3段目EOR回路と、
    前記2つの2段目EOR回路の出力と前記キャリーアウトビットと前記4つの入力信号の1つを受け、前記EOR出力と前記キャリーアウトビットと前記1つの入力信号のEOR演算を行い、キャリービットを出力するキャリー出力用EOR回路と、
    2つの前記1段目EOR回路の出力と前記入力信号の相補信号の2つを受け、前記2つのEOR出力と前記2つの相補信号のEOR演算を行い、前記キャリーアウトビットとその相補信号を出力する2つのキャリーアウト用EOR回路とを有する
    ことを特徴とするキャリーセーブ加算回路。
  7. 前記3段目EOR回路は、
    前記2つの2段目EOR回路の出力と前記キャリーアウトビットを受け、前記EOR出力と前記キャリーアウトビットのEOR演算を行い、加算ビットとその相補信号を出力する一対のEOR回路で構成され、
    前記キャリー出力用EOR回路は、
    前記2つの2段目EOR回路の出力と前記キャリーアウトビットと前記4つの入力信号の1つを受け、前記EOR出力と前記キャリーアウトビットと前記1つの入力信号のEOR演算を行い、キャリービットとその相補信号を出力する一対のEOR回路で構成された
    ことを特徴とする請求項6のキャリーセーブ加算回路。
  8. 前記4つの入力信号の相補信号を生成する4つのインバータを更に有する
    ことを特徴とする請求項6のキャリーセーブ加算回路。
  9. 各前記5−3圧縮回路の前記4つの1段目EOR回路は、データバスから前記4つの入力信号とその相補信号を受ける
    ことを特徴とする請求項7のキャリーセーブ加算回路。
  10. 各前記5−3圧縮回路の前記4つの1段目EOR回路と前記4つのインバータは、データバスから前記4つの入力信号を受ける
    ことを特徴とする請求項8のキャリーセーブ加算回路。
  11. 前記複数の5−3圧縮回路を、複数設け、
    初段の前記複数の5−3圧縮回路の加算ビットと前記キャリービットとを、次段の前記複数の5−3圧縮回路に入力する
    ことを特徴とする請求項6のキャリーセーブ加算回路。
JP2007512385A 2005-03-31 2005-03-31 Csa用5−3圧縮回路及びこれを使用したキャリアセーブ加算回路 Expired - Fee Related JP4358272B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/006336 WO2006106581A1 (ja) 2005-03-31 2005-03-31 Csa用5-3圧縮回路及びこれを使用したキャリアセーブ加算回路

Publications (2)

Publication Number Publication Date
JPWO2006106581A1 JPWO2006106581A1 (ja) 2008-09-11
JP4358272B2 true JP4358272B2 (ja) 2009-11-04

Family

ID=37073149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007512385A Expired - Fee Related JP4358272B2 (ja) 2005-03-31 2005-03-31 Csa用5−3圧縮回路及びこれを使用したキャリアセーブ加算回路

Country Status (4)

Country Link
US (1) US8032819B2 (ja)
EP (1) EP1868079A4 (ja)
JP (1) JP4358272B2 (ja)
WO (1) WO2006106581A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201616274D0 (en) 2016-09-26 2016-11-09 International Business Machines Corporation Circuit for addition of multiple binary numbers
TWI707543B (zh) * 2020-02-06 2020-10-11 崛智科技有限公司 壓縮器、加法電路及其操作方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210833A (en) * 1985-11-08 1993-05-11 Nec Corporation System for selectively masking data in a branch address register and replacing the microinstruction address register by the masked data
JP3090808B2 (ja) 1992-12-28 2000-09-25 シャープ株式会社 単位加算器
JPH07219746A (ja) * 1994-02-07 1995-08-18 Nippon Telegr & Teleph Corp <Ntt> 5入力3出力加算器
JPH1011996A (ja) * 1996-06-24 1998-01-16 Advantest Corp メモリ試験装置
JP3678512B2 (ja) * 1996-08-29 2005-08-03 富士通株式会社 乗算回路、該乗算回路を構成する加算回路、該乗算回路の部分積ビット圧縮方法、および、該乗算回路を適用した大規模半導体集積回路
US6615229B1 (en) * 2000-06-29 2003-09-02 Intel Corporation Dual threshold voltage complementary pass-transistor logic implementation of a low-power, partitioned multiplier
JP4031954B2 (ja) * 2002-06-11 2008-01-09 富士通株式会社 集積回路の診断装置および診断方法
WO2004104820A2 (en) * 2003-05-23 2004-12-02 Arithmatica Limited A sum bit generation circuit
US8194855B2 (en) * 2003-06-30 2012-06-05 Oracle America, Inc. Method and apparatus for implementing processor instructions for accelerating public-key cryptography

Also Published As

Publication number Publication date
EP1868079A4 (en) 2009-09-09
EP1868079A1 (en) 2007-12-19
JPWO2006106581A1 (ja) 2008-09-11
WO2006106581A1 (ja) 2006-10-12
US8032819B2 (en) 2011-10-04
US20080052611A1 (en) 2008-02-28

Similar Documents

Publication Publication Date Title
Biswas et al. Efficient approaches for designing reversible binary coded decimal adders
Pudi et al. New decomposition theorems on majority logic for low-delay adder designs in quantum dot cellular automata
Thapliyal et al. Novel BCD adders and their reversible logic implementation for IEEE 754r format
Thomsen et al. Optimized reversible binary-coded decimal adders
JPS635774B2 (ja)
JPH02247727A (ja) 乗算装置及びその方法
JP4358272B2 (ja) Csa用5−3圧縮回路及びこれを使用したキャリアセーブ加算回路
Jaberipur et al. Unified Approach to the Design of Modulo-(2^ n+/-1) Adders Based on Signed-LSB Representation of Residues
Umapathi et al. A Comprehensive Survey on Distinctive Implementations of Carry Select Adder
Ahmadpour et al. A new nano-design of 16-bit carry look-ahead adder based on quantum technology
JP3604518B2 (ja) 除算装置
Patil et al. FPGA Implementation of conventional and vedic algorithm for energy efficient multiplier
Barik et al. An efficient redundant binary adder with revised computational rules
JP5549743B2 (ja) 10進絶対値加算器
Tapadar et al. Power and area aware improved SQRT carry select adder (CSIA)
Soundharya et al. GDI based area delay power efficient carry select adder
Mamataj et al. Designing of efficient adders by using a novel reversible SDNG gate
Podder et al. Realization of bi-quinary coded decimal adder in quantum dot cellular automata
Kumar et al. Design of low power adder and multiplier using reversible logic gates
Vani et al. VLSI design of a novel area efficient fir filter design using roba multiplier
Afrin et al. Two novel design approaches for optimized reversible multiplier circuit
JP4230234B2 (ja) 全加算器用のパリティ予測回路
Gowthami et al. Design of 16-bit heterogeneous adder architectures using different homogeneous adders
Ahmadpour et al. Design and Implementation of a Nano-scale High-Speed Multiplier for Signal Processing Applications
Fatima et al. Design and Implementation with Area, Power and Delay Estimation of Hybrid Parallel Prefix Adder

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090805

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees