(57)【要約】【課題】全加算器のパリティ予測回路を、少ない入力数、素子数で構成することができる。【解決手段】パリティ予測回路は、キャリーインＣｉｎ＝０及び１の場合のキャリーフォーパリティＣＰ［ｋ−１，０］及びＣＰ［ｋ−１，１］を入力とし（但しｋはｎ以下の整数）、加算入力Ａ［ｋ−２］とＢ［ｋ−２］とのジェネレーションビットｇ［ｋ−２］に応じて、前記入力ＣＰ［ｋ−１，０］またはＣＰ［ｋ−１，１］のいずれかをキャリーフォーパリティｃｐ［ｋ，０］として出力する第１のセレクタと、前記キャリーフォーパリティＣＰ［ｋ−１，０］及びＣＰ［ｋ−１，１］を入力とし、前記加算入力Ａ［ｋ−２］とＢ［ｋ−２］とのプロパゲーションビットｐ［ｋ−２］に応じて、前記入力ＣＰ［ｋ−１，０］またはＣＰ［ｋ−１，１］のいずれかをキャリーフォーパリティｃｐ［ｋ，１］の反転信号として出力する第２のセレクタとを有する演算ユニットを有する。この演算ユニットが複数縦列に接続され、最終段セレクタで、キャリーインＣｉｎに応じて、キャリーフォーパリティｃｐ［ｎ，０］またはｃｐ［ｎ，１］のいずれかをキャリーフォーパリティＣＰｎとして出力する。【選択図】図５
2004234110.tif 000002
【特許請求の範囲】
【請求項１】
ｎビット幅のパリティビット付き加算入力Ａ［０：ｎ−１，Ｐ］とＢ［０：ｎ−１，Ｐ］とキャリーインＣｉｎとから、予測パリティビット付き加算値Ｓ［０：ｎ−１，Ｐ］を求める全加算器におけるパリティ予測回路において、
前記予測パリティビットＳ［Ｐ］は、前記加算入力のパリティビットＡ［Ｐ］、Ｂ［Ｐ］と、各桁へのキャリービットｃ［ｉ］  （但しｉは０〜ｎ−１の整数）の排他的論理和であるキャリーフォーパリティＣＰｎと、の排他的論理和により生成され、
前記キャリーフォーパリティＣＰｎの演算式は、
ＣＰｎ＝Ｃｉｎ＜ｃｐ［ｎ，１］，  ｃｐ［ｎ，０］＞
で表されるものとし（但し、Ｓ＜Ｘ，Ｙ＞は、Ｓ＝１の時はＸを、Ｓ＝０の時はＹを出力するものとし、更に、ｃｐ［ｎ，１］は前記キャリーインＣｉｎ＝１の時のキャリーフォーパリティＣＰｎを、ｃｐ［ｎ，０］は前記キャリーインＣｉｎ＝０の時のキャリーフォーパリティＣＰｎをそれぞれ示すものとする。）、
前記パリティ予測回路は、
前記キャリーインＣｉｎ＝０及び１の場合のキャリーフォーパリティＣＰ［ｋ−１，０］及びＣＰ［ｋ−１，１］を入力とし（但しｋはｎ以下の整数）、加算入力Ａ［ｋ−１］とＢ［ｋ−１］とのジェネレーションビットｇ［ｋ−１］に応じて、前記入力ＣＰ［ｋ−１，０］またはＣＰ［ｋ−１，１］のいずれかをキャリーフォーパリティｃｐ［ｋ，０］として出力する第１のセレクタと、前記キャリーフォーパリティＣＰ［ｋ−１，０］及びＣＰ［ｋ−１，１］を入力とし、前記加算入力Ａ［ｋ−１］とＢ［ｋ−１］とのプロパゲーションビットｐ［ｋ−１］に応じて、前記入力ＣＰ［ｋ−１，０］またはＣＰ［ｋ−１，１］のいずれかをキャリーフォーパリティｃｐ［ｋ，１］の反転信号として出力する第２のセレクタとを有する演算ユニットを有し、
当該演算ユニットが複数段、縦列に接続され、
更に、最終段に、キャリーインＣｉｎに応じて、キャリーフォーパリティｃｐ［ｎ，０］またはｃｐ［ｎ，１］のいずれかをキャリーフォーパリティＣＰｎとして出力する最終段セレクタを有することを特徴とするパリティ予測回路。
【請求項２】
請求項１において、
前記演算ユニットの第１及び第２のセレクタの出力が、後段の演算ユニットの入力として供給されるように縦列に接続されることを特徴とするパリティ予測回路。
【請求項３】
請求項２において、
前記各演算ユニットは、前記第２のセレクタの出力に接続されたインバータを有することを特徴とするパリティ予測回路。
【請求項４】
付記１において、
前記第１、第２及び最終段のセレクタが、前記ジェネレーションビットｇ［ｋ−１］、プロパゲーションビットｐ［ｋ−１］、キャリーインビットＣｉｎを制御信号とするパストランジスタ回路で構成されていることを特徴とするパリティ予測回路。
【請求項５】
付記６（付記６）４ビット幅のパリティビット付き入力Ａ［０：３，Ｐ］とＢ［０：３，Ｐ］とキャリーインＣｉｎとから、予測パリティビット付き加算値Ｓ［０：３，Ｐ］を求める全加算器におけるパリティ予測回路において、
前記予測パリティビットＳ［Ｐ］は、前記入力のパリティビットＡ［Ｐ］、Ｂ［Ｐ］と、各桁へのキャリービットｃ［ｉ］  （但しｉは０〜３の整数）の排他的論理和であるキャリーフォーパリティＣＰ４との排他的論理和により生成され、
前記パリティ予測回路は、前記キャリーフォーパリティＣＰ４を生成する回路を有し、
当該キャリーフォーパリティＣＰ４生成回路は、
前記加算入力Ａ［１］とＢ［１］のジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］の反転信号のいずれかを、前記加算入力Ａ［２］とＢ［２］のジェネレーションビットｇ［２］に応じて選択して出力する第１のセレクタと、
前記ジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］  の反転信号のいずれかを、前記加算入力Ａ［２］とＢ［２］のプロパゲーションビットｐ［２］に応じて選択して出力する第２のセレクタと、
前記第１のセレクタの出力または前記第２のセレクタの出力の反転信号のいずれかを、前記加算入力Ａ［３］とＢ［３］のジェネレーションビットｇ［３］に応じて選択して出力する第３のセレクタと、
前記第１のセレクタの出力または前記第２のセレクタの出力の反転信号のいずれかを、前記加算入力Ａ［３］とＢ［３］のプロパゲーションビットｐ［３］に応じて選択して出力する第４のセレクタと、
前記第１のセレクタの出力または前記第２のセレクタの出力の反転信号のいずれかを、前記キャリーインＣｉｎに応じて選択して、前記キャリーフォーパリティＣＰ４として出力する最終段セレクタとを有することを特徴とするパリティ予測回路。
【請求項６】
請求項５において、
更に、前記第２及び第４のセレクタの出力に接続されたインバータを有することを特徴とするパリティ予測回路。
【請求項７】
請求項５において、
前記セレクタは、制御信号に応じていずれか一方の入力を通過させるパストランジスタ回路により構成されることを特徴とするパリティ予測回路。
【請求項８】
ｎビット幅のパリティビット付き入力Ａ［０：ｎ−１，Ｐ］とＢ［０：ｎ−１，Ｐ］とキャリーインＣｉｎとから、予測パリティビット付き加算値Ｓ［０：ｎ−１，Ｐ］を求める全加算器におけるパリティ予測回路において、
前記予測パリティビットＳ［Ｐ］は、前記入力のパリティビットＡ［Ｐ］、Ｂ［Ｐ］と、各桁へのキャリービットｃ［ｉ］  （但しｉは０〜ｎ−１の整数）の排他的論理和であるキャリーフォーパリティＣＰｎとの排他的論理和により生成され、
前記パリティ予測回路は、前記キャリーフォーパリティＣＰｎを生成する回路を有し、
当該キャリーフォーパリティＣＰｎ生成回路は、
前記加算入力Ａ［１］とＢ［１］のジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］  の反転信号のいずれかを、前記加算入力Ａ［２］とＢ［２］のジェネレーションビットｇ［２］に応じて選択して出力する第５のセレクタと、
前記ジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］  の反転信号のいずれかを、前記加算入力Ａ［２］とＢ［２］のプロパゲーションビットｐ［２］に応じて選択して出力する第６のセレクタと、
第２ｋ−３（但しｋは４〜ｎの整数）のセレクタの出力または第２ｋ−２のセレクタの出力の反転信号のいずれかを、前記加算入力Ａ［ｋ−１］とＢ［ｋ−１］のジェネレーションビットｇ［ｋ−１］に応じて選択して出力する第２ｋ−１のセレクタと、
前記第２ｋ−３のセレクタの出力または前記第２ｋ−２のセレクタの出力の反転信号のいずれかを、前記加算入力Ａ［ｋ−１］とＢ［ｋ−１］のプロパゲーションビットｐ［ｋ−１］に応じて選択して出力する第２ｋのセレクタとを有し、
前記第２ｋ−１のセレクタと第２ｋのセレクタとが、ｋ＝４〜ｎまで繰り返し縦列に接続され、
更に、前記第２ｎ−１のセレクタの出力または前記第２ｎのセレクタの出力の反転信号のいずれかを、前記キャリーインＣｉｎに応じて選択して、前記キャリーフォーパリティＣＰｎとして出力する最終段セレクタを有することを特徴とするパリティ予測回路。
【請求項９】
請求項８において、
更に、前記第２ｋのセレクタの出力にそれぞれ接続されたインバータを有することを特徴とするパリティ予測回路。
【請求項１０】
請求項８において、
前記セレクタは、制御信号に応じていずれか一方の入力を通過させるパストランジスタ回路により構成されることを特徴とするパリティ予測回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、全加算器に併設されるパリティ予測回路に関し、特に、入力数や素子数を減らした新規なパリティ予測回路に関する。
【０００２】
【従来の技術】
半導体集積回路の様々な箇所に全加算器が内蔵される。全加算器は、所定ビット（所定桁）の入力Ａ、Ｂと下位からのキャリインＣｉｎとから、加算値ＳとキャリアウトＣｏｕｔを生成する。最も一般的な全加算器は、１つのブロックが４ビットの入力Ａ［０：３］、Ｂ［０：３］と１ビットのキャリインＣｉｎとから、４ビットの加算値Ｓ［０：３］と１ビットのキャリアウトＣｏｕｔを生成する。本明細書では、説明の都合上、ｎビットの値に対して最上位ビット（ＭＳＢ）を第０ビット（または第０桁）、最下位ビット（ＬＳＢ）を第ｎ−１ビット（または第ｎ−１桁）とする。
【０００３】
更に、例えば、所定のメモリから読み出されたデータＡ［０：３］、Ｂ［０：３］が、所定の伝送路を伝播して全加算器に入力され、加算結果が更に別の伝送路に出力されるなど、入力データが所定の伝送路を伝播し、出力データも別の伝送路を伝播する場合は、入力データにパリティビットが付加される。そして、これらのパリティビットが持つ伝播中のビット反転の有無という情報を、加算出力のパリティビットにもそのまま持たせるために、全加算回路に加えて、パリティ予測回路が設けられる。パリティ予測回路は、２つの入力データのパリティビットと加算演算での各桁でのキャリーとの排他的論理和を求めることにより、予測されたパリティビットを生成する。
【０００４】
全加算器やパリティ予測回路では、入力データＡ［０：３］、Ｂ［０：３］から求められるジェネレーション（ｇｅｎｅｒａｔｉｏｎ）ｇと、プロパゲーション（ｐｒｏｐａｇａｔｉｏｎ）ｐと、ハーフサム（ｈａｌｆｓｏｍｅ）ｈとが前段で生成され、それらｇ、ｐ、ｈから加算値Ｓ［０：３］や予測パリティビットＳ［Ｐ］を生成する論理回路が構成される。
【０００５】
尚、パリティ付きデータ演算回路が、以下の特許文献１に記載されている。
【０００６】
【特許文献１】
特開平４−２８８６２９号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、予測パリティビットを生成するパリティ予測回路は、理論的に求められる予測パリティビットの演算式をそのままＮＡＮＤやＮＯＲの論理ゲートに置き換えた構成を取るため、入力数が多くなり、論理ゲート数も多くなり、回路が大規模化する傾向にある。特に、入力データの桁数が増えると、その回路規模は指数関数的に増大することになり、高集積化の弊害になっている。
【０００８】
そこで、本発明の目的は、少ない回路規模で予測パリティビットを生成するパリティビット予測回路を提供することにある。
【０００９】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面によれば、ｎビット幅の全加算器に含まれるパリティ予測回路のキャリーフォーパリティＣＰｎを求める回路が、制御信号に応じていずれか一方の入力を選択する複数のセレクタで構成される。
【００１０】
今、ｎビット幅の全加算器が、加算入力Ａ［０：ｎ−１，Ｐ］とＢ［０：ｎ−１，Ｐ］と下位からのキャリーインＣｉｎとから、加算値Ｓ［０：ｎ−１，Ｐ］を求めるとすると、その論理式は、
Ｓ［０：ｎ−１，Ｐ］＝Ａ［０：ｎ−１，Ｐ］＋Ｂ［０：ｎ−１，Ｐ］＋Ｃｉｎ
となる。この場合の予測パリティＳ［Ｐ］を求める論理式は、
Ｓ［Ｐ］＝Ａ［Ｐ］ｖＢ［Ｐ］ｖＣＰｎ
ＣＰｎ＝ｃ［０］ｖｃ［１］ｖ．．．ｖｃ［ｎ−１］
但し、Ａ［Ｐ］、Ｂ［Ｐ］は入力Ａ，Ｂのパリティビット、ｃ［ｉ］は第ｉビットの下位ビットからのキャリーイン、ＣＰｎはキャリーフォーパリティ、ｖは排他的論理和である。そして、前提としてキャリーフォーパリティＣＰｎは、
ＣＰｎ＝Ｃｉｎ＜ｃｐ［ｎ，１］，  ｃｐ［ｎ，０］＞
で表されるものとする。但し、Ｓ＜Ｘ，Ｙ＞は、（Ｓ・Ｘ）｜（〜Ｓ・Ｙ）を示すものとし、入力Ｘ，Ｙに対して、Ｓ＝１の時はＸを、Ｓ＝０の時はＹを出力するセレクタに対応する。また、ｃｐ［ｎ，１］はキャリーインＣｉｎ＝１の時のｎビットに対するキャリーフォーパリティＣＰｎを、ｃｐ［ｎ，０］はキャリーインＣｉｎ＝０の時のｎビットに対するキャリーフォーパリティＣＰｎをそれぞれ示すものとする。つまり、ｃｐ［ｎ，１］、ｃｐ［ｎ，０］のｎはビット数を示す。
【００１１】
以上の前提で、演算すると、次の演算式が求められる。
【００１２】
ｃｐ［ｎ，０］  ＝    （ｇ［ｎ−１］＜ｃｐ［ｎ−１，１］，  ｃｐ［ｎ−１，０］＞）
ｃｐ［ｎ，１］  ＝  〜（ｐ［ｎ−１］＜ｃｐ［ｎ−１，１］，  ｃｐ［ｎ−１，０］＞）
ｃｐ［ｎ−１，０］  ＝    （ｇ［ｎ−２］＜ｃｐ［ｎ−２，１］，  ｃｐ［ｎ−２，０］＞）
ｃｐ［ｎ−１，１］  ＝  〜（ｐ［ｎ−２］＜ｃｐ［ｎ−２，１］，  ｃｐ［ｎ−２，０］＞）
．．．．．．．．
ｃｐ［４，０］  ＝  （ｇ［３］＜ｃｐ［３，１］，  ｃｐ［３，０］＞）
ｃｐ［４，１］  ＝  〜（ｐ［３］＜ｃｐ［３，１］，  ｃｐ［３，０］＞）
ｃｐ［３，０］  ＝  （ｇ［２］＜ｃｐ［２，１］，  ｃｐ［２，０］＞）
ｃｐ［３，１］  ＝  〜（ｐ［２］＜ｃｐ［２，１］，  ｃｐ［２，０］＞）
ｃｐ［２，０］  ＝  （ｇ［１］＜ｃｐ［１，１］，  ｃｐ［１，０］＞）  ＝  ｇ［１］
ｃｐ［２，１］  ＝  〜（ｐ［１］＜ｃｐ［１，１］，  ｃｐ［１，０］＞）  ＝  〜ｐ［１］
ｃｐ［１，０］  ＝  ０（＝  Ｃｉｎ）
ｃｐ［１，１］  ＝  １（＝  Ｃｉｎ）
そこで、上記の演算式に従えば、本発明のパリティ予測回路は、キャリーインＣｉｎ＝０及び１の場合のキャリーフォーパリティＣＰ［ｋ−１，０］及びＣＰ［ｋ−１，１］を入力とし（但しｋはｎ以下の整数）、加算入力Ａ［ｋ−１］とＢ［ｋ−１］とのジェネレーションビットｇ［ｋ−１］に応じて、前記入力ＣＰ［ｋ−１，０］またはＣＰ［ｋ−１，１］のいずれかをキャリーフォーパリティｃｐ［ｋ，０］として出力する第１のセレクタと、前記キャリーフォーパリティＣＰ［ｋ−１，０］及びＣＰ［ｋ−１，１］を入力とし、前記加算入力Ａ［ｋ−１］とＢ［ｋ−１］とのプロパゲーションビットｐ［ｋ−１］に応じて、前記入力ＣＰ［ｋ−１，０］またはＣＰ［ｋ−１，１］のいずれかをキャリーフォーパリティｃｐ［ｋ，１］の反転信号として出力する第２のセレクタとを有する演算ユニットを有し、
当該演算ユニットが複数段、縦列に接続され、
最終段に、キャリーインＣｉｎに応じて、キャリーフォーパリティｃｐ［ｎ，０］またはｃｐ［ｎ，１］のいずれかをキャリーフォーパリティＣＰｎとして出力する最終段セレクタを更に有することを特徴とするパリティ予測回路である。
【００１３】
上記のパリティ予測回路によれば、２個のセレクタを有する演算ユニットを縦列に接続することで構成されるので、少ない素子数で構成することが可能になる。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、本発明の保護範囲は、以下の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１５】
図１は、本実施の形態に適用される全加算器とパリティ予測回路とを示す図である。この例では、パリティビット付きの４ビットの入力Ａ［０：３，Ｐ］、Ｂ［０：３，Ｐ］と、下位からのキャリインＣｉｎとから、予測パリティビット付きの４ビットの加算値Ｓ［０：３，Ｐ］とキャリアウトＣｏｕｔとが生成される。即ち、この全加算器の演算式は、
Ｓ［０：３，Ｐ］  ＝  Ａ［０：３，Ｐ］  ＋  Ｂ［０：３，Ｐ］  ＋  Ｃｉｎ
である。
【００１６】
前述したとおり、前提として、４ビットのデータの最下位ビット（ＬＳＢ）は「３」、最上位ビット（ＭＳＢ）は「０」で表される。従って、ｎ＋１ビットのデータの場合は、最下位ビットが「ｎ」で、最上位ビットが「０」で表される。また、本明細書では、反転記号として「〜」を利用する。
【００１７】
前段階として、４ビットの入力Ａ［０：３］、Ｂ［０：３］の各ビットに対して、それぞれプロパゲーションｐ［０：３］と、ジェネレーションｇ［０：３］と、ハーフサムｈ［０：３］とが、それぞれプロパゲーション生成回路Ｐ、ジェネレーション生成回路Ｇ、ハーフサム生成回路Ｈとで生成される。ここで、プロパゲーションｐ［０：３］と、ジェネレーションｇ［０：３］と、ハーフサムｈ［０：３］とは、次の論理式により求められる。
【００１８】
ｐ［０：３］  ＝  Ａ［０：３］  ｜  Ｂ［０：３］      （｜は論理和（ＯＲ））
ｇ［０：３］  ＝  Ａ［０：３］  ・  Ｂ［０：３］    （・は論理積（ＡＮＤ））
ｈ［０：３］  ＝  Ａ［０：３］  ｖ  Ｂ［０：３］      （ｖは排他的論理和（ＥＯＲ））
即ち、プロパゲーションｐは、入力Ａ，Ｂのいずれかが「１」の時に「１」になり、両方とも「０」の時に「０」になる。つまり、プロパゲーションｐとは、下位ビットからのキャリー（桁上げ）が発生したときは、その桁上げを上位ビットに伝播するか（ｐ＝１）、伝播しないか（ｐ＝０）を示すビットである。例えば、ｎ番目のビットのデータＡ［ｎ］，Ｂ［ｎ］のプロパゲーションｐ［ｎ］が「１」の場合は、下位のｎ＋１ビットからキャリーがあれば、上位のｎ−１ビットにキャリーが発生するが、プロパゲーションｐ［ｎ］が「０」の場合は、下位のｎ＋１ビットからキャリーが発生しても、上位のｎ−１ビットにはキャリーは発生しない。
【００１９】
ジェネレーションｇは、入力Ａ，Ｂの両方が「１」の時に「１」になり、いずれかが「０」の時に「０」になる。つまり、ジェネレーションｇとは、下位ビットからのキャリーが発生しなくても、その桁で上位ビットへのキャリーを発生するか（ｇ＝１）、発生しないか（ｇ＝０）を示すビットである。例えば、ｎ番目のビットのデータＡ［ｎ］，Ｂ［ｎ］のジェネレーションｇ［ｎ］が「１」の場合は、下位のｎ＋１ビットからキャリーなくても、上位のｎ−１ビットにキャリーが発生するが、ジェネレーションｇ［ｎ］が「０」の場合は、下位のｎ＋１ビットからキャリーがなければ、上位のｎ−１ビットにはキャリーは発生しない。
【００２０】
また、ハーフサムｈは、入力Ａ，Ｂが異なる時に「１」となり、同じ時に「０」になる。つまり、ハーフサムｈとは、入力Ａ，Ｂの加算結果を示すビットである。例えば、ｎ番目のビットにおいて、Ａ［ｎ］とＢ［ｎ］とが１，０または０，１の時は、ハーフサムｈ［ｎ］は「１」になり、Ａ［ｎ］とＢ［ｎ］とが０，０または１，１の時は、ハーフサムｈ［ｎ］は「０」になる。
【００２１】
従って、加算値生成回路１０は、次の演算式による排他的論理和回路で構成されて、加算値Ｓ［０：３］を生成する。
【００２２】
Ｓ［０］  ＝  ｈ［０］  ｖ  ｃ［０］
Ｓ［１］  ＝  ｈ［１］  ｖ  ｃ［１］
Ｓ［２］  ＝  ｈ［２］  ｖ  ｃ［２］
Ｓ［３］  ＝  ｈ［３］  ｖ  ｃ［３］
ここで、ｃ［０］，ｃ［１］，ｃ［２］，ｃ［３］は、各ビットへのキャリーイン（桁上げ）のビットであり、これらのキャリービットｃは、キャリー生成回路１６で生成される。キャリー生成回路１６は、次の演算式による論理回路で構成される。
【００２３】
2004234110.tif 000003
即ち、最下位ビット（第３ビット）へのキャリーインｃ［３］は、下位からのキャリインＣｉｎである（式（１））。また、次の第２ビットへのキャリーインｃ［２］は、最下位ビットのジェネレーションｇ［３］がｇ［３］＝１か、プロパゲーションｐ［３］がｐ［３］＝１で且つキャリーインＣｉｎがＣｉｎ＝１の時に発生する（式（２））。更に、第１ビットへのキャリーインｃ［１］は、第２ビットのジェネレーションｇ［２］がｇ［２］＝１か、プロパゲーションｐ［２］がｐ［２］＝１でありかつ第２ビットへのキャリーインｃ［２］がｃ［２］＝１の時に発生する（式（３））。この式（３）に式（２）を代入すると、上記式（４）が求められる。
【００２４】
同様に、第０ビット（最上位ビット）へのキャリーインｃ［０］は、第１ビットのジェネレーションｇ［１］がｇ［１］＝１か、プロパゲーションｐ［１］がｐ［１］＝１でありかつ第１ビットへのキャリーインｃ［１］がｃ［１］＝１の時に発生する（式（５））。この式（５）に式（４）を代入すると、上記式（６）が求められる。
【００２５】
上記から理解されるとおり、キャリーインの一般式は、次の通りである。
【００２６】
ｃ［ｎ］＝ｇ［ｎ＋１］  ｜  （ｐ［ｎ＋１］  ・  ｃ［ｎ＋１］））
従って、キャリーアウト生成回路１２は、次の演算式の論理回路で構成される。
【００２７】
Ｃｏｕｔ＝ｇ［０］  ｜  （ｐ［０］  ・  ｃ［０］））
さて、加算値とキャリーアウトを求める回路と共に、入力データＡ，Ｂのパリティビットから予測パリティビットを求める回路が設けられる。この回路は、ＣＰ（Ｃａｒｒｙ  ｆｏｒ  Ｐａｒｉｔｙ）生成回路１８と、予測パリティ生成回路１４とからなる。入力データＡ，ＢのパリティビットＡ［Ｐ］、Ｂ［Ｐ］の不良の有無を示す情報をそのまま加算値ＳのパリティビットＳ［Ｐ］にも伝播させる予測パリティビットＳ［Ｐ］は、次の演算式で求められることが知られている。
【００２８】
Ｓ［Ｐ］  ＝  Ａ［Ｐ］  ｖ  Ｂ［Ｐ］  ｖ  ＣＰ４                          （７）
ここで、ＣＰ４は、各ビット（各桁）での桁上げによるパリティビットへの影響を示すビットであり、キャリーフォーパリティ（パリティビットのキャリー）と称される。このキャリーフォーパリティＣＰ４は、各ビット（各桁）へのキャリーインｃ［０］，ｃ［１］，ｃ［２］，ｃ［３］が何回発生したかを示すビットであり、次の一般的に知られた演算式により求められる。
【００２９】
ＣＰ４    ＝  ｃ［０］  ｖ  ｃ［１］  ｖ  ｃ［２］  ｖ  ｃ［３］                    （８）
つまり、排他的論理和ｖは、「１」の時反転し、「０」の時反転しないことと等価であるので、結局、キャリフォーパリティＣＰ４は、各桁へのキャリーインの回数が奇数（ＣＰ４＝０）か偶数（ＣＰ４＝１）かを示すビットデータである。
【００３０】
上記式（８）に上記式（１）（２）（４）（６）をそれぞれ代入して展開すると、次の通りである。
【００３１】
ＣＰ４  ＝  ［（ｇ［１］  ・  〜ｇ［２］  ・  〜ｇ［３］）  ｜  （〜ｐ［１］  ・  ｇ［２］  ・  〜ｇ［３］）  ｜
（〜ｇ［１］  ・  〜ｐ［２］  ・  ｇ［３］）  ｜  （ｐ［１］  ・  ｐ［２］  ・  ｇ［３］）］  ：  ｉｆ  Ｃｉｎ  ＝  ０
［（〜ｇ［１］  ・  〜ｇ［２］  ・  〜ｐ［３］）  ｜  （ｐ［１］  ・  ｇ［２］  ・  〜ｐ［３］）  ｜
（ｇ［１］  ・  〜ｐ［２］  ・  ｐ［３］）  ｜  （〜ｐ［１］  ・  ｐ［２］  ・  ｐ［３］）］  ：  ｉｆ  Ｃｉｎ  ＝  １    （９）
この演算式（９）は、キャリーインＣｉｎが「０」の場合と「１」の場合とに区分して構成されているが、それぞれの演算式は、前段階で生成されるジェネレーションｇとプロパゲーションｐの反転、非反転ビットを入力とする論理回路で構成可能である。この演算式は、一般的に知られている。
【００３２】
図２は、キャリーフォーパリティ生成回路１８の論理回路図である。この論理回路図は、演算式（９）をそのまま論理回路に展開している。即ち、ＮＡＮＤゲート２０〜２３とそれらの出力のＮＡＮＤゲート２４とで、ＡＮＤ回路とＯＲ回路とが生成され、演算式（９）のＣｉｎ＝０の場合の項が演算される。また、ＮＡＮＤゲート２５〜２８とそれらの出力のＮＡＮＤゲート２９とで、ＡＮＤ回路とＯＲ回路とが生成され、演算式（９）のＣｉｎ＝１の場合の項が演算される。そして、セレクタ３０が、ゲート２４，２９の出力を、Ｃｉｎ＝１の時とＣｉｎ＝０の時とに応じて、選択する。
【００３３】
図２のキャリーフォーパリティ生成回路１８は、演算式（９）をそのまま論理回路に展開した構成になっている。この生成回路１８は、３入力のゲート２０〜２３、２５〜２８を８個、４入力のゲート２４，２９を２個、そして、セレクタ３０を有する。３入力のＮＡＮＤゲートは、ＣＭＯＳ回路で構成されると６トランジスタを必要とする。また、４入力のＮＡＮＤゲートは、ＣＭＯＳ回路で構成されると８トランジスタを必要とする。従って、図２の回路では、ＮＡＮＤゲートだけで６４個のトランジスタを必要とし、セレクタ３０が４トランジスタで構成されるとすると、全部で６８個のトランジスタを必要とする。これが６ビット、８ビットと入力データのビット数が大きくなると、そのトランジスタの個数は指数関数的に増大することになり、高集積化を阻害する要因になる。
【００３４】
そこで、本発明者は、パストランジスタ回路のみによるキャリーフォーパリティ生成回路を新たに発明した。パストランジスタとは、逆相のコントロールビットに応じて、２つの入力の一方を選択するセレクタであり、ＣＭＯＳ回路で構成すると、逆相のコントロールビットが使用可能状態であれば、４個のトランジスタで実現できる。
【００３５】
図３は、ＣＭＯＳ回路で構成されたパストランジスタの回路図の一例を示す図である。パストランジスタ回路は、一種のセレクタであり、制御信号Ｓが「１」の時に入力Ａを出力Ｘとして選択し、制御信号Ｓが「０」の時に入力Ｂを出力Ｘとして選択する。第１のトランスファーゲートを構成するＮチャネルトランジスタＮ１とＰチャネルトランジスタＰ１は、制御信号ＳがＨレベル（Ｓ＝１）の時に入力Ａを通過させる。また、第２のトランスファーゲートを構成するＮチャネルトランジスタＮ２とＰチャネルトランジスタＰ２は、制御信号ＳがＬレベル（Ｓ＝０）の時に入力Ｂを通過させる。そこで、このようなパストランジスタ回路で構成されるセレクタＳＥＬを、図３に示されるように表記することにする。
【００３６】
そして、出力Ｘの演算式として、次のような表記を採用することにする。
【００３７】
Ｘ＝（Ｓ・Ａ）｜（〜Ｓ・Ｂ）＝Ｓ＜Ａ，Ｂ＞          （１０）
この演算式は、Ｘが、Ｓ＝１のときにＡ、Ｓ＝０のときにＢであることを示す。
この演算式は、入力Ａ，Ｂ、制御信号Ｓからなるセレクタに対応する。
【００３８】
そこで、キャリーフォーパリティＣＰを求める演算式を、上記の演算式（１０）を利用して表記することで、図３のパストランジスタ回路によるセレクタを利用してキャリーフォーパリティ発生回路１８を構成することができる。
【００３９】
更に新たな表記方法として、ｎビットに対するキャリーフォーパリティＣＰｎを、下位からのキャリインＣｉｎ＝０ｏｒ１に対して、ｃｐ［ｎ，０］、ｃｐ［ｎ，１］と表すことにする。こうすることにより、次のように式（１０）の形式で表すことができる。
【００４０】
ＣＰｎ＝Ｃｉｎ＜ｃｐ［ｎ，１］，ｃｐ［ｎ，０］＞                          （１１）
この式は、前述の式１０と同等であり、図３のパストランジスタ回路により実現可能である。
【００４１】
図４は、キャリーフォーパリティを説明する図である。図４を参照しながら、１ビット〜４ビット及びｎビットに対するキャリーフォーパリティＣＰ１〜ＣＰ４、ＣＰ４について説明すると共に、その再帰性について説明する。ｎビットに対しては、最上位を第０ビット、最下位を第ｎ−１ビットとしたことに伴い、図４では、ビット数が増加するたびに第１ビット、第２ビット、第３ビット．．．第ｎ−１ビットと最下位ビットが付加されるように表記される。このように表記することで、キャリーフォーパリティの再帰性の説明が容易になる。
【００４２】
図４（１）は１ビット（１桁）の場合であり、１ビットの場合は、前述の式８に示したとおり、キャリーフォーパリティＣＰ１は、下位からのキャリーＣｉｎがあるかないかによって決まる。つまり、ＣＰ１＝ｃ［０］＝Ｃｉｎであるので、結局、１桁の場合のキャリーフォーパリティＣＰ１は、次の式群（１２）の通りである。
【００４３】
ＣＰ１＝Ｃｉｎ＜ｃｐ［１，１］，ｃｐ［１，０］＞＝Ｃｉｎ＜１，０＞
ｃｐ［１，０］  ＝０
ｃｐ［１，１］  ＝１                                          （１２）
図４（２）は２ビット（２桁）の場合である。２ビットの場合は、１ビットの第０桁に対してキャリーが発生するか否かと考えることにより、２ビットのキャリーフォーパリティＣＰ２を１ビットのキャリーフォーパリティＣＰ１のｃｐ［１，１］，ｃｐ［１，０］を利用して表現することができる。つまり、キャリーインＣｉｎ＝０の場合は、最下位の第１ビットにキャリー（桁上げ）が発生するか否かを示すジェネレーションｇ［１］が、上位の１ビット（第０ビット）に対するキャリーインＣｉｎに対応するので、
ｃｐ［２，０］＝ｇ［１］＜ｃｐ［１，１］，ｃｐ［１，０］＞
更に、キャリーインＣｉｎ＝１の場合は、そのキャリーインによる最下位の第１ビットでの反転と、最下位の第１ビットのプロパゲーションｐ［１］が、上位の１ビット（第０ビット）に対するキャリーインＣｉｎに対応することとを考慮すると、
ｃｐ［２，１］＝〜ｐ［１］  ＜ｃｐ［１，１］，ｃｐ［１，０］＞
となる。
【００４４】
以上をまとめると、２桁の場合のキャリーフォーパリティＣＰ２は、以下の式群（１３）の通りである。
【００４５】
ＣＰ２＝Ｃｉｎ＜ｃｐ［２，１］，ｃｐ［２，０］＞
ｃｐ［２，０］＝ｇ［１］＜ｃｐ［１，１］，ｃｐ［１，０］＞＝ｇ［１］
ｃｐ［２，１］＝〜（ｐ［１］＜ｃｐ［１，１］，ｃｐ［１，０］＞）＝〜ｐ［１］              （１３）
図４（３）は３ビット（３桁）の場合である。３ビットの場合は、２ビットの第０、１桁に対してキャリーが発生するか否かと考えることにより、３ビットのキャリーフォーパリティＣＰ３を２ビットのキャリーフォーパリティＣＰ２のｃｐ［２，１］，ｃｐ［２，０］を利用して表現することができる。つまり、キャリーインＣｉｎ＝０の場合は、最下位の第２ビットにキャリー（桁上げ）が発生するか否かを示すジェネレーションｇ［２］が、上位の２ビット（第０、１ビット）に対するキャリーインＣｉｎに対応するので、
ｃｐ［３，０］＝ｇ［２］＜ｃｐ［２，１］，ｃｐ［２，０］＞
更に、キャリーインＣｉｎ＝１の場合は、そのキャリーインによる最下位の第２ビットでの反転と、最下位の第２ビットのプロパゲーションｐ［２］が、上位の２ビット（第０、１ビット）に対するキャリーインＣｉｎに対応することを考慮すると、
ｃｐ［３，１］＝〜ｐ［２］  ＜ｃｐ［２，１］，ｃｐ［２，０］＞
となる。
【００４６】
従って、３桁の場合のキャリーフォーパリティＣＰ３は、以下の式群（１４）の通りである。
【００４７】
2004234110.tif 000004
図４（４）は４ビット（４桁）の場合である。４ビットの場合は、２ビットの第０〜２桁に対してキャリーが発生するか否かと考えることにより、４ビットのキャリーフォーパリティＣＰ４を３ビットのキャリーフォーパリティＣＰ３のｃｐ［３，１］，ｃｐ［３，０］を利用して表現することができる。つまり、キャリーインＣｉｎ＝０の場合は、最下位の第３ビットにキャリー（桁上げ）が発生するか否かを示すジェネレーションｇ［３］が、上位の３ビット（第０〜２ビット）に対するキャリーインＣｉｎに対応するので、
ｃｐ［４，０］＝ｇ［３］＜ｃｐ［３，１］，ｃｐ［３，０］＞
更に、キャリーインＣｉｎ＝１の場合は、そのキャリーインによる最下位の第３ビットでの反転と、最下位の第３ビットのプロパゲーションｐ［３］が、上位の３ビット（第０〜２ビット）に対するキャリーインＣｉｎに対応することを考慮すると、
ｃｐ［４，１］＝〜ｐ［３］  ＜ｃｐ［３，１］，ｃｐ［３，０］＞
となる。
【００４８】
結局、４桁の場合のキャリーフォーパリティＣＰ４は、以下の式群（１５）の通りである。
【００４９】
2004234110.tif 000005
この展開式は前述の式（９）と一致している。
【００５０】
図４（５）はｎビットに一般化した場合を示し、上記と同様の再帰性を利用すると、ｎビットの全加算器でのキャリーフォーパリティＣＰｎは、
ＣＰｎ  ＝  Ｃｉｎ＜ｃｐ［ｎ，１］，  ｃｐ［ｎ，０］＞
ｃｐ［ｎ，０］  ＝    （ｇ［ｎ−１］＜ｃｐ［ｎ−１，１］，  ｃｐ［ｎ−１，０］＞）
ｃｐ［ｎ，１］  ＝  〜（ｐ［ｎ−１］＜ｃｐ［ｎ−１，１］，  ｃｐ［ｎ−１，０］＞）                                          （１６）
上記の式（１２）〜（１６）を並べて記載すると、再帰的な関係を有していることが理解される。
【００５１】
ｃｐ［ｎ，０］  ＝    （ｇ［ｎ−１］＜ｃｐ［ｎ−１，１］，  ｃｐ［ｎ−１，０］＞）
ｃｐ［ｎ，１］  ＝  〜（ｐ［ｎ−１］＜ｃｐ［ｎ−１，１］，  ｃｐ［ｎ−１，０］＞）
ｃｐ［ｎ−１，０］  ＝    （ｇ［ｎ−２］＜ｃｐ［ｎ−２，１］，  ｃｐ［ｎ−２，０］＞）
ｃｐ［ｎ−１，１］  ＝  〜（ｐ［ｎ−２］＜ｃｐ［ｎ−２，１］，  ｃｐ［ｎ−２，０］＞）
．．．．．．．．
ｃｐ［４，０］  ＝  （ｇ［３］＜ｃｐ［３，１］，  ｃｐ［３，０］＞）
ｃｐ［４，１］  ＝  〜（ｐ［３］＜ｃｐ［３，１］，  ｃｐ［３，０］＞）
ｃｐ［３，０］  ＝  （ｇ［２］＜ｃｐ［２，１］，  ｃｐ［２，０］＞）
ｃｐ［３，１］  ＝  〜（ｐ［２］＜ｃｐ［２，１］，  ｃｐ［２，０］＞）
ｃｐ［２，０］  ＝  （ｇ［１］＜ｃｐ［１，１］，  ｃｐ［１，０］＞）  ＝  ｇ［１］
ｃｐ［２，１］  ＝  〜（ｐ［１］＜ｃｐ［１，１］，  ｃｐ［１，０］＞）  ＝  〜ｐ［１］
ｃｐ［１，０］  ＝  Ｃｉｎ  ＝  ０
ｃｐ［１，１］  ＝  Ｃｉｎ  ＝  １                                                                                （１７）
図５は、キャリーフォーパリティＣＰｎを求める論理回路図である。この論理回路は、上記式群（１６）をセレクタＳＥＬ１、ＳＥＬ２、ＳＥＬｅと、インバータ４０とで構成している。各セレクタは、図３のパストランジスタ回路がそれぞれ利用される。つまり、セレクタＳＥＬｅが次の式に対応し、
ＣＰｎ  ＝  Ｃｉｎ＜ｃｐ［ｎ，１］，  ｃｐ［ｎ，０］＞
セレクタＳＥＬ１が次の式に対応し、
ｃｐ［ｎ，０］  ＝    （ｇ［ｎ−１］＜ｃｐ［ｎ−１，１］，  ｃｐ［ｎ−１，０］＞）
セレクタＳＥＬ２が次の式に対応する。
【００５２】
ｃｐ［ｎ，１］  ＝  〜（ｐ［ｎ−１］＜ｃｐ［ｎ−１，１］，  ｃｐ［ｎ−１，０］＞）
そして、図５の回路からセレクタＳＥＬｅを除いた部分が、ユニット回路ＵＮＩＴｎを構成する。このユニット回路は、ｎを減じて、より前段のユニット回路を構成することができる。
【００５３】
図６は、前段のユニット回路を示す図である。つまり、図５の前段には、ユニット回路ＵＮＩＴｎ−１が、その前段にはユニット回路ＵＮＩＴｎ−２が構成される。そして、ｎ＝３のユニット回路まで展開すると、ｎビット幅の全加算器のためのキャリーフォーパリティＣＰｎを求める論理回路が完成する。
【００５４】
図７は、４ビット幅の全加算器用のキャリーフォーパリティＣＰ４を生成する回路１８の論理回路である。この回路では、２段のユニット回路ＵＮＩＴ３、ＵＮＩＴ４と、最終段のキャリーインＣｉｎを制御信号とするセレクタＳＥＬｅとで構成され、前述の式（１７）のｃｐ［４，０］，ｃｐ［４，１］、ｃｐ［３，０］，ｃｐ［３，１］が、セレクタ１２、１３及び１０、１１により求められる。従って、この論理回路は、各セレクタＳＥＬ１０〜ＳＥＬ１３、ＳＥＬｅで４個のトランジスタ、各インバータ４１，４２で２個のトランジスタの、合計で２４個のトランジスタで構成可能である。尚、各セレクタの制御信号ｇ［１］，ｇ［２］，ｇ［３］，ｐ［１］，ｐ［２］，ｐ［３］とその反転信号は、図１のプロパゲーション生成回路Ｐ、ジェネレーション生成回路Ｇでそれぞれ生成されているものとする。
【００５５】
図７の出力であるキャリーフォーパリティ信号ＣＰ４は、図１に示されるとおり、予測パリティ生成回路１４に入力され、入力データＡ，ＢのパリティビットＡ［Ｐ］とＢ［Ｐ］との排他的論理和が求められて、加算値の予測パリティＳ［Ｐ］が生成される。つまり、本実施の形態のパリティ予測回路は、ＣＰ生成回路１８と予測パリティ生成回路１４とで構成される。そして、予測パリティ生成回路１４は、排他的論理和演算をすればよいので、この排他的論理和回路も、周知のとおり、セレクタを組み合わせることで構成可能である。
【００５６】
図８は、４ビット幅の全加算器用のキャリーフォーパリティＣＰ４を生成する回路１８の論理回路の変形例である。図７の回路では、セレクタＳＥＬ１０とＳＥＬ１２とＳＥＬｅとが縦列に接続されている。従って、図８の回路では、伝搬信号の波形成形のために、各ユニットＵＮＩＴ３，４の境界に波形成型用のバッファ４３，４５が設けられる。同様に、セレクタＳＥＬ１１、ＳＥＬ１３、ＳＥＬｅの信号伝搬経路にも、波形成型用のバッファ４４，４６が設けられる。但し、この経路には、インバータ４１，４２が設けられているので、これらのバッファ４４，４６を省略することもできる。
【００５７】
図９は、図７のキャリーフォーパリティ生成回路をｎビット幅まで拡張した論理回路である。この回路でも複数段のユニット回路ＵＮＩＴ３〜ｎが縦列に接続される。ユニット回路ＵＮＩＴ１、ＵＮＩＴ２とは、図７のユニット回路ＵＮＩＴ３，４に対応する。つまり、ユニットＵＮＩＴｋが、ｋ＝３〜ｎまで繰り返され、最終段のセレクタ回路ＳＥＬｅには、ユニットＵＮＩＴｎのセレクタの出力が入力される。
【００５８】
即ち、図９のキャリーフォーパリティ生成回路は、
加算入力Ａ［１］とＢ［１］のジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］  の反転信号のいずれかを、加算入力Ａ［２］とＢ［２］のジェネレーションビットｇ［２］に応じて選択して出力する第５のセレクタＳＥＬ５と、
ジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］  の反転信号のいずれかを、加算入力Ａ［２］とＢ［２］のプロパゲーションビットｐ［２］に応じて選択して出力する第６のセレクタＳＥＬ６と、を有する第３のユニットＵＮＩＴ３を有する。
【００５９】
そして、第２ｋ−３（但しｋは１〜ｎ−３の整数）のセレクタの出力または第２ｋ−２のセレクタの出力の反転信号のいずれかを、加算入力Ａ［ｋ−１］とＢ［ｋ−１］のジェネレーションビットｇ［ｋ−１］に応じて選択して出力する第２ｋ−１のセレクタと、
前記第２ｋ−３のセレクタの出力または前記第２ｋ−２のセレクタの出力の反転信号のいずれかを、前記加算入力Ａ［ｋ−１］とＢ［ｋ−１］のプロパゲーションビットｐ［ｋ−１］に応じて選択して出力する第２ｋのセレクタと、を有する第ｋのユニットＵＮＩＴｋが、ｋ＝３〜ｎまで繰り返し縦列に接続される。即ち、第３のユニットＵＮＩＴ３〜第ｎのユニットＵＮＩＴｎが、縦列に接続される。
【００６０】
更に、最終段のユニットＵＮＩＴｎの第２ｎ−１のセレクタの出力または第２ｎのセレクタの出力の反転信号のいずれかを、キャリーインＣｉｎに応じて選択して、キャリーフォーパリティＣＰｎとして出力する最終段セレクタＳＥＬｅを有する。
【００６１】
図９の論理回路においても、各ユニット間には、図８のようにバッファゲートを設けて、波形成形を行うことが好ましい。また、各セレクタが、パストランジスタで構成されることで、信号伝播を高速化して、キャリーフォーパリティビットＣＰｎの生成を高速化することができる。
【００６２】
以上のとおり、本実施の形態でのキャリーフォーパリティ信号生成回路は、少ない素子数と少ない入力数で構成することができる。従って、全加算器のパリティ予測回路を、少ない入力数、素子数で構成することができる。しかも、セレクタにパストランジスタを利用することで、高速にキャリーフォーパリティ信号を生成することができる。
【００６３】
以上、実施の形態例をまとめると以下の付記の通りである。
【００６４】
（付記１）ｎビット幅のパリティビット付き加算入力Ａ［０：ｎ−１，Ｐ］とＢ［０：ｎ−１，Ｐ］とキャリーインＣｉｎとから、予測パリティビット付き加算値Ｓ［０：ｎ−１，Ｐ］を求める全加算器におけるパリティ予測回路において、
前記予測パリティビットＳ［Ｐ］は、前記加算入力のパリティビットＡ［Ｐ］、Ｂ［Ｐ］と、各桁へのキャリービットｃ［ｉ］  （但しｉは０〜ｎ−１の整数）の排他的論理和であるキャリーフォーパリティＣＰｎと、の排他的論理和により生成され、
前記キャリーフォーパリティＣＰｎの演算式は、
ＣＰｎ＝Ｃｉｎ＜ｃｐ［ｎ，１］，  ｃｐ［ｎ，０］＞
で表されるものとし（但し、Ｓ＜Ｘ，Ｙ＞は、Ｓ＝１の時はＸを、Ｓ＝０の時はＹを出力するものとし、更に、ｃｐ［ｎ，１］は前記キャリーインＣｉｎ＝１の時のキャリーフォーパリティＣＰｎを、ｃｐ［ｎ，０］は前記キャリーインＣｉｎ＝０の時のキャリーフォーパリティＣＰｎをそれぞれ示すものとする。）、
前記パリティ予測回路は、
前記キャリーインＣｉｎ＝０及び１の場合のキャリーフォーパリティＣＰ［ｋ−１，０］及びＣＰ［ｋ−１，１］を入力とし（但しｋはｎ以下の整数）、加算入力Ａ［ｋ−１］とＢ［ｋ−１］とのジェネレーションビットｇ［ｋ−１］に応じて、前記入力ＣＰ［ｋ−１，０］またはＣＰ［ｋ−１，１］のいずれかをキャリーフォーパリティｃｐ［ｋ，０］として出力する第１のセレクタと、前記キャリーフォーパリティＣＰ［ｋ−１，０］及びＣＰ［ｋ−１，１］を入力とし、前記加算入力Ａ［ｋ−１］とＢ［ｋ−１］とのプロパゲーションビットｐ［ｋ−１］に応じて、前記入力ＣＰ［ｋ−１，０］またはＣＰ［ｋ−１，１］のいずれかをキャリーフォーパリティｃｐ［ｋ，１］の反転信号として出力する第２のセレクタとを有する演算ユニットを有し、
当該演算ユニットが複数段、縦列に接続され、
更に、最終段に、キャリーインＣｉｎに応じて、キャリーフォーパリティｃｐ［ｎ，０］またはｃｐ［ｎ，１］のいずれかをキャリーフォーパリティＣＰｎとして出力する最終段セレクタを有することを特徴とするパリティ予測回路。
【００６５】
（付記２）付記１において、
前記演算ユニットの第１及び第２のセレクタの出力が、後段の演算ユニットの入力として供給されるように縦列に接続されることを特徴とするパリティ予測回路。
【００６６】
（付記３）付記２において、
前記各演算ユニットは、前記第２のセレクタの出力に接続されたインバータを有することを特徴とするパリティ予測回路。
【００６７】
（付記４）付記２において、
前記各演算ユニットは、後段の演算ユニットとの間に、バッファゲートを有することを特徴とするパリティ予測回路。
【００６８】
（付記５）付記１において、
前記第１、第２及び最終段のセレクタが、前記ジェネレーションビットｇ［ｋ−１］、プロパゲーションビットｐ［ｋ−１］、キャリーインビットＣｉｎを制御信号とするパストランジスタ回路で構成されていることを特徴とするパリティ予測回路。
【００６９】
（付記６）４ビット幅のパリティビット付き入力Ａ［０：３，Ｐ］とＢ［０：３，Ｐ］とキャリーインＣｉｎとから、予測パリティビット付き加算値Ｓ［０：３，Ｐ］を求める全加算器におけるパリティ予測回路において、
前記予測パリティビットＳ［Ｐ］は、前記入力のパリティビットＡ［Ｐ］、Ｂ［Ｐ］と、各桁へのキャリービットｃ［ｉ］  （但しｉは０〜３の整数）の排他的論理和であるキャリーフォーパリティＣＰ４との排他的論理和により生成され、
前記パリティ予測回路は、前記キャリーフォーパリティＣＰ４を生成する回路を有し、
当該キャリーフォーパリティＣＰ４生成回路は、
前記加算入力Ａ［１］とＢ［１］のジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］の反転信号のいずれかを、前記加算入力Ａ［２］とＢ［２］のジェネレーションビットｇ［２］に応じて選択して出力する第１のセレクタと、
前記ジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］  の反転信号のいずれかを、前記加算入力Ａ［２］とＢ［２］のプロパゲーションビットｐ［２］に応じて選択して出力する第２のセレクタと、
前記第１のセレクタの出力または前記第２のセレクタの出力の反転信号のいずれかを、前記加算入力Ａ［３］とＢ［３］のジェネレーションビットｇ［３］に応じて選択して出力する第３のセレクタと、
前記第１のセレクタの出力または前記第２のセレクタの出力の反転信号のいずれかを、前記加算入力Ａ［３］とＢ［３］のプロパゲーションビットｐ［３］に応じて選択して出力する第４のセレクタと、
前記第１のセレクタの出力または前記第２のセレクタの出力の反転信号のいずれかを、前記キャリーインＣｉｎに応じて選択して、前記キャリーフォーパリティＣＰ４として出力する最終段セレクタとを有することを特徴とするパリティ予測回路。
【００７０】
（付記７）付記６において、
更に、前記第２及び第４のセレクタの出力に接続されたインバータを有することを特徴とするパリティ予測回路。
【００７１】
（付記８）付記６において、
前記セレクタは、制御信号に応じていずれか一方の入力を通過させるパストランジスタ回路により構成されることを特徴とするパリティ予測回路。
【００７２】
（付記９）ｎビット幅のパリティビット付き入力Ａ［０：ｎ−１，Ｐ］とＢ［０：ｎ−１，Ｐ］とキャリーインＣｉｎとから、予測パリティビット付き加算値Ｓ［０：ｎ−１，Ｐ］を求める全加算器におけるパリティ予測回路において、
前記予測パリティビットＳ［Ｐ］は、前記入力のパリティビットＡ［Ｐ］、Ｂ［Ｐ］と、各桁へのキャリービットｃ［ｉ］  （但しｉは０〜ｎ−１の整数）の排他的論理和であるキャリーフォーパリティＣＰｎとの排他的論理和により生成され、
前記パリティ予測回路は、前記キャリーフォーパリティＣＰｎを生成する回路を有し、
当該キャリーフォーパリティＣＰｎ生成回路は、
前記加算入力Ａ［１］とＢ［１］のジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］  の反転信号のいずれかを、前記加算入力Ａ［２］とＢ［２］のジェネレーションビットｇ［２］に応じて選択して出力する第５のセレクタと、
前記ジェネレーションビットｇ［１］またはプロパゲーションビットｐ［１］  の反転信号のいずれかを、前記加算入力Ａ［２］とＢ［２］のプロパゲーションビットｐ［２］に応じて選択して出力する第６のセレクタと、
第２ｋ−３（但しｋは４〜ｎの整数）のセレクタの出力または第２ｋ−２のセレクタの出力の反転信号のいずれかを、前記加算入力Ａ［ｋ−１］とＢ［ｋ−１］のジェネレーションビットｇ［ｋ−１］に応じて選択して出力する第２ｋ−１のセレクタと、
前記第２ｋ−３のセレクタの出力または前記第２ｋ−２のセレクタの出力の反転信号のいずれかを、前記加算入力Ａ［ｋ−１］とＢ［ｋ−１］のプロパゲーションビットｐ［ｋ−１］に応じて選択して出力する第２ｋのセレクタとを有し、
前記第２ｋ−１のセレクタと第２ｋのセレクタとが、ｋ＝４〜ｎまで繰り返し縦列に接続され、
更に、前記第２ｎ−１のセレクタの出力または前記第２ｎのセレクタの出力の反転信号のいずれかを、前記キャリーインＣｉｎに応じて選択して、前記キャリーフォーパリティＣＰｎとして出力する最終段セレクタを有することを特徴とするパリティ予測回路。
【００７３】
（付記１０）付記９において、
更に、前記第２ｋのセレクタの出力にそれぞれ接続されたインバータを有することを特徴とするパリティ予測回路。
【００７４】
（付記１１）付記９において、
前記セレクタは、制御信号に応じていずれか一方の入力を通過させるパストランジスタ回路により構成されることを特徴とするパリティ予測回路。
【００７５】
【発明の効果】
以上、本発明によれば、全加算器のパリティ予測回路を、少ない入力数、素子数で構成することができる。
【図面の簡単な説明】
【図１】本実施の形態に適用される全加算器とパリティ予測回路とを示す図である。
【図２】キャリーフォーパリティ生成回路１８の論理回路図である。
【図３】ＣＭＯＳ回路で構成されたパストランジスタの回路図の一例を示す図である。
【図４】キャリーフォーパリティを説明する図である。
【図５】キャリーフォーパリティＣＰｎを求める論理回路図である。
【図６】前段のユニット回路を示す図である。
【図７】４ビット幅の全加算器用のキャリーフォーパリティＣＰ４を生成する回路１８の論理回路である。
【図８】４ビット幅の全加算器用のキャリーフォーパリティＣＰ４を生成する回路１８の論理回路の変形例である。
【図９】ｎビット幅の全加算器用のキャリーフォーパリティＣＰｎを生成する回路１８の論理回路である。
【符号の説明】
ＳＥＬ    セレクタ、ＵＮＩＴ  ユニット、ｇ  ジェネレーションビット、ｐ  プロパゲーションビット、ｈ  ハーフサムビット、Ａ，Ｂ  加算入力、Ｓ  加算値、Ｃｉｎ
キャリーイン、ＣＰｎ    キャリーフォーパリティ
【図１】
2004234110.tif 000006
【図２】
2004234110.tif 000007
【図３】
2004234110.tif 000008
【図４】
2004234110.tif 000009
【図５】
2004234110.tif 000010
【図６】
2004234110.tif 000011
【図７】
2004234110.tif 000012
【図８】
2004234110.tif 000013
【図９】
2004234110.tif 000014