JP3741280B2 - 桁上げ先見回路およびこれを用いた加算回路 - Google Patents
桁上げ先見回路およびこれを用いた加算回路 Download PDFInfo
- Publication number
- JP3741280B2 JP3741280B2 JP2003055763A JP2003055763A JP3741280B2 JP 3741280 B2 JP3741280 B2 JP 3741280B2 JP 2003055763 A JP2003055763 A JP 2003055763A JP 2003055763 A JP2003055763 A JP 2003055763A JP 3741280 B2 JP3741280 B2 JP 3741280B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- carry
- output
- logical
- input
- 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
Links
Images
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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
- G06F7/508—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits
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)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、加算回路においてキャリー信号の生成を高速化するために用いられる桁上げ先見回路と、桁上げ先見回路を用いた加算回路に関するものである。
【0002】
【従来の技術】
加算回路を構成する場合、動作速度の向上を図る上で最も問題となるのがキャリー(carry:桁上げ)信号の伝播遅延である。たとえばリプルキャリー型の加算回路では、キャリー信号が最下位ビットから最上位ビットまで順に伝播していくため、最上位ビットの演算結果と桁あふれが確定するまでには、加算対象信号のビット長に比例した遅延時間が生じてしまう。
【0003】
図16は、4ビット信号の加算を行うリプルキャリー型加算回路の構成例を示す回路図である。図16に示すリプルキャリー型加算回路は、4つの全加算器1〜4で構成される。
【0004】
全加算器1〜4は、下位桁から1ビットのキャリー信号ctを入力するとともに、加算対象として1ビットの信号aおよびbを入力する。そして、加算結果として1ビットの信号sを出力するとともに、上位桁へ1ビットのキャリー信号coを出力する。加算結果の信号sおよびキャリー信号coは、それぞれ次式で表される。
【0005】
【数1】
【0006】
全加算器1〜4には、加算対象信号の各桁の信号が入力される。すなわち、全加算器1,…,4には、この順番に対応して、4ビット加算対象信号の最下位桁(a0、b0),…,最上位桁(a3、b3)がそれぞれ入力される。
また、全加算器1〜4には、それぞれ下位の全加算器からのキャリー信号が入力される。すなわち、全加算器1には、外部からのキャリー信号cinが入力される。全加算器2には、全加算器1からのキャリー信号c0が入力される。全加算器3には、全加算器2からのキャリー信号c1が入力される。全加算器4には、全加算器3からのキャリー信号c2が入力される。
全加算器1〜4から出力される加算結果の信号s0〜s3は、4ビットの加算結果の最下位桁〜最上位桁にそれぞれ対応する。
全加算器4から出力されるキャリー信号は、4ビットの加算結果における桁あふれ(オーバーフロー)を示す。
【0007】
上述した構成を有する図16に示す加算回路において、最上位桁の加算結果s3とその桁あふれ信号c3は、下位のキャリー信号c2が出力されるまで確定しない。また、このキャリー信号c2は、下位のキャリー信号c1が出力されるまで確定せず、キャリー信号c1は、さらに下位のキャリー信号c0が出力されるまで確定しない。
すなわち、ある桁の加算結果と桁上がりが確定するためには、その桁より下位の全てのキャリー信号が確定している必要がある。このため、キャリー信号の伝播経路(図16の点線)は、リプルキャリー型加算回路における最長の遅延経路(クリティカル・パス)となる。加算対象信号のビット長が増すと、これに応じて全加算器の段数が追加され、この追加された全加算器におけるキャリー信号の生成回路がクリティカル・パスに加わるため、最終的な加算結果が確定するまでの遅延時間が長くなってしまう。
【0008】
こうしたキャリー信号の伝播遅延を改善する手法の1つとして、キャリールックアヘッド回路(carry look-ahead circuit:桁上げ先見回路)を用いた手法がある。
この手法では、加算対象信号の最下位桁を第1桁として、第(i+1)桁(iはゼロを含む正の整数を示す)の加算により生じるキャリー信号ciが次式に示すような関係を有することを利用して、下位桁のキャリーの検出を待つことなく上位桁のキャリーが検出される。
【0009】
【数2】
【0010】
式(3)において、信号piおよび信号giは、加算対象信号の第(i+1)桁の信号(ai、bi)を用いて、次式のように表される。
【0011】
【数3】
【0012】
一般に、信号piはキャリー伝播信号、信号giはキャリー生成信号と呼ばれている。
なお、式(3)においては、キャリー信号c-1を‘0’、すなわち、加算対象信号の第1桁に対する外部からのキャリー入力は存在しないものとしている。外部キャリー信号cinが存在する場合、キャリー信号ciは次式のように表される。
【0013】
【数4】
【0014】
たとえば、4ビットの加算回路における最上位桁(第4桁)からのキャリー信号c3は、外部キャリー信号cinが存在しないものとして式(3)を用いると、次式のように表される。
【0015】
【数5】
【0016】
図17は、式(6)の関係を利用して構成された、キャリー信号c3の生成回路の一例を示す回路図である。
図17に示すキャリー信号c3の生成回路は、半加算器5〜8と、4入力NANDゲート9および13と、3入力NANDゲート10と、2入力NANDゲート11と、インバータ12とを有する。
【0017】
半加算器5〜8は、各桁の加算対象信号を入力し、式(4)に示す排他的論理和および式(5)に示す論理積を演算して、キャリー伝播信号およびキャリー生成信号を出力する。
すなわち、半加算器5,…,8は、この順番に対応して、4ビット加算対象信号の最下位桁(a0、b0),…,最上位桁(a3、b3)をそれぞれ入力する。そして、入力した加算対象信号の排他的論理和および論理積を演算し、キャリー伝播信号およびキャリー生成信号の組(p0、g0),…,(p3、g3)をそれぞれ出力する。
【0018】
4入力NANDゲート9は、半加算器5から出力されるキャリー生成信号g0と、半加算器6〜8から出力されるキャリー伝播信号p1〜p3とを入力し、入力した4信号の反転論理積を出力する。この出力信号は、式(6)の右辺第1項を論理反転した信号に相当する。
【0019】
3入力NANDゲート10は、半加算器6から出力されるキャリー生成信号g1と、半加算器7および8から出力されるキャリー伝播信号p2およびp3とを入力し、入力した3信号の反転論理積を出力する。この出力信号は、式(6)の右辺第2項を論理反転した信号に相当する。
【0020】
2入力NANDゲート11は、半加算器7から出力されるキャリー生成信号g2と半加算器8から出力されるキャリー伝播信号p3とを入力し、入力した2信号の反転論理積を出力する。この出力信号は、式(6)の右辺第3項を論理反転した信号に相当する。
【0021】
インバータ12は、半加算器8から出力されるキャリー生成信号g3を論理反転して出力する。この出力信号は、式(6)の右辺第4項を論理反転した信号に相当する。
【0022】
4入力NANDゲート13は、NANDゲート9〜11およびインバータ12の出力信号を入力し、入力した4信号の反転論理積を出力する。この出力信号は、式(6)に示すキャリー信号c3に相当する。
【0023】
上述した構成を有するキャリー信号c3の生成回路によれば、下位のキャリー信号(c0〜c2)の確定を待つことなく、加算対象信号(a0,…,a3)および(b0,…,b3)から直接キャリー信号c3を生成することができるため、図16に示すリプルキャリー方式に比べて、キャリー信号の伝播遅延を短くすることができる。
【0024】
図17に示す回路は、最下位桁から4番目の桁におけるキャリー信号を生成する回路であるが、更に多ビットの加算においてキャリー信号を生成する場合には、複数のCLA回路を階層的に接続する方式が一般に用いられる。
【0025】
図18は、複数のCLA回路を階層的に接続して構成されるキャリー信号c15の生成回路の一例を示す回路図である。
図18に示すキャリー信号c15の生成回路は、4ビット半加算器21〜24と、CLA回路25〜29とを有する。
【0026】
4ビット半加算器21〜24は、16ビットの加算対象信号を4分割して得られる4ビットの信号をそれぞれ入力し、式(4)および(5)で示すキャリー伝播信号およびキャリー生成信号を各桁について演算する。
【0027】
すなわち、半加算器21は最下位桁(第1桁)〜第4桁の加算対象信号(a0,…,a3)および(b0,…,b3)を、半加算器22は第5桁〜第8桁の加算対象信号(a4,…,a7)および(b4,…,b7)を、半加算器23は第9桁〜第12桁の加算対象信号(a8,…,a11)および(b8,…,b11)を、半加算器24は第13桁〜第16桁の加算対象信号(a12,…,a15)および(b12,…,b15)を、それぞれ入力する。
そして、入力した加算対象信号の各桁について式(4)の排他的論理和および式(5)の論理積を演算する。半加算器21はキャリー伝播信号(p0,…,p3)およびキャリー生成信号(g0,…,g3)を、半加算器22はキャリー伝播信号(p4,…,p7)およびキャリー生成信号(g4,…,g7)を、半加算器23はキャリー伝播信号(p8,…,p11)およびキャリー生成信号(g8,…,g11)を、半加算器24はキャリー伝播信号(p12,…,p15)およびキャリー生成信号(g12,…,g15)を、それぞれ演算して出力する。
【0028】
図19は、4ビット半加算器21の構成例を示す回路図である。
4ビット半加算器21は、たとえば図19に示すように、1ビットの半加算器30〜33を4つ用いて構成される。他の4ビット半加算器22〜24についても、図19と同様な構成で実現可能である。
【0029】
CLA回路25〜28は、4ビット半加算器21〜24から出力される4ビットのキャリー伝播信号および4ビットのキャリー生成信号をそれぞれ入力し、これに応じた1ビットのキャリー伝播信号および1ビットのキャリー生成信号をそれぞれ出力する。
【0030】
すなわち、CLA回路25は半加算器21のキャリー伝播信号(p0,…,p3)およびキャリー生成信号(g0,…,g3)を、CLA回路26は半加算器22のキャリー伝播信号(p4,…,p7)およびキャリー生成信号(g4,…,g7)を、CLA回路27は半加算器23のキャリー伝播信号(p8,…,p11)およびキャリー生成信号(g8,…,g11)を、CLA回路28は半加算器24のキャリー伝播信号(p12,…,p15)およびキャリー生成信号(g12,…,g15)を、それぞれ入力する。
そして、この入力に応じた1ビットのキャリー伝播信号および1ビットのキャリー生成信号を演算する。CLA回路25はキャリー伝播信号P0およびキャリー生成信号G0を、CLA回路26はキャリー伝播信号P1およびキャリー生成信号G1を、CLA回路27はキャリー伝播信号P2およびキャリー生成信号G2を、CLA回路28はキャリー伝播信号P3およびキャリー生成信号G3を、それぞれ演算結果として出力する。
【0031】
CLA回路25〜28に対する4ビットの入力キャリー伝播信号を下位桁から信号p(0)〜p(3)として表し、また、4ビットの入力キャリー生成信号を下位桁から信号g(0)〜g(3)として表した場合、1ビットの出力キャリー伝播信号Pおよび1ビットの出力キャリー生成信号Gは次式のように表される。
【0032】
【数6】
【0033】
図20は、CLA回路25の構成例を示す回路図である。
CLA回路25において出力キャリー生成信号G0を生成する回路(14〜18)は、図17においてキャリー信号c3を生成する回路(9〜13)と同一である。
また、キャリー伝播信号P0の生成は、4入力のNANDゲート19においてキャリー伝播信号p0〜p3の反転論理積を演算し、その演算結果をインバータ20において論理反転することにより実現される。
他のCLA回路26〜28についても、図20と同様な回路構成で実現可能である。
【0034】
CLA回路29は、CLA回路26〜28から出力される4ビットの出力キャリー伝播信号(P0,…,P3)および4ビットの出力キャリー生成信号(G0,…,G3)を入力し、これに応じた1ビットのキャリー伝播信号Poおよび1ビットのキャリー生成信号Goを出力する。
【0035】
CLA回路29の出力キャリー生成信号Goおよび出力キャリー伝播信号Poは、式(7)および(8)における入力キャリー伝播信号(p(0),…,p(3))および入力キャリー生成信号(g(0),…,g(3))を、CLA回路26〜28の出力キャリー伝播信号(P0,…,P3)および出力キャリー生成信号(G0,…,G3)に置き換えることにより、CLA回路25〜28と同様に演算される。
したがって、CLA回路29の回路構成は、図20と同様な構成で実現可能である。
【0036】
上述した構成を有するキャリー信号c15の生成回路において、CLA回路29の出力キャリー生成信号Goは、上述した式(3)においてi=15とした場合におけるキャリー信号c15と等しくなる。
すなわち、式(3)を用いると、キャリー信号c15は次式のように表される。
【0037】
【数7】
【0038】
CLA回路25〜27の出力キャリー伝播信号P0〜P2、CLA回路25の出力キャリー生成信号G0は、次式のように表される。
【0039】
【数8】
【0040】
式(9)の右辺第1項〜第4項に対して式(10A)〜(10D)を代入すると、この第1項〜第4項の論理和W14は次式のように表される。
【0041】
【数9】
【0042】
式(9)の右辺第5項〜第8項、第9項〜第12項、および第13項〜第16項の論理和についても、式(11)の論理和W14と同様に、CLA回路25〜28の出力キャリー伝播信号および出力キャリー生成信号を用いて表すことが可能である。
この結果、キャリー信号c15は次式のように表される。
【0043】
【数10】
【0044】
式(9A)の右辺はCLA回路29の出力キャリー生成信号Goと等しい。このことから、出力キャリー生成信号Goがキャリー信号c15と等しくなることが分かる。
【0045】
なお、図18に示す回路は、4ビットのキャリー伝播信号および4ビットのキャリー生成信号を入力して1ビットのキャリー伝播信号および1ビットのキャリー生成信号を出力するCLA回路であるが、一般に、Nビットのキャリー伝播信号およびNビットのキャリー生成信号を入力するCLA回路の場合、その出力キャリー伝播信号Pおよび出力キャリー生成信号Gは、次式のように表される。
【0046】
【数11】
【0047】
複数のCLA回路を階層的に接続して構成されたキャリールックアヘッド型加算回路としては、たとえば、特許文献1に記載された技術が存在する。
【0048】
【特許文献1】
特開平5−61643号公報
【0049】
【発明が解決しようとする課題】
ところで、図17や図18に示すキャリー信号の生成回路において用いられるCLA回路では、3入力や4入力など、多入力のNANDが用いられている。一般に、NANDゲートやNORゲートなどのゲートにおいては、その入力信号数が多くなるほど、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が多くなる。たとえば4入力のNANDゲートの場合、出力端子と接地ラインとの間には4段ものトランジスタが直列に挿入される。このため、こうした多入力ゲートでは出力電流の駆動能力が低くなり、動作速度が遅くなる傾向がある。
【0050】
多入力ゲートの速度低下を抑えるためには、トランジスタのサイズ又はゲート幅を増やしてオン抵抗を下げる必要がある。トランジスタのサイズを大きくすると、回路面積が増加してしまう不具合に加えて、ゲート容量の増加によりトランジスタの駆動損失が増大してしまう不具合が生じる。
【0051】
しかしながら、キャリー信号の生成回路は加算回路全体のクリティカル・パスであることから、加算回路全体の性能向上を図るためには、CLA回路の多入力ゲートに用いるトランジスタを大面積にする必要がある。このため、従来のCLA回路では、加算回路の動作速度を向上させる代償として、回路面積の増加と消費電力の増大が常に問題となってきた。
【0052】
また、「特許文献1」の図5には、式(7)に示す出力キャリー生成信号Gと同等な信号を生成するCLA回路に複合型ゲートを用いる例が示されている。図21は、この複合型ゲートを用いて構成されたCLA回路の一例を示す回路図である。
【0053】
図21に示す複合型ゲートにおいて、インバータ34の入力端子と電源ラインVccとの間には、p型MOSトランジスタQp1〜Qp4の4トランジスタが直列に挿入されており、インバータ34の入力端子と接地ラインGとの間には、n型MOSトランジスタQn1〜Qn4の4トランジスタが直列に挿入されている。したがって、CLA回路の高速化を図るためにはこれらのトランジスタサイズを大きくする必要が生じ、上述と同様な回路面積の増加と消費電力の増大を招来する不具合が存在する。
【0054】
本発明はかかる事情に鑑みてなされたものであり、その目的は、回路面積の増加と消費電力の増大を抑えることができる桁上げ先見回路および加算回路を提供することにある。
【0055】
【課題を解決するための手段】
本発明の第1の観点の桁上げ先見回路は、
入力される(N−1)ビット(Nは自然数を示す)のキャリー伝播信号の最下位桁を第2桁、入力されるNビットのキャリー生成信号の最下位桁を第1桁として、上記入力キャリー伝播信号の第N桁から第k桁(kは2からNまでの自然数を示す)までの各桁と上記入力キャリー生成信号の第(k−1)桁との論理積と等しい第(k−1)の論理演算項、および、上記出力キャリー生成信号の第N桁と等しい第Nの論理演算項を、第1の論理演算項から第Nの論理演算項まで論理和演算した結果に相当するキャリー生成信号を出力する桁上げ先見回路であって、
上記第1の論理演算項から第Nの論理演算項までの各項が番号順に並んだN項の論理和演算式において、上記第1の論理演算項側または上記第Nの論理演算項側から順番に、隣接する2項の論理和が1つのグループ項にグループ化され、グループ化された2項に共通項が存在する場合は、上記グループ項における2項の論理和が上記共通項と非共通項との論理積に変形され、上記グループ化後の論理和演算式における上記グループ項の数が2より大きい場合は、上記グループ化後の論理和演算式において上記番号順に応じた順序で並ぶ上記グループ項に対し上記グループ化および上記変形が更に反復されることにより取得される、2つの上記グループ項からなる論理和演算式を第1の論理式として、
複数ビットの上記入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号、上記入力キャリー伝播信号、および上記入力キャリー生成信号の中から、2ビットの信号を入力し、入力した2ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する、1つまたは複数の第1の論理ゲートと、
上記第1の論理式における上記グループ項、上記共通項、および上記非共通項の演算結果に相当する信号、ならびに、上記入力キャリー生成信号、上記入力キャリー伝播信号、および上記第1の論理ゲートの出力信号の中から、3ビットの信号を入力し、当該入力信号のうちの2ビットの信号の論理積と他の1ビットの信号との論理和もしくは反転論理和に相当する信号、または、当該入力信号のうちの2ビットの信号の論理和と他の1ビットの信号との論理積もしくは反転論理積に相当する信号を、上記グループ項、上記非共通項、または上記出力キャリー生成信号の演算結果もしくはその論理反転に相当する信号として出力する、1つまたは複数の第2の論理ゲートとを有する。
【0056】
上記入力キャリー伝播信号の第2桁に対してさらに1桁下位の桁を第1桁として、
上記第1の論理ゲートは、
2ビットの入力信号のうちの1ビットの信号として、上記入力キャリー伝播信号の第1桁の信号を入力する論理ゲートと、
上記入力キャリー伝播信号の第1桁から第N桁までの各桁の論理積の演算結果に相当するキャリー伝播信号もしくはその論理反転を出力する論理ゲートとを含んでも良い。
【0057】
また、上記入力キャリー生成信号、上記入力キャリー伝播信号、上記第1の論理ゲートの出力信号、および上記第2の論理ゲートの出力信号の中から1ビットの信号を入力し、当該入力信号を論理反転して、上記第1の論理ゲートもしくは上記第2の論理ゲートに出力するか、または、上記出力キャリー伝播信号もしくは上記出力キャリー生成信号として出力する、1つまたは複数の第3の論理ゲートを含んでも良い。
【0058】
本発明の第2の観点の加算回路は、
2つの加算対象信号の各桁の排他的論理和をキャリー伝播信号として出力し、上記2つの加算対象信号の各桁の論理積をキャリー生成信号として出力する第1の論理演算回路と、
上記第1の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号に応じて、上記加算対象信号の加算により発生する各桁の桁上がりを演算し、当該演算結果をキャリー信号として出力する第2の論理演算回路と、
上記加算対象信号の各桁に対する下位桁からの上記キャリー信号と各桁の上記キャリー伝播信号との排他的論理和を演算し、当該演算結果を各桁の加算結果として出力する第3の論理演算回路とを有する。
上記第2の論理演算回路は、
上記第1の論理演算回路から出力される複数ビットの上記キャリー伝播信号と複数ビットの上記キャリー生成信号とを入力し、1ビットの出力キャリー伝播信号と1ビットの出力キャリー生成信号とを出力する、1つまたは複数の桁上げ先見回路と、
上記第1の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号と、上記桁上げ先見回路の上記出力キャリー伝播信号および上記出力キャリー生成信号とに応じた上記キャリー信号を出力するキャリー信号出力回路とを含む。
上記桁上げ先見回路は、
上記第1の論理演算回路から入力するNビット(Nは自然数を示す)の上記キャリー伝播信号およびNビットの上記キャリー生成信号の最下位桁をそれぞれ第1桁として、
上記入力キャリー伝播信号の第N桁から第k桁(kは2からNまでの自然数を示す)までの各桁と上記入力キャリー生成信号の第(k−1)桁との論理積と等しい第(k−1)の論理演算項、および、上記入力キャリー生成信号の第N桁と等しい第Nの論理演算項を、第1の論理演算項から第Nの論理演算項まで論理和演算した結果に相当する上記出力キャリー生成信号と、
上記入力キャリー伝播信号の第1桁から第N桁までの各桁の論理積を演算した結果に相当する上記出力キャリー伝播信号と
を出力する桁上げ先見回路であって、
上記第1の論理演算項から第Nの論理演算項までの各項が番号順に並んだN項の論理和演算式において、上記第1の論理演算項側または上記第Nの論理演算項側から順番に、隣接する2項の論理和が1つのグループ項にグループ化され、グループ化された2項に共通項が存在する場合は、上記グループ項における2項の論理和が上記共通項と非共通項との論理積に変形され、上記グループ化後の論理和演算式における上記グループ項の数が2より大きい場合は、上記グループ化後の論理和演算式において上記番号順に応じた順序で並ぶ上記グループ項に対し上記グループ化および上記変形が更に反復されることにより取得される、2つの上記グループ項からなる論理和演算式を第1の論理式として、
複数ビットの上記入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号、上記入力キャリー伝播信号、および上記入力キャリー生成信号の中から、2ビットの信号を入力し、入力した2ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する、1つまたは複数の第1の論理ゲートと、
上記第1の論理式における上記グループ項、上記共通項、および上記非共通項の演算結果に相当する信号、ならびに、上記入力キャリー生成信号、上記入力キャリー伝播信号、および上記第1の論理ゲートの出力信号の中から、3ビットの信号を入力し、当該入力信号のうちの2ビットの信号の論理積と他の1ビットの信号との論理和もしくは反転論理和に相当する信号、または、当該入力信号のうちの2ビットの信号の論理和と他の1ビットの信号との論理積もしくは反転論理積に相当する信号を、上記グループ項、上記非共通項、または上記出力キャリー生成信号の演算結果もしくはその論理反転に相当する信号として出力する、1つまたは複数の第2の論理ゲートとを含む。
【0059】
上記桁上げ先見回路は、上記入力キャリー生成信号、上記入力キャリー伝播信号、上記第1の論理ゲートの出力信号、および上記第2の論理ゲートの出力信号の中から1ビットの信号を入力し、当該入力信号を論理反転して、上記第1の論理ゲートもしくは上記第2の論理ゲートに出力するか、または、上記出力キャリー伝播信号もしくは上記出力キャリー生成信号として出力する、1つまたは複数の第3の論理ゲートを含んでも良い。
【0060】
上記複数の桁上げ先見回路は、複数段の階層に分類されていても良い。この場合、初段の階層に含まれる桁上げ先見回路は、上記第1の論理演算回路から出力される複数ビットの上記キャリー伝播信号と複数ビットの上記キャリー生成信号とを入力して、1ビットの出力キャリー伝播信号と1ビットの出力キャリー生成信号とを出力し、初段に続く各段の桁上げ先見回路は、前段の複数の桁上げ先見回路から出力される複数ビットの上記出力キャリー伝播信号と複数ビットの上記出力キャリー生成信号とを入力して、1ビットの出力キャリー伝播信号と1ビットの出力キャリー生成信号とを出力しても良い。
【0061】
【発明の実施の形態】
<第1の実施形態>
本発明の第1の実施形態に係る、4ビットのCLA回路について述べる。
4ビットのCLA回路は、4ビットのキャリー伝播信号(p0,…,p3)と4ビットのキャリー生成信号(g0,…,g3)とを入力し、これらの入力信号に応じた1ビットのキャリー伝播信号Pおよび1ビットのキャリー生成信号Gを出力する。
ただし、4ビットのキャリー伝播信号の最下位桁(第1桁),…,最上位桁(第4桁)は、それぞれ、キャリー伝播信号p0,…,p3に対応する。また、4ビットのキャリー生成信号の最下位桁(第1桁),…,最上位桁(第4桁)は、それぞれ、キャリー生成信号g0,…,g3に対応する。
【0062】
キャリー伝播信号(p0,…,p3)およびキャリー生成信号(g0,…,g3)を用いて、キャリー伝播信号Pおよびキャリー生成信号Gは次式のように表される。
【0063】
【数12】
【0064】
入力キャリー伝播信号の第4桁から第2桁までの各桁と入力キャリー生成信号の第1桁との論理積を第1の論理演算項とすると、この第1の論理演算項は、式(14)における右辺第1項(p3・p2・p1・g0)に相当する。
入力キャリー伝播信号の第4桁から第3桁までの各桁と入力キャリー生成信号の第2桁との論理積を第2の論理演算項とすると、この第2の論理演算項は、式(14)における右辺第2項(p3・p2・g1)に相当する。
入力キャリー伝播信号の第4桁と入力キャリー生成信号の第3桁との論理積を第3の論理演算項とすると、この第3の論理演算項は、式(14)における右辺第3項(p3・g2)に相当する。
入力キャリー生成信号の第4桁を第4の論理演算項とすると、この第4の論理演算項は、式(14)における右辺第4項(g3)に相当する。
したがって、4ビットのCLA回路から出力されるキャリー生成信号Gは、上述した4つの項(第1の論理演算項〜第4の論理演算項)を論理和演算した結果として与えられる。
【0065】
ここで、上述した式(14)に対し、以下に述べる変形を施す。
式(14)は、第1の論理演算項から第4の論理演算項までの各項が番号順に並んだ4項の論理和演算式である。まずこの式(14)に対して、第1の論理演算項側または第4の論理演算項側から順番に、すなわち式の左側または右側から順番に、隣接する2項の論理和を1つのグループ項にグループ化する。そして、このグループ化した2項に共通項が存在する場合は、そのグループ項における2項の論理和を、共通項と非共通項との論理積に変形する。
このグループ化と変形を施した後の論理和演算式は、次式のようになる。
【0066】
【数13】
【0067】
式(16)において、右辺第1項および第2項は、それぞれ上述したグループ項である。このうち右辺第1項は、共通項(p3・p2)と非共通項(p1・g0+g1)との論理積に変形されている。
【0068】
次に、グループ化後の論理和演算式におけるグループ項の数が2より大きい場合は、このグループ化後の論理和演算式において第1の論理演算項〜第4の論理演算項の番号順に応じた順序で並ぶグループ項に対し、上述したグループ化および変形が更に反復される。式(16)の論理和演算式はグループ項数が2であるため、この場合、更なるグループ化および変形は実行されない。
【0069】
こうして得られた式(16)の構造を調べると、キャリー生成信号Gの生成回路は、2種類のゲートを用いて構成可能であることが分かる。すなわち、2ビットの入力信号の論理積に相当する信号を出力するゲート(第1の論理ゲート)と、3ビットの入力信号のうちの2ビットの信号の論理積と他の1ビットの信号との論理和に相当する信号を出力するゲート(第2の論理ゲート)とを用いて、式(16)に示すキャリー生成信号Gの生成回路を構成することができる。
また、式(15)に示すキャリー伝播信号Pの生成回路は、上述した第1の論理ゲートを複数用いて構成することができる。
したがって、4ビットCLA回路は、この第1の論理ゲートと第2の論理ゲートとを用いて構成することができる。
【0070】
図1は、本発明の第1の実施形態に係る4ビットCLA回路の構成の一例を示す回路図である。
図1に示す4ビットCLA回路は、NANDゲート101および102と、NORゲート103と、AND−NOR型複合ゲート201および202と、OR−NAND型複合ゲート251とを有する。
NANDゲート101および102、ならびにNORゲート103は、本発明の第1の論理ゲートの一実施形態である。
AND-NOR型複合ゲート201および202、ならびにOR-NAND型複合ゲート251は、本発明の第2の論理ゲートの一実施形態である。
【0071】
NANDゲート101は、キャリー伝播信号p0およびp1を入力し、その反転論理積を出力する。
NANDゲート102は、キャリー伝播信号p2およびp3を入力し、その反転論理積を出力する。この出力信号は、式(16)における共通項(p3・p2)の演算結果を論理反転した信号に相当する。
【0072】
NORゲート103は、NANDゲート101および102の出力信号の反転論理和を出力する。この出力信号は、式(15)に示すキャリー伝播信号Pの演算結果に相当する。
なお、2信号の反転論理和は、それぞれの信号を論理反転させてから論理積演算した結果と等価である。図1の例では、理解を容易にするために、NORゲートの記号をこれと等価なANDゲートの記号に置き換えて表記している。
【0073】
AND-NOR型複合ゲート201は、キャリー生成信号g0、g1、およびキャリー伝播信号p1を入力し、キャリー伝播信号p1とキャリー生成信号g0との論理積とキャリー生成信号g1との反転論理和を出力する。この出力信号は、式(16)における非共通項(p1・g0+g1)の演算結果を論理反転した信号に相当する。
【0074】
AND-NOR型複合ゲート202は、キャリー生成信号g2、g3、およびキャリー伝播信号p3を入力し、キャリー伝播信号p3とキャリー生成信号g2との論理積とキャリー生成信号g3との反転論理和を出力する。この出力信号は、式(16)におけるグループ項(p3・g2+g3)の演算結果を論理反転した信号に相当する。
【0075】
OR-NAND型複合ゲート251は、NANDゲート102およびAND-NOR型複合ゲート201の出力信号の論理和と、AND-NOR型複合ゲート202の出力信号との反転論理積を出力する。この出力信号は、式(16)に示すキャリー生成信号Gの演算結果に相当する。
なお、2信号の論理和と1信号との論理積は、2信号のそれぞれを論理反転させてから論理積演算した結果と、1信号を論理反転した結果との論理和に等しい。図1の例では、理解を容易にするために、OR-NAND型複合ゲートの記号をこれと等価なAND-ORゲートの記号に置き換えて表記している。
【0076】
ここで、AND-NOR型複合ゲートおよびOR-NAND型複合ゲートのより詳細な回路構成の例について、図2および図3に示す回路図を参照して説明する。
【0077】
図2(B)に示すAND-NOR型複合ゲートは、n型MOSトランジスタQn10〜Qn12と、p型MOSトランジスタQp10〜Qp12とを有する。n型MOSトランジスタQn10およびQn11は、出力端子Yと接地ラインGとの間に直列に接続されており、この直列回路とn型MOSトランジスタQn12とが並列に接続される。
p型MOSトランジスタQp10およびQp11は並列に接続されており、この並列回路とp型MOSトランジスタQp12とが、出力端子Yと電源ラインVccとの間に直列に接続される。
【0078】
n型MOSトランジスタQn10およびp型MOSトランジスタQp10のゲートは、入力端子Aに接続される。
n型MOSトランジスタQn11およびp型MOSトランジスタQp11のゲートは、入力端子Bに接続される。
n型MOSトランジスタQn12およびp型MOSトランジスタQp12のゲートは、入力端子Cに接続される。
【0079】
入力端子Cがハイレベルの場合、n型MOSトランジスタQn12がオンし、p型MOSトランジスタQp12がオフするため、出力端子Yはローレベルになる。
また、入力端子Aおよび入力端子Bがハイレベルの場合、n型MOSトランジスタQn10およびQn11がオンし、p型MOSトランジスタQp10およびQp11がオフするため、出力端子Yはローレベルになる。
入力端子Cがローレベル、かつ、入力端子AおよびBの一方または両方がローレベルの場合、n型MOSトランジスタQn12がオフし、n型MOSトランジスタQn10およびQn11の一方または両方がオフするため、出力端子Yと接地ラインGとの接続が遮断される。また、p型MOSトランジスタQp12がオンし、p型MOSトランジスタQp10およびQp11の一方または両方がオンするため、出力端子Yと電源ラインVccとが接続される。したがって、出力端子Yはハイレベルになる。
以上の動作から、入力端子AおよびBの入力信号の論理積と入力端子Cの入力信号との反転論理和に相当する信号が、出力端子Yから出力される。
【0080】
図2(C)に示すAND-NOR型複合ゲートは、図2(B)と同一の構成を有しており、両者の違いは、p型MOSトランジスタQp10およびQp11の並列回路とp型MOSトランジスタQp12との接続関係にある。
すなわち、図2(C)に示す回路では、p型MOSトランジスタQp10およびQp11の並列回路が出力端子Yに接続され、p型MOSトランジスタQp12が電源ラインVccに接続されているが、図2(B)に示す回路ではその逆に接続されている。これらの違いがあるものの、電源ラインVcc−出力端子Y間の導通/非導通に係わる動作について両者は等しいので、図2(C)に示す回路においても、図2(B)に示す回路と同等な機能が実現される。
【0081】
図3(B)に示すOR-NAND型複合ゲートは、n型MOSトランジスタQn13〜Qn15と、p型MOSトランジスタQp13〜Qp15とを有する。
n型MOSトランジスタQn13およびQn14は並列に接続され、この並列回路とn型MOSトランジスタQn15とが、出力端子Yと接地ラインGとの間に直列に接続される。
p型MOSトランジスタQp13およびQp14は、出力端子Yと電源ラインVccとの間に直列に接続され、この直列回路とp型MOSトランジスタQp15とが並列に接続される。
【0082】
n型MOSトランジスタQn13およびp型MOSトランジスタQp13のゲートは、入力端子Aに接続される。
n型MOSトランジスタQn14およびp型MOSトランジスタQp14のゲートは、入力端子Bに接続される。
n型MOSトランジスタQn15およびp型MOSトランジスタQp15のゲートは、入力端子Cに接続される。
【0083】
入力端子Cがローレベルの場合、p型MOSトランジスタQp15がオンし、n型MOSトランジスタQn15がオフするため、出力端子Yはハイレベルになる。
また、入力端子Aおよび入力端子Bがともにローレベルの場合、p型MOSトランジスタQp13およびQp14がオンし、n型MOSトランジスタQn13およびQn14がオフするため、出力端子Yはハイレベルになる。
入力端子Cがハイレベル、かつ、入力端子AおよびBの一方または両方がハイレベルの場合、n型MOSトランジスタQn15がオンし、n型MOSトランジスタQn13およびQn14の一方または両方がオンするため、出力端子Yと接地ラインGとが接続される。また、p型MOSトランジスタQp15がオフし、p型MOSトランジスタQp13およびQp14の一方または両方がオフするため、出力端子Yと電源ラインVccとの接続が遮断される。したがって、出力端子Yはローレベルになる。
以上の動作から、入力端子AおよびBの入力信号の論理和と入力端子Cの入力信号との反転論理積に相当する信号が、出力端子Yから出力される。
【0084】
図3(C)に示すOR-NAND型複合ゲートは、図3(B)と同一の構成を有しており、両者の違いは、n型MOSトランジスタQn13およびQn14の並列回路とn型MOSトランジスタQn15との接続関係にある。
すなわち、図3(C)に示す回路では、n型MOSトランジスタQn13およびQn14の並列回路が出力端子Yに接続され、n型MOSトランジスタQn15が接地ラインGに接続されているが、図3(B)に示す回路ではその逆に接続されている。これらの違いがあるものの、接地ラインG−出力端子Y間の導通/非導通に係わる動作について両者は等しいので、図3(C)に示す回路においても、図3(B)に示す回路と同等な機能が実現される。
【0085】
以上説明したように、図1に示す4ビットCLA回路では、2種類の論理ゲート(第1の論理ゲート、第2の論理ゲート)を用いて、式(14)に示すキャリー生成信号Gおよび式(15)に示すキャリー伝播信号Pを出力する回路が構成される。
すなわち、第1の論理ゲートとして、NANDゲート101、102、およびNORゲート103が用いられ、第2の論理ゲートとして、AND-NOR型複合ゲート201、202、およびOR-NAND型複合ゲート251が用いられる。
この第2の論理ゲートは、たとえば、図2に示すAND-NOR型複合ゲートや、図3に示すOR-NAND型複合ゲートによって実現される。こうした複合ゲートを用いると、出力端子Yと電源ラインVccとの間に挿入されるトランジスタの直列段数や、出力端子Yと接地ラインGとの間に挿入されるトランジスタの直列段数が、最大でも2段となる。これは、通常の論理回路で多用される2入力NANDゲートや2入力NORゲートと同じ段数である。
【0086】
したがって、図1に示す4ビットCLA回路によれば、図20に示す多入力のゲートや図21に示す複合ゲートのように、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が3段以上になる多入力の論理ゲートを使用することなく、CLA回路を実現できる。
これにより、同一の動作速度で比較した場合に、トランジスタのサイズを小さくすることができ、回路面積の縮小と消費電力の低減を図ることができる。加えて、トランジスタサイズが小さくなることによりゲート容量が小さくなるので、CLA回路を駆動する前段回路における消費電力の低減と回路面積の縮小が可能になり、結果として、回路全体の一層の小型化と低消費電力化を図ることができる。
また、トランジスタサイズを同一にして比較した場合には、動作速度をさらに高速化することが可能になる。
【0087】
/シミュレーションによる比較/
図20および図1に示す2つのCLA回路の性能を、電子回路シミュレーションにより評価した。
【0088】
(キャリー生成信号Gの遅延)
各信号(p1〜p3、g0〜g3)の入力時点からキャリー生成信号Gの出力時点までの遅延時間は、図20に示すCLA回路において0.234ns、図1に示すCLA回路において0.229nsとなった。すなわち、キャリー生成信号Gの遅延は両回路においてほぼ同等となった。
【0089】
(キャリー伝播信号Pの遅延)
各信号(p0〜p3)の入力時点からキャリー伝播信号Pの出力時点までの遅延時間は、図20に示すCLA回路において0.174ns、図1に示すCLA回路において0.202nsとなった。すなわち、キャリー伝播信号Pの伝播に関して、図1に示す回路は図20に示す従来回路に比べて若干の速度低下が認められた。ただし、キャリー伝播信号Pの伝播経路は一般にクリティカル・パスではないため、加算回路全体における動作速度には影響しないものと考えられる。
【0090】
(トランジスタ幅の合計)
回路に使用されているトランジスタの幅の合計を算出した。その結果、図20に示すCLA回路では74.5μm、図1に示すCLA回路では39.3μmとなった。すなわち、図1に示す回路のトランジスタ幅の合計は図20に示す従来回路に比べて約半分に削減された。
これは、図20に示す従来回路において、4入力NANDゲートなど、大きなサイズのトランジスタを必要とする多入力論理ゲートが多数使用されているのに対し、図1に示す回路では、何れの論理ゲートも、出力端子と電源ラインまたは接地ラインとの間に最大2段の直列トランジスタが挿入されるのみであり、直列段数が3段以上になる多入力ゲートに比べてトランジスタ幅を小さくすることができるためである。
一般に、CMOS回路における回路面積および消費電力はトランジスタ幅に比例する傾向がある。このため、図1に示す回路によれば、図20に示す従来回路と同等の信号遅延を達成しながら、回路面積および消費電力を約半分に削減できることが予想される。
【0091】
(入力容量の合計)
CLA回路に対する入力容量の合計を算出した。その結果、図20に示すCLA回路では47fF、図1に示すCLA回路では20fFとなった。すなわち、図1に示す回路の入力容量の合計は、図20に示す従来回路と比較して42%まで削減された。
入力容量が削減されることにより、CLA回路を駆動する前段回路の駆動能力を小さくすることができるため、加算回路全体の小型化および低消費電力化が期待される。
【0092】
<第2の実施形態>
次に、本発明の第2の実施形態に係る、5ビットのCLA回路について述べる。
5ビットのCLA回路は、5ビットのキャリー伝播信号(p0,…,p4)と5ビットのキャリー生成信号(g0,…,g4)とを入力し、これらの入力信号に応じた1ビットのキャリー伝播信号Pおよび1ビットのキャリー生成信号Gを出力する。
ただし、5ビットのキャリー伝播信号の最下位桁(第1桁),…,最上位桁(第5桁)は、それぞれ、キャリー伝播信号p0,…,p4に対応する。また、5ビットのキャリー生成信号の最下位桁(第1桁),…,最上位桁(第5桁)は、それぞれ、キャリー生成信号g0,…,g4に対応する。
【0093】
キャリー伝播信号(p0,…,p4)およびキャリー生成信号(g0,…,g4)を用いて、キャリー伝播信号Pおよびキャリー生成信号Gは次式のように表される。
【0094】
【数14】
【0095】
入力キャリー伝播信号の第5桁から第2桁までの各桁と入力キャリー生成信号の第1桁との論理積を第1の論理演算項とすると、この第1の論理演算項は、式(17)における右辺第1項(p4・p3・p2・p1・g0)に相当する。
入力キャリー伝播信号の第5桁から第3桁までの各桁と入力キャリー生成信号の第2桁との論理積を第2の論理演算項とすると、この第2の論理演算項は、式(17)における右辺第2項(p4・p3・p2・g1)に相当する。
入力キャリー伝播信号の第5桁から第4桁までの各桁と入力キャリー生成信号の第3桁との論理積を第3の論理演算項とすると、この第3の論理演算項は、式(17)における右辺第3項(p4・p3・g2)に相当する。
入力キャリー伝播信号の第5桁と入力キャリー生成信号の第4桁との論理積を第4の論理演算項とすると、この第4の論理演算項は、式(17)における右辺第4項(p4・g3)に相当する。
入力キャリー生成信号の第5桁を第5の論理演算項とすると、この第5の論理演算項は、式(17)における右辺第5項(g4)に相当する。
したがって、5ビットのCLA回路から出力されるキャリー生成信号Gは、上述した5つの項(第1の論理演算項〜第5の論理演算項)を論理和演算した結果として与えられる。
【0096】
ここで、上述した式(17)に対し、式(16)と同様な、以下に述べる変形を施す。
式(17)は、第1の論理演算項から第5の論理演算項までの各項が番号順に並んだ5項の論理和演算式である。まずこの式(17)に対して、第1の論理演算項側または第5の論理演算項側から順番に、すなわち式の左側または右側から順番に、隣接する2項の論理和を1つのグループ項にグループ化する。そして、このグループ化した2項に共通項が存在する場合は、そのグループ項における2項の論理和を、共通項と非共通項との論理積に変形する。
式(17)の左側からグループ化と変形を施した後の論理和演算式は、次式のようになる。
【0097】
【数15】
【0098】
式(19)において、右辺第1項〜第3項は、それぞれ上述したグループ項である。このうち右辺第1項は、共通項(p4・p3・p2)と非共通項(p1・g0+g1)との論理積に変形されている。右辺第2項は、共通項(p4)と非共通項(p3・g2+g3)との論理積に変形されている。
なお、右辺第3項(g4)は、式(17)のグループ化処理において余った項であるが、これも1つのグループ項として扱う。
【0099】
次に、グループ化後の論理和演算式におけるグループ項の数が2より大きい場合は、このグループ化後の論理和演算式において第1の論理演算項〜第5の論理演算項の番号順に応じた順序で並ぶグループ項に対し、上述したグループ化および変形が更に反復される。式(19)の論理和演算式はグループ項数が3であるため、更なるグループ化および変形が実行される。
式(19)の左側からグループ化と変形を施すと、式(19)の論理和演算式は次式のようになる。
【0100】
【数16】
【0101】
式(20)においてグループ項数は2となるため、式(20)に対する更なるグループ化および変形は実行されない。
【0102】
こうして得られた式(20)の構造を調べると、キャリー生成信号Gの生成回路は、2種類のゲートを用いて構成可能であることが分かる。すなわち、上述した第1の論理ゲートおよび第2の論理ゲートを用いて、式(20)に示すキャリー生成信号Gの生成回路を構成することができる。
【0103】
ただし、第1の論理ゲートとしてNANDゲートやNORゲートを用いる場合や、第2の論理ゲートとしてAND−NOR型複合ゲートやOR−NAND型複合ゲートを用いる場合は、第1の論理ゲートおよび第2の論理ゲートに加えて、1ビット信号の論理反転を出力する第3の論理ゲート、すなわちインバータが必要になる。
【0104】
また、式(18)に示すキャリー伝播信号Pの生成回路については、上述した第1の論理ゲートを複数用いて構成することができる。
【0105】
したがって、5ビットCLA回路は、2種類のゲート(第1の論理ゲートおよび第2の論理ゲート)または3種類のゲート(第1の論理ゲート〜第3の論理ゲート)を用いて構成することができる。
【0106】
図4は、本発明の第2の実施形態に係る5ビットCLA回路の構成の一例を示す回路図である。
図4に示す5ビットCLA回路は、NANDゲート104、105および107と、NORゲート106と、AND−NOR型複合ゲート203〜205と、OR−NAND型複合ゲート252と、インバータ301および302とを有する。
NANDゲート104、105および107、ならびにNORゲート106は、本発明の第1の論理ゲートの一実施形態である。
AND−NOR型複合ゲート203〜205、ならびにOR−NAND型複合ゲート252は、本発明の第2の論理ゲートの一実施形態である。
インバータ301および302は、本発明の第3の論理ゲートの一実施形態である。
【0107】
NANDゲート104は、キャリー伝播信号p0およびp1を入力し、その反転論理積を出力する。
NANDゲート105は、キャリー伝播信号p2およびp3を入力し、その反転論理積を出力する。この出力信号は、式(20)における2ビットのキャリー伝播信号の論理積(p3・p2)の演算結果を論理反転した信号に相当する。
【0108】
NORゲート106は、NANDゲート104および105の出力信号の反転論理和を出力する。
NANDゲート107は、NORゲート106の出力信号とキャリー伝播信号p4との反転論理積を出力する。
インバータ301は、NANDゲート107の出力信号を論理反転して出力する。この出力信号は、式(18)に示すキャリー伝播信号Pの演算結果に相当する。
【0109】
AND-NOR型複合ゲート203は、キャリー生成信号g0、g1、およびキャリー伝播信号p1を入力し、キャリー伝播信号p1とキャリー生成信号g0との論理積とキャリー生成信号g1との反転論理和を出力する。この出力信号は、式(20)における非共通項(p1・g0+g1)の演算結果を論理反転した信号に相当する。
【0110】
AND-NOR型複合ゲート204は、キャリー生成信号g2、g3、およびキャリー伝播信号p3を入力し、キャリー伝播信号p3とキャリー生成信号g2との論理積とキャリー生成信号g3との反転論理和を出力する。この出力信号は、式(20)における非共通項(p3・g2+g3)の演算結果を論理反転した信号に相当する。
【0111】
OR-NAND型複合ゲート252は、NANDゲート105およびAND-NOR型複合ゲート203の出力信号の論理和と、AND-NOR型複合ゲート204の出力信号との反転論理積を出力する。この出力信号は、式(20)における非共通項
{(p3・p2)・(p1・g0+g1)+(p3・g2+g3)}
の演算結果に相当する。
【0112】
AND-NOR型複合ゲート205は、OR−NAND型複合ゲート252の出力信号とキャリー伝播信号p4との論理積と、キャリー生成信号g4との反転論理和を出力する。
インバータ302は、AND−NOR型複合ゲート205の出力信号を論理反転して出力する。この出力信号は、式(20)に示すキャリー生成信号Gの演算結果に相当する。
【0113】
なお、図4に示すCLA回路において用いられるAND−NOR型複合ゲートおよびOR−NAND型複合ゲート(203〜205、252)には、たとえば、図2または図3に示す回路を用いることができる。
【0114】
以上説明したように、図4に示す5ビットCLA回路では、3種類の論理ゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、式(17)に示すキャリー生成信号Gおよび式(18)に示すキャリー伝播信号Pを出力する回路が構成される。
すなわち、第1の論理ゲートとして、NANDゲート104、105、107およびNORゲート106が用いられ、第2の論理ゲートとして、AND-NOR型複合ゲート203〜205、およびOR-NAND型複合ゲート252が用いられ、第3の論理ゲートとして、インバータ301および302が用いられる。
第2の論理ゲートは、たとえば、図2に示すAND-NOR型複合ゲートや、図3に示すOR-NAND型複合ゲートによって実現される。
【0115】
したがって、図4に示す5ビットCLA回路によれば、図1に示すCLA回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が3段以上になる多入力ゲートを使用することなく、CLA回路を実現できる。
このため、図1に示すCLA回路と同様の効果を奏することができる。すなわち、同一の動作速度で比較した場合、回路の小面積化と低消費電力化を図ることができる。また、同一の回路面積で比較した場合には、動作速度の高速化を図ることができる。
【0116】
<第3の実施形態>
次に、本発明の第3の実施形態に係る、5ビットのCLA回路について述べる。
上述した式(20)は、式(19)における3つのグループ項、
(p4・p3・p2)・(p1・g0+g1)、
p4・(p3・g2+g3)、
g4、
を第1の論理演算項側、すなわち式(19)の左側からグループ化することによって得られた論理式である。
そこで、これとは逆に、式(19)の右側からグループ化と変形を実行すると、次の式が得られる。
【0117】
【数17】
【0118】
こうして得られた式(21)の構造を調べると、図4に示す回路とは異なる構造を有しながら、上述した2種類のゲート(第1の論理ゲートおよび第2の論理ゲート)または3種類のゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、5ビットCLA回路を構成できることが分かる。
【0119】
図5は、本発明の第3の実施形態に係る5ビットCLA回路の構成の一例を示す回路図である。
図5に示す5ビットCLA回路は、NANDゲート108〜110と、NORゲート111と、AND−NOR型複合ゲート206〜208と、OR−NAND型複合ゲート253と、インバータ303および304とを有する。
NANDゲート108〜110、ならびにNORゲート111は、本発明の第1の論理ゲートの一実施形態である。
AND−NOR型複合ゲート206〜208、ならびにOR−NAND型複合ゲート253は、本発明の第2の論理ゲートの一実施形態である。
インバータ303および304は、本発明の第3の論理ゲートの一実施形態である。
【0120】
NANDゲート108は、キャリー伝播信号p0およびp1を入力し、その反転論理積を出力する。
NANDゲート109は、キャリー伝播信号p2およびp3を入力し、その反転論理積を出力する。
インバータ303は、NANDゲート109の出力信号を論理反転して出力する。
NANDゲート110は、インバータ303の出力信号とキャリー伝播信号p4との反転論理積を出力する。この出力信号は、式(21)における3ビットのキャリー伝播信号の論理積(p4・p3・p2)を論理反転した演算結果に相当する。
NORゲート111は、NANDゲート108およびNANDゲート110の出力信号の反転論理和を出力する。この出力信号は、式(18)に示すキャリー伝播信号Pの演算結果に相当する。
【0121】
AND-NOR型複合ゲート206は、キャリー生成信号g0、g1、およびキャリー伝播信号p1を入力し、キャリー伝播信号p1とキャリー生成信号g0との論理積とキャリー生成信号g1との反転論理和を出力する。この出力信号は、式(21)における非共通項(p1・g0+g1)の演算結果を論理反転した信号に相当する。
【0122】
AND-NOR型複合ゲート207は、キャリー生成信号g2、g3、およびキャリー伝播信号p3を入力し、キャリー伝播信号p3とキャリー生成信号g2との論理積とキャリー生成信号g3との反転論理和を出力する。
インバータ304は、AND-NOR型複合ゲート207の出力信号を論理反転して出力する。この出力信号は、式(21)における非共通項(p3・g2+g3)の演算結果に相当する。
【0123】
AND-NOR型複合ゲート208は、インバータ304の出力信号とキャリー伝播信号p4との論理積と、キャリー生成信号g4との反転論理和を出力する。この出力信号は、式(21)におけるグループ項
{p4・(p3・g2+g3)+g4}
の演算結果を論理反転した信号に相当する。
【0124】
OR-NAND型複合ゲート253は、AND-NOR型複合ゲート206およびNANDゲート110の出力信号の論理積と、AND-NOR型複合ゲート208の出力信号との反転論理和を出力する。この出力信号は、式(21)に示すキャリー生成信号Gの演算結果に相当する。
【0125】
なお、図5に示すCLA回路において用いられるAND−NOR型複合ゲートおよびOR−NAND型複合ゲート(206〜208、253)には、たとえば、図2または図3に示す回路を用いることができる。
【0126】
以上説明したように、図5に示す5ビットCLA回路においても、3種類の論理ゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、キャリー生成信号Gおよびキャリー伝播信号Pを出力する回路が構成される。
すなわち、第1の論理ゲートとして、NANDゲート108〜110、およびNORゲート111が用いられ、第2の論理ゲートとして、AND-NOR型複合ゲート206〜208、およびOR-NAND型複合ゲート253が用いられ、第3の論理ゲートとして、インバータ303および304が用いられる。
第2の論理ゲートは、たとえば、図2に示すAND-NOR型複合ゲートや、図3に示すOR-NAND型複合ゲートによって実現される。
【0127】
したがって、図5に示す5ビットCLA回路においても、図1および図4に示すCLA回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が3段以上になる多入力ゲートを使用することなく、CLA回路を実現できる。
このため、図1および図4に示すCLA回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【0128】
<第4の実施形態>
次に、本発明の第4の実施形態に係る、5ビットのCLA回路について述べる。
上述した式(19)は、式(17)における5つの項(第1の論理演算項〜第5の論理演算項)、
p4・p3・p2・p1・g0、
p4・p3・p2・g1、
p4・p3・g2、
p4・g3、
g4、
を第1の論理演算項側、すなわち式(17)の左側からグループ化することによって得られた論理式である。
そこで、これとは逆に第5の論理演算項側、すなわち式(17)の右側からグループ化と変形を実行すると、次の式が得られる。
【0129】
【数18】
【0130】
式(22)におけるグループ項の数は3であるので、グループ化と変形が更に実行される。
式(22)の右側からグループ化と変形を施すと、式(22)の論理式は次式のようになる。
【0131】
【数19】
【0132】
こうして得られた式(23)の構造を調べると、上述した2種類のゲート(第1の論理ゲートおよび第2の論理ゲート)または3種類のゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、図4および図5に示す回路とは異なる構造を有した5ビットCLA回路を構成できることが分かる。
【0133】
図6は、本発明の第4の実施形態に係る5ビットCLA回路の構成の一例を示す回路図である。
図5に示す5ビットCLA回路は、NANDゲート112、113および115と、NORゲート114と、AND−NOR型複合ゲート209〜211と、OR−NAND型複合ゲート254と、インバータ305および306とを有する。
NANDゲート112、113および115、ならびにNORゲート114は、本発明の第1の論理ゲートの一実施形態である。
AND−NOR型複合ゲート209〜211、ならびにOR−NAND型複合ゲート254は、本発明の第2の論理ゲートの一実施形態である。
インバータ305および306は、本発明の第3の論理ゲートの一実施形態である。
【0134】
NANDゲート112は、キャリー伝播信号p1およびp2を入力し、その反転論理積を出力する。
NANDゲート113は、キャリー伝播信号p3およびp4を入力し、その反転論理積を出力する。
NORゲート114は、NANDゲート112および113の出力信号の反転論理和を出力する。この出力信号は、式(23)における4ビットのキャリー伝播信号の論理積(p4・p3・p2・p1)の論理積に相当する。
【0135】
NANDゲート115は、NORゲート114の出力信号とキャリー伝播信号p0との反転論理積を出力する。
インバータ305は、NANDゲート115の出力信号を反転して出力する。この出力信号は、式(18)に示すキャリー伝播信号Pの演算結果に相当する。
【0136】
AND-NOR型複合ゲート209は、キャリー生成信号g1、g2、およびキャリー伝播信号p2を入力し、キャリー伝播信号p2とキャリー生成信号g1との論理積とキャリー生成信号g2との反転論理和を出力する。この出力信号は、式(23)における非共通項(p2・g1+g2)の演算結果を論理反転した信号に相当する。
【0137】
AND-NOR型複合ゲート210は、キャリー生成信号g3、g4、およびキャリー伝播信号p4を入力し、キャリー伝播信号p4とキャリー生成信号g3との論理積とキャリー生成信号g4との反転論理和を出力する。この出力信号は、式(23)におけるグループ項(p4・g3+g4)の演算結果を論理反転した信号に相当する。
【0138】
OR-NAND型複合ゲート254は、NANDゲート113およびAND-NOR型複合ゲート209の出力信号の論理和と、AND-NOR型複合ゲート210の出力信号との反転論理積を出力する。この出力信号は、式(23)におけるグループ項、
{(p4・p3)・(p2・g1+g2)+(p4・g3+g4)}
の演算結果に相当する。
【0139】
AND-NOR型複合ゲート211は、NANDゲート114の出力信号とキャリー生成信号g0との論理積と、OR−NAND型複合ゲート254の出力信号との反転論理和を出力する。
インバータ306は、AND-NOR型複合ゲート211の出力信号を論理反転して出力する。この出力信号は、式(23)に示すキャリー生成信号Gの演算結果に相当する。
【0140】
なお、図6に示すCLA回路において用いられるAND−NOR型複合ゲートおよびOR−NAND型複合ゲート(209〜211、254)には、たとえば、図2または図3に示す回路を用いることができる。
【0141】
以上説明したように、図6に示す5ビットCLA回路においても、3種類の論理ゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、キャリー生成信号Gおよびキャリー伝播信号Pを出力する回路が構成される。
すなわち、第1の論理ゲートとして、NANDゲート112、113、115、およびNORゲート114が用いられ、第2の論理ゲートとして、AND-NOR型複合ゲート209〜211、およびOR-NAND型複合ゲート254が用いられ、第3の論理ゲートとして、インバータ305および306が用いられる。
第2の論理ゲートは、たとえば、図2に示すAND-NOR型複合ゲートや、図3に示すOR-NAND型複合ゲートによって実現される。
【0142】
したがって、図6に示す5ビットCLA回路においても、図1、図4および図5に示すCLA回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が3段以上になる多入力ゲートを使用することなく、CLA回路を実現できる。
このため、図1、図4および図5に示すCLA回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【0143】
<第5の実施形態>
次に、本発明の第5の実施形態に係る、5ビットのCLA回路について述べる。
上述した式(23)は、式(22)における3つのグループ項、
p4・p3・p2・p1・g0、
p4・p3・(p2・g1+g2)、
(p4・g3+g4)
を第1の論理演算項側、すなわち式(22)の右側からグループ化することによって得られた論理式である。
そこで、これとは逆に第5の論理演算項側、すなわち式(22)の左側からグループ化すると、次の式が得られる。
【0144】
【数20】
【0145】
こうして得られた式(24)の構造を調べると、上述した2種類のゲート(第1の論理ゲートおよび第2の論理ゲート)または3種類のゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、図4〜図6に示す回路とは異なる構造を有した、5ビットCLA回路を構成できることが分かる。
【0146】
図7は、本発明の第5の実施形態に係る5ビットCLA回路の構成の一例を示す回路図である。
図7に示す5ビットCLA回路は、NANDゲート116、117および119と、NORゲート118と、AND−NOR型複合ゲート212〜214と、OR−NAND型複合ゲート255と、インバータ307〜311とを有する。
NANDゲート116、117および119、ならびにNORゲート118は、本発明の第1の論理ゲートの一実施形態である。
AND−NOR型複合ゲート212〜214、ならびにOR−NAND型複合ゲート255は、本発明の第2の論理ゲートの一実施形態である。
インバータ307〜311は、本発明の第3の論理ゲートの一実施形態である。
【0147】
NANDゲート116は、キャリー伝播信号p1およびp2を入力し、その反転論理積を出力する。この出力信号は、式(24)における2ビットのキャリー伝播信号の論理積(p2・p1)の演算結果を論理反転した信号に相当する。
NANDゲート117は、キャリー伝播信号p3およびp4を入力し、その反転論理積を出力する。
インバータ308は、NANDゲート117の出力信号を論理反転して出力する。この出力信号は、式(24)における共通項(p4・p3)の演算結果に相当する。
【0148】
NORゲート118は、NANDゲート116および117の出力信号の反転論理和を出力する。
NANDゲート119は、NORゲート118の出力信号とキャリー伝播信号p0との反転論理積を出力する。
インバータ310は、NANDゲート119の出力信号を反転して出力する。この出力信号は、式(18)に示すキャリー伝播信号Pの演算結果に相当する。
【0149】
AND-NOR型複合ゲート212は、キャリー生成信号g1、g2、およびキャリー伝播信号p2を入力し、キャリー伝播信号p2とキャリー生成信号g1との論理積とキャリー生成信号g2との反転論理和を出力する。この出力信号は、式(24)における非共通項(p2・g1+g2)の演算結果を論理反転した信号に相当する。
【0150】
AND-NOR型複合ゲート213は、キャリー生成信号g3、g4、およびキャリー伝播信号p4を入力し、キャリー伝播信号p4とキャリー生成信号g3との論理積とキャリー生成信号g4との反転論理和を出力する。
インバータ309は、AND-NOR型複合ゲート213の出力信号を論理反転して出力する。この出力信号は、式(24)におけるグループ項(p4・g3+g4)の演算結果に相当する。
【0151】
インバータ307は、キャリー生成信号g0を論理反転して出力する。
OR-NAND型複合ゲート255は、NANDゲート116およびインバータ307の出力信号の論理和と、AND-NOR型複合ゲート212の出力信号との反転論理積を出力する。この出力信号は、式(24)における非共通項、
{p2・p1・g0+・(p2・g1+g2)}
の演算結果に相当する。
【0152】
AND-NOR型複合ゲート214は、インバータ308およびOR-NAND型複合ゲート255の出力信号の論理積と、インバータ309の出力信号との反転論理和を出力する。
インバータ311は、AND-NOR型複合ゲート214の出力信号を論理反転して出力する。この出力信号は、式(24)に示すキャリー生成信号Gの演算結果に相当する。
【0153】
なお、図7に示すCLA回路において用いられるAND−NOR型複合ゲートおよびOR−NAND型複合ゲート(212〜214、255)には、たとえば、図2または図3に示す回路を用いることができる。
【0154】
以上説明したように、図7に示す5ビットCLA回路においても、3種類の論理ゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、キャリー生成信号Gおよびキャリー伝播信号Pを出力する回路が構成される。
すなわち、第1の論理ゲートとして、NANDゲート116、117、119、およびNORゲート118が用いられ、第2の論理ゲートとして、AND-NOR型複合ゲート212〜214、およびOR-NAND型複合ゲート255が用いられ、第3の論理ゲートとして、インバータ307〜311が用いられる。
第2の論理ゲートは、たとえば、図2に示すAND-NOR型複合ゲートや、図3に示すOR-NAND型複合ゲートによって実現される。
【0155】
したがって、図7に示す5ビットCLA回路においても、図1および図4〜図6に示すCLA回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が3段以上になる多入力ゲートを使用することなく、CLA回路を実現できる。
このため、図1および図4〜図6に示すCLA回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【0156】
<第6の実施形態>
次に、本発明の第6の実施形態に係る、6ビットのCLA回路について述べる。
6ビットのCLA回路は、6ビットのキャリー伝播信号(p0,…,p5)と6ビットのキャリー生成信号(g0,…,g 5 )とを入力し、これらの入力信号に応じた1ビットのキャリー伝播信号Pおよび1ビットのキャリー生成信号Gを出力する。
ただし、6ビットのキャリー伝播信号の最下位桁(第1桁),…,最上位桁(第6桁)は、それぞれ、キャリー伝播信号p0,…,p5に対応する。また、6ビットのキャリー生成信号の最下位桁(第1桁),…,最上位桁(第6桁)は、それぞれ、キャリー生成信号g0,…,g5に対応する。
【0157】
キャリー伝播信号(p0,…,p5)およびキャリー生成信号(g0,…,g5)を用いて、キャリー伝播信号Pおよびキャリー生成信号Gは次式のように表される。
【0158】
【数21】
【0159】
入力キャリー伝播信号の第6桁から第2桁までの各桁と入力キャリー生成信号の第1桁との論理積を第1の論理演算項とすると、この第1の論理演算項は、式(25)における右辺第1項(p5・p4・p3・p2・p1・g0)に相当する。
入力キャリー伝播信号の第6桁から第3桁までの各桁と入力キャリー生成信号の第2桁との論理積を第2の論理演算項とすると、この第2の論理演算項は、式(25)における右辺第2項(p5・p4・p3・p2・g1)に相当する。
入力キャリー伝播信号の第6桁から第4桁までの各桁と入力キャリー生成信号の第3桁との論理積を第3の論理演算項とすると、この第3の論理演算項は、式(25)における右辺第3項(p5・p4・p3・g2)に相当する。
入力キャリー伝播信号の第6桁から第5桁までの各桁と入力キャリー生成信号の第4桁との論理積を第4の論理演算項とすると、この第4の論理演算項は、式(17)における右辺第4項(p5・p4・g3)に相当する。
入力キャリー伝播信号の第6桁と入力キャリー生成信号の第5桁との論理積を第5の論理演算項とすると、この第5の論理演算項は、式(25)における右辺第5項(p5・g4)に相当する。
入力キャリー生成信号の第6桁を第6の論理演算項とすると、この第6の論理演算項は、式(25)における右辺第5項(g5)に相当する。
したがって、6ビットのCLA回路から出力されるキャリー生成信号Gは、上述した6つの項(第1の論理演算項〜第6の論理演算項)を論理和演算した結果として与えられる。
【0160】
ここで、上述した式(25)に対し、式(16)、(19)および(22)と同様な、以下に述べる変形を施す。
式(25)は、第1の論理演算項から第6の論理演算項までの各項が番号順に並んだ6項の論理和演算式である。まずこの式(25)に対して、第1の論理演算項側または第6の論理演算項側から順番に、すなわち式の左側または右側から順番に、隣接する2項の論理和を1つのグループ項にグループ化する。そして、このグループ化した2項に共通項が存在する場合は、そのグループ項における2項の論理和を、共通項と非共通項との論理積に変形する。
式(25)の左側または右側からグループ化と変形を施すと、式(25)の論理和演算式は次式のようになる。
【0161】
【数22】
【0162】
式(27)において、右辺第1項〜第3項はそれぞれグループ項である。
このうち、右辺第1項は、共通項(p5・p4・p3・p2)と非共通項(p1・g0+g1)との論理積に変形されている。右辺第2項は、共通項(p5・p4)と非共通項(p3・g2+g3)との論理積に変形されている。
【0163】
式(27)におけるグループ項の数は3であるので、グループ化と変形が更に実行される。
式(27)の左からグループ化および変形を更に施すと、式(27)は次式のようになる。
【0164】
【数23】
【0165】
式(28)におけるグループ項の数は2であるので、式(28)に対する更なるグループ化および変形は実行されない。
【0166】
こうして得られた式(28)の構造を調べると、キャリー生成信号Gの生成回路は、既に述べた2種類のゲート(第1の論理ゲート、第2の論理ゲート)または3種類のゲート(第1の論理ゲート〜第3の論理ゲート)を用いて構成可能であることが分かる。
また、式(26)に示すキャリー伝播信号Pの生成回路については、上述した第1の論理ゲートを複数用いて構成することができる。
したがって、6ビットCLA回路についても、2種類のゲート(第1の論理ゲート、第2の論理ゲート)または3種類のゲート(第1の論理ゲート〜第3の論理ゲート)を用いて構成することができる。
【0167】
図8は、本発明の第6の実施形態に係る6ビットCLA回路の構成の一例を示す回路図である。
図8に示す6ビットCLA回路は、NANDゲート120〜122および124と、NORゲート123と、AND−NOR型複合ゲート215〜217と、OR−NAND型複合ゲート256および257と、インバータ312〜317とを有する。
NANDゲート120〜122および124、ならびにNORゲート123は、本発明の第1の論理ゲートの一実施形態である。
AND−NOR型複合ゲート215〜217、ならびにOR−NAND型複合ゲート256および257は、本発明の第2の論理ゲートの一実施形態である。
インバータ312〜317は、本発明の第3の論理ゲートの一実施形態である。
【0168】
NANDゲート120は、キャリー伝播信号p0およびp1を入力し、その反転論理積を出力する。
NANDゲート121は、キャリー伝播信号p2およびp3を入力し、その反転論理積を出力する。この出力信号は、式(28)における2ビットのキャリー伝播信号の論理積(p3・p2)の演算結果を論理反転した信号に相当する。
【0169】
NANDゲート122は、キャリー伝播信号p4およびp5の反転論理積を出力する。
インバータ315は、NANDゲート122の出力信号を論理反転して出力する。この出力信号は、式(28)における共通項(p5・p4)の演算結果に相当する。
【0170】
NORゲート123は、NANDゲート120および121の出力信号の反転論理和を出力する。
NANDゲート124は、NORゲート123およびインバータ315の出力信号の反転論理積を出力する。
インバータ316は、NANDゲート124の出力信号を論理反転して出力する。この出力信号は、式(26)に示すキャリー伝播信号Pの演算結果に相当する。
【0171】
AND-NOR型複合ゲート215は、キャリー生成信号g0、g1、およびキャリー伝播信号p1を入力し、キャリー伝播信号p1とキャリー生成信号g0との論理積とキャリー生成信号g1との反転論理和を出力する。この出力信号は、式(28)における非共通項(p1・g0+g1)の演算結果を論理反転した信号に相当する。
【0172】
AND-NOR型複合ゲート216は、キャリー生成信号g2、g3、およびキャリー伝播信号p3を入力し、キャリー伝播信号p3とキャリー生成信号g2との論理積とキャリー生成信号g3との反転論理和を出力する。この出力信号は、式(28)における非共通項(p3・g2+g3)の演算結果を論理反転した信号に相当する。
【0173】
インバータ312、313、314は、それぞれ、キャリー生成信号g4、キャリー伝播信号p5、キャリー生成信号g5を入力し、その論理反転を出力する。
OR−NAND型複合ゲート257は、インバータ312および313の出力信号の論理和と、インバータ314の出力信号との反転論理積を出力する。この出力信号は、式(28)におけるグループ項(p5・g4+g5)の演算結果に相当する。
【0174】
OR-NAND型複合ゲート256は、AND−NOR型複合ゲート215およびNANDゲート121の出力信号の論理和と、AND−NOR型複合ゲート216の出力信号との反転論理積を出力する。この出力信号は、式(28)における非共通項、
{(p3・p2)・(p1・g0+g1)+(p3・g2+g3)}
の演算結果に相当する。
【0175】
AND−NOR型複合ゲート217は、OR−NAND型複合ゲート256およびインバータ315の出力信号の論理積と、OR−NAND型複合ゲート257の出力信号との反転論理和を出力する。
インバータ317は、AND−NOR型複合ゲート217の出力信号を論理反転して出力する。この出力信号は、式(28)に示すキャリー生成信号Gの演算結果に相当する。
【0176】
なお、図8に示すCLA回路において用いられるAND−NOR型複合ゲートおよびOR−NAND型複合ゲート(215〜217、256、257)には、たとえば、図2または図3に示す回路を用いることができる。
【0177】
以上説明したように、図8に示す6ビットCLA回路では、3種類の論理ゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、式(25)に示すキャリー生成信号Gおよび式(26)に示すキャリー伝播信号Pを出力する回路が構成される。
すなわち、第1の論理ゲートとして、NANDゲート120〜122、124およびNORゲート123が用いられ、第2の論理ゲートとして、AND-NOR型複合ゲート215〜217、OR-NAND型複合ゲート256および257が用いられ、第3の論理ゲートとして、インバータ312〜317が用いられる。
第2の論理ゲートは、たとえば、図2に示すAND-NOR型複合ゲートや、図3に示すOR-NAND型複合ゲートによって実現される。
【0178】
したがって、図8に示す6ビットCLA回路においても、図1、図4〜図7に示すCLA回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が3段以上になる多入力ゲートを使用することなく、CLA回路を実現できる。
このため、図1、図4〜図7に示すCLA回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【0179】
<第7の実施形態>
次に、本発明の第7の実施形態に係る、6ビットのCLA回路について述べる。
上述した式(28)は、式(27)における3つのグループ項、
(p5・p4・p3・p2)・(p1・g0+g1)、
(p5・p4)・(p3・g2+g3)、
(p5・g4+g5)、
を第1の論理演算項側、すなわち式(27)の左側からグループ化することによって得られた論理式である。
そこで、これとは逆に第6の論理演算項側、すなわち式(27)の右側からグループ化と変形を実行すると、次の式が得られる。
【0180】
【数24】
【0181】
こうして得られた式(29)の構造を調べると、上述した2種類のゲート(第1の論理ゲートおよび第2の論理ゲート)または3種類のゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、図8に示す回路とは異なる構造を有した、6ビットCLA回路を構成できることが分かる。
【0182】
図9は、本発明の第7の実施形態に係る6ビットCLA回路の構成の一例を示す回路図である。
図9に示す6ビットCLA回路は、NANDゲート125〜127と、NORゲート128および129と、AND−NOR型複合ゲート218〜221と、OR−NAND型複合ゲート258と、インバータ318〜320とを有する。
NANDゲート125〜127、ならびにNORゲート128および129は、本発明の第1の論理ゲートの一実施形態である。
AND−NOR型複合ゲート218〜221、ならびにOR−NAND型複合ゲート258は、本発明の第2の論理ゲートの一実施形態である。
インバータ318〜320は、本発明の第3の論理ゲートの一実施形態である。
【0183】
NANDゲート125は、キャリー伝播信号p0およびp1を入力し、その反転論理積を出力する。
NANDゲート126は、キャリー伝播信号p2およびp3を入力し、その反転論理積を出力する。
NANDゲート127は、キャリー伝播信号p4およびp5を入力し、その反転論理積を出力する。
NORゲート128は、NANDゲート126および127の出力信号の反転論理和を出力する。この出力信号は、式(29)における4ビットのキャリー伝播信号の論理積(p5・p4・p3・p2)の演算結果に相当する。
【0184】
インバータ319は、NORゲート128の出力信号を論理反転して出力する。
NORゲート129は、NANDゲート125およびインバータ319の出力信号の反転論理和を出力する。この出力信号は、式(26)に示すキャリー伝播信号Pの演算結果に相当する。
【0185】
AND-NOR型複合ゲート218は、キャリー生成信号g0、g1、およびキャリー伝播信号p1を入力し、キャリー伝播信号p1とキャリー生成信号g0との論理積とキャリー生成信号g1との反転論理和を出力する。
インバータ318は、AND−NOR型複合ゲート218の出力信号を論理反転して出力する。この出力信号は、式(29)における非共通項(p1・g0+g1)の演算結果に相当する。
【0186】
AND-NOR型複合ゲート219は、キャリー生成信号g2、g3、およびキャリー伝播信号p3を入力し、キャリー伝播信号p3とキャリー生成信号g2との論理積とキャリー生成信号g3との反転論理和を出力する。この出力信号は、式(29)における非共通項(p3・g2+g3)の演算結果を論理反転した信号に相当する。
【0187】
AND−NOR型複合ゲート220は、キャリー生成信号g4、g5、およびキャリー伝播信号p5を入力し、キャリー伝播信号p5とキャリー生成信号g4との論理積とキャリー生成信号g5との反転論理和を出力する。この出力信号は、式(29)におけるグループ項(p5・g4+g5)の演算結果を論理反転した信号に相当する。
【0188】
OR-NAND型複合ゲート258は、AND−NOR型複合ゲート219およびNANDゲート127の出力信号の論理和と、AND−NOR型複合ゲート220の出力信号との反転論理積を出力する。この出力信号は、式(29)におけるグループ項、
{(p5・p4)・(p3・g2+g3)+(p5・g4+g5)}
の演算結果に相当する。
【0189】
AND−NOR型複合ゲート221は、NORゲート128およびインバータ318の出力信号の論理積と、OR−NAND型複合ゲート258の出力信号との反転論理和を出力する。
インバータ320は、AND−NOR型複合ゲート221の出力信号を論理反転して出力する。この出力信号は、式(29)に示すキャリー生成信号Gの演算結果に相当する。
【0190】
なお、図9に示すCLA回路において用いられるAND−NOR型複合ゲートおよびOR−NAND型複合ゲート(218〜221、258)には、たとえば、図2または図3に示す回路を用いることができる。
【0191】
以上説明したように、図9に示す6ビットCLA回路では、3種類の論理ゲート(第1の論理ゲート〜第3の論理ゲート)を用いて、式(25)に示すキャリー生成信号Gおよび式(26)に示すキャリー伝播信号Pを出力する回路が構成される。
すなわち、第1の論理ゲートとして、NANDゲート125〜127、NORゲート128および129が用いられ、第2の論理ゲートとして、AND-NOR型複合ゲート218〜221、OR-NAND型複合ゲート258が用いられ、第3の論理ゲートとして、インバータ318〜320が用いられる。
第2の論理ゲートは、たとえば、図2に示すAND-NOR型複合ゲートや、図3に示すOR-NAND型複合ゲートによって実現される。
【0192】
したがって、図9に示す6ビットCLA回路においても、図1、図4〜図8に示すCLA回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が3段以上になる多入力ゲートを使用することなく、CLA回路を実現できる。
このため、図1、図4〜図8に示すCLA回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【0193】
<第8の実施形態>
次に、本発明の第8の実施形態に係る加算回路について説明する。
図10は、本発明の第8の実施形態に係る16ビット加算回路の構成の一例を示すブロック図である。
図10に示す16ビット加算回路は、4ビット半加算器401〜404と、4ビットCLA回路501〜504および507と、2ビットCLA回路505と、3ビットCLA回路506と、1ビットキャリー出力回路601〜604と、3ビットキャリー出力回路605〜608と、加算結果出力回路701〜704とを有する。
4ビット半加算器401〜404を含むユニットは、本発明の第1の論理演算回路の一実施形態である。
4ビットCLA回路501〜504、507、2ビットCLA回路505、3ビットCLA回路506、1ビットキャリー出力回路601〜604、および3ビットキャリー出力回路605〜608を含むユニットは、本発明の第2の論理演算回路の一実施形態である。
加算結果出力回路701〜704を含むユニットは、本発明の第3の論理演算回路の一実施形態である。
4ビットCLA回路501〜504、507、2ビットCLA回路505、3ビットCLA回路506は、本発明の桁上げ先見回路の一実施形態である。
1ビットキャリー出力回路601〜604、および3ビットキャリー出力回路605〜608を含むユニットは、本発明のキャリー信号出力回路の一実施形態である。
【0194】
(4ビット半加算器401〜404)
4ビット半加算器401〜404は、16ビットの加算対象信号を4分割して得られる4ビットの信号をそれぞれ入力し、式(4)および(5)で示すキャリー伝播信号およびキャリー生成信号を各桁について演算する。
【0195】
すなわち、半加算器401は最下位桁(第1桁)〜第4桁の加算対象信号(a0,…,a3)および(b0,…,b3)を、半加算器402は第5桁〜第8桁の加算対象信号(a4,…,a7)および(b4,…,b7)を、半加算器403は第9桁〜第12桁の加算対象信号(a8,…,a11)および(b8,…,b11)を、半加算器404は第13桁〜第16桁の加算対象信号(a12,…,a15)および(b12,…,b15)を、それぞれ入力する。
そして、入力した加算対象信号の各桁について式(4)の排他的論理和および式(5)の論理積を演算する。半加算器401はキャリー伝播信号(p0,…,p3)およびキャリー生成信号(g0,…,g3)を、半加算器402はキャリー伝播信号(p4,…,p7)およびキャリー生成信号(g4,…,g7)を、半加算器403はキャリー伝播信号(p8,…,p11)およびキャリー生成信号(g8,…,g11)を、半加算器404はキャリー伝播信号(p12,…,p15)およびキャリー生成信号(g12,…,g15)を、それぞれ演算して出力する。
4ビット半加算器401〜404は、たとえば図19に示すように、1ビットの半加算器を4つ用いて構成することができる。
【0196】
(4ビットCLA回路501〜504)
4ビットCLA回路501〜504は、4ビット半加算器401〜404から出力される4ビットのキャリー伝播信号および4ビットのキャリー生成信号をそれぞれ入力し、これに応じた1ビットのキャリー伝播信号および1ビットのキャリー生成信号をそれぞれ出力する。
【0197】
すなわち、CLA回路501は半加算器401のキャリー伝播信号(p0,…,p3)およびキャリー生成信号(g0,…,g3)を、CLA回路502は半加算器402のキャリー伝播信号(p4,…,p7)およびキャリー生成信号(g4,…,g7)を、CLA回路503は半加算器403のキャリー伝播信号(p8,…,p11)およびキャリー生成信号(g8,…,g11)を、CLA回路504は半加算器404のキャリー伝播信号(p12,…,p15)およびキャリー生成信号(g12,…,g15)を、それぞれ入力する。
そして、この入力に応じて、式(7)に示す1ビットのキャリー伝播信号および式(8)に示す1ビットのキャリー生成信号を演算する。演算結果として、CLA回路501はキャリー伝播信号P0およびキャリー生成信号G0を、CLA回路502はキャリー伝播信号P1およびキャリー生成信号G1を、CLA回路503はキャリー伝播信号P2およびキャリー生成信号G2を、CLA回路504はキャリー伝播信号P3およびキャリー生成信号G3を、それぞれ出力する。
【0198】
4ビットCLA回路501〜504には、本発明に係る4ビットCLA回路が適用される。たとえば、第1の実施形態において説明した、図1に示すCLA回路が適用される。
【0199】
(2ビットCLA回路505)
2ビットCLA回路505は、前段の4ビットCLA回路501および502から出力される2ビットのキャリー伝播信号(P0、P0)と2ビットのキャリー生成信号(G0、G1)とを入力し、これに応じた1ビットのキャリー伝播信号P1Aおよび1ビットのキャリー生成信号G1Aを出力する。
キャリー伝播信号P1Aおよびキャリー生成信号G1Aは、次式のように表される。
【0200】
【数25】
【0201】
図11は、2ビットCLA回路505の構成の一例を示す回路図である。
図11に示す2ビットCLA回路505は、NANDゲート130と、AND-NOR型複合ゲート222と、インバータ321および322とを有する。
NANDゲート130は、キャリー伝播信号P0およびP1の反転論理積を出力する。
インバータ321は、NANDゲート130の出力信号を論理反転し、キャリー伝播信号P1Aとして出力する、
AND−NOR型複合ゲート222は、キャリー伝播信号P1およびキャリー生成信号G0の論理積とキャリー生成信号G1との反転論理和を出力する。
インバータは、AND−NOR型複合ゲート222の出力信号を論理反転し、キャリー生成信号G1Aとして出力する。
【0202】
(3ビットCLA回路506)
3ビットCLA回路506は、前段の4ビットCLA回路501〜503から出力される3ビットのキャリー伝播信号(P0〜P2)と3ビットのキャリー生成信号(G0〜G2)とを入力し、これに応じた1ビットのキャリー伝播信号P2Aおよび1ビットのキャリー生成信号G2Aを出力する。
キャリー伝播信号P2Aおよびキャリー生成信号G2Aは、次式のように表される。
【0203】
【数26】
【0204】
ここで、上式(32)に対し、式(16)、(19)、(22)および(27)と同様なグループ化と変形を施す。
式(23)の左側からグループ化すると、次式が得られる。
【0205】
【数27】
【0206】
式(23)の右側からグループ化すると、次式が得られる。
【0207】
【数28】
【0208】
式(34)の構造に対応した3ビットCLA回路506は、たとえば図12(A)に示す回路に構成することができる。
図12(A)に示す3ビットCLA回路506は、NANDゲート131と、NORゲート132と、AND-NOR型複合ゲート223と、OR-NAND型複合ゲート258と、インバータ323〜325を有する。
【0209】
インバータ323は、キャリー伝播信号P0の論理反転を出力する。
NANDゲート131は、キャリー伝播信号P1およびP2の反転論理積を出力する。
NORゲート132は、インバータ323およびNANDゲート131の出力信号の反転論理和を出力する。この出力信号は、式(33)に示すキャリー伝播信号P2Aの演算結果に相当する。
【0210】
AND-NOR型複合ゲート223は、キャリー伝播信号P1およびキャリー生成信号G0の論理積とキャリー生成信号G1との反転論理和を出力する。この出力信号は、式(34)における非共通項(P1・G0+G1)の演算結果の論理反転に相当する。
【0211】
インバータ324は、キャリー伝播信号P2の論理反転を出力する。
インバータ325は、キャリー生成信号G2の論理反転を出力する。
OR-NAND型複合ゲート258は、AND-NOR型複合ゲート223およびインバータ324の出力信号の論理和とインバータ325の出力信号との反転論理積を出力する。この出力信号は、式(32)に示すキャリー生成信号G2Aの演算結果に相当する。
【0212】
また、式(35)の構造に対応した3ビットCLA回路506は、たとえば図12(B)に示す回路に構成することができる。
図12(B)に示す3ビットCLA回路506は、NANDゲート133と、NORゲート134と、AND-NOR型複合ゲート224と、OR-NAND型複合ゲート259と、インバータ326および327を有する。
【0213】
インバータ326は、キャリー伝播信号P0の論理反転を出力する。
NANDゲート133は、キャリー伝播信号P1およびP2の反転論理積を出力する。
NORゲート134は、インバータ326およびNANDゲート133の出力信号の反転論理和を出力する。この出力信号は、式(33)に示すキャリー伝播信号P2Aの演算結果に相当する。
【0214】
AND-NOR型複合ゲート224は、キャリー伝播信号P2およびキャリー生成信号G1の論理積とキャリー生成信号G2との反転論理和を出力する。この出力信号は、式(35)におけるグループ項(P2・G1+G2)の演算結果の論理反転に相当する。
【0215】
インバータ327は、キャリー生成信号G0の論理反転を出力する。
OR-NAND型複合ゲート259は、NANDゲート133およびインバータ327の出力信号の論理和とAND-NOR型複合ゲート224の出力信号との反転論理積を出力する。この出力信号は、式(32)に示すキャリー生成信号G2Aの演算結果に相当する。
【0216】
図12(A)および(B)に示すCLA回路は、何れも上述した第1の論理ゲート〜第3の論理ゲートを用いて構成されている。
すなわち、図12(A)に示すCLA回路では、第1の論理ゲートとしてNANDゲート131およびNORゲート132が用いられ、第2の論理ゲートとしてAND-NOR型複合ゲート223およびOR-NAND型複合ゲート258が用いられ、第3の論理ゲートとしてインバータ323〜325が用いられる。図12(B)に示すCLA回路では、第1の論理ゲートとしてNANDゲート133およびNORゲート134が用いられ、第2の論理ゲートとしてAND-NOR型複合ゲート224およびOR-NAND型複合ゲート259が用いられ、第3の論理ゲートとしてインバータ326および327が用いられる。
第2の論理ゲートは、たとえば、図2に示すAND-NOR型複合ゲートや、図3に示すOR-NAND型複合ゲートにより実現される。
したがって、3ビットCLA回路506は、たとえば3入力のNANDゲートなど、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が3段以上になる論理ゲートを使用することなく、回路を構成することができる。
【0217】
(4ビットCLA回路507)
4ビットCLA回路507は、前段の4ビットCLA回路501〜504から出力される4ビットのキャリー伝播信号(P0〜P3)および4ビットのキャリー生成信号(G0〜G3)を入力し、これに応じた1ビットのキャリー伝播信号P3Aおよび1ビットのキャリー生成信号G3Aを出力する。
キャリー伝播信号P3Aおよびキャリー生成信号G3Aは、次式のように表される。
【0218】
【数29】
【0219】
4ビットCLA回路507には、本発明に係る4ビットCLA回路が適用される。たとえば、第1の実施形態において説明した、図1に示すCLA回路が適用される。
【0220】
(1ビットキャリー出力回路601〜604)
1ビットキャリー出力回路601〜604は、加算対象信号の最下位桁を第1桁として、それぞれ第4桁のキャリー信号c3、第8桁のキャリー信号c7、第12桁のキャリー信号c11、第16桁のキャリー信号c15を出力する回路である。
【0221】
1ビットキャリー出力回路601は、加算対象信号の最下位桁に対して与えられる外部キャリー信号cin、ならびにCLA回路501から出力されるキャリー伝播信号P0およびキャリー生成信号G0を入力し、次式で表される第4桁のキャリー信号c3を出力する。
【0222】
【数30】
【0223】
1ビットキャリー出力回路602は、外部キャリー信号cin、ならびにCLA回路505から出力されるキャリー伝播信号P1Aおよびキャリー生成信号G1Aを入力し、次式で表される第8桁のキャリー信号c7を出力する。
【0224】
【数31】
【0225】
1ビットキャリー出力回路603は、外部キャリー信号cin、ならびにCLA回路506から出力されるキャリー伝播信号P2Aおよびキャリー生成信号G2Aを入力し、次式で表される第12桁のキャリー信号c11を出力する。
【0226】
【数32】
【0227】
1ビットキャリー出力回路604は、外部キャリー信号cin、ならびにCLA回路507から出力されるキャリー伝播信号P3Aおよびキャリー生成信号G3Aを入力し、次式で表される第16桁のキャリー信号c15を出力する。
【0228】
【数33】
【0229】
図13は、1ビットキャリー出力回路601の構成の一例を示す回路図である。
図13に示す1ビットキャリー出力回路601は、AND-NOR型複合ゲート225と、インバータ328とを有する。
AND-NOR型複合ゲート225は、外部キャリー信号cinおよびキャリー伝播信号P0の論理積とキャリー生成信号G0との反転論理和を出力する
インバータ328は、AND−NOR型複合ゲート225の出力信号を論理反転し、キャリー信号c3として出力する。
他の1ビットキャリー出力回路(602〜604)についても、図13と同様の回路構成により実現可能である。
【0230】
(3ビットキャリー出力回路605〜608)
3ビットキャリー出力回路605〜608は、それぞれ、第1桁〜第3桁のキャリー信号(c0〜c2)、第5桁〜第7桁のキャリー信号(c4〜c6)、第9桁〜第11桁のキャリー信号(c8〜c10)、第13桁〜第15桁のキャリー信号(c12〜c14)を出力する回路である。
【0231】
すなわち、3ビットキャリー出力回路605は、4ビット半加算器401から出力されるキャリー伝播信号およびキャリー生成信号のうち第1桁〜第3桁の信号(p0〜p2、g0〜g2)を入力するとともに、外部キャリー信号cinを入力し、式(3A)で算出されるキャリー信号(c0〜c2)をそれぞれ出力する。
同様に、3ビットキャリー出力回路606は、4ビット半加算器402から出力されるキャリー伝播信号およびキャリー生成信号のうち第5桁〜第7桁の信号(p4〜p6、g4〜g6)を入力するとともに、1ビットキャリー出力回路601から出力される第4桁のキャリー信号c3を入力し、式(3A)で算出されるキャリー信号(c4〜c6)をそれぞれ出力する。
3ビットキャリー出力回路607は、4ビット半加算器403から出力されるキャリー伝播信号およびキャリー生成信号のうち第9桁〜第11桁の信号(p8〜p10、g8〜g10)を入力するとともに、1ビットキャリー出力回路602から出力される第8桁のキャリー信号c7を入力し、式(3A)で算出されるキャリー信号(c8〜c10)をそれぞれ出力する。
3ビットキャリー出力回路608は、4ビット半加算器404から出力されるキャリー伝播信号およびキャリー生成信号のうち第13桁〜第15桁の信号(p12〜p15、g12〜g15)を入力するとともに、1ビットキャリー出力回路603から出力される第12桁のキャリー信号c11を入力し、式(3A)で算出されるキャリー信号(c12〜c15)をそれぞれ出力する。
【0232】
図14は、3ビットキャリー出力回路605の構成の一例を示す回路図である。
図14に示す3ビットキャリー出力回路605は、AND-NOR型複合ゲート226〜228と、インバータ329〜331とを有する。
【0233】
AND-NOR型複合ゲート226は、外部キャリー信号cinおよびキャリー伝播信号p0の論理積とキャリー生成信号g0との反転論理和を出力する。
インバータ329は、AND-NOR型複合ゲート226の出力信号を論理反転し、キャリー信号c0として出力する。
AND-NOR型複合ゲート227は、インバータ329から出力されるキャリー信号c0およびキャリー伝播信号p1の論理積とキャリー生成信号g1との反転論理和を出力する。
インバータ330は、AND-NOR型複合ゲート227の出力信号を論理反転し、キャリー信号c1として出力する。
AND-NOR型複合ゲート228は、インバータ330から出力されるキャリー信号c1およびキャリー伝播信号p2の論理積とキャリー生成信号g2との反転論理和を出力する。
インバータ331は、AND-NOR型複合ゲート228の出力信号を論理反転し、キャリー信号c2として出力する。
【0234】
図14に示す3ビットキャリー出力回路605は、下位桁から順番にキャリー信号を生成する回路であり、この方式は図14に示すリプルキャリー型加算回路と同じである。他の3ビットキャリー出力回路(606〜608)においても、図14に示す回路と同様な方式でキャリー信号を生成することができる。
【0235】
なお、3ビットキャリー出力回路(605〜608)から出力される下位から2番目のキャリー信号(c1、c5、c9、c13)の算出式は、式(32)と等価の構造になるので、これらの信号を生成する回路については、図12(A)または図12(B)においてキャリー生成信号G2Aを生成する回路と同様な構成にすることができる。
また、3ビットキャリー出力回路(605〜608)から出力される下位から3番目のキャリー信号(c2、c6、c10、c14)の算出式は、式(14)と等価の構造になるので、これらの信号を生成する回路については、図1においてキャリー生成信号Gを生成する回路と同様な構成にすることができる。
【0236】
(加算結果出力回路701〜704)
加算結果出力回路701〜704は、加算対象信号の各桁に対する下位桁からのキャリー信号cin,c0,c1,…,c14と、各桁のキャリー伝播信号p0,…,p15との排他的論理和を演算し、この演算結果を、各桁の加算結果s0,…,s15として出力する。
図15は、加算結果出力回路701の構成の一例を示す回路図である。図15に示すように、それぞれ4ビットの加算結果を出力する加算結果出力回路は、4つのEXORゲートを用いて構成することができる。
【0237】
上述した構成を有する16ビット加算回路においては、第4桁、第8桁、第12桁および第16桁のキャリー信号(c3、c7、c11、c15)を生成する回路において、CLA回路(501〜507)が用いられる。
これらのCLA回路は、何れも2種類の論理ゲート(第1の論理ゲート、第2の論理ゲート)または3種類の論理ゲート(第1の論理ゲート〜第3の論理ゲート)で構成される。
【0238】
既に述べたように、第1の論理ゲート〜第3の論理ゲートにおいては、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数を2段またはそれより少ない段数にすることができるため、同等な動作速度を有する多入力のNANDゲートやNORゲートと比較して、トランジスタサイズを小さくすることができる。このため、図10に示す加算回路によれば、トランジスタの直列段数が3段以上になる多入力ゲートを用いてCLA回路が構成される従来の加算回路に比べて、動作速度が同程度でありながら、回路面積を縮小し、消費電力を削減することができる。また、回路面積が同程度となるようにトランジスタサイズを増やした場合には、こうした従来の加算回路に比べて動作速度を高速化することができる。
【0239】
なお、上述した実施形態においては、一例として3〜6ビットのCLA回路およびこれを用いた加算回路を説明したが、本発明はこれに限定されない。2種類の論理ゲート(第1の論理ゲート、第2の論理ゲート)または3種類の論理ゲート(第1の論理ゲート〜第3の論理ゲート)を用いて構成される、任意ビットのCLA回路を実現することができる。
【0240】
たとえば、CLA回路に入力されるNビットのキャリー伝播信号(p(N-1)〜p0)およびNビットのキャリー生成信号(g(N-1)〜g0)の最下位桁をそれぞれ第1桁とする。また、この入力キャリー伝播信号の第N桁から第k桁(kは2からNまでの自然数を示す)までの各桁と、入力キャリー生成信号の第(k−1)桁との論理積を、第(k−1)の論理演算項とし、入力キャリー生成信号の第N桁を第Nの論理演算項とする。この場合、CLA回路から出力されるキャリー生成信号Gは、式(12)に示すように、第1の論理演算項〜第Nの論理演算項を論理和演算した結果として得られる。また、CLA回路から出力されるキャリー伝播信号Pは、式(13)に示すように、入力キャリー伝播信号の第1桁から第N桁までの各桁の論理積を演算した結果として得られる。
【0241】
この第1の論理演算項から第Nの論理演算項までの各項が番号順に並んだN項の論理和演算式(キャリー生成信号Gの演算式)に対して、次に述べる式変形を施すと、本発明に係るCLA回路と対応した構造を有する論理式が得られる。
まず、第1の論理演算項側または第Nの論理演算項側から順番に、隣接する2項の論理和を1つのグループ項にグループ化し、グループ化した2項に共通項が存在する場合は、このグループ項における2項の論理和を共通項と非共通項との論理積に変形する。
グループ化後の論理和演算式におけるグループ項の数が2より大きい場合は、グループ化後の論理和演算式において第1の論理演算項〜第Nの論理演算項の番号順に応じた順序で並ぶグループ項に対し、上述したグループ化および変形を更に反復する。
上述した式変形により、2つのグループ項からなる論理和演算式(第1の論理式)が得られる。
【0242】
第1の論理ゲートは、2ビットの信号を入力し、入力した2ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する。
上述した実施形態では、2入力NANDゲートや2入力NORゲートを第1の論理ゲートの例として示したが、2入力ANDゲートや2入力ORゲートをこれに用いても良い。何れのゲートを用いても、必要に応じて第3の論理ゲートと第1の論理ゲートとを組み合わせることにより、キャリー伝播信号Pの演算や、第1の論理式における共通項の演算において必要となる、複数ビットの入力キャリー伝播信号の論理積を演算することは可能である。
【0243】
第1の論理ゲートの入力信号は、複数ビットの入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号(たとえば、他の第1の論理ゲートの出力信号)や、入力キャリー伝播信号、入力キャリー生成信号である。あるいは、第3の論理ゲートの出力信号でも良い。
【0244】
第2の論理ゲートは、3ビットの信号を入力し、この入力信号のうちの2ビットの信号の論理積と他の1ビットの信号との論理和もしくは反転論理和に相当する信号、または、この入力信号のうちの2ビットの信号の論理和と他の1ビットの信号との論理積もしくは反転論理積に相当する信号を出力する。
上述した実施形態では、AND-NOR型複合ゲートやOR-NAND型複合ゲートを第2の論理ゲートの例として示したが、AND-OR型複合ゲートやOR-AND型複合ゲートをこれに用いても良い。何れもゲートを用いても、必要に応じて第3の論理ゲートと第2の論理ゲートとを組み合わせることにより、キャリー生成信号Gの演算や、第1の論理式におけるグループ項、非共通項の演算において必要となる、2信号の論理積と1信号との論理和を演算することは可能である。
【0245】
第2の論理ゲートの入力信号は、第1の論理式におけるグループ項、共通項、非共通項の演算結果に相当する信号や、入力キャリー生成信号、入力キャリー伝播信号、第1の論理ゲートの出力信号である。あるいは、第3の論理ゲートの出力信号でも良い。
第2の論理ゲートの出力信号は、第1の論理式におけるグループ項や非共通項の演算結果、あるいは出力キャリー生成信号の演算結果として出力される。
【0246】
第3の論理ゲートは、1ビットの信号を入力し、この入力信号を論理反転して出力するゲート、すなわちインバータである。
第3の論理ゲートの入力信号は、入力キャリー生成信号や、入力キャリー伝播信号、第1の論理ゲートの出力信号、第2の論理ゲートの出力信号である。
第3の論理ゲートの出力信号は、第1の論理ゲートや第2の論理ゲートに出力される。あるいは、出力キャリー伝播信号や出力キャリー生成信号の演算結果として出力される。
【0247】
【発明の効果】
本発明の桁上げ先見回路および加算回路によれば、回路面積を縮小し、消費電力を削減することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る4ビットCLA回路の構成の一例を示す回路図である。
【図2】AND-NOR型複合ゲートの2つの構成例を示す回路図である。
【図3】OR−NAND型複合ゲートの2つの構成例を示す回路図である。
【図4】本発明の第2の実施形態に係る5ビットCLA回路の構成の一例を示す回路図である。
【図5】本発明の第3の実施形態に係る5ビットCLA回路の構成の一例を示す回路図である。
【図6】本発明の第4の実施形態に係る5ビットCLA回路の構成の一例を示す回路図である。
【図7】本発明の第5の実施形態に係る5ビットCLA回路の構成の一例を示す回路図である。
【図8】本発明の第6の実施形態に係る6ビットCLA回路の構成の一例を示す回路図である。
【図9】本発明の第7の実施形態に係る6ビットCLA回路の構成の一例を示す回路図である。
【図10】本発明の第8の実施形態に係る16ビット加算回路の構成の一例を示すブロック図である。
【図11】図10に示す加算回路における、2ビットCLA回路の構成の一例を示す回路図である。
【図12】図10に示す加算回路における、3ビットCLA回路の2つの構成例を示す回路図である。
【図13】図10に示す加算回路における、1ビットキャリー出力回路の構成の一例を示す回路図である。
【図14】図10に示す加算回路における、3ビットキャリー出力回路の構成の一例を示す回路図である。
【図15】図10に示す加算回路における、加算結果出力回路の構成の一例を示す回路図である。
【図16】4ビット入力のリップルキャリー型加算回路の構成例を示す回路図である。
【図17】多入力のゲートを用いて構成された、キャリー信号生成回路の一例を示す回路図である。
【図18】複数のCLA回路を階層的に接続して構成されるキャリー信号の生成回路の一例を示す回路図である。
【図19】図18に示すキャリー信号生成回路における、4ビット半加算器の構成例を示す回路図である。
【図20】図18に示すキャリー信号生成回路における、CLA回路の構成例を示す回路図である。
【図21】複合型ゲートを用いて構成されたCLA回路の一例を示す回路図である。
【符号の説明】
101〜134…NANDゲートまたはNORゲート、135〜138…EXORゲート、201〜228…AND-NOR型複合ゲート、251〜259…OR-NAND型複合ゲート、301〜331…インバータ、401〜404…4ビット半加算器、501〜504,507…4ビットCLA回路、505…2ビットCLA回路、506…3ビットCLA回路、601〜604…1ビットキャリー出力回路、605〜608…3ビットキャリー出力回路、701〜704…加算結果出力回路、Qn10〜Qn15…n型MOSトランジスタ、Qp10〜Qp15…p型MOSトランジスタ
Claims (6)
- 入力される(N−1)ビット(Nは自然数を示す)のキャリー伝播信号の最下位桁を第2桁、入力されるNビットのキャリー生成信号の最下位桁を第1桁として、上記入力キャリー伝播信号の第N桁から第k桁(kは2からNまでの自然数を示す)までの各桁と上記入力キャリー生成信号の第(k−1)桁との論理積と等しい第(k−1)の論理演算項、および、上記出力キャリー生成信号の第N桁と等しい第Nの論理演算項を、第1の論理演算項から第Nの論理演算項まで論理和演算した結果に相当するキャリー生成信号を出力する桁上げ先見回路であって、
上記第1の論理演算項から第Nの論理演算項までの各項が番号順に並んだN項の論理和演算式において、上記第1の論理演算項側または上記第Nの論理演算項側から順番に、隣接する2項の論理和が1つのグループ項にグループ化され、グループ化された2項に共通項が存在する場合は、上記グループ項における2項の論理和が上記共通項と非共通項との論理積に変形され、上記グループ化後の論理和演算式における上記グループ項の数が2より大きい場合は、上記グループ化後の論理和演算式において上記番号順に応じた順序で並ぶ上記グループ項に対し上記グループ化および上記変形が更に反復されることにより取得される、2つの上記グループ項からなる論理和演算式を第1の論理式として、
複数ビットの上記入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号、上記入力キャリー伝播信号、および上記入力キャリー生成信号の中から、2ビットの信号を入力し、入力した2ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する、1つまたは複数の第1の論理ゲートと、
上記第1の論理式における上記グループ項、上記共通項、および上記非共通項の演算結果に相当する信号、ならびに、上記入力キャリー生成信号、上記入力キャリー伝播信号、および上記第1の論理ゲートの出力信号の中から、3ビットの信号を入力し、当該入力信号のうちの2ビットの信号の論理積と他の1ビットの信号との論理和もしくは反転論理和に相当する信号、または、当該入力信号のうちの2ビットの信号の論理和と他の1ビットの信号との論理積もしくは反転論理積に相当する信号を、上記グループ項、上記非共通項、または上記出力キャリー生成信号の演算結果もしくはその論理反転に相当する信号として出力する、1つまたは複数の第2の論理ゲートと
を有する桁上げ先見回路。 - 上記入力キャリー伝播信号の第2桁に対してさらに1桁下位の桁を第1桁として、
上記第1の論理ゲートは、
2ビットの入力信号のうちの1ビットの信号として、上記入力キャリー伝播信号の第1桁の信号を入力する論理ゲートと、
上記入力キャリー伝播信号の第1桁から第N桁までの各桁の論理積の演算結果に相当するキャリー伝播信号もしくはその論理反転を出力する論理ゲートとを含む、
請求項1に記載の桁上げ先見回路。 - 上記入力キャリー生成信号、上記入力キャリー伝播信号、上記第1の論理ゲートの出力信号、および上記第2の論理ゲートの出力信号の中から1ビットの信号を入力し、当該入力信号を論理反転して、上記第1の論理ゲートもしくは上記第2の論理ゲートに出力するか、または、上記出力キャリー伝播信号もしくは上記出力キャリー生成信号として出力する、1つまたは複数の第3の論理ゲートを含む、
請求項1または2に記載の桁上げ先見回路。 - 2つの加算対象信号の各桁の排他的論理和をキャリー伝播信号として出力し、上記2つの加算対象信号の各桁の論理積をキャリー生成信号として出力する第1の論理演算回路と、
上記第1の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号に応じて、上記加算対象信号の加算により発生する各桁の桁上がりを演算し、当該演算結果をキャリー信号として出力する第2の論理演算回路と、
上記加算対象信号の各桁に対する下位桁からの上記キャリー信号と各桁の上記キャリー伝播信号との排他的論理和を演算し、当該演算結果を各桁の加算結果として出力する第3の論理演算回路とを有し、
上記第2の論理演算回路は、
上記第1の論理演算回路から出力される複数ビットの上記キャリー伝播信号と複数ビットの上記キャリー生成信号とを入力し、1ビットの出力キャリー伝播信号と1ビットの出力キャリー生成信号とを出力する、1つまたは複数の桁上げ先見回路と、
上記第1の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号と、上記桁上げ先見回路の上記出力キャリー伝播信号および上記出力キャリー生成信号とに応じた上記キャリー信号を出力するキャリー信号出力回路とを含み、
上記桁上げ先見回路は、
上記第1の論理演算回路から入力するNビット(Nは自然数を示す)の上記キャリー伝播信号およびNビットの上記キャリー生成信号の最下位桁をそれぞれ第1桁として、
上記入力キャリー伝播信号の第N桁から第k桁(kは2からNまでの自然数を示す)までの各桁と上記入力キャリー生成信号の第(k−1)桁との論理積と等しい第(k−1)の論理演算項、および、上記入力キャリー生成信号の第N桁と等しい第Nの論理演算項を、第1の論理演算項から第Nの論理演算項まで論理和演算した結果に相当する上記出力キャリー生成信号と、
上記入力キャリー伝播信号の第1桁から第N桁までの各桁の論理積を演算した結果に相当する上記出力キャリー伝播信号と
を出力する桁上げ先見回路であって、
上記第1の論理演算項から第Nの論理演算項までの各項が番号順に並んだN項の論理和演算式において、上記第1の論理演算項側または上記第Nの論理演算項側から順番に、隣接する2項の論理和が1つのグループ項にグループ化され、グループ化された2項に共通項が存在する場合は、上記グループ項における2項の論理和が上記共通項と非共通項との論理積に変形され、上記グループ化後の論理和演算式における上記グループ項の数が2より大きい場合は、上記グループ化後の論理和演算式において上記番号順に応じた順序で並ぶ上記グループ項に対し上記グループ化および上記変形が更に反復されることにより取得される、2つの上記グループ項からなる論理和演算式を第1の論理式として、
複数ビットの上記入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号、上記入力キャリー伝播信号、および上記入力キャリー生成信号の中から、2ビットの信号を入力し、入力した2ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する、1つまたは複数の第1の論理ゲートと、
上記第1の論理式における上記グループ項、上記共通項、および上記非共通項の演算結果に相当する信号、ならびに、上記入力キャリー生成信号、上記入力キャリー伝播信号、および上記第1の論理ゲートの出力信号の中から、3ビットの信号を入力し、当該入力信号のうちの2ビットの信号の論理積と他の1ビットの信号との論理和もしくは反転論理和に相当する信号、または、当該入力信号のうちの2ビットの信号の論理和と他の1ビットの信号との論理積もしくは反転論理積に相当する信号を、上記グループ項、上記非共通項、または上記出力キャリー生成信号の演算結果もしくはその論理反転に相当する信号として出力する、1つまたは複数の第2の論理ゲートとを含む、
加算回路。 - 上記桁上げ先見回路は、
上記入力キャリー生成信号、上記入力キャリー伝播信号、上記第1の論理ゲートの出力信号、および上記第2の論理ゲートの出力信号の中から1ビットの信号を入力し、当該入力信号を論理反転して、上記第1の論理ゲートもしくは上記第2の論理ゲートに出力するか、または、上記出力キャリー伝播信号もしくは上記出力キャリー生成信号として出力する、1つまたは複数の第3の論理ゲートを含む、
請求項4に記載の加算回路。 - 上記複数の桁上げ先見回路は、複数段の階層に分類されており、
初段の階層に含まれる桁上げ先見回路は、上記第1の論理演算回路から出力される複数ビットの上記キャリー伝播信号と複数ビットの上記キャリー生成信号とを入力して、1ビットの出力キャリー伝播信号と1ビットの出力キャリー生成信号とを出力し、
初段に続く各段の桁上げ先見回路は、前段の複数の桁上げ先見回路から出力される複数ビットの上記出力キャリー伝播信号と複数ビットの上記出力キャリー生成信号とを入力して、1ビットの出力キャリー伝播信号と1ビットの出力キャリー生成信号とを出力する、
請求項4または5に記載の加算回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003055763A JP3741280B2 (ja) | 2003-03-03 | 2003-03-03 | 桁上げ先見回路およびこれを用いた加算回路 |
US10/791,939 US7395307B2 (en) | 2003-03-03 | 2004-03-02 | Carry look-ahead circuit and adder using same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003055763A JP3741280B2 (ja) | 2003-03-03 | 2003-03-03 | 桁上げ先見回路およびこれを用いた加算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004265204A JP2004265204A (ja) | 2004-09-24 |
JP3741280B2 true JP3741280B2 (ja) | 2006-02-01 |
Family
ID=33119678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003055763A Expired - Fee Related JP3741280B2 (ja) | 2003-03-03 | 2003-03-03 | 桁上げ先見回路およびこれを用いた加算回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7395307B2 (ja) |
JP (1) | JP3741280B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008038387A1 (fr) * | 2006-09-28 | 2008-04-03 | Fujitsu Limited | Circuit à retenue anticipée, circuit de génération de retenue, procédé de retenue anticipée et procédé de génération de retenue |
US8995500B2 (en) | 2012-07-19 | 2015-03-31 | Seiko Epson Corporation | Asynchronous correlation circuit, asynchronous full adder circuit, calculation device, correlation device, asynchronous maximum value N detection circuit, and satellite signal acquisition device |
US10922465B2 (en) * | 2018-09-27 | 2021-02-16 | Arm Limited | Multi-input logic circuitry |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4559608A (en) * | 1983-01-21 | 1985-12-17 | Harris Corporation | Arithmetic logic unit |
US5122982A (en) * | 1988-02-29 | 1992-06-16 | Chopp Computer Corporation | Carry generation method and apparatus |
US5278783A (en) * | 1992-10-30 | 1994-01-11 | Digital Equipment Corporation | Fast area-efficient multi-bit binary adder with low fan-out signals |
JPH09231055A (ja) * | 1996-02-27 | 1997-09-05 | Denso Corp | 論理演算回路及びキャリールックアヘッド加算器 |
US6199090B1 (en) * | 1998-06-19 | 2001-03-06 | Ati International Srl | Double incrementing, low overhead, adder |
-
2003
- 2003-03-03 JP JP2003055763A patent/JP3741280B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-02 US US10/791,939 patent/US7395307B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2004265204A (ja) | 2004-09-24 |
US20040236816A1 (en) | 2004-11-25 |
US7395307B2 (en) | 2008-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6535902B2 (en) | Multiplier circuit for reducing the number of necessary elements without sacrificing high speed capability | |
Saxena | Design of low power and high speed Carry Select Adder using Brent Kung adder | |
Kulkarni | Comparison among different adders | |
US5251164A (en) | Low-power area-efficient absolute value arithmetic unit | |
JP3741280B2 (ja) | 桁上げ先見回路およびこれを用いた加算回路 | |
US7325025B2 (en) | Look-ahead carry adder circuit | |
Ykuntam et al. | Design of 32-bit carry select adder with reduced area | |
US6003059A (en) | Carry select adder using two level selectors | |
US6782406B2 (en) | Fast CMOS adder with null-carry look-ahead | |
Sathyabhama et al. | Area and power efficient carry select adder using 8T full adder | |
JPH0467213B2 (ja) | ||
JPH063578B2 (ja) | 演算処理装置 | |
Ragunath et al. | Delay optimized binary to BCD converter for multi-operand parallel decimal adder | |
Veeramachaneni | Design of efficient VLSI arithmetic circuits | |
Govindarajulu et al. | Design of Energy-Efficient and High-Performance VLSI Adders | |
Sharma et al. | Addition Of redundant binary signed digits using RBSD Adder | |
Abdul | Performance estimation of n-bit classified adders | |
Nandini et al. | High Speed and Power Optimized Parallel Prefix Modulo Adders using Verilog | |
Kamalakannnan et al. | Low power and reduced area carry select adder | |
Chren et al. | Delay-power product simulation results for one-hot residue number system arithmetic circuits | |
SAFIYA et al. | A Modified Partial Product Generator for Redundant Binary Multipliers | |
Dinesh et al. | Speed, area, power analysis of modified carry select adder with conventional carry select adder | |
Krishnamoorthy | A Novel Domino Logic Design for Embedded Application | |
Lavanya et al. | Design of Low Power 16-Bit Novel Carry Select Adder using 0. 18um Technology | |
JPH061437B2 (ja) | 演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050622 |
|
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: 20051025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051102 |
|
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: 20091118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101118 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111118 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121118 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131118 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |