(57)【要約】【課題】桁上げルックアヘッド加算器の速度を向上させることと、桁上げルックアヘッド加算器のクリティカル経路内のＰチャネルの積み重ね深さを減少させること。【解決手段】ヌル桁上げルックアヘッド加算器は、加算器内のブロックおよびブロックのグループ内で／を通じてヌル桁上げ信号を生成および伝播するように構成されている。ヌル桁上げ信号は、そのヌル桁上げ信号が生成されるポイントを超えての桁上げ入力信号の効果を終了させる。加算器内のブロックとブロックのグループを通じてヌル桁上げ信号を生成および伝播するための規則を定めることによって、４ビットの加算器ブロックの場合のＰチャネルの最大積み重ね深さ２を達成でき、これによって、加算器内での桁上げ信号の生成と伝播に基づく従来の桁上げルックアヘッド加算器と比較して、ヌル桁上げルックアヘッド加算器の速度を実質的に向上させることができる。【選択図】図１０
2004533064.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理ブロックを有する、２つのｎビットの数を加算するための加算器であって、
−前記複数の処理ブロックの各処理ブロックが、前記２つのｎビットの数それぞれからのビットのサブセットに基づいて、生成信号と伝播信号を決定するように構成されていて、
−各生成信号が、前記各処理ブロックのヌル桁上げ出力信号がアサートされるという決定に対応し、
−各伝播信号が、前記各処理ブロックへのヌル桁上げ入力信号が前記各処理ブロックの前記ヌル桁上げ出力信号に伝播されるという決定に対応する、
加算器。
【請求項２】
少なくとも１つの処理ブロックの前記生成および伝播信号が、それ以外の処理ブロックの前記生成信号と前記伝播信号に基づく、請求項１の加算器。
【請求項３】
請求項１の加算器であって、
−前記複数の処理ブロックの処理ブロックの各対が、複数の処理グループの処理グループを形成し、
−各処理グループが、関連付けられた生成信号を有し、
かつ、前記処理グループの前記生成信号が、
−前記一対の処理ブロックの上位処理ブロックの前記生成信号と、
−前記一対の処理ブロックの下位処理ブロックの前記生成信号と、かつ、前記上位処理ブロックの前記伝播信号
のＯＲ関数に対応する、
加算器。
【請求項４】
各処理グループが、関連付けられた伝播信号を有し、かつ、前記処理グループの前記処理信号が、
−前記上位処理ブロックの前記伝播信号と、
−前記下位処理ブロックの前記生成信号
のＡＮＤ関数に対応する、請求項３の加算器。
【請求項５】
各処理ブロックが、複数のＣＭＯＳデバイスを含み、
各ＣＭＯＳデバイスが、３未満のｐチャネルのスタック深さを有する、
請求項１の加算器。
【請求項６】
各処理ブロックが、少なくとも１つの三入力ロジック関数を含み、かつ、
前記少なくとも１つの三入力ロジック関数が、３未満のｐチャネルのスタック深さを有するＣＭＯＳデバイスに具体化される、
請求項１の加算器。
【請求項７】
前記複数の処理ブロックが、対をベースとする階層に構成され、
前記対をベースとする階層の各レベルが、複数の処理グループを有し、
前記対をベースとする階層の第一レベルが、第一の複数の処理グループを有し、前記第一の複数の処理グループの各処理グループが、前記複数の処理ブロックの一対の処理ブロックに対応し、
前記対をベースとする階層の第二、第三、…の各レベルが、第二、第三、…の複数の処理グループを有し、前記第二、第三、…の複数の処理グループの各処理グループが、前記対をベースとする階層の下位レベルにおける一対の処理ブロックに対応する、
請求項１の加算器。
【請求項８】
前記対をベースとする階層の第三レベルが、桁上げ出力信号を供給するための少なくとも１つの三入力ロジック関数を含み、かつ、
前記少なくとも１つの三入力ロジック関数が、３未満のｐチャネルのスタック深さを有するＣＭＯＳデバイスに具体化される、
請求項７の加算器。
【請求項９】
複数の条件付き合計生成器をさらに有する請求項１の加算器であって、
条件付き合計生成器それぞれが、前記ビットのサブセットの各ビットに対応する一対の合計出力を決定するように構成されていて、
前記一対の合計出力の第一合計出力が、第一状態にある桁上げ入力信号に対応する第一合計信号であり、
前記一対の合計出力の第二合計出力が、第二状態にある桁上げ入力信号に対応する第二合計信号である、
加算器。
【請求項１０】
条件付き合計生成器それぞれが、
−前記ビットのサブセットの少なくとも１つのビットに対応する条件付き桁上げ生成器であって、前記少なくとも１つのビットに対応する一対の桁上げ出力を決定する、条件付き桁上げ生成器、
を有し、
−前記一対の桁上げ出力の第一桁上げ出力が、第一状態にある前記桁上げ入力信号に対応する第一桁上げ信号であり、
−前記一対の桁上げ出力の第二桁上げ出力が、第二状態にある前記桁上げ入力信号に対応する第二桁上げ信号であり、かつ、
−前記少なくとも１つのビットに対応する前記第一および第二合計出力が、前記第一および第二桁上げ出力に基づいて決定される、
請求項９の加算器。
【請求項１１】
条件付き合計生成器それぞれが、選択生成および伝播信号のみに基づいて前記第一および第二桁上げ出力を決定するように、さらに構成されている、請求項１０の加算器。
【請求項１２】
複数の桁上げ出力信号を決定するための方法であって、各桁上げ出力が、ｎビット加算のビットのサブセットに対応し、当該方法が、
−桁上げ入力信号に関係なく、前記ビットのサブセット内のヌル桁上げ信号の供給に対応する生成信号を決定するステップと、
−ヌル桁上げ出力へのヌル桁上げ入力信号の伝播に対応する伝播信号を決定するステップと、
−前記生成信号と、前記伝播信号と、前記桁上げ入力信号とに基づいて、前記桁上げ出力を決定するステップと、
を有する、方法。
【請求項１３】
ビットのサブセットそれぞれが、ビットの第一セットとビットの第二セットとを有し、前記ビットのサブセットに対する前記生成信号を決定するステップが、
−前記ビットの第一セットに対する第一生成信号を決定するステップと、
−前記ビットの第一セットに対する第一伝播信号を決定するステップと、
−前記ビットの第二セットの第二生成信号を決定するステップと、
を含み、かつ、
−前記生成信号が、前記第一生成信号と、前記第一伝播信号と、前記第二生成信号との組合せである、
請求項１２の方法。
【請求項１４】
２つのｎビットの数を加算するための加算器であって、当該加算器が、
−複数の４ビット処理ブロックであって、それぞれが、前記２つのｎビットの数それぞれの４つのビットを入力として受信し、かつ、前記入力された４つのビットに対応するヌル桁上げ生成信号とヌル桁上げ伝播信号を出力として供給するように構成されている、複数の４ビット処理ブロックと、
−第一の複数のグループ処理ブロックであって、それぞれが、前記複数の４ビット処理ブロックの２つの処理ブロックそれぞれからの前記ヌル桁上げ生成信号と前記ヌル桁上げ伝播信号とを入力として受信し、かつ、この入力から、前記２つの４ビット処理ブロックに対応する第一グループ生成信号と第一グループ伝播信号とを供給するように構成されている、第一の複数のグループ処理ブロックと、
−第二の複数のグループ処理ブロックであって、それぞれが、前記第一の複数のグループ処理ブロックの２つのグループ処理ブロックそれぞれからの前記第一グループ生成信号と前記第一グループ伝播信号とを入力として受信し、かつ、この入力から、前記２つのグループ処理ブロックに対応する第二グループ生成信号と第二グループ伝播信号とを供給するように構成されている、第二の複数のグループ処理ブロックと、
を有する、加算器。
【請求項１５】
前記複数の４ビット処理ブロックの４ビット処理ブロックそれぞれが、
−第一ＣＭＯＳマトリクスゲートであって、前記２つのｎビットの数それぞれの前記入力された４つのビットの第一ビット対を入力として受信し、かつ、この入力から、前記第一ビット対に対応する第一生成信号と第一伝播信号とを出力として供給するように構成されている、第一ＣＭＯＳマトリクスゲートと、
−第二ＣＭＯＳマトリクスゲートであって、前記２つのｎビットの数それぞれの前記入力された４つのビットの第二ビット対を入力として受信し、かつ、この入力から、前記第二ビット対に対応する第二生成信号と第二伝播信号とを出力として供給するように構成されている、第二ＣＭＯＳマトリクスゲートと、
−第一ＮＡＮＤゲートであって、前記２つのｎビットの数それぞれの前記第一ビット対の第一ビットに基づいて第三伝播信号を供給する、第一ＮＡＮＤゲートと、
−第二ＮＡＮＤゲートであって、前記２つのｎビットの数それぞれの前記第二ビット対の第一ビットに基づいて第四伝播信号を供給する、第二ＮＡＮＤゲートと、
−第三ＣＭＯＳマトリクスゲートであって、前記第一生成信号と、前記第二生成信号と、前記第二伝播信号と、前記第三伝播信号と、前記第四伝播信号とを入力として受信し、かつ、これらの入力から、前記ヌル桁上げ生成信号を供給するように構成されている、第三ＣＭＯＳマトリクスゲートと、
を有し、
前記第一、第二、および第三ＣＭＯＳマトリクスゲートそれぞれが、３未満のｐチャネルのスタック深さを有する、
請求項１４の加算器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子回路設計の分野、特に、ＣＭＯＳ加算器回路の設計に関する。
【背景技術】
【０００２】
従来のリップル加算器においては、加算器の各段が桁上げを次の段に伝播し、これにより、桁上げは、連続的に（従って低速で）、第一段から最終段まで伝播される。第一入力段からの桁上げは、合計出力の最上位ビットの最終状態に影響しうるため、合計出力は、加算器の第一段からの桁上げが連続的に伝播するための十分な時間が経過するまでは、有効であるとみなされない。
【０００３】
桁上げルックアヘッド生成方式は、第一段における桁上げが合計出力の最上位ビットに連続的に伝播されるまで待つ必要性を回避し、加算器回路の設計の業界において一般的に使用されている。加算器は、機能ブロックに分割され、各ブロックは、入力ビット値のセットと桁上げ入力ビット値の対を受け取る。各ブロックへの入力ビット値は、ブロック内で入力ビット値から桁上げ出力が生成されるか否か、および／または、桁上げ入力値を桁上げ出力値に伝播するようにブロックを作動させる（ｓｅｎｓｉｔｉｚｅｄ）か否かを決定する。ここで、例えば、入力ａ、ｂと桁上げ入力とを有する、１ビット加算器ブロックを考える。ａとｂの両方がロジック１である場合は、（桁上げ入力の値に関係なく）桁上げ出力が生成される。同様に、ａまたはｂのいずれかがロジック１である場合は、桁上げ入力ｃの値が、桁上げ出力に伝播される（桁上げ入力がロジック１である場合は桁上げ出力はロジック１である）。これに対して、ａとｂの両方がロジック０である場合は、桁上げ出力は生成されず、かつ桁上げ入力は伝播されない（桁上げ出力は桁上げ入力の値に関係なくロジック０である）。
【０００４】
図１は、従来の桁上げルックアヘッド加算器の桁上げ生成／伝播ロジックの部分のブロック線図の例を示す。図１の例においては、加算器は、４ビットの機能ブロックに分割されている。４ビットの桁上げ生成／伝播ブロック１１０ａは、２つの入力引数の下位の４ビットの対Ａ［３：０］、Ｂ［３：０］を受信し、これらの入力に基づいて、桁上げ出力（Ｃ３）が下位（３：０）入力ビットによって生成される（ｇＣ３−０）か否かを決定する。このブロックは、桁上げ入力（Ｃｉｎ）が桁上げ出力（Ｃ３）に伝播される（ｐＣ３−０）か否かも決定する、類似する４ビットの生成／伝播ブロック１１０ｂ〜１１０ｄは、対応する入力のセット（｛Ａ［７：４］，Ｂ［７：４］｝、｛Ａ［１１：８］，Ｂ［１１：８］｝など）によって桁上げ出力が生成される（ｇＣ７−４、ｇＣ１１−８など）か否かと、対応する桁上げ入力それぞれが伝播される（ｐＣ７−４、ｐＣ１１−８など）か否かを決定するように構成されている。
【０００５】
グループ桁上げ生成／伝播ブロック１２０ａ−１２０ｂにおいては、各ブロックからの桁上げ生成信号と桁上げ伝播信号が結合されて、グループ（｛［７：４］−［３：０］｝、｛［１５：１２］−［１１：８］｝）の各グループからの桁上げ出力信号ｇＣ７−０、ｇＣ１５−８が生成されるか否かと、各グループへの桁上げ入力信号（Ｃｉｎ、Ｃ７）ｐＣ７−０、ｐＣ１５−８がグループを通じて伝播されるか否かが決定される。同様に、グループ生成／伝搬ブロック１３０において、グループ生成信号と伝搬信号が使用されて、より高位のグループ生成ｇＣ１５−０信号と伝播ｐＣ１５−０信号が生成される。図２は、グループを形成する一対の段（上位段と下位段）からの桁上げ生成信号と桁上げ伝播信号からグループ生成信号とグループ伝播信号が生成される様子を示す。桁上げが上位段の中で生成される場合、または、桁上げが下位段の中で生成され、かつ上位段が、下位段の中で生成される桁上げを伝播するように作動する場合には、グループ内で桁上げ出力信号が生成される。下位段と上位段の両方が、各段に入力される桁上げを伝播するように作動する場合は、グループによって受信される桁上げ入力信号を伝播するようにグループが作動する。
【０００６】
これらのグループ生成信号が供給されることにより、より高位の桁上げ信号を、加算器への桁上げ入力信号の値（存在時）と、桁上げ生成信号および桁上げ伝搬信号の値のみに基づいて、容易に生成できる点は、留意すべきである。例えば、ｇＣ１５−０（ビット０−１５のグループ内の桁上げ生成）がロジック１である場合は、グループ［１５：０］の裄上げ出力Ｃ１５はロジック１であり、または、ｐＣ１５−０（ビット０−１５段を通じての桁上げ入力伝搬）がロジック１であり、かつ桁上げ入力Ｃｉｎがロジック１である場合は、桁上げ出力Ｃ１５は、ロジック１であり、それ以外の場合は、桁上げ生成ｇＣ１５−０信号がロジック１でない限り、Ｃ１５はロジック０である。この最適化は、より高位のビットのセット（［３１：０］、［６３：０］など）に拡張できる。同様に、中間桁上げ出力値（Ｃ１１、Ｃ１９など）は、図３に示されているように容易に生成できる。
【０００７】
一対の合計出力値は、図４に示されているように、加算器内の各ブロックへの入力に基づいて決定される。条件付き合計決定器（ｄｅｔｅｒｍｉｎａｔｏｒ）２１０は、ブロックへの桁上げ入力がロジック０の場合に、第一合計Ｓ｜Ｃ＝０をブロックへの入力Ａ、Ｂの合計として決定し、ブロックへの桁上げ入力がロジック１の場合に、第二合計Ｓ｜Ｃ＝１をブロックへの入力の合計として決定する。すなわち、各合計は、各ブロックへの実際の桁上げ入力に関係なく決定される。各ブロックへの桁上げ入力が図３の回路例を介して決定されるときには、対応する合計Ｓ｜Ｃ＝０またはＳ｜Ｃ＝１は、各ブロックに関連付けられているセレクタ２２０を介して選択される。
【０００８】
桁上げルックアヘッド加算器の速度は、一般に、桁上げ生成と伝播のプロセスの速度によって制限される。図５Ａは、図１のブロック１１０ａ〜１１０ｄそれぞれに使用できる、４ビットの生成／伝播ブロックのロジック図の例を示す。図５Ｂは、ド・モルガンの等価の法則を使用して速度に関して最適化された、４ビットの生成／伝播ブロック１１０’の同等のロジック図の例を示す。図５Ｂのブロック１１０’は、ド・モルガンの「逆（ｉｎｖｅｒｓｅ）」関数の法則を使用して、図５Ａのブロック１１０のロジックから、ＡＮＤ−ＡＮＤ−ＮＯＲゲートのセット３１０−３２０−３３０と、ＯＲ−ＯＲ−ＮＡＮＤゲートのセット３４０−３５０−３６０に変換されて構築されている。
【０００９】
この分野において公知のように、ＡＮＤ−ＡＮＤ−ＮＯＲゲートとＯＲ−ＯＲ−ＮＡＮＤゲートは、それぞれ、図６と７のＣＭＯＳ複合ゲートによって示されているように、単一段の複合ゲートとして構築できる。図６に示されているように、入力Ａ、Ｂ、Ｃのすべて（ＡＮＤ）がロジック１であるか、または（ＯＲ）、入力ＤとＥの両方（ＡＮＤ）がロジック１である場合は、出力Ｆはロジック０であり、それ以外の場合は、出力Ｆはロジック１である。図７に示されているように、Ａ、Ｂ、Ｃのいずれか（ＯＲ）がロジック１であり、かつ（ＡＮＤ）、ＤとＥのいずれか（ＯＲ）がロジック１であるなら、出力Ｆはロジック０であり、それ以外の場合は、出力Ｆはロジック１である。ＡＮＤ−ＡＮＤ−ＮＯＲ（またはＯＲ−ＯＲ−ＮＡＮＤ）関数を実現するのに複合ゲート、すなわちマトリクスゲートを使用することにより、ＡＮＤ（またはＯＲ）関数の結果を最初に決定してから、次いでＮＯＲ（またはＮＡＮＤ）関数の結果を決定するときの連続的な遅延が回避される。
【００１０】
複合ゲートの速度は、一般に、出力ノードＦを地電位まで放電するかまたは電力電位まで充電するのに必要な時間に基づいて決まる。放電時間は、マトリクスゲートのＮチャネルデバイスを経て地電位までの最も長い直列経路によって決まり、充電時間は、Ｐチャネルデバイスを経て電力電位までの最も長い直列経路によって決まる。
【００１１】
この分野において公知であるように、Ｐチャネルデバイスは、等しいサイズのＮチャネルデバイスよりも、本質的に低速である。また、この分野において公知であるように、デバイスのゲートサイズが大きくなると、ゲートを駆動するデバイス上の容量性負荷が増大し、従って、ゲートを駆動するデバイスのサイズも増大しない限りは、電力消費量が増大し、デバイスの速度がさらに低下する。従って、面積と電力の制約が同じ場合、一連のＮチャネルデバイスは、同等の一連のＰチャネルデバイスより高速である。言い換えれば、速度の制約が同じ場合、一連のＮチャネルデバイスは、同等の一連のＰチャネルデバイスよりも小さく、かつ電力消費量が少ない。
【００１２】
図７においては、信号Ａ、Ｂ、およびＣによってゲート形成されるＰチャネルゲートの直列接続が、最長の直列経路を形成し、この場合、ノードＦの状態を電力電位にするための直列長さ、すなわち「積み重ね深さ（ｓｔａｃｋ  ｄｅｐｔｈ）」は３つのＰチャネルデバイスである。ノードＦを地電位まで放電するためのＮチャネルの積み重ね深さ、すなわち最大の直列長さは、２つのＮチャネルデバイスであり、すなわち、信号Ａ、Ｂ、およびＣによってゲート形成される３つのＮチャネルデバイスのうちの１つと、信号ＤとＥによってゲート形成される２つのＮチャネルデバイスのうちの１つである。従って、図７のマトリクスＯＲ−ＯＲ−ＮＡＮＤ構造の最大遅延は、３つの直列Ｐチャネルデバイスを通じた遅延の合計である。
【００１３】
これに対して、図６においては、信号Ａ、Ｂ、およびＣによってゲート形成されるＮチャネルゲートの直列接続は、ノードＦの状態を放電するための３つのＮチャネルデバイスの最も長い直列経路を形成する。また、ノードＦを充電するための最も長い直列経路は、２つのＰチャネルデバイスである。従って、ノードＦにおける出力を形成するための最大遅延時間は、３つのＮチャネルデバイス、または２つのＰチャネルデバイスの最大遅延として決まる。Ｐチャネルデバイスの方がＮチャネルデバイスと比較して本質的に速度が遅いため、これらのＮとＰの直列遅延は同じ程度かもしれないが、いずれの場合にも、面積制約が同じ程度の場合、図６のＡＮＤ−ＡＮＤ−ＮＯＲ構造の遅延の方が、図７のＯＲ−ＯＲ−ＮＡＮＤ構造の遅延よりも小さい。
【００１４】
図６と７にあげた例の構造によって示されているように、クリティカル経路を形成する一連のデバイスにおいて、Ｐチャネルの積み重ね深さが減少した実施例は、それに対応してＮチャネルの積み重ね深さが増大することを差し引いても、Ｐチャネルの積み重ね深さがより大きい、等しい長さの一連のデバイスよりも、電力、速度、および／または面積の点において、より効率的である。
【００１５】
図５Ｂの例において、桁上げ生成信号を形成するためのクリティカル経路は、ＡＮＤ−ＡＮＤ−ＮＯＲゲート３１０−３２０−３３０とＯＲ−ＯＲ−ＮＡＮＤゲート３４０−３５０−３６０を含み、この経路は、図１の生成／統合ブロック１３０を通る最長の遅延経路として示すことができ、なぜなら、ＯＲ−ＯＲ−ＮＡＮＤゲート３４０−３５０−３６０における直列の３つのＰチャネルデバイスのためである。
【発明の開示】
【課題を解決するための手段】
【００１６】
本発明の目的は、桁上げルックアヘッド加算器の速度を向上させることである。本発明のさらなる目的は、桁上げルックアヘッド加算器のクリティカル経路内のＰチャネルの積み重ね深さを減少させることである。
【００１７】
上記およびその他の目的は、加算器内のブロックおよびブロックのグループ内で／を通じてヌル桁上げ信号を生成および伝播するように構成されている桁上げルックアヘッド加算器を提供することによって達成される。ヌル桁上げ信号は、ヌル桁上げ信号が生成されるポイントを超えてのブロックまたはブロックのグループへの桁上げ入力の効果を終了させる信号である。加算器内のブロックとブロックのグループを通じてヌル桁上げ信号を生成および伝播するための規則を定めることによって、４ビットの加算器ブロックの場合のＰチャネルの最大積み重ね深さとして２を達成でき、これによって、加算器内での桁上げ信号の生成と伝播に基づく従来の桁上げルックアヘッド加算器と比較して、桁上げルックアヘッド加算器の速度を実質的に向上させることができる。
【００１８】
本発明を、以下に、添付の図面を参照しながら、具体例によりさらに詳しく説明する。
【００１９】
すべての図面において、同じ参照数字は、類似する、または対応する特徴／形状または機能を示す。
【発明を実施するための最良の形態】
【００２０】
図８は、本発明による、ヌル桁上げルックアヘッド加算器の４ビット加算器ブロックの、ヌル桁上げ生成信号とヌル桁上げ伝播信号を決定するためのロジック回路例５００を示す。ヌル桁上げ信号は、ヌル桁上げ信号が生成されるポイントを超えての桁上げの効果を終了させる信号である。ここで、例えば、加算器のビット０段におけるヌル桁上げの生成を考える。入力信号Ａ０とＢ０の両方がロジック０の場合は、桁上げ入力信号の値に関係なく、桁上げ信号を生成できない。図に示されているように、ヌル桁上げ生成信号ｇＮＣ０は、入力Ａ０とＢ０のＮＯＲ関数５１０として具体化され、すなわち、ヌル桁上げ生成は、Ａ０とＢ０の両方がロジック０である場合に限りアサートされる。留意すべき点として、このヌル桁上げ生成信号ｇＮＣ０は、図５Ａ、５Ｂの桁上げ生成信号ｇＣ０の単なる「逆」ではない。従来の桁上げルックアヘッド加算器においては、桁上げ生成信号ｇＣ０は、Ａ０とＢ０の両方がロジック１である場合に限り供給される。Ａ０またはＢ０信号の一方のみがロジック１である場合は、図５Ａ、５ＢのｇＣ０信号と、図８のｇＮＣ０信号はいずれもロジック０になり、なぜなら、このセル内では桁上げ入力信号に関係なく、桁上げとヌル桁上げのいずれも生成されないためである。すなわち、従来の桁上げルックアヘッド加算器における「桁上げ生成」という語は、「桁上げ入力が考慮されない桁上げ生成」を略した語であり、本発明における「ヌル桁上げ生成」という語は、「桁上げ入力が考慮されないヌル桁上げ生成」を略した語であり、これらの語は、互いに補集合を表さない（ｎｏｔ  ｃｏｍｐｌｅｍｅｎｔ）。従って、図８の回路は、図５Ａ、５Ｂの回路に対してド・モルガンの等価の法則が成り立たない。
【００２１】
同様に、ｐＮＣ０（０ビット段を通じてのヌル桁上げ伝播）信号を供給するＮＡＮＤゲート５１５によって示されるように、入力Ａ０とＢ０の少なくとも一方がロジック０である場合に限り、ヌル桁上げ入力信号の値に関係なく、ビット０段の入力から出力にヌル桁上げ信号が伝播される。すなわち、ビット０段の入力においてヌル桁上げがアサートされ、かつ入力Ａ０とＢ０の少なくとも一方がロジック０である場合は、アサートされたヌル桁上げがビット０段の出力に伝播される。ビット０段の入力においてヌル桁上げがアサートされず、かつ入力Ａ０とＢ０の少なくとも一方がロジック０である場合は、ビット０段の出力においてヌル桁上げがアサートされない。留意すべき点として、この信号ｐＮＣ０は、図５Ａ、５Ｂの桁上げ伝播信号ｐＣ０の補集合に対応せず、このことも、図５Ａ、５Ｂの回路と図８の回路が互いに論理的に等価でないことを示す。
【００２２】
ＯＲゲート５３０によって示されるように、いずれかのビットがヌル桁上げ信号を生成する場合は、ビット０とビット１のグループ内でヌル桁上げ信号が生成される。すなわち、いずれかの段が桁上げ入力信号の効果を終了させる場合、この効果は、グループとして終了する。このようにヌル桁上げ信号が生成される場合、このヌル桁上げ信号がビット１段を通じて伝播され、かつ三入力ＡＮＤゲート５４０によって示されるようにビット２−３段を通じて伝播されると、ビット０−３のグループ内でヌル桁上げ信号が生成される。さらに、ヌル桁上げ信号が上位２−３ビット段において生成され、かつＡＮＤゲート５５０によって示されるようにヌル桁上げ信号が最上位段を通じて伝播される場合は、ビット０−ビット３のグループ内でヌル桁上げ信号が生成される。ＮＯＲゲート５６０は、ゲート５４０、５５０の出力を結合して、ビット０−３段のヌル桁上げ生成信号の「逆」ｇＮＣｂ３−０を供給する。
【００２３】
図８において、ゲート５４０、５５０、５６０は、ＡＮＤ−ＡＮＤ−ＮＯＲ関数を形成し、これは、図６に示されているように、積み重ね深さ２のＰチャネルと、積み重ね深さ３のＮチャネルとのマトリクスゲートとして実施できることは、留意すべきである。ゲート５１０、５２０、５３０は、ＮＯＲ−ＮＯＲ−ＯＲ関数を形成する。これは、ド・モルガンの法則によって、例えば、図７に示されているＯＲ−ＯＲ−ＮＡＮＤ関数と等価である。ゲート５１０、５２０はそれぞれ２つの入力を持つため、図７における第三の入力信号Ｃによって制御されるデバイスが省略され、これによって、Ｐチャネルの積み重ね深さが２に減少している。従来の桁上げ生成ロジックと比較すると、図８のヌル桁上げ生成ロジックにおけるＰチャネルの最大積み重ね深さは２であるの対し、図５Ｂの従来の桁上げ生成ロジックにおけるＰチャネルの最大積み重ね深さは３である。従って、図８と図５Ｂのデバイスの大きさがいずれも同じであると想定したとき、図８のヌル桁上げ生成ロジックは、図５ｂの従来のロジックが４ビット加算器段それぞれの桁上げ生成信号を生成できる時間よりも短い時間で、４ビット加算器段それぞれのヌル桁上げ生成信号（「逆」形式）を生成する。
【００２４】
図９は、本発明によるヌル桁上げルックアヘッド加算器におけるグループ生成信号とグループ伝搬信号の生成を示す。このコンテキストにおいて、１つのグループは、上位段と下位段を有し、例えば、ビット０−７段はビット０−３段とビット４−７段とによって形成される。図に示されているように、グループのヌル桁上げ生成信号は、上位段のヌル桁上げ生成信号がアサートされるか、または、下位段のヌル桁上げ生成信号がアサートされかつ上位段のヌル桁上げ伝播信号がアサートされるかのいずれかの場合に、アサートされる。ゲート６１０、６２０は、各４ビット段における図８の前述されているＮＯＲゲート５６０によって生成されるヌル桁上げ生成の「逆」ｇＮＣｂ３−０とｇＮＣｂ７−４に基づいて、ヌル桁上げ生成信号ｇＮＣ７−０を供給するための実施例を示す。図７に示されているような、ただし信号ＢとＣによってゲート形成されるデバイスを持たない単一マトリクスゲートを使用することで、遅延がＰチャネルの積み重ね深さ２に対応する単一段遅延であるゲート６１０−６２０を提供できる。
【００２５】
同様に、図８に戻って、ヌル桁上げ信号がビット０段（ｐＮＣ０）とビット１段（ｐＮＣ１）を通じて伝播される場合は、ヌル桁上げ信号は、ＡＮＤゲート５３５を介してビット０−１段を通じて伝播される（ｐＮＣ１−０）。ＮＡＮＤゲート５４５は、ヌル桁上げ伝播信号ｐＮＣ１−０とｐＮＣ３−２に基づいて、ビット０−３段のヌル桁上げ伝播の「逆」ｐＮＣｂ３−０を供給する。図９に示されているように、グループヌル桁上げ伝播信号は、上位段と下位段からの両方のヌル桁上げ伝播信号がアサートされる場合にアサートされる。ＮＯＲゲート６３０は、各４ビット段における図８のＮＡＮＤゲート５４５によって生成される「逆」信号ｐＮＣｂ３−０とｐＮＣｂ７−４に基づいて、ヌル桁上げ伝播信号ｇＮＣ７−０を供給するための実施例を示す。
【００２６】
図１０は、本発明によるヌル桁上げルックアヘッド加算器のヌル桁上げ生成と伝播のロジック部分７００のブロック線図の例を示す。４ビットのヌル桁上げ生成／伝搬ブロック５００は、４ビットの各セットの「逆」ヌル桁上げ生成／伝播信号（ｇＮＣｂｘ−ｙ、ｐＮＣｂｘ−ｙ）を供給する。これ以上のビット幅に対しては、追加の４ビットブロックを設けることができる。グループヌル桁上げ生成／伝搬ブロック７２０は、ブロック５００の対から「逆」信号を受信し、図９に示されているロジックを使用して、各グループのヌル桁上げ生成／伝播信号を供給する。同様に、グループヌル桁上げ生成／伝搬ブロック７３０は、ブロック７２０からグループ生成／伝搬信号を受信し、図９に示されているロジックに対応するＡＮＤ−ＮＯＲ構成を使用して、「逆」グループ生成／伝搬信号（ｇＮＣｂ１５−０、ｐＮＣｂ１５−０）を生成する。さらに上位のグループヌル桁上げ生成／伝搬信号は、下位レベルの各対をさらにグループ化することによって、同様に階層的に供給される。
【００２７】
発明を完全にするために、図１１は、本発明に従って供給されるヌル桁上げ生成／伝播信号に基づいて、各４ビット段における条件付き合計出力信号を決定するためのロジックブロック８００の実施例を示す。この分野において一般に行われるように、等価ロジックの代替実施例を採用してもよい。この望ましい実施例においては、ヌル桁上げ生成信号とヌル桁上げ伝播信号が再度使用され、主入力（Ａ、Ｂ）への負荷が低減される。
【００２８】
ビット０段の条件付き合計信号Ｓｏｕｔ０は、以下のとおりである。
2004533064.tif 000003
【００２９】
同様に、ビット０段からの桁上げ出力信号Ｃｏｕｔ０に基づく、ビット１段の条件付き合計信号Ｓ１は、次のとおりである。
2004533064.tif 000004
【００３０】
ビット０段からの桁上げ出力信号Ｃ０は、図１１におけるゲート８１０、８１５によって示されるように、
2004533064.tif 000005
と表すことができる。
【００３１】
従って、ブロックへのＣｉｎ信号に関して、ビット１段の条件付き合計信号は、以下のとおりである。
2004533064.tif 000006
これらの等式それぞれにおける第一項の第二要素（｜Ｃｉｎ＝ｘ）は、第二項の第二要素（｜Ｃｉｎ＝ｘ）の「逆」に等しいため、これらの等式それぞれは、図１１のマルチプレクサ８２０、８２５によって示されるように、第二要素の状態に応じて第一項または第二項のいずれかの第一要素を選択するマルチプレクサとして実施されることが望ましい。
【００３２】
同様に、ビット２と３の条件付き合計信号（Ｓｏｕｔ２｜Ｃｉｎ＝ｘ、Ｓｏｕｔ３｜Ｃｉｎ＝ｘ）は、それぞれ、図１１に示されているように、前のビット１と２の桁上げ出力に基づく条件付き合計（Ｓ２｜Ｃ１＝ｘ、Ｓ３｜Ｃ２＝ｘ）と、桁上げ信号に基づく条件付き桁上げ出力（Ｃ１｜Ｃｉｎ＝ｘ、Ｃ２｜Ｃｉｎ＝ｘ）を決定し、条件付き桁上げ出力に基づいて、適切な条件付き合計を出力合計信号として選択することによって、決定される。留意すべき点として、図１１の実施例においては、これらの条件付き合計それぞれは、ヌル桁上げ生成／伝播信号から生成され、主入力Ａ、Ｂへの負荷が増大しない。
【００３３】
各段への桁上げ入力信号によって、４つの条件付き合計ビットの適切なセットの選択が決まる。各段の桁上げ入力信号は、図８の前述されているヌル桁上げ生成／伝播ロジックによって決定される。例えば、次のとおりである。
2004533064.tif 000007
すなわち、７番目のビットの桁上げ出力は、第一段の桁上げ入力が０でありかつヌル桁上げが０番目から７番目のビットグループを通じて伝播されるか、または、０番目から７番目のビットグループからヌル桁上げが生成されるかのいずれかの場合に、ロジック０になる。
【００３４】
留意すべき点として、ヌル桁上げ伝播信号が桁上げ出力信号に対する効果を持つのは、第一段の桁上げ入力が０である場合のみである。従って、第一段の桁上げ入力信号を、次のように補集合桁上げ伝搬信号（ｐｒｏｐａｇａｔｅ  ｃｏｍｐｌｅｍｅｎｔ−ｃａｒｒｙ  ｓｉｇｎａｌ）の中に埋め込むことができる。
2004533064.tif 000008
【００３５】
この規則を使用して、以下のように中間桁上げ信号が得られる。
2004533064.tif 000009
【００３６】
Ｃ３１信号、またはその「逆」は、本発明によるヌル桁上げ生成／伝播信号を使用して、Ｐチャネルの積み重ね深さ２で生成できるのに対し、従来の桁上げルックアヘッド加算器におけるＣ３１信号が、従来の桁上げ生成／伝搬信号を使用するため、Ｐチャネルの積み重ね深さが３である点は、留意すべき点である。
【００３７】
上記の説明は、単に本発明の原理を示すのみである。従って、当業者は、本文書に明示的に説明または示されていないが請求項の精神と範囲内であるさまざまな配置／構成を考案し、本発明の原理を具体化できることが理解されるであろう。
【図面の簡単な説明】
【００３８】
【図１】従来の桁上げルックアヘッド加算器の桁上げ生成と伝播のロジック部分のブロック線図の例を示す。
【図２】従来の桁上げルックアヘッド加算器におけるグループ生成信号とグループ伝搬信号の生成を示す。
【図３】従来の桁上げルックアヘッド加算器における、ブロック桁上げ信号を決定するためのブロック線図の例を示す。
【図４】従来の桁上げルックアヘッド加算器における、合計信号を決定するためのブロック線図の例を示す。
【図５Ａ】従来の桁上げルックアヘッド加算器の４ビットの加算器ブロックの場合の、桁上げ生成信号と桁上げ伝搬信号を決定するための同等なロジック回路の例を示す。
【図５Ｂ】従来の桁上げルックアヘッド加算器の４ビットの加算器ブロックの場合の、桁上げ生成信号と桁上げ伝搬信号を決定するための同等なロジック回路の例を示す。
【図６】ＡＮＤ−ＡＮＤ−ＮＯＲロジック構造に対応する従来のＣＭＯＳマトリクスゲートを示す。
【図７】ＯＲ−ＯＲ−ＮＡＮＤロジック構造に対応する従来のＣＭＯＳマトリクスゲートを示す。
【図８】本発明による、ヌル桁上げルックアヘッド加算器の４ビット加算器ブロックの、ヌル桁上げ生成信号とヌル桁上げ伝播信号を決定するためのロジック回路の例を示す。
【図９】本発明による、ヌル桁上げルックアヘッド加算器におけるグループ生成信号とグループ伝搬信号の生成を示す。
【図１０】本発明による、ヌル桁上げルックアヘッド加算器のヌル桁上げ生成と伝播のロジック部分のブロック線図の例を示す。
【図１１】本発明による、ヌル桁上げ生成／伝搬信号に基いて条件付き合計信号を供給するためのロジック図の例を示す。
【符号の説明】
【００３９】
１１０ａ〜１１０ｄ  ４ビットの桁上げ生成／伝播ブロック
１１０’  ４ビットの生成／伝播ブロック
１２０ａ〜１２０ｂ  グループ桁上げ生成／伝播ブロック
１３０  グループ生成／伝搬ブロック
２１０  条件付き合計決定器
２２０  セレクタ
３１０、３２０、５４０、５５０  ＡＮＤゲート
３３０、５１０、５６０、６３０  ＮＯＲゲート
３４０、３５０、５３０、６２０  ＯＲゲート
３６０、５１５、５４５、６１０  ＮＡＮＤゲート
５００  ４ビットのヌル桁上げ生成／伝搬ブロック
７２０  グループヌル桁上げ生成／伝搬ブロック
７３０  グループヌル桁上げ生成／伝搬ブロック
８００  ロジックブロック
８２０、８２５  マルチプレクサ
【図１】
2004533064.tif 000010
【図２】
2004533064.tif 000011
【図３】
2004533064.tif 000012
【図４】
2004533064.tif 000013
【図５Ａ】
2004533064.tif 000014
【図５Ｂ】
2004533064.tif 000015
【図６】
2004533064.tif 000016
【図７】
2004533064.tif 000017
【図８】
2004533064.tif 000018
【図９】
2004533064.tif 000019
【図１０】
2004533064.tif 000020
【図１１】
2004533064.tif 000021
【国際公開パンフレット】
2004533064.tif 000022
2004533064.tif 000023
2004533064.tif 000024
2004533064.tif 000025
2004533064.tif 000026
2004533064.tif 000027
2004533064.tif 000028
2004533064.tif 000029
2004533064.tif 000030
2004533064.tif 000031
2004533064.tif 000032
2004533064.tif 000033
2004533064.tif 000034
2004533064.tif 000035
2004533064.tif 000036
2004533064.tif 000037
2004533064.tif 000038
2004533064.tif 000039
2004533064.tif 000040
2004533064.tif 000041
2004533064.tif 000042
2004533064.tif 000043
【国際調査報告】
2004533064.tif 000044
2004533064.tif 000045
2004533064.tif 000046