(57)【要約】【課題】回路面積の増加と消費電力の増大を抑えることができる桁上げ先見回路とおよび加算回路を提供する。【解決手段】２入力ＮＡＮＤゲート（１０１，１０２）、２入力ＮＯＲゲート（１０３）、ＡＮＤ−ＮＯＲ型複合ゲート（２０１，２０２）、ＯＲ−ＮＡＮＤ型複合ゲート（２５１）など、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が２段以下になるゲートを用いて、桁上げ先見回路を構成する。トランジスタの直列段数が大きくなると、駆動能力が低下するため、同等の動作速度を維持するためには、トランジスタサイズを大きくする必要がある。多入力のＮＡＮＤゲートやＮＯＲゲートゲートを用いないため、トランジスタの直列段数が抑えられ、トランジスタサイズを小さくすることができる。これにより、回路面積の増加と消費電力の増大を抑えることができる。【選択図】      図１
2004265204.tif 000002
【特許請求の範囲】
【請求項１】
２ビットの入力信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲート、および、
３ビットの入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和、または、当該３ビットの入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積を出力する、１つまたは複数の第２の論理ゲート
から構成される桁上げ先見回路。
【請求項２】
２ビットの入力信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲート、
３ビットの入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和、または、当該３ビットの入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積を出力する、１つまたは複数の第２の論理回路、および、
１ビットの入力信号を論理反転して出力する１つまたは複数の第３の論理ゲート
から構成される桁上げ先見回路。
【請求項３】
入力される（Ｎ−１）ビット（Ｎは自然数を示す）のキャリー伝播信号の最下位桁を第２桁、入力されるＮビットのキャリー生成信号の最下位桁を第１桁として、上記入力キャリー伝播信号の第Ｎ桁から第ｋ桁（ｋは２からＮまでの自然数を示す）までの各桁と上記入力キャリー生成信号の第（ｋ−１）桁との論理積と等しい第（ｋ−１）の論理演算項、および、上記出力キャリー生成信号の第Ｎ桁と等しい第Ｎの論理演算項を、第１の論理演算項から第Ｎの論理演算項まで論理和演算した結果に相当するキャリー生成信号を出力する桁上げ先見回路であって、
上記第１の論理演算項から第Ｎの論理演算項までの各項が番号順に並んだＮ項の論理和演算式において、上記第１の論理演算項側または上記第Ｎの論理演算項側から順番に、隣接する２項の論理和が１つのグループ項にグループ化され、グループ化された２項に共通項が存在する場合は、上記グループ項における２項の論理和が上記共通項と非共通項との論理積に変形され、上記グループ化後の論理和演算式における上記グループ項の数が２より大きい場合は、上記グループ化後の論理和演算式において上記番号順に応じた順序で並ぶ上記グループ項に対し上記グループ化および上記変形が更に反復されることにより取得される、２つの上記グループ項からなる論理和演算式を第１の論理式として、
複数ビットの上記入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号、上記入力キャリー伝播信号、および上記入力キャリー生成信号の中から、２ビットの信号を入力し、入力した２ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲートと、
上記第１の論理式における上記グループ項、上記共通項、および上記非共通項の演算結果に相当する信号、ならびに、上記入力キャリー生成信号、上記入力キャリー伝播信号、および上記第１の論理ゲートの出力信号の中から、３ビットの信号を入力し、当該入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和に相当する信号、または、当該入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積に相当する信号を、上記グループ項、上記非共通項、または上記出力キャリー生成信号の演算結果もしくはその論理反転に相当する信号として出力する、１つまたは複数の第２の論理ゲートと
を有する桁上げ先見回路。
【請求項４】
上記入力キャリー伝播信号の第２桁に対してさらに１桁下位の桁を第１桁として、
上記第１の論理ゲートは、
２ビットの入力信号のうちの１ビットの信号として、上記入力キャリー伝播信号の第１桁の信号を入力する論理ゲートと、
上記入力キャリー伝播信号の第１桁から第Ｎ桁までの各桁の論理積の演算結果に相当するキャリー伝播信号もしくはその論理反転を出力する論理ゲートとを含む、
請求項３に記載の桁上げ先見回路。
【請求項５】
上記入力キャリー生成信号、上記入力キャリー伝播信号、上記第１の論理ゲートの出力信号、および上記第２の論理ゲートの出力信号の中から１ビットの信号を入力し、当該入力信号を論理反転して、上記第１の論理ゲートもしくは上記第２の論理ゲートに出力するか、または、上記出力キャリー伝播信号もしくは上記出力キャリー生成信号として出力する、１つまたは複数の第３の論理ゲートを含む、
請求項３または４に記載の桁上げ先見回路。
【請求項６】
２つの加算対象信号の各桁の排他的論理和をキャリー伝播信号として出力し、上記２つの加算対象信号の各桁の論理積をキャリー生成信号として出力する第１の論理演算回路と、
上記第１の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号に応じて、上記加算対象信号の加算により発生する各桁の桁上がりを演算し、当該演算結果をキャリー信号として出力する第２の論理演算回路と、
上記加算対象信号の各桁に対する下位桁からの上記キャリー信号と各桁の上記キャリー伝播信号との排他的論理和を演算し、当該演算結果を各桁の加算結果として出力する第３の論理演算回路とを有し、
上記第２の論理演算回路は、
２ビットの入力信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲート、および、
３ビットの入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和、または、当該３ビットの入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積を出力する、１つまたは複数の第２の論理ゲート
から構成される１つまたは複数の桁上げ先見回路を含む、
加算回路。
【請求項７】
２つの加算対象信号の各桁の排他的論理和をキャリー伝播信号として出力し、上記２つの加算対象信号の各桁の論理積をキャリー生成信号として出力する第１の論理演算回路と、
上記第１の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号に応じて、上記加算対象信号の加算により発生する各桁の桁上がりを演算し、当該演算結果をキャリー信号として出力する第２の論理演算回路と、
上記加算対象信号の各桁に対する下位桁からの上記キャリー信号と各桁の上記キャリー伝播信号との排他的論理和を演算し、当該演算結果を各桁の加算結果として出力する第３の論理演算回路とを有し、
上記第２の論理演算回路は、
２ビットの入力信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲート、
３ビットの入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和、または、当該３ビットの入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積を出力する、１つまたは複数の第２の論理回路、および、
１ビットの入力信号を論理反転して出力する１つまたは複数の第３の論理ゲート
から構成される１つまたは複数の桁上げ先見回路を含む、
加算回路。
【請求項８】
２つの加算対象信号の各桁の排他的論理和をキャリー伝播信号として出力し、上記２つの加算対象信号の各桁の論理積をキャリー生成信号として出力する第１の論理演算回路と、
上記第１の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号に応じて、上記加算対象信号の加算により発生する各桁の桁上がりを演算し、当該演算結果をキャリー信号として出力する第２の論理演算回路と、
上記加算対象信号の各桁に対する下位桁からの上記キャリー信号と各桁の上記キャリー伝播信号との排他的論理和を演算し、当該演算結果を各桁の加算結果として出力する第３の論理演算回路とを有し、
上記第２の論理演算回路は、
上記第１の論理演算回路から出力される複数ビットの上記キャリー伝播信号と複数ビットの上記キャリー生成信号とを入力し、１ビットの出力キャリー伝播信号と１ビットの出力キャリー生成信号とを出力する、１つまたは複数の桁上げ先見回路と、
上記第１の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号と、上記桁上げ先見回路の上記出力キャリー伝播信号および上記出力キャリー生成信号とに応じた上記キャリー信号を出力するキャリー信号出力回路とを含み、
上記桁上げ先見回路は、
上記第１の論理演算回路から入力するＮビット（Ｎは自然数を示す）の上記キャリー伝播信号およびＮビットの上記キャリー生成信号の最下位桁をそれぞれ第１桁として、
上記入力キャリー伝播信号の第Ｎ桁から第ｋ桁（ｋは２からＮまでの自然数を示す）までの各桁と上記入力キャリー生成信号の第（ｋ−１）桁との論理積と等しい第（ｋ−１）の論理演算項、および、上記入力キャリー生成信号の第Ｎ桁と等しい第Ｎの論理演算項を、第１の論理演算項から第Ｎの論理演算項まで論理和演算した結果に相当する上記出力キャリー生成信号と、
上記入力キャリー伝播信号の第１桁から第Ｎ桁までの各桁の論理積を演算した結果に相当する上記出力キャリー伝播信号と
を出力する桁上げ先見回路であって、
上記第１の論理演算項から第Ｎの論理演算項までの各項が番号順に並んだＮ項の論理和演算式において、上記第１の論理演算項側または上記第Ｎの論理演算項側から順番に、隣接する２項の論理和が１つのグループ項にグループ化され、グループ化された２項に共通項が存在する場合は、上記グループ項における２項の論理和が上記共通項と非共通項との論理積に変形され、上記グループ化後の論理和演算式における上記グループ項の数が２より大きい場合は、上記グループ化後の論理和演算式において上記番号順に応じた順序で並ぶ上記グループ項に対し上記グループ化および上記変形が更に反復されることにより取得される、２つの上記グループ項からなる論理和演算式を第１の論理式として、
複数ビットの上記入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号、上記入力キャリー伝播信号、および上記入力キャリー生成信号の中から、２ビットの信号を入力し、入力した２ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲートと、
上記第１の論理式における上記グループ項、上記共通項、および上記非共通項の演算結果に相当する信号、ならびに、上記入力キャリー生成信号、上記入力キャリー伝播信号、および上記第１の論理ゲートの出力信号の中から、３ビットの信号を入力し、当該入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和に相当する信号、または、当該入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積に相当する信号を、上記グループ項、上記非共通項、または上記出力キャリー生成信号の演算結果もしくはその論理反転に相当する信号として出力する、１つまたは複数の第２の論理ゲートとを含む、
加算回路。
【請求項９】
上記桁上げ先見回路は、
上記入力キャリー生成信号、上記入力キャリー伝播信号、上記第１の論理ゲートの出力信号、および上記第２の論理ゲートの出力信号の中から１ビットの信号を入力し、当該入力信号を論理反転して、上記第１の論理ゲートもしくは上記第２の論理ゲートに出力するか、または、上記出力キャリー伝播信号もしくは上記出力キャリー生成信号として出力する、１つまたは複数の第３の論理ゲートを含む、
請求項８に記載の加算回路。
【請求項１０】
上記複数の桁上げ先見回路は、複数段の階層に分類されており、
初段の階層に含まれる桁上げ先見回路は、上記第１の論理演算回路から出力される複数ビットの上記キャリー伝播信号と複数ビットの上記キャリー生成信号とを入力して、１ビットの出力キャリー伝播信号と１ビットの出力キャリー生成信号とを出力し、
初段に続く各段の桁上げ先見回路は、前段の複数の桁上げ先見回路から出力される複数ビットの上記出力キャリー伝播信号と複数ビットの上記出力キャリー生成信号とを入力して、１ビットの出力キャリー伝播信号と１ビットの出力キャリー生成信号とを出力する、
請求項８または９に記載の加算回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、加算回路においてキャリー信号の生成を高速化するために用いられる桁上げ先見回路と、桁上げ先見回路を用いた加算回路に関するものである。
【０００２】
【従来の技術】
加算回路を構成する場合、動作速度の向上を図る上で最も問題となるのがキャリー（ｃａｒｒｙ：桁上げ）信号の伝播遅延である。たとえばリプルキャリー型の加算回路では、キャリー信号が最下位ビットから最上位ビットまで順に伝播していくため、最上位ビットの演算結果と桁あふれが確定するまでには、加算対象信号のビット長に比例した遅延時間が生じてしまう。
【０００３】
図１６は、４ビット信号の加算を行うリプルキャリー型加算回路の構成例を示す回路図である。図１６に示すリプルキャリー型加算回路は、４つの全加算器１〜４で構成される。
【０００４】
全加算器１〜４は、下位桁から１ビットのキャリー信号ｃｔを入力するとともに、加算対象として１ビットの信号ａおよびｂを入力する。そして、加算結果として１ビットの信号ｓを出力するとともに、上位桁へ１ビットのキャリー信号ｃｏを出力する。加算結果の信号ｓおよびキャリー信号ｃｏは、それぞれ次式で表される。
【０００５】
【数１】
2004265204.tif 000003
【０００６】
全加算器１〜４には、加算対象信号の各桁の信号が入力される。すなわち、全加算器１，…，４には、この順番に対応して、４ビット加算対象信号の最下位桁（ａ０、ｂ０），…，最上位桁（ａ３、ｂ３）がそれぞれ入力される。
また、全加算器１〜４には、それぞれ下位の全加算器からのキャリー信号が入力される。すなわち、全加算器１には、外部からのキャリー信号ｃｉｎが入力される。全加算器２には、全加算器１からのキャリー信号ｃ０が入力される。全加算器３には、全加算器２からのキャリー信号ｃ１が入力される。全加算器４には、全加算器３からのキャリー信号ｃ２が入力される。
全加算器１〜４から出力される加算結果の信号ｓ０〜ｓ３は、４ビットの加算結果の最下位桁〜最上位桁にそれぞれ対応する。
全加算器４から出力されるキャリー信号は、４ビットの加算結果における桁あふれ（オーバーフロー）を示す。
【０００７】
上述した構成を有する図１６に示す加算回路において、最上位桁の加算結果ｓ３とその桁あふれ信号ｃ３は、下位のキャリー信号ｃ２が出力されるまで確定しない。また、このキャリー信号ｃ２は、下位のキャリー信号ｃ１が出力されるまで確定せず、キャリー信号ｃ１は、さらに下位のキャリー信号ｃ０が出力されるまで確定しない。
すなわち、ある桁の加算結果と桁上がりが確定するためには、その桁より下位の全てのキャリー信号が確定している必要がある。このため、キャリー信号の伝播経路（図１６の点線）は、リプルキャリー型加算回路における最長の遅延経路（クリティカル・パス）となる。加算対象信号のビット長が増すと、これに応じて全加算器の段数が追加され、この追加された全加算器におけるキャリー信号の生成回路がクリティカル・パスに加わるため、最終的な加算結果が確定するまでの遅延時間が長くなってしまう。
【０００８】
こうしたキャリー信号の伝播遅延を改善する手法の１つとして、キャリールックアヘッド回路（ｃａｒｒｙ  ｌｏｏｋ−ａｈｅａｄ  ｃｉｒｃｕｉｔ：桁上げ先見回路）を用いた手法がある。
この手法では、加算対象信号の最下位桁を第１桁として、第（ｉ＋１）桁（ｉはゼロを含む正の整数を示す）の加算により生じるキャリー信号ｃｉが次式に示すような関係を有することを利用して、下位桁のキャリーの検出を待つことなく上位桁のキャリーが検出される。
【０００９】
【数２】
2004265204.tif 000004
【００１０】
式（３）において、信号ｐｉおよび信号ｇｉは、加算対象信号の第（ｉ＋１）桁の信号（ａｉ、ｂｉ）を用いて、次式のように表される。
【００１１】
【数３】
2004265204.tif 000005
【００１２】
一般に、信号ｐｉはキャリー伝播信号、信号ｇｉはキャリー生成信号と呼ばれている。
なお、式（３）においては、キャリー信号ｃ−１を‘０’、すなわち、加算対象信号の第１桁に対する外部からのキャリー入力は存在しないものとしている。外部キャリー信号ｃｉｎが存在する場合、キャリー信号ｃｉは次式のように表される。
【００１３】
【数４】
2004265204.tif 000006
【００１４】
たとえば、４ビットの加算回路における最上位桁（第４桁）からのキャリー信号ｃ３は、外部キャリー信号ｃｉｎが存在しないものとして式（３）を用いると、次式のように表される。
【００１５】
【数５】
2004265204.tif 000007
【００１６】
図１７は、式（６）の関係を利用して構成された、キャリー信号ｃ３の生成回路の一例を示す回路図である。
図１７に示すキャリー信号ｃ３の生成回路は、半加算器５〜８と、４入力ＮＡＮＤゲート９および１３と、３入力ＮＡＮＤゲート１０と、２入力ＮＡＮＤゲート１１と、インバータ１２とを有する。
【００１７】
半加算器５〜８は、各桁の加算対象信号を入力し、式（４）に示す排他的論理和および式（５）に示す論理積を演算して、キャリー伝播信号およびキャリー生成信号を出力する。
すなわち、半加算器５，…，８は、この順番に対応して、４ビット加算対象信号の最下位桁（ａ０、ｂ０），…，最上位桁（ａ３、ｂ３）をそれぞれ入力する。そして、入力した加算対象信号の排他的論理和および論理積を演算し、キャリー伝播信号およびキャリー生成信号の組（ｐ０、ｇ０），…，（ｐ３、ｇ３）をそれぞれ出力する。
【００１８】
４入力ＮＡＮＤゲート９は、半加算器５から出力されるキャリー生成信号ｇ０と、半加算器６〜８から出力されるキャリー伝播信号ｐ１〜ｐ３とを入力し、入力した４信号の反転論理積を出力する。この出力信号は、式（６）の右辺第１項を論理反転した信号に相当する。
【００１９】
３入力ＮＡＮＤゲート１０は、半加算器６から出力されるキャリー生成信号ｇ１と、半加算器７および８から出力されるキャリー伝播信号ｐ２およびｐ３とを入力し、入力した３信号の反転論理積を出力する。この出力信号は、式（６）の右辺第２項を論理反転した信号に相当する。
【００２０】
２入力ＮＡＮＤゲート１１は、半加算器７から出力されるキャリー生成信号ｇ２と半加算器８から出力されるキャリー伝播信号ｐ３とを入力し、入力した２信号の反転論理積を出力する。この出力信号は、式（６）の右辺第３項を論理反転した信号に相当する。
【００２１】
インバータ１２は、半加算器８から出力されるキャリー生成信号ｇ３を論理反転して出力する。この出力信号は、式（６）の右辺第４項を論理反転した信号に相当する。
【００２２】
４入力ＮＡＮＤゲート１３は、ＮＡＮＤゲート９〜１１およびインバータ１２の出力信号を入力し、入力した４信号の反転論理積を出力する。この出力信号は、式（６）に示すキャリー信号ｃ３に相当する。
【００２３】
上述した構成を有するキャリー信号ｃ３の生成回路によれば、下位のキャリー信号（ｃ０〜ｃ２）の確定を待つことなく、加算対象信号（ａ０，…，ａ３）および（ｂ０，…，ｂ３）から直接キャリー信号ｃ３を生成することができるため、図１６に示すリプルキャリー方式に比べて、キャリー信号の伝播遅延を短くすることができる。
【００２４】
図１７に示す回路は、最下位桁から４番目の桁におけるキャリー信号を生成する回路であるが、更に多ビットの加算においてキャリー信号を生成する場合には、複数のＣＬＡ回路を階層的に接続する方式が一般に用いられる。
【００２５】
図１８は、複数のＣＬＡ回路を階層的に接続して構成されるキャリー信号ｃ１５の生成回路の一例を示す回路図である。
図１８に示すキャリー信号ｃ１５の生成回路は、４ビット半加算器２１〜２４と、ＣＬＡ回路２５〜２９とを有する。
【００２６】
４ビット半加算器２１〜２４は、１６ビットの加算対象信号を４分割して得られる４ビットの信号をそれぞれ入力し、式（４）および（５）で示すキャリー伝播信号およびキャリー生成信号を各桁について演算する。
【００２７】
すなわち、半加算器２１は最下位桁（第１桁）〜第４桁の加算対象信号（ａ０，…，ａ３）および（ｂ０，…，ｂ３）を、半加算器２２は第５桁〜第８桁の加算対象信号（ａ４，…，ａ７）および（ｂ４，…，ｂ７）を、半加算器２３は第９桁〜第１２桁の加算対象信号（ａ８，…，ａ１１）および（ｂ８，…，ｂ１１）を、半加算器２４は第１３桁〜第１６桁の加算対象信号（ａ１２，…，ａ１５）および（ｂ１２，…，ｂ１５）を、それぞれ入力する。
そして、入力した加算対象信号の各桁について式（４）の排他的論理和および式（５）の論理積を演算する。半加算器２１はキャリー伝播信号（ｐ０，…，ｐ３）およびキャリー生成信号（ｇ０，…，ｇ３）を、半加算器２２はキャリー伝播信号（ｐ４，…，ｐ７）およびキャリー生成信号（ｇ４，…，ｇ７）を、半加算器２３はキャリー伝播信号（ｐ８，…，ｐ１１）およびキャリー生成信号（ｇ８，…，ｇ１１）を、半加算器２４はキャリー伝播信号（ｐ１２，…，ｐ１５）およびキャリー生成信号（ｇ１２，…，ｇ１５）を、それぞれ演算して出力する。
【００２８】
図１９は、４ビット半加算器２１の構成例を示す回路図である。
４ビット半加算器２１は、たとえば図１９に示すように、１ビットの半加算器３０〜３３を４つ用いて構成される。他の４ビット半加算器２２〜２４についても、図１９と同様な構成で実現可能である。
【００２９】
ＣＬＡ回路２５〜２８は、４ビット半加算器２１〜２４から出力される４ビットのキャリー伝播信号および４ビットのキャリー生成信号をそれぞれ入力し、これに応じた１ビットのキャリー伝播信号および１ビットのキャリー生成信号をそれぞれ出力する。
【００３０】
すなわち、ＣＬＡ回路２５は半加算器２１のキャリー伝播信号（ｐ０，…，ｐ３）およびキャリー生成信号（ｇ０，…，ｇ３）を、ＣＬＡ回路２６は半加算器２２のキャリー伝播信号（ｐ４，…，ｐ７）およびキャリー生成信号（ｇ４，…，ｇ７）を、ＣＬＡ回路２７は半加算器２３のキャリー伝播信号（ｐ８，…，ｐ１１）およびキャリー生成信号（ｇ８，…，ｇ１１）を、ＣＬＡ回路２８は半加算器２４のキャリー伝播信号（ｐ１２，…，ｐ１５）およびキャリー生成信号（ｇ１２，…，ｇ１５）を、それぞれ入力する。
そして、この入力に応じた１ビットのキャリー伝播信号および１ビットのキャリー生成信号を演算する。ＣＬＡ回路２５はキャリー伝播信号Ｐ０およびキャリー生成信号Ｇ０を、ＣＬＡ回路２６はキャリー伝播信号Ｐ１およびキャリー生成信号Ｇ１を、ＣＬＡ回路２７はキャリー伝播信号Ｐ２およびキャリー生成信号Ｇ２を、ＣＬＡ回路２８はキャリー伝播信号Ｐ３およびキャリー生成信号Ｇ３を、それぞれ演算結果として出力する。
【００３１】
ＣＬＡ回路２５〜２８に対する４ビットの入力キャリー伝播信号を下位桁から信号ｐ（０）〜ｐ（３）として表し、また、４ビットの入力キャリー生成信号を下位桁から信号ｇ（０）〜ｇ（３）として表した場合、１ビットの出力キャリー伝播信号Ｐおよび１ビットの出力キャリー生成信号Ｇは次式のように表される。
【００３２】
【数６】
2004265204.tif 000008
【００３３】
図２０は、ＣＬＡ回路２５の構成例を示す回路図である。
ＣＬＡ回路２５において出力キャリー生成信号Ｇ０を生成する回路（１４〜１８）は、図１７においてキャリー信号ｃ３を生成する回路（９〜１３）と同一である。
また、キャリー伝播信号Ｐ０の生成は、４入力のＮＡＮＤゲート１９においてキャリー伝播信号ｐ０〜ｐ３の反転論理積を演算し、その演算結果をインバータ２０において論理反転することにより実現される。
他のＣＬＡ回路２６〜２８についても、図２０と同様な回路構成で実現可能である。
【００３４】
ＣＬＡ回路２９は、ＣＬＡ回路２６〜２８から出力される４ビットの出力キャリー伝播信号（Ｐ０，…，Ｐ３）および４ビットの出力キャリー生成信号（Ｇ０，…，Ｇ３）を入力し、これに応じた１ビットのキャリー伝播信号Ｐｏおよび１ビットのキャリー生成信号Ｇｏを出力する。
【００３５】
ＣＬＡ回路２９の出力キャリー生成信号Ｇｏおよび出力キャリー伝播信号Ｐｏは、式（７）および（８）における入力キャリー伝播信号（ｐ（０），…，ｐ（３））および入力キャリー生成信号（ｇ（０），…，ｇ（３））を、ＣＬＡ回路２６〜２８の出力キャリー伝播信号（Ｐ０，…，Ｐ３）および出力キャリー生成信号（Ｇ０，…，Ｇ３）に置き換えることにより、ＣＬＡ回路２５〜２８と同様に演算される。したがって、ＣＬＡ回路２９の回路構成は、図２０と同様な構成で実現可能である。
【００３６】
上述した構成を有するキャリー信号ｃ１５の生成回路において、ＣＬＡ回路２９の出力キャリー生成信号Ｇｏは、上述した式（３）においてｉ＝１５とした場合におけるキャリー信号ｃ１５と等しくなる。
すなわち、式（３）を用いると、キャリー信号ｃ１５は次式のように表される。
【００３７】
【数７】
2004265204.tif 000009
【００３８】
ＣＬＡ回路２５〜２７の出力キャリー伝播信号Ｐ０〜Ｐ２、ＣＬＡ回路２５の出力キャリー生成信号Ｇ０は、次式のように表される。
【００３９】
【数８】
2004265204.tif 000010
【００４０】
式（９）の右辺第１項〜第４項に対して式（１０Ａ）〜（１０Ｄ）を代入すると、この第１項〜第４項の論理和Ｗ１４は次式のように表される。
【００４１】
【数９】
2004265204.tif 000011
【００４２】
式（９）の右辺第５項〜第８項、第９項〜第１２項、および第１３項〜第１６項の論理和についても、式（１１）の論理和Ｗ１４と同様に、ＣＬＡ回路２５〜２８の出力キャリー伝播信号および出力キャリー生成信号を用いて表すことが可能である。
この結果、キャリー信号ｃ１５は次式のように表される。
【００４３】
【数１０】
2004265204.tif 000012
【００４４】
式（９Ａ）の右辺はＣＬＡ回路２９の出力キャリー生成信号Ｇｏと等しい。このことから、出力キャリー生成信号Ｇｏがキャリー信号ｃ１５と等しくなることが分かる。
【００４５】
なお、図１８に示す回路は、４ビットのキャリー伝播信号および４ビットのキャリー生成信号を入力して１ビットのキャリー伝播信号および１ビットのキャリー生成信号を出力するＣＬＡ回路であるが、一般に、Ｎビットのキャリー伝播信号およびＮビットのキャリー生成信号を入力するＣＬＡ回路の場合、その出力キャリー伝播信号Ｐおよび出力キャリー生成信号Ｇは、次式のように表される。
【００４６】
【数１１】
2004265204.tif 000013
【００４７】
複数のＣＬＡ回路を階層的に接続して構成されたキャリールックアヘッド型加算回路としては、たとえば、特許文献１に記載された技術が存在する。
【００４８】
【特許文献１】
特開平５−６１６４３号公報
【００４９】
【発明が解決しようとする課題】
ところで、図１７や図１８に示すキャリー信号の生成回路において用いられるＣＬＡ回路では、３入力や４入力など、多入力のＮＡＮＤが用いられている。一般に、ＮＡＮＤゲートやＮＯＲゲートなどのゲートにおいては、その入力信号数が多くなるほど、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が多くなる。たとえば４入力のＮＡＮＤゲートの場合、出力端子と接地ラインとの間には４段ものトランジスタが直列に挿入される。このため、こうした多入力ゲートでは出力電流の駆動能力が低くなり、動作速度が遅くなる傾向がある。
【００５０】
多入力ゲートの速度低下を抑えるためには、トランジスタのサイズ又はゲート幅を増やしてオン抵抗を下げる必要がある。トランジスタのサイズを大きくすると、回路面積が増加してしまう不具合に加えて、ゲート容量の増加によりトランジスタの駆動損失が増大してしまう不具合が生じる。
【００５１】
しかしながら、キャリー信号の生成回路は加算回路全体のクリティカル・パスであることから、加算回路全体の性能向上を図るためには、ＣＬＡ回路の多入力ゲートに用いるトランジスタを大面積にする必要がある。このため、従来のＣＬＡ回路では、加算回路の動作速度を向上させる代償として、回路面積の増加と消費電力の増大が常に問題となってきた。
【００５２】
また、「特許文献１」の図５には、式（７）に示す出力キャリー生成信号Ｇと同等な信号を生成するＣＬＡ回路に複合型ゲートを用いる例が示されている。図２１は、この複合型ゲートを用いて構成されたＣＬＡ回路の一例を示す回路図である。
【００５３】
図２１に示す複合型ゲートにおいて、インバータ３４の入力端子と電源ラインＶｃｃとの間には、ｐ型ＭＯＳトランジスタＱｐ１〜Ｑｐ４の４トランジスタが直列に挿入されており、インバータ３４の入力端子と接地ラインＧとの間には、ｎ型ＭＯＳトランジスタＱｎ１〜Ｑｎ４の４トランジスタが直列に挿入されている。したがって、ＣＬＡ回路の高速化を図るためにはこれらのトランジスタサイズを大きくする必要が生じ、上述と同様な回路面積の増加と消費電力の増大を招来する不具合が存在する。
【００５４】
本発明はかかる事情に鑑みてなされたものであり、その目的は、回路面積の増加と消費電力の増大を抑えることができる桁上げ先見回路および加算回路を提供することにある。
【００５５】
【課題を解決するための手段】
上記の目的を達成するため、本発明の第１の観点の桁上げ先見回路は、
２ビットの入力信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲート、および、
３ビットの入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和、または、当該３ビットの入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積を出力する、１つまたは複数の第２の論理ゲート
から構成される。
【００５６】
本発明の第２の観点の桁上げ先見回路は、
２ビットの入力信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲート、
３ビットの入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和、または、当該３ビットの入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積を出力する、１つまたは複数の第２の論理回路、および、
１ビットの入力信号を論理反転して出力する１つまたは複数の第３の論理ゲートから構成される。
【００５７】
本発明の第３の観点の桁上げ先見回路は、
入力される（Ｎ−１）ビット（Ｎは自然数を示す）のキャリー伝播信号の最下位桁を第２桁、入力されるＮビットのキャリー生成信号の最下位桁を第１桁として、上記入力キャリー伝播信号の第Ｎ桁から第ｋ桁（ｋは２からＮまでの自然数を示す）までの各桁と上記入力キャリー生成信号の第（ｋ−１）桁との論理積と等しい第（ｋ−１）の論理演算項、および、上記出力キャリー生成信号の第Ｎ桁と等しい第Ｎの論理演算項を、第１の論理演算項から第Ｎの論理演算項まで論理和演算した結果に相当するキャリー生成信号を出力する桁上げ先見回路であって、
上記第１の論理演算項から第Ｎの論理演算項までの各項が番号順に並んだＮ項の論理和演算式において、上記第１の論理演算項側または上記第Ｎの論理演算項側から順番に、隣接する２項の論理和が１つのグループ項にグループ化され、グループ化された２項に共通項が存在する場合は、上記グループ項における２項の論理和が上記共通項と非共通項との論理積に変形され、上記グループ化後の論理和演算式における上記グループ項の数が２より大きい場合は、上記グループ化後の論理和演算式において上記番号順に応じた順序で並ぶ上記グループ項に対し上記グループ化および上記変形が更に反復されることにより取得される、２つの上記グループ項からなる論理和演算式を第１の論理式として、
複数ビットの上記入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号、上記入力キャリー伝播信号、および上記入力キャリー生成信号の中から、２ビットの信号を入力し、入力した２ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲートと、
上記第１の論理式における上記グループ項、上記共通項、および上記非共通項の演算結果に相当する信号、ならびに、上記入力キャリー生成信号、上記入力キャリー伝播信号、および上記第１の論理ゲートの出力信号の中から、３ビットの信号を入力し、当該入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和に相当する信号、または、当該入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積に相当する信号を、上記グループ項、上記非共通項、または上記出力キャリー生成信号の演算結果もしくはその論理反転に相当する信号として出力する、１つまたは複数の第２の論理ゲートとを有する。
【００５８】
上記入力キャリー伝播信号の第２桁に対してさらに１桁下位の桁を第１桁として、
上記第１の論理ゲートは、
２ビットの入力信号のうちの１ビットの信号として、上記入力キャリー伝播信号の第１桁の信号を入力する論理ゲートと、
上記入力キャリー伝播信号の第１桁から第Ｎ桁までの各桁の論理積の演算結果に相当するキャリー伝播信号もしくはその論理反転を出力する論理ゲートとを含んでも良い。
【００５９】
また、上記入力キャリー生成信号、上記入力キャリー伝播信号、上記第１の論理ゲートの出力信号、および上記第２の論理ゲートの出力信号の中から１ビットの信号を入力し、当該入力信号を論理反転して、上記第１の論理ゲートもしくは上記第２の論理ゲートに出力するか、または、上記出力キャリー伝播信号もしくは上記出力キャリー生成信号として出力する、１つまたは複数の第３の論理ゲートを含んでも良い。
【００６０】
本発明の第４の観点の加算回路は、
２つの加算対象信号の各桁の排他的論理和をキャリー伝播信号として出力し、上記２つの加算対象信号の各桁の論理積をキャリー生成信号として出力する第１の論理演算回路と、
上記第１の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号に応じて、上記加算対象信号の加算により発生する各桁の桁上がりを演算し、当該演算結果をキャリー信号として出力する第２の論理演算回路と、
上記加算対象信号の各桁に対する下位桁からの上記キャリー信号と各桁の上記キャリー伝播信号との排他的論理和を演算し、当該演算結果を各桁の加算結果として出力する第３の論理演算回路とを有する。
上記第２の論理演算回路は、
上記第１の論理演算回路から出力される複数ビットの上記キャリー伝播信号と複数ビットの上記キャリー生成信号とを入力し、１ビットの出力キャリー伝播信号と１ビットの出力キャリー生成信号とを出力する、１つまたは複数の桁上げ先見回路と、
上記第１の論理演算回路の上記キャリー伝播信号および上記キャリー生成信号と、上記桁上げ先見回路の上記出力キャリー伝播信号および上記出力キャリー生成信号とに応じた上記キャリー信号を出力するキャリー信号出力回路とを含む。
上記桁上げ先見回路は、
上記第１の論理演算回路から入力するＮビット（Ｎは自然数を示す）の上記キャリー伝播信号およびＮビットの上記キャリー生成信号の最下位桁をそれぞれ第１桁として、
上記入力キャリー伝播信号の第Ｎ桁から第ｋ桁（ｋは２からＮまでの自然数を示す）までの各桁と上記入力キャリー生成信号の第（ｋ−１）桁との論理積と等しい第（ｋ−１）の論理演算項、および、上記入力キャリー生成信号の第Ｎ桁と等しい第Ｎの論理演算項を、第１の論理演算項から第Ｎの論理演算項まで論理和演算した結果に相当する上記出力キャリー生成信号と、
上記入力キャリー伝播信号の第１桁から第Ｎ桁までの各桁の論理積を演算した結果に相当する上記出力キャリー伝播信号と
を出力する桁上げ先見回路であって、
上記第１の論理演算項から第Ｎの論理演算項までの各項が番号順に並んだＮ項の論理和演算式において、上記第１の論理演算項側または上記第Ｎの論理演算項側から順番に、隣接する２項の論理和が１つのグループ項にグループ化され、グループ化された２項に共通項が存在する場合は、上記グループ項における２項の論理和が上記共通項と非共通項との論理積に変形され、上記グループ化後の論理和演算式における上記グループ項の数が２より大きい場合は、上記グループ化後の論理和演算式において上記番号順に応じた順序で並ぶ上記グループ項に対し上記グループ化および上記変形が更に反復されることにより取得される、２つの上記グループ項からなる論理和演算式を第１の論理式として、
複数ビットの上記入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号、上記入力キャリー伝播信号、および上記入力キャリー生成信号の中から、２ビットの信号を入力し、入力した２ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する、１つまたは複数の第１の論理ゲートと、
上記第１の論理式における上記グループ項、上記共通項、および上記非共通項の演算結果に相当する信号、ならびに、上記入力キャリー生成信号、上記入力キャリー伝播信号、および上記第１の論理ゲートの出力信号の中から、３ビットの信号を入力し、当該入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和に相当する信号、または、当該入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積に相当する信号を、上記グループ項、上記非共通項、または上記出力キャリー生成信号の演算結果もしくはその論理反転に相当する信号として出力する、１つまたは複数の第２の論理ゲートとを含む。
【００６１】
【発明の実施の形態】
＜第１の実施形態＞
本発明の第１の実施形態に係る、４ビットのＣＬＡ回路について述べる。
４ビットのＣＬＡ回路は、４ビットのキャリー伝播信号（ｐ０，…，ｐ３）と４ビットのキャリー生成信号（ｇ０，…，ｇ３）とを入力し、これらの入力信号に応じた１ビットのキャリー伝播信号Ｐおよび１ビットのキャリー生成信号Ｇを出力する。
ただし、４ビットのキャリー伝播信号の最下位桁（第１桁），…，最上位桁（第４桁）は、それぞれ、キャリー伝播信号ｐ０，…，ｐ３に対応する。また、４ビットのキャリー生成信号の最下位桁（第１桁），…，最上位桁（第４桁）は、それぞれ、キャリー生成信号ｇ０，…，ｇ３に対応する。
【００６２】
キャリー伝播信号（ｐ０，…，ｐ３）およびキャリー生成信号（ｇ０，…，ｇ３）を用いて、キャリー伝播信号Ｐおよびキャリー生成信号Ｇは次式のように表される。
【００６３】
【数１２】
2004265204.tif 000014
【００６４】
入力キャリー伝播信号の第４桁から第２桁までの各桁と入力キャリー生成信号の第１桁との論理積を第１の論理演算項とすると、この第１の論理演算項は、式（１４）における右辺第１項（ｐ３・ｐ２・ｐ１・ｇ０）に相当する。
入力キャリー伝播信号の第４桁から第３桁までの各桁と入力キャリー生成信号の第２桁との論理積を第２の論理演算項とすると、この第２の論理演算項は、式（１４）における右辺第２項（ｐ３・ｐ２・ｇ１）に相当する。
入力キャリー伝播信号の第４桁と入力キャリー生成信号の第３桁との論理積を第３の論理演算項とすると、この第３の論理演算項は、式（１４）における右辺第３項（ｐ３・ｇ２）に相当する。
入力キャリー生成信号の第４桁を第４の論理演算項とすると、この第４の論理演算項は、式（１４）における右辺第４項（ｇ３）に相当する。
したがって、４ビットのＣＬＡ回路から出力されるキャリー生成信号Ｇは、上述した４つの項（第１の論理演算項〜第４の論理演算項）を論理和演算した結果として与えられる。
【００６５】
ここで、上述した式（１４）に対し、以下に述べる変形を施す。
式（１４）は、第１の論理演算項から第４の論理演算項までの各項が番号順に並んだ４項の論理和演算式である。まずこの式（１４）に対して、第１の論理演算項側または第４の論理演算項側から順番に、すなわち式の左側または右側から順番に、隣接する２項の論理和を１つのグループ項にグループ化する。そして、このグループ化した２項に共通項が存在する場合は、そのグループ項における２項の論理和を、共通項と非共通項との論理積に変形する。
このグループ化と変形を施した後の論理和演算式は、次式のようになる。
【００６６】
【数１３】
2004265204.tif 000015
【００６７】
式（１６）において、右辺第１項および第２項は、それぞれ上述したグループ項である。このうち右辺第１項は、共通項（ｐ３・ｐ２）と非共通項（ｐ１・ｇ０＋ｇ１）との論理積に変形されている。
【００６８】
次に、グループ化後の論理和演算式におけるグループ項の数が２より大きい場合は、このグループ化後の論理和演算式において第１の論理演算項〜第４の論理演算項の番号順に応じた順序で並ぶグループ項に対し、上述したグループ化および変形が更に反復される。式（１６）の論理和演算式はグループ項数が２であるため、この場合、更なるグループ化および変形は実行されない。
【００６９】
こうして得られた式（１６）の構造を調べると、キャリー生成信号Ｇの生成回路は、２種類のゲートを用いて構成可能であることが分かる。すなわち、２ビットの入力信号の論理積に相当する信号を出力するゲート（第１の論理ゲート）と、３ビットの入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和に相当する信号を出力するゲート（第２の論理ゲート）とを用いて、式（１６）に示すキャリー生成信号Ｇの生成回路を構成することができる。
また、式（１５）に示すキャリー伝播信号Ｐの生成回路は、上述した第１の論理ゲートを複数用いて構成することができる。
したがって、４ビットＣＬＡ回路は、この第１の論理ゲートと第２の論理ゲートとを用いて構成することができる。
【００７０】
図１は、本発明の第１の実施形態に係る４ビットＣＬＡ回路の構成の一例を示す回路図である。
図１に示す４ビットＣＬＡ回路は、ＮＡＮＤゲート１０１および１０２と、ＮＯＲゲート１０３と、ＡＮＤ−ＮＯＲ型複合ゲート２０１および２０２と、ＯＲ−ＮＡＮＤ型複合ゲート２５１とを有する。
ＮＡＮＤゲート１０１および１０２、ならびにＮＯＲゲート１０３は、本発明の第１の論理ゲートの一実施形態である。
ＡＮＤ−ＮＯＲ型複合ゲート２０１および２０２、ならびにＯＲ−ＮＡＮＤ型複合ゲート２５１は、本発明の第２の論理ゲートの一実施形態である。
【００７１】
ＮＡＮＤゲート１０１は、キャリー伝播信号ｐ０およびｐ１を入力し、その反転論理積を出力する。
ＮＡＮＤゲート１０２は、キャリー伝播信号ｐ２およびｐ３を入力し、その反転論理積を出力する。この出力信号は、式（１６）における共通項（ｐ３・ｐ２）の演算結果を論理反転した信号に相当する。
【００７２】
ＮＯＲゲート１０３は、ＮＡＮＤゲート１０１および１０２の出力信号の反転論理和を出力する。この出力信号は、式（１５）に示すキャリー伝播信号Ｐの演算結果に相当する。
なお、２信号の反転論理和は、それぞれの信号を論理反転させてから論理積演算した結果と等価である。図１の例では、理解を容易にするために、ＮＯＲゲートの記号をこれと等価なＡＮＤゲートの記号に置き換えて表記している。
【００７３】
ＡＮＤ−ＮＯＲ型複合ゲート２０１は、キャリー生成信号ｇ０、ｇ１、およびキャリー伝播信号ｐ１を入力し、キャリー伝播信号ｐ１とキャリー生成信号ｇ０との論理積とキャリー生成信号ｇ１との反転論理和を出力する。この出力信号は、式（１６）における非共通項（ｐ１・ｇ０＋ｇ１）の演算結果を論理反転した信号に相当する。
【００７４】
ＡＮＤ−ＮＯＲ型複合ゲート２０２は、キャリー生成信号ｇ２、ｇ３、およびキャリー伝播信号ｐ３を入力し、キャリー伝播信号ｐ３とキャリー生成信号ｇ２との論理積とキャリー生成信号ｇ３との反転論理和を出力する。この出力信号は、式（１６）におけるグループ項（ｐ３・ｇ２＋ｇ３）の演算結果を論理反転した信号に相当する。
【００７５】
ＯＲ−ＮＡＮＤ型複合ゲート２５１は、ＮＡＮＤゲート１０２およびＡＮＤ−ＮＯＲ型複合ゲート２０１の出力信号の論理和と、ＡＮＤ−ＮＯＲ型複合ゲート２０２の出力信号との反転論理積を出力する。この出力信号は、式（１６）に示すキャリー生成信号Ｇの演算結果に相当する。
なお、２信号の論理和と１信号との論理積は、２信号のそれぞれを論理反転させてから論理積演算した結果と、１信号を論理反転した結果との論理和に等しい。図１の例では、理解を容易にするために、ＯＲ−ＮＡＮＤ型複合ゲートの記号をこれと等価なＡＮＤ−ＯＲゲートの記号に置き換えて表記している。
【００７６】
ここで、ＡＮＤ−ＮＯＲ型複合ゲートおよびＯＲ−ＮＡＮＤ型複合ゲートのより詳細な回路構成の例について、図２および図３に示す回路図を参照して説明する。
【００７７】
図２（Ｂ）に示すＡＮＤ−ＮＯＲ型複合ゲートは、ｎ型ＭＯＳトランジスタＱｎ１０〜Ｑｎ１２と、ｐ型ＭＯＳトランジスタＱｐ１０〜Ｑｐ１２とを有する。ｎ型ＭＯＳトランジスタＱｎ１０およびＱｎ１１は、出力端子Ｙと接地ラインＧとの間に直列に接続されており、この直列回路とｎ型ＭＯＳトランジスタＱｎ１２とが並列に接続される。
ｐ型ＭＯＳトランジスタＱｐ１０およびＱｐ１１は並列に接続されており、この並列回路とｐ型ＭＯＳトランジスタＱｐ１２とが、出力端子Ｙと電源ラインＶｃｃとの間に直列に接続される。
【００７８】
ｎ型ＭＯＳトランジスタＱｎ１０およびｐ型ＭＯＳトランジスタＱｐ１０のゲートは、入力端子Ａに接続される。
ｎ型ＭＯＳトランジスタＱｎ１１およびｐ型ＭＯＳトランジスタＱｐ１１のゲートは、入力端子Ｂに接続される。
ｎ型ＭＯＳトランジスタＱｎ１２およびｐ型ＭＯＳトランジスタＱｐ１２のゲートは、入力端子Ｃに接続される。
【００７９】
入力端子Ｃがハイレベルの場合、ｎ型ＭＯＳトランジスタＱｎ１２がオンし、ｐ型ＭＯＳトランジスタＱｐ１２がオフするため、出力端子Ｙはローレベルになる。
また、入力端子Ａおよび入力端子Ｂがハイレベルの場合、ｎ型ＭＯＳトランジスタＱｎ１０およびＱｎ１１がオンし、ｐ型ＭＯＳトランジスタＱｐ１０およびＱｐ１１がオフするため、出力端子Ｙはローレベルになる。
入力端子Ｃがローレベル、かつ、入力端子ＡおよびＢの一方または両方がローレベルの場合、ｎ型ＭＯＳトランジスタＱｎ１２がオフし、ｎ型ＭＯＳトランジスタＱｎ１０およびＱｎ１１の一方または両方がオフするため、出力端子Ｙと接地ラインＧとの接続が遮断される。また、ｐ型ＭＯＳトランジスタＱｐ１２がオンし、ｐ型ＭＯＳトランジスタＱｐ１０およびＱｐ１１の一方または両方がオンするため、出力端子Ｙと電源ラインＶｃｃとが接続される。したがって、出力端子Ｙはハイレベルになる。
以上の動作から、入力端子ＡおよびＢの入力信号の論理積と入力端子Ｃの入力信号との反転論理和に相当する信号が、出力端子Ｙから出力される。
【００８０】
図２（Ｃ）に示すＡＮＤ−ＮＯＲ型複合ゲートは、図２（Ｂ）と同一の構成を有しており、両者の違いは、ｐ型ＭＯＳトランジスタＱｐ１０およびＱｐ１１の並列回路とｐ型ＭＯＳトランジスタＱｐ１２との接続関係にある。
すなわち、図２（Ｃ）に示す回路では、ｐ型ＭＯＳトランジスタＱｐ１０およびＱｐ１１の並列回路が出力端子Ｙに接続され、ｐ型ＭＯＳトランジスタＱｐ１２が電源ラインＶｃｃに接続されているが、図２（Ｂ）に示す回路ではその逆に接続されている。これらの違いがあるものの、電源ラインＶｃｃ−出力端子Ｙ間の導通／非導通に係わる動作について両者は等しいので、図２（Ｃ）に示す回路においても、図２（Ｂ）に示す回路と同等な機能が実現される。
【００８１】
図３（Ｂ）に示すＯＲ−ＮＡＮＤ型複合ゲートは、ｎ型ＭＯＳトランジスタＱｎ１３〜Ｑｎ１５と、ｐ型ＭＯＳトランジスタＱｐ１３〜Ｑｐ１５とを有する。ｎ型ＭＯＳトランジスタＱｎ１３およびＱｎ１４は並列に接続され、この並列回路とｎ型ＭＯＳトランジスタＱｎ１５とが、出力端子Ｙと接地ラインＧとの間に直列に接続される。
ｐ型ＭＯＳトランジスタＱｐ１３およびＱｐ１４は、出力端子Ｙと電源ラインＶｃｃとの間に直列に接続され、この直列回路とｐ型ＭＯＳトランジスタＱｐ１５とが並列に接続される。
【００８２】
ｎ型ＭＯＳトランジスタＱｎ１３およびｐ型ＭＯＳトランジスタＱｐ１３のゲートは、入力端子Ａに接続される。
ｎ型ＭＯＳトランジスタＱｎ１４およびｐ型ＭＯＳトランジスタＱｐ１４のゲートは、入力端子Ｂに接続される。
ｎ型ＭＯＳトランジスタＱｎ１５およびｐ型ＭＯＳトランジスタＱｐ１５のゲートは、入力端子Ｃに接続される。
【００８３】
入力端子Ｃがローレベルの場合、ｐ型ＭＯＳトランジスタＱｐ１５がオンし、ｎ型ＭＯＳトランジスタＱｎ１５がオフするため、出力端子Ｙはハイレベルになる。
また、入力端子Ａおよび入力端子Ｂがともにローレベルの場合、ｐ型ＭＯＳトランジスタＱｐ１３およびＱｐ１４がオンし、ｎ型ＭＯＳトランジスタＱｎ１３およびＱｎ１４がオフするため、出力端子Ｙはハイレベルになる。
入力端子Ｃがハイレベル、かつ、入力端子ＡおよびＢの一方または両方がハイレベルの場合、ｎ型ＭＯＳトランジスタＱｎ１５がオンし、ｎ型ＭＯＳトランジスタＱｎ１３およびＱｎ１４の一方または両方がオンするため、出力端子Ｙと接地ラインＧとが接続される。また、ｐ型ＭＯＳトランジスタＱｐ１５がオフし、ｐ型ＭＯＳトランジスタＱｐ１３およびＱｐ１４の一方または両方がオフするため、出力端子Ｙと電源ラインＶｃｃとの接続が遮断される。したがって、出力端子Ｙはローレベルになる。
以上の動作から、入力端子ＡおよびＢの入力信号の論理和と入力端子Ｃの入力信号との反転論理積に相当する信号が、出力端子Ｙから出力される。
【００８４】
図３（Ｃ）に示すＯＲ−ＮＡＮＤ型複合ゲートは、図３（Ｂ）と同一の構成を有しており、両者の違いは、ｎ型ＭＯＳトランジスタＱｎ１３およびＱｎ１４の並列回路とｎ型ＭＯＳトランジスタＱｎ１５との接続関係にある。
すなわち、図３（Ｃ）に示す回路では、ｎ型ＭＯＳトランジスタＱｎ１３およびＱｎ１４の並列回路が出力端子Ｙに接続され、ｎ型ＭＯＳトランジスタＱｎ１５が接地ラインＧに接続されているが、図３（Ｂ）に示す回路ではその逆に接続されている。これらの違いがあるものの、接地ラインＧ−出力端子Ｙ間の導通／非導通に係わる動作について両者は等しいので、図３（Ｃ）に示す回路においても、図３（Ｂ）に示す回路と同等な機能が実現される。
【００８５】
以上説明したように、図１に示す４ビットＣＬＡ回路では、２種類の論理ゲート（第１の論理ゲート、第２の論理ゲート）を用いて、式（１４）に示すキャリー生成信号Ｇおよび式（１５）に示すキャリー伝播信号Ｐを出力する回路が構成される。
すなわち、第１の論理ゲートとして、ＮＡＮＤゲート１０１、１０２、およびＮＯＲゲート１０３が用いられ、第２の論理ゲートとして、ＡＮＤ−ＮＯＲ型複合ゲート２０１、２０２、およびＯＲ−ＮＡＮＤ型複合ゲート２５１が用いられる。
この第２の論理ゲートは、たとえば、図２に示すＡＮＤ−ＮＯＲ型複合ゲートや、図３に示すＯＲ−ＮＡＮＤ型複合ゲートによって実現される。こうした複合ゲートを用いると、出力端子Ｙと電源ラインＶｃｃとの間に挿入されるトランジスタの直列段数や、出力端子Ｙと接地ラインＧとの間に挿入されるトランジスタの直列段数が、最大でも２段となる。これは、通常の論理回路で多用される２入力ＮＡＮＤゲートや２入力ＮＯＲゲートと同じ段数である。
【００８６】
したがって、図１に示す４ビットＣＬＡ回路によれば、図２０に示す多入力のゲートや図２１に示す複合ゲートのように、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が３段以上になる多入力の論理ゲートを使用することなく、ＣＬＡ回路を実現できる。
これにより、同一の動作速度で比較した場合に、トランジスタのサイズを小さくすることができ、回路面積の縮小と消費電力の低減を図ることができる。加えて、トランジスタサイズが小さくなることによりゲート容量が小さくなるので、ＣＬＡ回路を駆動する前段回路における消費電力の低減と回路面積の縮小が可能になり、結果として、回路全体の一層の小型化と低消費電力化を図ることができる。
また、トランジスタサイズを同一にして比較した場合には、動作速度をさらに高速化することが可能になる。
【００８７】
／シミュレーションによる比較／
図２０および図１に示す２つのＣＬＡ回路の性能を、電子回路シミュレーションにより評価した。
【００８８】
（キャリー生成信号Ｇの遅延）
各信号（ｐ１〜ｐ３、ｇ０〜ｇ３）の入力時点からキャリー生成信号Ｇの出力時点までの遅延時間は、図２０に示すＣＬＡ回路において０．２３４ｎｓ、図１に示すＣＬＡ回路において０．２２９ｎｓとなった。すなわち、キャリー生成信号Ｇの遅延は両回路においてほぼ同等となった。
【００８９】
（キャリー伝播信号Ｐの遅延）
各信号（ｐ０〜ｐ３）の入力時点からキャリー伝播信号Ｐの出力時点までの遅延時間は、図２０に示すＣＬＡ回路において０．１７４ｎｓ、図１に示すＣＬＡ回路において０．２０２ｎｓとなった。すなわち、キャリー伝播信号Ｐの伝播に関して、図１に示す回路は図２０に示す従来回路に比べて若干の速度低下が認められた。ただし、キャリー伝播信号Ｐの伝播経路は一般にクリティカル・パスではないため、加算回路全体における動作速度には影響しないものと考えられる。
【００９０】
（トランジスタ幅の合計）
回路に使用されているトランジスタの幅の合計を算出した。その結果、図２０に示すＣＬＡ回路では７４．５μｍ、図１に示すＣＬＡ回路では３９．３μｍとなった。すなわち、図１に示す回路のトランジスタ幅の合計は図２０に示す従来回路に比べて約半分に削減された。
これは、図２０に示す従来回路において、４入力ＮＡＮＤゲートなど、大きなサイズのトランジスタを必要とする多入力論理ゲートが多数使用されているのに対し、図１に示す回路では、何れの論理ゲートも、出力端子と電源ラインまたは接地ラインとの間に最大２段の直列トランジスタが挿入されるのみであり、直列段数が３段以上になる多入力ゲートに比べてトランジスタ幅を小さくすることができるためである。
一般に、ＣＭＯＳ回路における回路面積および消費電力はトランジスタ幅に比例する傾向がある。このため、図１に示す回路によれば、図２０に示す従来回路と同等の信号遅延を達成しながら、回路面積および消費電力を約半分に削減できることが予想される。
【００９１】
（入力容量の合計）
ＣＬＡ回路に対する入力容量の合計を算出した。その結果、図２０に示すＣＬＡ回路では４７ｆＦ、図１に示すＣＬＡ回路では２０ｆＦとなった。すなわち、図１に示す回路の入力容量の合計は、図２０に示す従来回路と比較して４２％まで削減された。
入力容量が削減されることにより、ＣＬＡ回路を駆動する前段回路の駆動能力を小さくすることができるため、加算回路全体の小型化および低消費電力化が期待される。
【００９２】
＜第２の実施形態＞
次に、本発明の第２の実施形態に係る、５ビットのＣＬＡ回路について述べる。
５ビットのＣＬＡ回路は、５ビットのキャリー伝播信号（ｐ０，…，ｐ４）と５ビットのキャリー生成信号（ｇ０，…，ｇ４）とを入力し、これらの入力信号に応じた１ビットのキャリー伝播信号Ｐおよび１ビットのキャリー生成信号Ｇを出力する。
ただし、５ビットのキャリー伝播信号の最下位桁（第１桁），…，最上位桁（第５桁）は、それぞれ、キャリー伝播信号ｐ０，…，ｐ４に対応する。また、５ビットのキャリー生成信号の最下位桁（第１桁），…，最上位桁（第５桁）は、それぞれ、キャリー生成信号ｇ０，…，ｇ４に対応する。
【００９３】
キャリー伝播信号（ｐ０，…，ｐ４）およびキャリー生成信号（ｇ０，…，ｇ４）を用いて、キャリー伝播信号Ｐおよびキャリー生成信号Ｇは次式のように表される。
【００９４】
【数１４】
2004265204.tif 000016
【００９５】
入力キャリー伝播信号の第５桁から第２桁までの各桁と入力キャリー生成信号の第１桁との論理積を第１の論理演算項とすると、この第１の論理演算項は、式（１７）における右辺第１項（ｐ４・ｐ３・ｐ２・ｐ１・ｇ０）に相当する。
入力キャリー伝播信号の第５桁から第３桁までの各桁と入力キャリー生成信号の第２桁との論理積を第２の論理演算項とすると、この第２の論理演算項は、式（１７）における右辺第２項（ｐ４・ｐ３・ｐ２・ｇ１）に相当する。
入力キャリー伝播信号の第５桁から第４桁までの各桁と入力キャリー生成信号の第３桁との論理積を第３の論理演算項とすると、この第３の論理演算項は、式（１７）における右辺第３項（ｐ４・ｐ３・ｇ２）に相当する。
入力キャリー伝播信号の第５桁と入力キャリー生成信号の第４桁との論理積を第４の論理演算項とすると、この第４の論理演算項は、式（１７）における右辺第４項（ｐ４・ｇ３）に相当する。
入力キャリー生成信号の第５桁を第５の論理演算項とすると、この第５の論理演算項は、式（１７）における右辺第５項（ｇ４）に相当する。
したがって、５ビットのＣＬＡ回路から出力されるキャリー生成信号Ｇは、上述した５つの項（第１の論理演算項〜第５の論理演算項）を論理和演算した結果として与えられる。
【００９６】
ここで、上述した式（１７）に対し、式（１６）と同様な、以下に述べる変形を施す。
式（１７）は、第１の論理演算項から第５の論理演算項までの各項が番号順に並んだ５項の論理和演算式である。まずこの式（１７）に対して、第１の論理演算項側または第５の論理演算項側から順番に、すなわち式の左側または右側から順番に、隣接する２項の論理和を１つのグループ項にグループ化する。そして、このグループ化した２項に共通項が存在する場合は、そのグループ項における２項の論理和を、共通項と非共通項との論理積に変形する。
式（１７）の左側からグループ化と変形を施した後の論理和演算式は、次式のようになる。
【００９７】
【数１５】
2004265204.tif 000017
【００９８】
式（１９）において、右辺第１項〜第３項は、それぞれ上述したグループ項である。このうち右辺第１項は、共通項（ｐ４・ｐ３・ｐ２）と非共通項（ｐ１・ｇ０＋ｇ１）との論理積に変形されている。右辺第２項は、共通項（ｐ４）と非共通項（ｐ３・ｇ２＋ｇ３）との論理積に変形されている。
なお、右辺第３項（ｇ４）は、式（１７）のグループ化処理において余った項であるが、これも１つのグループ項として扱う。
【００９９】
次に、グループ化後の論理和演算式におけるグループ項の数が２より大きい場合は、このグループ化後の論理和演算式において第１の論理演算項〜第５の論理演算項の番号順に応じた順序で並ぶグループ項に対し、上述したグループ化および変形が更に反復される。式（１９）の論理和演算式はグループ項数が３であるため、更なるグループ化および変形が実行される。
式（１９）の左側からグループ化と変形を施すと、式（１９）の論理和演算式は次式のようになる。
【０１００】
【数１６】
2004265204.tif 000018
【０１０１】
式（２０）においてグループ項数は２となるため、式（２０）に対する更なるグループ化および変形は実行されない。
【０１０２】
こうして得られた式（２０）の構造を調べると、キャリー生成信号Ｇの生成回路は、２種類のゲートを用いて構成可能であることが分かる。すなわち、上述した第１の論理ゲートおよび第２の論理ゲートを用いて、式（２０）に示すキャリー生成信号Ｇの生成回路を構成することができる。
【０１０３】
ただし、第１の論理ゲートとしてＮＡＮＤゲートやＮＯＲゲートを用いる場合や、第２の論理ゲートとしてＡＮＤ−ＮＯＲ型複合ゲートやＯＲ−ＮＡＮＤ型複合ゲートを用いる場合は、第１の論理ゲートおよび第２の論理ゲートに加えて、１ビット信号の論理反転を出力する第３の論理ゲート、すなわちインバータが必要になる。
【０１０４】
また、式（１８）に示すキャリー伝播信号Ｐの生成回路については、上述した第１の論理ゲートを複数用いて構成することができる。
【０１０５】
したがって、５ビットＣＬＡ回路は、２種類のゲート（第１の論理ゲートおよび第２の論理ゲート）または３種類のゲート（第１の論理ゲート〜第３の論理ゲート）を用いて構成することができる。
【０１０６】
図４は、本発明の第２の実施形態に係る５ビットＣＬＡ回路の構成の一例を示す回路図である。
図４に示す５ビットＣＬＡ回路は、ＮＡＮＤゲート１０４、１０５および１０７と、ＮＯＲゲート１０６と、ＡＮＤ−ＮＯＲ型複合ゲート２０３〜２０５と、ＯＲ−ＮＡＮＤ型複合ゲート２５２と、インバータ３０１および３０２とを有する。
ＮＡＮＤゲート１０４、１０５および１０７、ならびにＮＯＲゲート１０６は、本発明の第１の論理ゲートの一実施形態である。
ＡＮＤ−ＮＯＲ型複合ゲート２０３〜２０５、ならびにＯＲ−ＮＡＮＤ型複合ゲート２５２は、本発明の第２の論理ゲートの一実施形態である。
インバータ３０１および３０２は、本発明の第３の論理ゲートの一実施形態である。
【０１０７】
ＮＡＮＤゲート１０４は、キャリー伝播信号ｐ０およびｐ１を入力し、その反転論理積を出力する。
ＮＡＮＤゲート１０５は、キャリー伝播信号ｐ２およびｐ３を入力し、その反転論理積を出力する。この出力信号は、式（２０）における２ビットのキャリー伝播信号の論理積（ｐ３・ｐ２）の演算結果を論理反転した信号に相当する。
【０１０８】
ＮＯＲゲート１０６は、ＮＡＮＤゲート１０４および１０５の出力信号の反転論理和を出力する。
ＮＡＮＤゲート１０７は、ＮＯＲゲート１０６の出力信号とキャリー伝播信号ｐ４との反転論理積を出力する。
インバータ３０１は、ＮＡＮＤゲート１０７の出力信号を論理反転して出力する。この出力信号は、式（１８）に示すキャリー伝播信号Ｐの演算結果に相当する。
【０１０９】
ＡＮＤ−ＮＯＲ型複合ゲート２０３は、キャリー生成信号ｇ０、ｇ１、およびキャリー伝播信号ｐ１を入力し、キャリー伝播信号ｐ１とキャリー生成信号ｇ０との論理積とキャリー生成信号ｇ１との反転論理和を出力する。この出力信号は、式（２０）における非共通項（ｐ１・ｇ０＋ｇ１）の演算結果を論理反転した信号に相当する。
【０１１０】
ＡＮＤ−ＮＯＲ型複合ゲート２０４は、キャリー生成信号ｇ２、ｇ３、およびキャリー伝播信号ｐ３を入力し、キャリー伝播信号ｐ３とキャリー生成信号ｇ２との論理積とキャリー生成信号ｇ３との反転論理和を出力する。この出力信号は、式（２０）における非共通項（ｐ３・ｇ２＋ｇ３）の演算結果を論理反転した信号に相当する。
【０１１１】
ＯＲ−ＮＡＮＤ型複合ゲート２５２は、ＮＡＮＤゲート１０５およびＡＮＤ−ＮＯＲ型複合ゲート２０３の出力信号の論理和と、ＡＮＤ−ＮＯＲ型複合ゲート２０４の出力信号との反転論理積を出力する。この出力信号は、式（２０）における非共通項
｛（ｐ３・ｐ２）・（ｐ１・ｇ０＋ｇ１）＋（ｐ３・ｇ２＋ｇ３）｝
の演算結果に相当する。
【０１１２】
ＡＮＤ−ＮＯＲ型複合ゲート２０５は、ＯＲ−ＮＡＮＤ型複合ゲート２５２の出力信号とキャリー伝播信号ｐ４との論理積と、キャリー生成信号ｇ４との反転論理和を出力する。
インバータ３０２は、ＡＮＤ−ＮＯＲ型複合ゲート２０５の出力信号を論理反転して出力する。この出力信号は、式（２０）に示すキャリー生成信号Ｇの演算結果に相当する。
【０１１３】
なお、図４に示すＣＬＡ回路において用いられるＡＮＤ−ＮＯＲ型複合ゲートおよびＯＲ−ＮＡＮＤ型複合ゲート（２０３〜２０５、２５２）には、たとえば、図２または図３に示す回路を用いることができる。
【０１１４】
以上説明したように、図４に示す５ビットＣＬＡ回路では、３種類の論理ゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、式（１７）に示すキャリー生成信号Ｇおよび式（１８）に示すキャリー伝播信号Ｐを出力する回路が構成される。
すなわち、第１の論理ゲートとして、ＮＡＮＤゲート１０４、１０５、１０７およびＮＯＲゲート１０６が用いられ、第２の論理ゲートとして、ＡＮＤ−ＮＯＲ型複合ゲート２０３〜２０５、およびＯＲ−ＮＡＮＤ型複合ゲート２５２が用いられ、第３の論理ゲートとして、インバータ３０１および３０２が用いられる。
第２の論理ゲートは、たとえば、図２に示すＡＮＤ−ＮＯＲ型複合ゲートや、図３に示すＯＲ−ＮＡＮＤ型複合ゲートによって実現される。
【０１１５】
したがって、図４に示す５ビットＣＬＡ回路によれば、図１に示すＣＬＡ回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が３段以上になる多入力ゲートを使用することなく、ＣＬＡ回路を実現できる。
このため、図１に示すＣＬＡ回路と同様の効果を奏することができる。すなわち、同一の動作速度で比較した場合、回路の小面積化と低消費電力化を図ることができる。また、同一の回路面積で比較した場合には、動作速度の高速化を図ることができる。
【０１１６】
＜第３の実施形態＞
次に、本発明の第３の実施形態に係る、５ビットのＣＬＡ回路について述べる。
上述した式（２０）は、式（１９）における３つのグループ項、
（ｐ４・ｐ３・ｐ２）・（ｐ１・ｇ０＋ｇ１）、
ｐ４・（ｐ３・ｇ２＋ｇ３）、
ｇ４、
を第１の論理演算項側、すなわち式（１９）の左側からグループ化することによって得られた論理式である。
そこで、これとは逆に、式（１９）の右側からグループ化と変形を実行すると、次の式が得られる。
【０１１７】
【数１７】
2004265204.tif 000019
【０１１８】
こうして得られた式（２１）の構造を調べると、図４に示す回路とは異なる構造を有しながら、上述した２種類のゲート（第１の論理ゲートおよび第２の論理ゲート）または３種類のゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、５ビットＣＬＡ回路を構成できることが分かる。
【０１１９】
図５は、本発明の第３の実施形態に係る５ビットＣＬＡ回路の構成の一例を示す回路図である。
図５に示す５ビットＣＬＡ回路は、ＮＡＮＤゲート１０８〜１１０と、ＮＯＲゲート１１１と、ＡＮＤ−ＮＯＲ型複合ゲート２０６〜２０８と、ＯＲ−ＮＡＮＤ型複合ゲート２５３と、インバータ３０３および３０４とを有する。
ＮＡＮＤゲート１０８〜１１０、ならびにＮＯＲゲート１１１は、本発明の第１の論理ゲートの一実施形態である。
ＡＮＤ−ＮＯＲ型複合ゲート２０６〜２０８、ならびにＯＲ−ＮＡＮＤ型複合ゲート２５３は、本発明の第２の論理ゲートの一実施形態である。
インバータ３０３および３０４は、本発明の第３の論理ゲートの一実施形態である。
【０１２０】
ＮＡＮＤゲート１０８は、キャリー伝播信号ｐ０およびｐ１を入力し、その反転論理積を出力する。
ＮＡＮＤゲート１０９は、キャリー伝播信号ｐ２およびｐ３を入力し、その反転論理積を出力する。
インバータ３０３は、ＮＡＮＤゲート１０９の出力信号を論理反転して出力する。
ＮＡＮＤゲート１１０は、インバータ３０３の出力信号とキャリー伝播信号ｐ４との反転論理積を出力する。この出力信号は、式（２１）における３ビットのキャリー伝播信号の論理積（ｐ４・ｐ３・ｐ２）を論理反転した演算結果に相当する。
ＮＯＲゲート１１１は、ＮＡＮＤゲート１０８およびＮＡＮＤゲート１１０の出力信号の反転論理和を出力する。この出力信号は、式（１８）に示すキャリー伝播信号Ｐの演算結果に相当する。
【０１２１】
ＡＮＤ−ＮＯＲ型複合ゲート２０６は、キャリー生成信号ｇ０、ｇ１、およびキャリー伝播信号ｐ１を入力し、キャリー伝播信号ｐ１とキャリー生成信号ｇ０との論理積とキャリー生成信号ｇ１との反転論理和を出力する。この出力信号は、式（２１）における非共通項（ｐ１・ｇ０＋ｇ１）の演算結果を論理反転した信号に相当する。
【０１２２】
ＡＮＤ−ＮＯＲ型複合ゲート２０７は、キャリー生成信号ｇ２、ｇ３、およびキャリー伝播信号ｐ３を入力し、キャリー伝播信号ｐ３とキャリー生成信号ｇ２との論理積とキャリー生成信号ｇ３との反転論理和を出力する。
インバータ３０４は、ＡＮＤ−ＮＯＲ型複合ゲート２０７の出力信号を論理反転して出力する。この出力信号は、式（２１）における非共通項（ｐ３・ｇ２＋ｇ３）の演算結果に相当する。
【０１２３】
ＡＮＤ−ＮＯＲ型複合ゲート２０８は、インバータ３０４の出力信号とキャリー伝播信号ｐ４との論理積と、キャリー生成信号ｇ４との反転論理和を出力する。この出力信号は、式（２１）におけるグループ項
｛ｐ４・（ｐ３・ｇ２＋ｇ３）＋ｇ４｝
の演算結果を論理反転した信号に相当する。
【０１２４】
ＯＲ−ＮＡＮＤ型複合ゲート２５３は、ＡＮＤ−ＮＯＲ型複合ゲート２０６およびＮＡＮＤゲート１１０の出力信号の論理積と、ＡＮＤ−ＮＯＲ型複合ゲート２０８の出力信号との反転論理和を出力する。この出力信号は、式（２１）に示すキャリー生成信号Ｇの演算結果に相当する。
【０１２５】
なお、図５に示すＣＬＡ回路において用いられるＡＮＤ−ＮＯＲ型複合ゲートおよびＯＲ−ＮＡＮＤ型複合ゲート（２０６〜２０８、２５３）には、たとえば、図２または図３に示す回路を用いることができる。
【０１２６】
以上説明したように、図５に示す５ビットＣＬＡ回路においても、３種類の論理ゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、キャリー生成信号Ｇおよびキャリー伝播信号Ｐを出力する回路が構成される。
すなわち、第１の論理ゲートとして、ＮＡＮＤゲート１０８〜１１０、およびＮＯＲゲート１１１が用いられ、第２の論理ゲートとして、ＡＮＤ−ＮＯＲ型複合ゲート２０６〜２０８、およびＯＲ−ＮＡＮＤ型複合ゲート２５３が用いられ、第３の論理ゲートとして、インバータ３０３および３０４が用いられる。
第２の論理ゲートは、たとえば、図２に示すＡＮＤ−ＮＯＲ型複合ゲートや、図３に示すＯＲ−ＮＡＮＤ型複合ゲートによって実現される。
【０１２７】
したがって、図５に示す５ビットＣＬＡ回路においても、図１および図４に示すＣＬＡ回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が３段以上になる多入力ゲートを使用することなく、ＣＬＡ回路を実現できる。
このため、図１および図４に示すＣＬＡ回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【０１２８】
＜第４の実施形態＞
次に、本発明の第４の実施形態に係る、５ビットのＣＬＡ回路について述べる。
上述した式（１９）は、式（１７）における５つの項（第１の論理演算項〜第５の論理演算項）、
ｐ４・ｐ３・ｐ２・ｐ１・ｇ０、
ｐ４・ｐ３・ｐ２・ｇ１、
ｐ４・ｐ３・ｇ２、
ｐ４・ｇ３、
ｇ４、
を第１の論理演算項側、すなわち式（１７）の左側からグループ化することによって得られた論理式である。
そこで、これとは逆に第５の論理演算項側、すなわち式（１７）の右側からグループ化と変形を実行すると、次の式が得られる。
【０１２９】
【数１８】
2004265204.tif 000020
【０１３０】
式（２２）におけるグループ項の数は３であるので、グループ化と変形が更に実行される。
式（２２）の右側からグループ化と変形を施すと、式（２２）の論理式は次式のようになる。
【０１３１】
【数１９】
2004265204.tif 000021
【０１３２】
こうして得られた式（２３）の構造を調べると、上述した２種類のゲート（第１の論理ゲートおよび第２の論理ゲート）または３種類のゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、図４および図５に示す回路とは異なる構造を有した５ビットＣＬＡ回路を構成できることが分かる。
【０１３３】
図６は、本発明の第４の実施形態に係る５ビットＣＬＡ回路の構成の一例を示す回路図である。
図５に示す５ビットＣＬＡ回路は、ＮＡＮＤゲート１１２、１１３および１１５と、ＮＯＲゲート１１４と、ＡＮＤ−ＮＯＲ型複合ゲート２０９〜２１１と、ＯＲ−ＮＡＮＤ型複合ゲート２５４と、インバータ３０５および３０６とを有する。
ＮＡＮＤゲート１１２、１１３および１１５、ならびにＮＯＲゲート１１４は、本発明の第１の論理ゲートの一実施形態である。
ＡＮＤ−ＮＯＲ型複合ゲート２０９〜２１１、ならびにＯＲ−ＮＡＮＤ型複合ゲート２５４は、本発明の第２の論理ゲートの一実施形態である。
インバータ３０５および３０６は、本発明の第３の論理ゲートの一実施形態である。
【０１３４】
ＮＡＮＤゲート１１２は、キャリー伝播信号ｐ１およびｐ２を入力し、その反転論理積を出力する。
ＮＡＮＤゲート１１３は、キャリー伝播信号ｐ３およびｐ４を入力し、その反転論理積を出力する。
ＮＯＲゲート１１４は、ＮＡＮＤゲート１１２および１１３の出力信号の反転論理和を出力する。この出力信号は、式（２３）における４ビットのキャリー伝播信号の論理積（ｐ４・ｐ３・ｐ２・ｐ１）の論理積に相当する。
【０１３５】
ＮＡＮＤゲート１１５は、ＮＯＲゲート１１４の出力信号とキャリー伝播信号ｐ０との反転論理積を出力する。
インバータ３０５は、ＮＡＮＤゲート１１５の出力信号を反転して出力する。この出力信号は、式（１８）に示すキャリー伝播信号Ｐの演算結果に相当する。
【０１３６】
ＡＮＤ−ＮＯＲ型複合ゲート２０９は、キャリー生成信号ｇ１、ｇ２、およびキャリー伝播信号ｐ２を入力し、キャリー伝播信号ｐ２とキャリー生成信号ｇ１との論理積とキャリー生成信号ｇ２との反転論理和を出力する。この出力信号は、式（２３）における非共通項（ｐ２・ｇ１＋ｇ２）の演算結果を論理反転した信号に相当する。
【０１３７】
ＡＮＤ−ＮＯＲ型複合ゲート２１０は、キャリー生成信号ｇ３、ｇ４、およびキャリー伝播信号ｐ４を入力し、キャリー伝播信号ｐ４とキャリー生成信号ｇ３との論理積とキャリー生成信号ｇ４との反転論理和を出力する。この出力信号は、式（２３）におけるグループ項（ｐ４・ｇ３＋ｇ４）の演算結果を論理反転した信号に相当する。
【０１３８】
ＯＲ−ＮＡＮＤ型複合ゲート２５４は、ＮＡＮＤゲート１１３およびＡＮＤ−ＮＯＲ型複合ゲート２０９の出力信号の論理和と、ＡＮＤ−ＮＯＲ型複合ゲート２１０の出力信号との反転論理積を出力する。この出力信号は、式（２３）におけるグループ項、
｛（ｐ４・ｐ３）・（ｐ２・ｇ１＋ｇ２）＋（ｐ４・ｇ３＋ｇ４）｝
の演算結果に相当する。
【０１３９】
ＡＮＤ−ＮＯＲ型複合ゲート２１１は、ＮＡＮＤゲート１１４の出力信号とキャリー生成信号ｇ０との論理積と、ＯＲ−ＮＡＮＤ型複合ゲート２５４の出力信号との反転論理和を出力する。
インバータ３０６は、ＡＮＤ−ＮＯＲ型複合ゲート２１１の出力信号を論理反転して出力する。この出力信号は、式（２３）に示すキャリー生成信号Ｇの演算結果に相当する。
【０１４０】
なお、図６に示すＣＬＡ回路において用いられるＡＮＤ−ＮＯＲ型複合ゲートおよびＯＲ−ＮＡＮＤ型複合ゲート（２０９〜２１１、２５４）には、たとえば、図２または図３に示す回路を用いることができる。
【０１４１】
以上説明したように、図６に示す５ビットＣＬＡ回路においても、３種類の論理ゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、キャリー生成信号Ｇおよびキャリー伝播信号Ｐを出力する回路が構成される。
すなわち、第１の論理ゲートとして、ＮＡＮＤゲート１１２、１１３、１１５、およびＮＯＲゲート１１４が用いられ、第２の論理ゲートとして、ＡＮＤ−ＮＯＲ型複合ゲート２０９〜２１１、およびＯＲ−ＮＡＮＤ型複合ゲート２５４が用いられ、第３の論理ゲートとして、インバータ３０５および３０６が用いられる。
第２の論理ゲートは、たとえば、図２に示すＡＮＤ−ＮＯＲ型複合ゲートや、図３に示すＯＲ−ＮＡＮＤ型複合ゲートによって実現される。
【０１４２】
したがって、図６に示す５ビットＣＬＡ回路においても、図１、図４および図５に示すＣＬＡ回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が３段以上になる多入力ゲートを使用することなく、ＣＬＡ回路を実現できる。
このため、図１、図４および図５に示すＣＬＡ回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【０１４３】
＜第５の実施形態＞
次に、本発明の第５の実施形態に係る、５ビットのＣＬＡ回路について述べる。
上述した式（２３）は、式（２２）における３つのグループ項、
ｐ４・ｐ３・ｐ２・ｐ１・ｇ０、
ｐ４・ｐ３・（ｐ２・ｇ１＋ｇ２）、
（ｐ４・ｇ３＋ｇ４）
を第１の論理演算項側、すなわち式（２２）の右側からグループ化することによって得られた論理式である。
そこで、これとは逆に第５の論理演算項側、すなわち式（２２）の左側からグループ化すると、次の式が得られる。
【０１４４】
【数２０】
2004265204.tif 000022
【０１４５】
こうして得られた式（２４）の構造を調べると、上述した２種類のゲート（第１の論理ゲートおよび第２の論理ゲート）または３種類のゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、図４〜図６に示す回路とは異なる構造を有した、５ビットＣＬＡ回路を構成できることが分かる。
【０１４６】
図７は、本発明の第５の実施形態に係る５ビットＣＬＡ回路の構成の一例を示す回路図である。
図７に示す５ビットＣＬＡ回路は、ＮＡＮＤゲート１１６、１１７および１１９と、ＮＯＲゲート１１８と、ＡＮＤ−ＮＯＲ型複合ゲート２１２〜２１４と、ＯＲ−ＮＡＮＤ型複合ゲート２５５と、インバータ３０７〜３１１とを有する。ＮＡＮＤゲート１１６、１１７および１１９、ならびにＮＯＲゲート１１８は、本発明の第１の論理ゲートの一実施形態である。
ＡＮＤ−ＮＯＲ型複合ゲート２１２〜２１４、ならびにＯＲ−ＮＡＮＤ型複合ゲート２５５は、本発明の第２の論理ゲートの一実施形態である。
インバータ３０７〜３１１は、本発明の第３の論理ゲートの一実施形態である。
【０１４７】
ＮＡＮＤゲート１１６は、キャリー伝播信号ｐ１およびｐ２を入力し、その反転論理積を出力する。この出力信号は、式（２４）における２ビットのキャリー伝播信号の論理積（ｐ２・ｐ１）の演算結果を論理反転した信号に相当する。
ＮＡＮＤゲート１１７は、キャリー伝播信号ｐ３およびｐ４を入力し、その反転論理積を出力する。
インバータ３０８は、ＮＡＮＤゲート１１７の出力信号を論理反転して出力する。この出力信号は、式（２４）における共通項（ｐ４・ｐ３）の演算結果に相当する。
【０１４８】
ＮＯＲゲート１１８は、ＮＡＮＤゲート１１６および１１７の出力信号の反転論理和を出力する。
ＮＡＮＤゲート１１９は、ＮＯＲゲート１１８の出力信号とキャリー伝播信号ｐ０との反転論理積を出力する。
インバータ３１０は、ＮＡＮＤゲート１１９の出力信号を反転して出力する。この出力信号は、式（１８）に示すキャリー伝播信号Ｐの演算結果に相当する。
【０１４９】
ＡＮＤ−ＮＯＲ型複合ゲート２１２は、キャリー生成信号ｇ１、ｇ２、およびキャリー伝播信号ｐ２を入力し、キャリー伝播信号ｐ２とキャリー生成信号ｇ１との論理積とキャリー生成信号ｇ２との反転論理和を出力する。この出力信号は、式（２４）における非共通項（ｐ２・ｇ１＋ｇ２）の演算結果を論理反転した信号に相当する。
【０１５０】
ＡＮＤ−ＮＯＲ型複合ゲート２１３は、キャリー生成信号ｇ３、ｇ４、およびキャリー伝播信号ｐ４を入力し、キャリー伝播信号ｐ４とキャリー生成信号ｇ３との論理積とキャリー生成信号ｇ４との反転論理和を出力する。
インバータ３０９は、ＡＮＤ−ＮＯＲ型複合ゲート２１３の出力信号を論理反転して出力する。この出力信号は、式（２４）におけるグループ項（ｐ４・ｇ３＋ｇ４）の演算結果に相当する。
【０１５１】
インバータ３０７は、キャリー生成信号ｇ０を論理反転して出力する。
ＯＲ−ＮＡＮＤ型複合ゲート２５５は、ＮＡＮＤゲート１１６およびインバータ３０７の出力信号の論理和と、ＡＮＤ−ＮＯＲ型複合ゲート２１２の出力信号との反転論理積を出力する。この出力信号は、式（２４）における非共通項、
｛ｐ２・ｐ１・ｇ０＋・（ｐ２・ｇ１＋ｇ２）｝
の演算結果に相当する。
【０１５２】
ＡＮＤ−ＮＯＲ型複合ゲート２１４は、インバータ３０８およびＯＲ−ＮＡＮＤ型複合ゲート２５５の出力信号の論理積と、インバータ３０９の出力信号との反転論理和を出力する。
インバータ３１１は、ＡＮＤ−ＮＯＲ型複合ゲート２１４の出力信号を論理反転して出力する。この出力信号は、式（２４）に示すキャリー生成信号Ｇの演算結果に相当する。
【０１５３】
なお、図７に示すＣＬＡ回路において用いられるＡＮＤ−ＮＯＲ型複合ゲートおよびＯＲ−ＮＡＮＤ型複合ゲート（２１２〜２１４、２５５）には、たとえば、図２または図３に示す回路を用いることができる。
【０１５４】
以上説明したように、図７に示す５ビットＣＬＡ回路においても、３種類の論理ゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、キャリー生成信号Ｇおよびキャリー伝播信号Ｐを出力する回路が構成される。
すなわち、第１の論理ゲートとして、ＮＡＮＤゲート１１６、１１７、１１９、およびＮＯＲゲート１１８が用いられ、第２の論理ゲートとして、ＡＮＤ−ＮＯＲ型複合ゲート２１２〜２１４、およびＯＲ−ＮＡＮＤ型複合ゲート２５５が用いられ、第３の論理ゲートとして、インバータ３０７〜３１１が用いられる。第２の論理ゲートは、たとえば、図２に示すＡＮＤ−ＮＯＲ型複合ゲートや、図３に示すＯＲ−ＮＡＮＤ型複合ゲートによって実現される。
【０１５５】
したがって、図７に示す５ビットＣＬＡ回路においても、図１および図４〜図６に示すＣＬＡ回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が３段以上になる多入力ゲートを使用することなく、ＣＬＡ回路を実現できる。
このため、図１および図４〜図６に示すＣＬＡ回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【０１５６】
＜第６の実施形態＞
次に、本発明の第６の実施形態に係る、６ビットのＣＬＡ回路について述べる。
６ビットのＣＬＡ回路は、６ビットのキャリー伝播信号（ｐ０，…，ｐ５）と６ビットのキャリー生成信号（ｇ０，…，ｇ６）とを入力し、これらの入力信号に応じた１ビットのキャリー伝播信号Ｐおよび１ビットのキャリー生成信号Ｇを出力する。
ただし、６ビットのキャリー伝播信号の最下位桁（第１桁），…，最上位桁（第６桁）は、それぞれ、キャリー伝播信号ｐ０，…，ｐ５に対応する。また、６ビットのキャリー生成信号の最下位桁（第１桁），…，最上位桁（第６桁）は、それぞれ、キャリー生成信号ｇ０，…，ｇ５に対応する。
【０１５７】
キャリー伝播信号（ｐ０，…，ｐ５）およびキャリー生成信号（ｇ０，…，ｇ５）を用いて、キャリー伝播信号Ｐおよびキャリー生成信号Ｇは次式のように表される。
【０１５８】
【数２１】
2004265204.tif 000023
【０１５９】
入力キャリー伝播信号の第６桁から第２桁までの各桁と入力キャリー生成信号の第１桁との論理積を第１の論理演算項とすると、この第１の論理演算項は、式（２５）における右辺第１項（ｐ５・ｐ４・ｐ３・ｐ２・ｐ１・ｇ０）に相当する。
入力キャリー伝播信号の第６桁から第３桁までの各桁と入力キャリー生成信号の第２桁との論理積を第２の論理演算項とすると、この第２の論理演算項は、式（２５）における右辺第２項（ｐ５・ｐ４・ｐ３・ｐ２・ｇ１）に相当する。
入力キャリー伝播信号の第６桁から第４桁までの各桁と入力キャリー生成信号の第３桁との論理積を第３の論理演算項とすると、この第３の論理演算項は、式（２５）における右辺第３項（ｐ５・ｐ４・ｐ３・ｇ２）に相当する。
入力キャリー伝播信号の第６桁から第５桁までの各桁と入力キャリー生成信号の第４桁との論理積を第４の論理演算項とすると、この第４の論理演算項は、式（１７）における右辺第４項（ｐ５・ｐ４・ｇ３）に相当する。
入力キャリー伝播信号の第６桁と入力キャリー生成信号の第５桁との論理積を第５の論理演算項とすると、この第５の論理演算項は、式（２５）における右辺第５項（ｐ５・ｇ４）に相当する。
入力キャリー生成信号の第６桁を第６の論理演算項とすると、この第６の論理演算項は、式（２５）における右辺第５項（ｇ５）に相当する。
したがって、６ビットのＣＬＡ回路から出力されるキャリー生成信号Ｇは、上述した６つの項（第１の論理演算項〜第６の論理演算項）を論理和演算した結果として与えられる。
【０１６０】
ここで、上述した式（２５）に対し、式（１６）、（１９）および（２２）と同様な、以下に述べる変形を施す。
式（２５）は、第１の論理演算項から第６の論理演算項までの各項が番号順に並んだ６項の論理和演算式である。まずこの式（２５）に対して、第１の論理演算項側または第６の論理演算項側から順番に、すなわち式の左側または右側から順番に、隣接する２項の論理和を１つのグループ項にグループ化する。そして、このグループ化した２項に共通項が存在する場合は、そのグループ項における２項の論理和を、共通項と非共通項との論理積に変形する。
式（２５）の左側または右側からグループ化と変形を施すと、式（２５）の論理和演算式は次式のようになる。
【０１６１】
【数２２】
2004265204.tif 000024
【０１６２】
式（２７）において、右辺第１項〜第３項はそれぞれグループ項である。
このうち、右辺第１項は、共通項（ｐ５・ｐ４・ｐ３・ｐ２）と非共通項（ｐ１・ｇ０＋ｇ１）との論理積に変形されている。右辺第２項は、共通項（ｐ５・ｐ４）と非共通項（ｐ３・ｇ２＋ｇ３）との論理積に変形されている。
【０１６３】
式（２７）におけるグループ項の数は３であるので、グループ化と変形が更に実行される。
式（２７）の左からグループ化および変形を更に施すと、式（２７）は次式のようになる。
【０１６４】
【数２３】
2004265204.tif 000025
【０１６５】
式（２８）におけるグループ項の数は２であるので、式（２８）に対する更なるグループ化および変形は実行されない。
【０１６６】
こうして得られた式（２８）の構造を調べると、キャリー生成信号Ｇの生成回路は、既に述べた２種類のゲート（第１の論理ゲート、第２の論理ゲート）または３種類のゲート（第１の論理ゲート〜第３の論理ゲート）を用いて構成可能であることが分かる。
また、式（２６）に示すキャリー伝播信号Ｐの生成回路については、上述した第１の論理ゲートを複数用いて構成することができる。
したがって、６ビットＣＬＡ回路についても、２種類のゲート（第１の論理ゲート、第２の論理ゲート）または３種類のゲート（第１の論理ゲート〜第３の論理ゲート）を用いて構成することができる。
【０１６７】
図８は、本発明の第６の実施形態に係る６ビットＣＬＡ回路の構成の一例を示す回路図である。
図８に示す６ビットＣＬＡ回路は、ＮＡＮＤゲート１２０〜１２２および１２４と、ＮＯＲゲート１２３と、ＡＮＤ−ＮＯＲ型複合ゲート２１５〜２１７と、ＯＲ−ＮＡＮＤ型複合ゲート２５６および２５７と、インバータ３１２〜３１７とを有する。
ＮＡＮＤゲート１２０〜１２２および１２４、ならびにＮＯＲゲート１２３は、本発明の第１の論理ゲートの一実施形態である。
ＡＮＤ−ＮＯＲ型複合ゲート２１５〜２１７、ならびにＯＲ−ＮＡＮＤ型複合ゲート２５６および２５７は、本発明の第２の論理ゲートの一実施形態である。インバータ３１２〜３１７は、本発明の第３の論理ゲートの一実施形態である。
【０１６８】
ＮＡＮＤゲート１２０は、キャリー伝播信号ｐ０およびｐ１を入力し、その反転論理積を出力する。
ＮＡＮＤゲート１２１は、キャリー伝播信号ｐ２およびｐ３を入力し、その反転論理積を出力する。この出力信号は、式（２８）における２ビットのキャリー伝播信号の論理積（ｐ３・ｐ２）の演算結果を論理反転した信号に相当する。
【０１６９】
ＮＡＮＤゲート１２２は、キャリー伝播信号ｐ４およびｐ５の反転論理積を出力する。
インバータ３１５は、ＮＡＮＤゲート１２２の出力信号を論理反転して出力する。この出力信号は、式（２８）における共通項（ｐ５・ｐ４）の演算結果に相当する。
【０１７０】
ＮＯＲゲート１２３は、ＮＡＮＤゲート１２０および１２１の出力信号の反転論理和を出力する。
ＮＡＮＤゲート１２４は、ＮＯＲゲート１２３およびインバータ３１５の出力信号の反転論理積を出力する。
インバータ３１６は、ＮＡＮＤゲート１２４の出力信号を論理反転して出力する。この出力信号は、式（２６）に示すキャリー伝播信号Ｐの演算結果に相当する。
【０１７１】
ＡＮＤ−ＮＯＲ型複合ゲート２１５は、キャリー生成信号ｇ０、ｇ１、およびキャリー伝播信号ｐ１を入力し、キャリー伝播信号ｐ１とキャリー生成信号ｇ０との論理積とキャリー生成信号ｇ１との反転論理和を出力する。この出力信号は、式（２８）における非共通項（ｐ１・ｇ０＋ｇ１）の演算結果を論理反転した信号に相当する。
【０１７２】
ＡＮＤ−ＮＯＲ型複合ゲート２１６は、キャリー生成信号ｇ２、ｇ３、およびキャリー伝播信号ｐ３を入力し、キャリー伝播信号ｐ３とキャリー生成信号ｇ２との論理積とキャリー生成信号ｇ３との反転論理和を出力する。この出力信号は、式（２８）における非共通項（ｐ３・ｇ２＋ｇ３）の演算結果を論理反転した信号に相当する。
【０１７３】
インバータ３１２、３１３、３１４は、それぞれ、キャリー生成信号ｇ４、キャリー伝播信号ｐ５、キャリー生成信号ｇ５を入力し、その論理反転を出力する。ＯＲ−ＮＡＮＤ型複合ゲート２５７は、インバータ３１２および３１３の出力信号の論理和と、インバータ３１４の出力信号との反転論理積を出力する。この出力信号は、式（２８）におけるグループ項（ｐ５・ｇ４＋ｇ５）の演算結果に相当する。
【０１７４】
ＯＲ−ＮＡＮＤ型複合ゲート２５６は、ＡＮＤ−ＮＯＲ型複合ゲート２１５およびＮＡＮＤゲート１２１の出力信号の論理和と、ＡＮＤ−ＮＯＲ型複合ゲート２１６の出力信号との反転論理積を出力する。この出力信号は、式（２８）における非共通項、
｛（ｐ３・ｐ２）・（ｐ１・ｇ０＋ｇ１）＋（ｐ３・ｇ２＋ｇ３）｝
の演算結果に相当する。
【０１７５】
ＡＮＤ−ＮＯＲ型複合ゲート２１７は、ＯＲ−ＮＡＮＤ型複合ゲート２５６およびインバータ３１５の出力信号の論理積と、ＯＲ−ＮＡＮＤ型複合ゲート２５７の出力信号との反転論理和を出力する。
インバータ３１７は、ＡＮＤ−ＮＯＲ型複合ゲート２１７の出力信号を論理反転して出力する。この出力信号は、式（２８）に示すキャリー生成信号Ｇの演算結果に相当する。
【０１７６】
なお、図８に示すＣＬＡ回路において用いられるＡＮＤ−ＮＯＲ型複合ゲートおよびＯＲ−ＮＡＮＤ型複合ゲート（２１５〜２１７、２５６、２５７）には、たとえば、図２または図３に示す回路を用いることができる。
【０１７７】
以上説明したように、図８に示す６ビットＣＬＡ回路では、３種類の論理ゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、式（２５）に示すキャリー生成信号Ｇおよび式（２６）に示すキャリー伝播信号Ｐを出力する回路が構成される。
すなわち、第１の論理ゲートとして、ＮＡＮＤゲート１２０〜１２２、１２４およびＮＯＲゲート１２３が用いられ、第２の論理ゲートとして、ＡＮＤ−ＮＯＲ型複合ゲート２１５〜２１７、ＯＲ−ＮＡＮＤ型複合ゲート２５６および２５７が用いられ、第３の論理ゲートとして、インバータ３１２〜３１７が用いられる。
第２の論理ゲートは、たとえば、図２に示すＡＮＤ−ＮＯＲ型複合ゲートや、図３に示すＯＲ−ＮＡＮＤ型複合ゲートによって実現される。
【０１７８】
したがって、図８に示す６ビットＣＬＡ回路においても、図１、図４〜図７に示すＣＬＡ回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が３段以上になる多入力ゲートを使用することなく、ＣＬＡ回路を実現できる。
このため、図１、図４〜図７に示すＣＬＡ回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【０１７９】
＜第７の実施形態＞
次に、本発明の第７の実施形態に係る、６ビットのＣＬＡ回路について述べる。
上述した式（２８）は、式（２７）における３つのグループ項、
（ｐ５・ｐ４・ｐ３・ｐ２）・（ｐ１・ｇ０＋ｇ１）、
（ｐ５・ｐ４）・（ｐ３・ｇ２＋ｇ３）、
（ｐ５・ｇ４＋ｇ５）、
を第１の論理演算項側、すなわち式（２７）の左側からグループ化することによって得られた論理式である。
そこで、これとは逆に第６の論理演算項側、すなわち式（２７）の右側からグループ化と変形を実行すると、次の式が得られる。
【０１８０】
【数２４】
2004265204.tif 000026
【０１８１】
こうして得られた式（２９）の構造を調べると、上述した２種類のゲート（第１の論理ゲートおよび第２の論理ゲート）または３種類のゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、図８に示す回路とは異なる構造を有した、６ビットＣＬＡ回路を構成できることが分かる。
【０１８２】
図９は、本発明の第７の実施形態に係る６ビットＣＬＡ回路の構成の一例を示す回路図である。
図９に示す６ビットＣＬＡ回路は、ＮＡＮＤゲート１２５〜１２７と、ＮＯＲゲート１２８および１２９と、ＡＮＤ−ＮＯＲ型複合ゲート２１８〜２２１と、ＯＲ−ＮＡＮＤ型複合ゲート２５８と、インバータ３１８〜３２０とを有する。ＮＡＮＤゲート１２５〜１２７、ならびにＮＯＲゲート１２８および１２９は、本発明の第１の論理ゲートの一実施形態である。
ＡＮＤ−ＮＯＲ型複合ゲート２１８〜２２１、ならびにＯＲ−ＮＡＮＤ型複合ゲート２５８は、本発明の第２の論理ゲートの一実施形態である。
インバータ３１８〜３２０は、本発明の第３の論理ゲートの一実施形態である。
【０１８３】
ＮＡＮＤゲート１２５は、キャリー伝播信号ｐ０およびｐ１を入力し、その反転論理積を出力する。
ＮＡＮＤゲート１２６は、キャリー伝播信号ｐ２およびｐ３を入力し、その反転論理積を出力する。
ＮＡＮＤゲート１２７は、キャリー伝播信号ｐ４およびｐ５を入力し、その反転論理積を出力する。
ＮＯＲゲート１２８は、ＮＡＮＤゲート１２６および１２７の出力信号の反転論理和を出力する。この出力信号は、式（２９）における４ビットのキャリー伝播信号の論理積（ｐ５・ｐ４・ｐ３・ｐ２）の演算結果に相当する。
【０１８４】
インバータ３１９は、ＮＯＲゲート１２８の出力信号を論理反転して出力する。
ＮＯＲゲート１２９は、ＮＡＮＤゲート１２５およびインバータ３１９の出力信号の反転論理和を出力する。この出力信号は、式（２６）に示すキャリー伝播信号Ｐの演算結果に相当する。
【０１８５】
ＡＮＤ−ＮＯＲ型複合ゲート２１８は、キャリー生成信号ｇ０、ｇ１、およびキャリー伝播信号ｐ１を入力し、キャリー伝播信号ｐ１とキャリー生成信号ｇ０との論理積とキャリー生成信号ｇ１との反転論理和を出力する。
インバータ３１８は、ＡＮＤ−ＮＯＲ型複合ゲート２１８の出力信号を論理反転して出力する。この出力信号は、式（２９）における非共通項（ｐ１・ｇ０＋ｇ１）の演算結果に相当する。
【０１８６】
ＡＮＤ−ＮＯＲ型複合ゲート２１９は、キャリー生成信号ｇ２、ｇ３、およびキャリー伝播信号ｐ３を入力し、キャリー伝播信号ｐ３とキャリー生成信号ｇ２との論理積とキャリー生成信号ｇ３との反転論理和を出力する。この出力信号は、式（２９）における非共通項（ｐ３・ｇ２＋ｇ３）の演算結果を論理反転した信号に相当する。
【０１８７】
ＡＮＤ−ＮＯＲ型複合ゲート２２０は、キャリー生成信号ｇ４、ｇ５、およびキャリー伝播信号ｐ５を入力し、キャリー伝播信号ｐ５とキャリー生成信号ｇ４との論理積とキャリー生成信号ｇ５との反転論理和を出力する。この出力信号は、式（２９）におけるグループ項（ｐ５・ｇ４＋ｇ５）の演算結果を論理反転した信号に相当する。
【０１８８】
ＯＲ−ＮＡＮＤ型複合ゲート２５８は、ＡＮＤ−ＮＯＲ型複合ゲート２１９およびＮＡＮＤゲート１２７の出力信号の論理和と、ＡＮＤ−ＮＯＲ型複合ゲート２２０の出力信号との反転論理積を出力する。この出力信号は、式（２９）におけるグループ項、
｛（ｐ５・ｐ４）・（ｐ３・ｇ２＋ｇ３）＋（ｐ５・ｇ４＋ｇ５）｝
の演算結果に相当する。
【０１８９】
ＡＮＤ−ＮＯＲ型複合ゲート２２１は、ＮＯＲゲート１２８およびインバータ３１８の出力信号の論理積と、ＯＲ−ＮＡＮＤ型複合ゲート２５８の出力信号との反転論理和を出力する。
インバータ３２０は、ＡＮＤ−ＮＯＲ型複合ゲート２２１の出力信号を論理反転して出力する。この出力信号は、式（２９）に示すキャリー生成信号Ｇの演算結果に相当する。
【０１９０】
なお、図９に示すＣＬＡ回路において用いられるＡＮＤ−ＮＯＲ型複合ゲートおよびＯＲ−ＮＡＮＤ型複合ゲート（２１８〜２２１、２５８）には、たとえば、図２または図３に示す回路を用いることができる。
【０１９１】
以上説明したように、図９に示す６ビットＣＬＡ回路では、３種類の論理ゲート（第１の論理ゲート〜第３の論理ゲート）を用いて、式（２５）に示すキャリー生成信号Ｇおよび式（２６）に示すキャリー伝播信号Ｐを出力する回路が構成される。
すなわち、第１の論理ゲートとして、ＮＡＮＤゲート１２５〜１２７、ＮＯＲゲート１２８および１２９が用いられ、第２の論理ゲートとして、ＡＮＤ−ＮＯＲ型複合ゲート２１８〜２２１、ＯＲ−ＮＡＮＤ型複合ゲート２５８が用いられ、第３の論理ゲートとして、インバータ３１８〜３２０が用いられる。
第２の論理ゲートは、たとえば、図２に示すＡＮＤ−ＮＯＲ型複合ゲートや、図３に示すＯＲ−ＮＡＮＤ型複合ゲートによって実現される。
【０１９２】
したがって、図９に示す６ビットＣＬＡ回路においても、図１、図４〜図８に示すＣＬＡ回路と同様に、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が３段以上になる多入力ゲートを使用することなく、ＣＬＡ回路を実現できる。
このため、図１、図４〜図８に示すＣＬＡ回路と同様に、回路の小面積化と低消費電力化を図ることができる。
【０１９３】
＜第８の実施形態＞
次に、本発明の第８の実施形態に係る加算回路について説明する。
図１０は、本発明の第８の実施形態に係る１６ビット加算回路の構成の一例を示すブロック図である。
図１０に示す１６ビット加算回路は、４ビット半加算器４０１〜４０４と、４ビットＣＬＡ回路５０１〜５０４および５０７と、２ビットＣＬＡ回路５０５と、３ビットＣＬＡ回路５０６と、１ビットキャリー出力回路６０１〜６０４と、３ビットキャリー出力回路６０５〜６０８と、加算結果出力回路７０１〜７０４とを有する。
４ビット半加算器４０１〜４０４を含むユニットは、本発明の第１の論理演算回路の一実施形態である。
４ビットＣＬＡ回路５０１〜５０４、５０７、２ビットＣＬＡ回路５０５、３ビットＣＬＡ回路５０６、１ビットキャリー出力回路６０１〜６０４、および３ビットキャリー出力回路６０５〜６０８を含むユニットは、本発明の第２の論理演算回路の一実施形態である。
加算結果出力回路７０１〜７０４を含むユニットは、本発明の第３の論理演算回路の一実施形態である。
４ビットＣＬＡ回路５０１〜５０４、５０７、２ビットＣＬＡ回路５０５、３ビットＣＬＡ回路５０６は、本発明の桁上げ先見回路の一実施形態である。
１ビットキャリー出力回路６０１〜６０４、および３ビットキャリー出力回路６０５〜６０８を含むユニットは、本発明のキャリー信号出力回路の一実施形態である。
【０１９４】
（４ビット半加算器４０１〜４０４）
４ビット半加算器４０１〜４０４は、１６ビットの加算対象信号を４分割して得られる４ビットの信号をそれぞれ入力し、式（４）および（５）で示すキャリー伝播信号およびキャリー生成信号を各桁について演算する。
【０１９５】
すなわち、半加算器４０１は最下位桁（第１桁）〜第４桁の加算対象信号（ａ０，…，ａ３）および（ｂ０，…，ｂ３）を、半加算器４０２は第５桁〜第８桁の加算対象信号（ａ４，…，ａ７）および（ｂ４，…，ｂ７）を、半加算器４０３は第９桁〜第１２桁の加算対象信号（ａ８，…，ａ１１）および（ｂ８，…，ｂ１１）を、半加算器４０４は第１３桁〜第１６桁の加算対象信号（ａ１２，…，ａ１５）および（ｂ１２，…，ｂ１５）を、それぞれ入力する。
そして、入力した加算対象信号の各桁について式（４）の排他的論理和および式（５）の論理積を演算する。半加算器４０１はキャリー伝播信号（ｐ０，…，ｐ３）およびキャリー生成信号（ｇ０，…，ｇ３）を、半加算器４０２はキャリー伝播信号（ｐ４，…，ｐ７）およびキャリー生成信号（ｇ４，…，ｇ７）を、半加算器４０３はキャリー伝播信号（ｐ８，…，ｐ１１）およびキャリー生成信号（ｇ８，…，ｇ１１）を、半加算器４０４はキャリー伝播信号（ｐ１２，…，ｐ１５）およびキャリー生成信号（ｇ１２，…，ｇ１５）を、それぞれ演算して出力する。
４ビット半加算器４０１〜４０４は、たとえば図１９に示すように、１ビットの半加算器を４つ用いて構成することができる。
【０１９６】
（４ビットＣＬＡ回路５０１〜５０４）
４ビットＣＬＡ回路５０１〜５０４は、４ビット半加算器４０１〜４０４から出力される４ビットのキャリー伝播信号および４ビットのキャリー生成信号をそれぞれ入力し、これに応じた１ビットのキャリー伝播信号および１ビットのキャリー生成信号をそれぞれ出力する。
【０１９７】
すなわち、ＣＬＡ回路５０１は半加算器４０１のキャリー伝播信号（ｐ０，…，ｐ３）およびキャリー生成信号（ｇ０，…，ｇ３）を、ＣＬＡ回路５０２は半加算器４０２のキャリー伝播信号（ｐ４，…，ｐ７）およびキャリー生成信号（ｇ４，…，ｇ７）を、ＣＬＡ回路５０３は半加算器４０３のキャリー伝播信号（ｐ８，…，ｐ１１）およびキャリー生成信号（ｇ８，…，ｇ１１）を、ＣＬＡ回路５０４は半加算器４０４のキャリー伝播信号（ｐ１２，…，ｐ１５）およびキャリー生成信号（ｇ１２，…，ｇ１５）を、それぞれ入力する。
そして、この入力に応じて、式（７）に示す１ビットのキャリー伝播信号および式（８）に示す１ビットのキャリー生成信号を演算する。演算結果として、ＣＬＡ回路５０１はキャリー伝播信号Ｐ０およびキャリー生成信号Ｇ０を、ＣＬＡ回路５０２はキャリー伝播信号Ｐ１およびキャリー生成信号Ｇ１を、ＣＬＡ回路５０３はキャリー伝播信号Ｐ２およびキャリー生成信号Ｇ２を、ＣＬＡ回路５０４はキャリー伝播信号Ｐ３およびキャリー生成信号Ｇ３を、それぞれ出力する。
【０１９８】
４ビットＣＬＡ回路５０１〜５０４には、本発明に係る４ビットＣＬＡ回路が適用される。たとえば、第１の実施形態において説明した、図１に示すＣＬＡ回路が適用される。
【０１９９】
（２ビットＣＬＡ回路５０５）
２ビットＣＬＡ回路５０５は、前段の４ビットＣＬＡ回路５０１および５０２から出力される２ビットのキャリー伝播信号（Ｐ０、Ｐ０）と２ビットのキャリー生成信号（Ｇ０、Ｇ１）とを入力し、これに応じた１ビットのキャリー伝播信号Ｐ１Ａおよび１ビットのキャリー生成信号Ｇ１Ａを出力する。
キャリー伝播信号Ｐ１Ａおよびキャリー生成信号Ｇ１Ａは、次式のように表される。
【０２００】
【数２５】
2004265204.tif 000027
【０２０１】
図１１は、２ビットＣＬＡ回路５０５の構成の一例を示す回路図である。
図１１に示す２ビットＣＬＡ回路５０５は、ＮＡＮＤゲート１３０と、ＡＮＤ−ＮＯＲ型複合ゲート２２２と、インバータ３２１および３２２とを有する。
ＮＡＮＤゲート１３０は、キャリー伝播信号Ｐ０およびＰ１の反転論理積を出力する。
インバータ３２１は、ＮＡＮＤゲート１３０の出力信号を論理反転し、キャリー伝播信号Ｐ１Ａとして出力する、
ＡＮＤ−ＮＯＲ型複合ゲート２２２は、キャリー伝播信号Ｐ１およびキャリー生成信号Ｇ０の論理積とキャリー生成信号Ｇ１との反転論理和を出力する。
インバータは、ＡＮＤ−ＮＯＲ型複合ゲート２２２の出力信号を論理反転し、キャリー生成信号Ｇ１Ａとして出力する。
【０２０２】
（３ビットＣＬＡ回路５０６）
３ビットＣＬＡ回路５０６は、前段の４ビットＣＬＡ回路５０１〜５０３から出力される３ビットのキャリー伝播信号（Ｐ０〜Ｐ２）と３ビットのキャリー生成信号（Ｇ０〜Ｇ２）とを入力し、これに応じた１ビットのキャリー伝播信号Ｐ２Ａおよび１ビットのキャリー生成信号Ｇ２Ａを出力する。
キャリー伝播信号Ｐ２Ａおよびキャリー生成信号Ｇ２Ａは、次式のように表される。
【０２０３】
【数２６】
2004265204.tif 000028
【０２０４】
ここで、上式（３２）に対し、式（１６）、（１９）、（２２）および（２７）と同様なグループ化と変形を施す。
式（２３）の左側からグループ化すると、次式が得られる。
【０２０５】
【数２７】
2004265204.tif 000029
【０２０６】
式（２３）の右側からグループ化すると、次式が得られる。
【０２０７】
【数２８】
2004265204.tif 000030
【０２０８】
式（３４）の構造に対応した３ビットＣＬＡ回路５０６は、たとえば図１２（Ａ）に示す回路に構成することができる。
図１２（Ａ）に示す３ビットＣＬＡ回路５０６は、ＮＡＮＤゲート１３１と、ＮＯＲゲート１３２と、ＡＮＤ−ＮＯＲ型複合ゲート２２３と、ＯＲ−ＮＡＮＤ型複合ゲート２５８と、インバータ３２３〜３２５を有する。
【０２０９】
インバータ３２３は、キャリー伝播信号Ｐ０の論理反転を出力する。
ＮＡＮＤゲート１３１は、キャリー伝播信号Ｐ１およびＰ２の反転論理積を出力する。
ＮＯＲゲート１３２は、インバータ３２３およびＮＡＮＤゲート１３１の出力信号の反転論理和を出力する。この出力信号は、式（３３）に示すキャリー伝播信号Ｐ２Ａの演算結果に相当する。
【０２１０】
ＡＮＤ−ＮＯＲ型複合ゲート２２３は、キャリー伝播信号Ｐ１およびキャリー生成信号Ｇ０の論理積とキャリー生成信号Ｇ１との反転論理和を出力する。この出力信号は、式（３４）における非共通項（Ｐ１・Ｇ０＋Ｇ１）の演算結果の論理反転に相当する。
【０２１１】
インバータ３２４は、キャリー伝播信号Ｐ２の論理反転を出力する。
インバータ３２５は、キャリー生成信号Ｇ２の論理反転を出力する。
ＯＲ−ＮＡＮＤ型複合ゲート２５８は、ＡＮＤ−ＮＯＲ型複合ゲート２２３およびインバータ３２４の出力信号の論理和とインバータ３２５の出力信号との反転論理積を出力する。この出力信号は、式（３２）に示すキャリー生成信号Ｇ２Ａの演算結果に相当する。
【０２１２】
また、式（３５）の構造に対応した３ビットＣＬＡ回路５０６は、たとえば図１２（Ｂ）に示す回路に構成することができる。
図１２（Ｂ）に示す３ビットＣＬＡ回路５０６は、ＮＡＮＤゲート１３３と、ＮＯＲゲート１３４と、ＡＮＤ−ＮＯＲ型複合ゲート２２４と、ＯＲ−ＮＡＮＤ型複合ゲート２５９と、インバータ３２６および３２７を有する。
【０２１３】
インバータ３２６は、キャリー伝播信号Ｐ０の論理反転を出力する。
ＮＡＮＤゲート１３３は、キャリー伝播信号Ｐ１およびＰ２の反転論理積を出力する。
ＮＯＲゲート１３４は、インバータ３２６およびＮＡＮＤゲート１３３の出力信号の反転論理和を出力する。この出力信号は、式（３３）に示すキャリー伝播信号Ｐ２Ａの演算結果に相当する。
【０２１４】
ＡＮＤ−ＮＯＲ型複合ゲート２２４は、キャリー伝播信号Ｐ２およびキャリー生成信号Ｇ１の論理積とキャリー生成信号Ｇ２との反転論理和を出力する。この出力信号は、式（３５）におけるグループ項（Ｐ２・Ｇ１＋Ｇ２）の演算結果の論理反転に相当する。
【０２１５】
インバータ３２７は、キャリー生成信号Ｇ０の論理反転を出力する。
ＯＲ−ＮＡＮＤ型複合ゲート２５９は、ＮＡＮＤゲート１３３およびインバータ３２７の出力信号の論理和とＡＮＤ−ＮＯＲ型複合ゲート２２４の出力信号との反転論理積を出力する。この出力信号は、式（３２）に示すキャリー生成信号Ｇ２Ａの演算結果に相当する。
【０２１６】
図１２（Ａ）および（Ｂ）に示すＣＬＡ回路は、何れも上述した第１の論理ゲート〜第３の論理ゲートを用いて構成されている。
すなわち、図１２（Ａ）に示すＣＬＡ回路では、第１の論理ゲートとしてＮＡＮＤゲート１３１およびＮＯＲゲート１３２が用いられ、第２の論理ゲートとしてＡＮＤ−ＮＯＲ型複合ゲート２２３およびＯＲ−ＮＡＮＤ型複合ゲート２５８が用いられ、第３の論理ゲートとしてインバータ３２３〜３２５が用いられる。図１２（Ｂ）に示すＣＬＡ回路では、第１の論理ゲートとしてＮＡＮＤゲート１３３およびＮＯＲゲート１３４が用いられ、第２の論理ゲートとしてＡＮＤ−ＮＯＲ型複合ゲート２２４およびＯＲ−ＮＡＮＤ型複合ゲート２５９が用いられ、第３の論理ゲートとしてインバータ３２６および３２７が用いられる。
第２の論理ゲートは、たとえば、図２に示すＡＮＤ−ＮＯＲ型複合ゲートや、図３に示すＯＲ−ＮＡＮＤ型複合ゲートにより実現される。
したがって、３ビットＣＬＡ回路５０６は、たとえば３入力のＮＡＮＤゲートなど、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数が３段以上になる論理ゲートを使用することなく、回路を構成することができる。
【０２１７】
（４ビットＣＬＡ回路５０７）
４ビットＣＬＡ回路５０７は、前段の４ビットＣＬＡ回路５０１〜５０４から出力される４ビットのキャリー伝播信号（Ｐ０〜Ｐ３）および４ビットのキャリー生成信号（Ｇ０〜Ｇ３）を入力し、これに応じた１ビットのキャリー伝播信号Ｐ３Ａおよび１ビットのキャリー生成信号Ｇ３Ａを出力する。
キャリー伝播信号Ｐ３Ａおよびキャリー生成信号Ｇ３Ａは、次式のように表される。
【０２１８】
【数２９】
2004265204.tif 000031
【０２１９】
４ビットＣＬＡ回路５０７には、本発明に係る４ビットＣＬＡ回路が適用される。たとえば、第１の実施形態において説明した、図１に示すＣＬＡ回路が適用される。
【０２２０】
（１ビットキャリー出力回路６０１〜６０４）
１ビットキャリー出力回路６０１〜６０４は、加算対象信号の最下位桁を第１桁として、それぞれ第４桁のキャリー信号ｃ３、第８桁のキャリー信号ｃ７、第１２桁のキャリー信号ｃ１１、第１６桁のキャリー信号ｃ１５を出力する回路である。
【０２２１】
１ビットキャリー出力回路６０１は、加算対象信号の最下位桁に対して与えられる外部キャリー信号ｃｉｎ、ならびにＣＬＡ回路５０１から出力されるキャリー伝播信号Ｐ０およびキャリー生成信号Ｇ０を入力し、次式で表される第４桁のキャリー信号ｃ３を出力する。
【０２２２】
【数３０】
2004265204.tif 000032
【０２２３】
１ビットキャリー出力回路６０２は、外部キャリー信号ｃｉｎ、ならびにＣＬＡ回路５０５から出力されるキャリー伝播信号Ｐ１Ａおよびキャリー生成信号Ｇ１Ａを入力し、次式で表される第８桁のキャリー信号ｃ７を出力する。
【０２２４】
【数３１】
2004265204.tif 000033
【０２２５】
１ビットキャリー出力回路６０３は、外部キャリー信号ｃｉｎ、ならびにＣＬＡ回路５０６から出力されるキャリー伝播信号Ｐ２Ａおよびキャリー生成信号Ｇ２Ａを入力し、次式で表される第１２桁のキャリー信号ｃ１１を出力する。
【０２２６】
【数３２】
2004265204.tif 000034
【０２２７】
１ビットキャリー出力回路６０４は、外部キャリー信号ｃｉｎ、ならびにＣＬＡ回路５０７から出力されるキャリー伝播信号Ｐ３Ａおよびキャリー生成信号Ｇ３Ａを入力し、次式で表される第１６桁のキャリー信号ｃ１５を出力する。
【０２２８】
【数３３】
2004265204.tif 000035
【０２２９】
図１３は、１ビットキャリー出力回路６０１の構成の一例を示す回路図である。
図１３に示す１ビットキャリー出力回路６０１は、ＡＮＤ−ＮＯＲ型複合ゲート２２５と、インバータ３２８とを有する。
ＡＮＤ−ＮＯＲ型複合ゲート２２５は、外部キャリー信号ｃｉｎおよびキャリー伝播信号Ｐ０の論理積とキャリー生成信号Ｇ０との反転論理和を出力する
インバータ３２８は、ＡＮＤ−ＮＯＲ型複合ゲート２２５の出力信号を論理反転し、キャリー信号ｃ３として出力する。
他の１ビットキャリー出力回路（６０２〜６０４）についても、図１３と同様の回路構成により実現可能である。
【０２３０】
（３ビットキャリー出力回路６０５〜６０８）
３ビットキャリー出力回路６０５〜６０８は、それぞれ、第１桁〜第３桁のキャリー信号（ｃ０〜ｃ２）、第５桁〜第７桁のキャリー信号（ｃ４〜ｃ６）、第９桁〜第１１桁のキャリー信号（ｃ８〜ｃ１０）、第１３桁〜第１５桁のキャリー信号（ｃ１２〜ｃ１４）を出力する回路である。
【０２３１】
すなわち、３ビットキャリー出力回路６０５は、４ビット半加算器４０１から出力されるキャリー伝播信号およびキャリー生成信号のうち第１桁〜第３桁の信号（ｐ０〜ｐ２、ｇ０〜ｇ２）を入力するとともに、外部キャリー信号ｃｉｎを入力し、式（３Ａ）で算出されるキャリー信号（ｃ０〜ｃ２）をそれぞれ出力する。
同様に、３ビットキャリー出力回路６０６は、４ビット半加算器４０２から出力されるキャリー伝播信号およびキャリー生成信号のうち第５桁〜第７桁の信号（ｐ４〜ｐ６、ｇ４〜ｇ６）を入力するとともに、１ビットキャリー出力回路６０１から出力される第４桁のキャリー信号ｃ３を入力し、式（３Ａ）で算出されるキャリー信号（ｃ４〜ｃ６）をそれぞれ出力する。
３ビットキャリー出力回路６０７は、４ビット半加算器４０３から出力されるキャリー伝播信号およびキャリー生成信号のうち第９桁〜第１１桁の信号（ｐ８〜ｐ１０、ｇ８〜ｇ１０）を入力するとともに、１ビットキャリー出力回路６０２から出力される第８桁のキャリー信号ｃ７を入力し、式（３Ａ）で算出されるキャリー信号（ｃ８〜ｃ１０）をそれぞれ出力する。
３ビットキャリー出力回路６０８は、４ビット半加算器４０４から出力されるキャリー伝播信号およびキャリー生成信号のうち第１３桁〜第１５桁の信号（ｐ１２〜ｐ１５、ｇ１２〜ｇ１５）を入力するとともに、１ビットキャリー出力回路６０３から出力される第１２桁のキャリー信号ｃ１１を入力し、式（３Ａ）で算出されるキャリー信号（ｃ１２〜ｃ１５）をそれぞれ出力する。
【０２３２】
図１４は、３ビットキャリー出力回路６０５の構成の一例を示す回路図である。
図１４に示す３ビットキャリー出力回路６０５は、ＡＮＤ−ＮＯＲ型複合ゲート２２６〜２２８と、インバータ３２９〜３３１とを有する。
【０２３３】
ＡＮＤ−ＮＯＲ型複合ゲート２２６は、外部キャリー信号ｃｉｎおよびキャリー伝播信号ｐ０の論理積とキャリー生成信号ｇ０との反転論理和を出力する。
インバータ３２９は、ＡＮＤ−ＮＯＲ型複合ゲート２２６の出力信号を論理反転し、キャリー信号ｃ０として出力する。
ＡＮＤ−ＮＯＲ型複合ゲート２２７は、インバータ３２９から出力されるキャリー信号ｃ０およびキャリー伝播信号ｐ１の論理積とキャリー生成信号ｇ１との反転論理和を出力する。
インバータ３３０は、ＡＮＤ−ＮＯＲ型複合ゲート２２７の出力信号を論理反転し、キャリー信号ｃ１として出力する。
ＡＮＤ−ＮＯＲ型複合ゲート２２８は、インバータ３３０から出力されるキャリー信号ｃ１およびキャリー伝播信号ｐ２の論理積とキャリー生成信号ｇ２との反転論理和を出力する。
インバータ３３１は、ＡＮＤ−ＮＯＲ型複合ゲート２２８の出力信号を論理反転し、キャリー信号ｃ２として出力する。
【０２３４】
図１４に示す３ビットキャリー出力回路６０５は、下位桁から順番にキャリー信号を生成する回路であり、この方式は図１４に示すリプルキャリー型加算回路と同じである。他の３ビットキャリー出力回路（６０６〜６０８）においても、図１４に示す回路と同様な方式でキャリー信号を生成することができる。
【０２３５】
なお、３ビットキャリー出力回路（６０５〜６０８）から出力される下位から２番目のキャリー信号（ｃ１、ｃ５、ｃ９、ｃ１３）の算出式は、式（３２）と等価の構造になるので、これらの信号を生成する回路については、図１２（Ａ）または図１２（Ｂ）においてキャリー生成信号Ｇ２Ａを生成する回路と同様な構成にすることができる。
また、３ビットキャリー出力回路（６０５〜６０８）から出力される下位から３番目のキャリー信号（ｃ２、ｃ６、ｃ１０、ｃ１４）の算出式は、式（１４）と等価の構造になるので、これらの信号を生成する回路については、図１においてキャリー生成信号Ｇを生成する回路と同様な構成にすることができる。
【０２３６】
（加算結果出力回路７０１〜７０４）
加算結果出力回路７０１〜７０４は、加算対象信号の各桁に対する下位桁からのキャリー信号ｃｉｎ，ｃ０，ｃ１，…，ｃ１４と、各桁のキャリー伝播信号ｐ０，…，ｐ１５との排他的論理和を演算し、この演算結果を、各桁の加算結果ｓ０，…，ｓ１５として出力する。
図１５は、加算結果出力回路７０１の構成の一例を示す回路図である。図１５に示すように、それぞれ４ビットの加算結果を出力する加算結果出力回路は、４つのＥＸＯＲゲートを用いて構成することができる。
【０２３７】
上述した構成を有する１６ビット加算回路においては、第４桁、第８桁、第１２桁および第１６桁のキャリー信号（ｃ３、ｃ７、ｃ１１、ｃ１５）を生成する回路において、ＣＬＡ回路（５０１〜５０７）が用いられる。
これらのＣＬＡ回路は、何れも２種類の論理ゲート（第１の論理ゲート、第２の論理ゲート）または３種類の論理ゲート（第１の論理ゲート〜第３の論理ゲート）で構成される。
【０２３８】
既に述べたように、第１の論理ゲート〜第３の論理ゲートにおいては、出力端子と電源ラインまたは接地ラインとの間に挿入されるトランジスタの直列段数を２段またはそれより少ない段数にすることができるため、同等な動作速度を有する多入力のＮＡＮＤゲートやＮＯＲゲートと比較して、トランジスタサイズを小さくすることができる。このため、図１０に示す加算回路によれば、トランジスタの直列段数が３段以上になる多入力ゲートを用いてＣＬＡ回路が構成される従来の加算回路に比べて、動作速度が同程度でありながら、回路面積を縮小し、消費電力を削減することができる。また、回路面積が同程度となるようにトランジスタサイズを増やした場合には、こうした従来の加算回路に比べて動作速度を高速化することができる。
【０２３９】
なお、上述した実施形態においては、一例として３〜６ビットのＣＬＡ回路およびこれを用いた加算回路を説明したが、本発明はこれに限定されない。２種類の論理ゲート（第１の論理ゲート、第２の論理ゲート）または３種類の論理ゲート（第１の論理ゲート〜第３の論理ゲート）を用いて構成される、任意ビットのＣＬＡ回路を実現することができる。
【０２４０】
たとえば、ＣＬＡ回路に入力されるＮビットのキャリー伝播信号（ｐ（Ｎ−１）〜ｐ０）およびＮビットのキャリー生成信号（ｇ（Ｎ−１）〜ｇ０）の最下位桁をそれぞれ第１桁とする。また、この入力キャリー伝播信号の第Ｎ桁から第ｋ桁（ｋは２からＮまでの自然数を示す）までの各桁と、入力キャリー生成信号の第（ｋ−１）桁との論理積を、第（ｋ−１）の論理演算項とし、入力キャリー生成信号の第Ｎ桁を第Ｎの論理演算項とする。この場合、ＣＬＡ回路から出力されるキャリー生成信号Ｇは、式（１２）に示すように、第１の論理演算項〜第Ｎの論理演算項を論理和演算した結果として得られる。また、ＣＬＡ回路から出力されるキャリー伝播信号Ｐは、式（１３）に示すように、入力キャリー伝播信号の第１桁から第Ｎ桁までの各桁の論理積を演算した結果として得られる。
【０２４１】
この第１の論理演算項から第Ｎの論理演算項までの各項が番号順に並んだＮ項の論理和演算式（キャリー生成信号Ｇの演算式）に対して、次に述べる式変形を施すと、本発明に係るＣＬＡ回路と対応した構造を有する論理式が得られる。
まず、第１の論理演算項側または第Ｎの論理演算項側から順番に、隣接する２項の論理和を１つのグループ項にグループ化し、グループ化した２項に共通項が存在する場合は、このグループ項における２項の論理和を共通項と非共通項との論理積に変形する。
グループ化後の論理和演算式におけるグループ項の数が２より大きい場合は、グループ化後の論理和演算式において第１の論理演算項〜第Ｎの論理演算項の番号順に応じた順序で並ぶグループ項に対し、上述したグループ化および変形を更に反復する。
上述した式変形により、２つのグループ項からなる論理和演算式（第１の論理式）が得られる。
【０２４２】
第１の論理ゲートは、２ビットの信号を入力し、入力した２ビットの信号の論理積、反転論理積、論理和または反転論理和を出力する。
上述した実施形態では、２入力ＮＡＮＤゲートや２入力ＮＯＲゲートを第１の論理ゲートの例として示したが、２入力ＡＮＤゲートや２入力ＯＲゲートをこれに用いても良い。何れのゲートを用いても、必要に応じて第３の論理ゲートと第１の論理ゲートとを組み合わせることにより、キャリー伝播信号Ｐの演算や、第１の論理式における共通項の演算において必要となる、複数ビットの入力キャリー伝播信号の論理積を演算することは可能である。
【０２４３】
第１の論理ゲートの入力信号は、複数ビットの入力キャリー伝播信号の論理積、反転論理積、論理和もしくは反転論理和に相当する信号（たとえば、他の第１の論理ゲートの出力信号）や、入力キャリー伝播信号、入力キャリー生成信号である。あるいは、第３の論理ゲートの出力信号でも良い。
【０２４４】
第２の論理ゲートは、３ビットの信号を入力し、この入力信号のうちの２ビットの信号の論理積と他の１ビットの信号との論理和もしくは反転論理和に相当する信号、または、この入力信号のうちの２ビットの信号の論理和と他の１ビットの信号との論理積もしくは反転論理積に相当する信号を出力する。
上述した実施形態では、ＡＮＤ−ＮＯＲ型複合ゲートやＯＲ−ＮＡＮＤ型複合ゲートを第２の論理ゲートの例として示したが、ＡＮＤ−ＯＲ型複合ゲートやＯＲ−ＡＮＤ型複合ゲートをこれに用いても良い。何れもゲートを用いても、必要に応じて第３の論理ゲートと第２の論理ゲートとを組み合わせることにより、キャリー生成信号Ｇの演算や、第１の論理式におけるグループ項、非共通項の演算において必要となる、２信号の論理積と１信号との論理和を演算することは可能である。
【０２４５】
第２の論理ゲートの入力信号は、第１の論理式におけるグループ項、共通項、非共通項の演算結果に相当する信号や、入力キャリー生成信号、入力キャリー伝播信号、第１の論理ゲートの出力信号である。あるいは、第３の論理ゲートの出力信号でも良い。
第２の論理ゲートの出力信号は、第１の論理式におけるグループ項や非共通項の演算結果、あるいは出力キャリー生成信号の演算結果として出力される。
【０２４６】
第３の論理ゲートは、１ビットの信号を入力し、この入力信号を論理反転して出力するゲート、すなわちインバータである。
第３の論理ゲートの入力信号は、入力キャリー生成信号や、入力キャリー伝播信号、第１の論理ゲートの出力信号、第２の論理ゲートの出力信号である。
第３の論理ゲートの出力信号は、第１の論理ゲートや第２の論理ゲートに出力される。あるいは、出力キャリー伝播信号や出力キャリー生成信号の演算結果として出力される。
【０２４７】
【発明の効果】
本発明の桁上げ先見回路および加算回路によれば、回路面積を縮小し、消費電力を削減することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る４ビットＣＬＡ回路の構成の一例を示す回路図である。
【図２】ＡＮＤ−ＮＯＲ型複合ゲートの２つの構成例を示す回路図である。
【図３】ＯＲ−ＮＡＮＤ型複合ゲートの２つの構成例を示す回路図である。
【図４】本発明の第２の実施形態に係る５ビットＣＬＡ回路の構成の一例を示す回路図である。
【図５】本発明の第３の実施形態に係る５ビットＣＬＡ回路の構成の一例を示す回路図である。
【図６】本発明の第４の実施形態に係る５ビットＣＬＡ回路の構成の一例を示す回路図である。
【図７】本発明の第５の実施形態に係る５ビットＣＬＡ回路の構成の一例を示す回路図である。
【図８】本発明の第６の実施形態に係る６ビットＣＬＡ回路の構成の一例を示す回路図である。
【図９】本発明の第７の実施形態に係る６ビットＣＬＡ回路の構成の一例を示す回路図である。
【図１０】本発明の第８の実施形態に係る１６ビット加算回路の構成の一例を示すブロック図である。
【図１１】図１０に示す加算回路における、２ビットＣＬＡ回路の構成の一例を示す回路図である。
【図１２】図１０に示す加算回路における、３ビットＣＬＡ回路の２つの構成例を示す回路図である。
【図１３】図１０に示す加算回路における、１ビットキャリー出力回路の構成の一例を示す回路図である。
【図１４】図１０に示す加算回路における、３ビットキャリー出力回路の構成の一例を示す回路図である。
【図１５】図１０に示す加算回路における、加算結果出力回路の構成の一例を示す回路図である。
【図１６】４ビット入力のリップルキャリー型加算回路の構成例を示す回路図である。
【図１７】多入力のゲートを用いて構成された、キャリー信号生成回路の一例を示す回路図である。
【図１８】複数のＣＬＡ回路を階層的に接続して構成されるキャリー信号の生成回路の一例を示す回路図である。
【図１９】図１８に示すキャリー信号生成回路における、４ビット半加算器の構成例を示す回路図である。
【図２０】図１８に示すキャリー信号生成回路における、ＣＬＡ回路の構成例を示す回路図である。
【図２１】複合型ゲートを用いて構成されたＣＬＡ回路の一例を示す回路図である。
【符号の説明】
１０１〜１３４…ＮＡＮＤゲートまたはＮＯＲゲート、１３５〜１３８…ＥＸＯＲゲート、２０１〜２２８…ＡＮＤ−ＮＯＲ型複合ゲート、２５１〜２５９…ＯＲ−ＮＡＮＤ型複合ゲート、３０１〜３３１…インバータ、４０１〜４０４…４ビット半加算器、５０１〜５０４，５０７…４ビットＣＬＡ回路、５０５…２ビットＣＬＡ回路、５０６…３ビットＣＬＡ回路、６０１〜６０４…１ビットキャリー出力回路、６０５〜６０８…３ビットキャリー出力回路、７０１〜７０４…加算結果出力回路、Ｑｎ１０〜Ｑｎ１５…ｎ型ＭＯＳトランジスタ、Ｑｐ１０〜Ｑｐ１５…ｐ型ＭＯＳトランジスタ
【図１】
2004265204.tif 000036
【図２】
2004265204.tif 000037
【図３】
2004265204.tif 000038
【図４】
2004265204.tif 000039
【図５】
2004265204.tif 000040
【図６】
2004265204.tif 000041
【図７】
2004265204.tif 000042
【図８】
2004265204.tif 000043
【図９】
2004265204.tif 000044
【図１０】
2004265204.tif 000045
【図１１】
2004265204.tif 000046
【図１２】
2004265204.tif 000047
【図１３】
2004265204.tif 000048
【図１４】
2004265204.tif 000049
【図１５】
2004265204.tif 000050
【図１６】
2004265204.tif 000051
【図１７】
2004265204.tif 000052
【図１８】
2004265204.tif 000053
【図１９】
2004265204.tif 000054
【図２０】
2004265204.tif 000055
【図２１】
2004265204.tif 000056