(57)【特許請求の範囲】
【請求項１】
データ処理装置であって、
プリチャージ・フェーズの間第１の論理値にプリチャージするように配置した少なくとも１つの入力ラインを有するプリチャージ型回路と、
第１の前記少なくとも１つの入力ラインに接続し、かつ前記プリチャージ・フェーズに続くアクティブ・フェーズの間に前記第１の入力ラインに第１のデータ値または反転した第１のデータ値を与えるように配置した条件付き反転回路であって、該条件付き反転回路が、
前記第１の入力ラインに結合し、かつ前記プリチャージ・フェーズの間、所定の論理値にプリチャージするように配置した信号ラインと、
前記信号ラインと所定の電圧との間に接続した第１組の論理ゲートであって、選択信号の受信時に前記第１のデータ値を前記第１の入力ラインに与えさせるように配置した、前記の第１組の論理ゲートと、
前記信号ラインと前記所定の電圧との間に接続した第２組の論理ゲートであって、選択信号の受信時に前記反転した第１のデータ値を前記第１の入力ラインに与えさせる、前記の第２組の論理ゲートと、
を含み、
前記アクティブ・フェーズにおいて、前記第１組の論理ゲートまたは前記第２組の論理ゲートのいずれかが前記選択信号を受けるように配置することを特徴とするデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置であって、各組の論理ゲートは、前記信号ラインと前記所定の電圧との間に直列に接続した２以上の論理ゲートを含むことを特徴とするデータ処理装置。
【請求項３】
請求項２記載のデータ処理装置であって、前記第１組内の第１論理ゲートは、前記第１のデータ値を前記第１の入力ラインに与えさせるため、第１の選択信号の受信時にターンオンさせるように構成したことを特徴とするデータ処理装置。
【請求項４】
請求項３記載のデータ処理装置であって、前記第１組内の第２論理ゲートは、前記第１のデータ値を受け、かつ前記第１のデータ値の値に依存してターンオンさせるように構成したことを特徴とするデータ処理装置。
【請求項５】
請求項２記載のデータ処理装置であって、前記第２組内の第１論理ゲートは、前記反転した第１のデータ値を前記第１の入力ラインに与えさせるため、第２の選択信号の受信時にターンオンさせるように構成したことを特徴とするデータ処理装置。
【請求項６】
請求項５記載のデータ処理装置であって、前記第２組内の第２論理ゲートは、前記反転した第１のデータ値を受け、かつ前記反転した第１のデータ値の値に依存してターンオンさせるように構成したことを特徴とするデータ処理装置。
【請求項７】
請求項１記載のデータ処理装置であって、前記プリチャージ型回路の前記少なくとも１つの入力ラインをプリチャージする前記第１の論理値は、論理“０”値であることを特徴とするデータ処理装置。
【請求項８】
請求項１記載のデータ処理装置であって、前記第１組および第２組内の前記論理ゲートは、ｎ型論理ゲートであることを特徴とするデータ処理装置。
【請求項９】
請求項７記載のデータ処理装置であって、前記第１組および第２組内の前記論理ゲートはｎ型論理ゲートであり、前記第１組および第２組の論理ゲートを接続する前記所定の電圧はアースであり、かつ前記信号ラインは論理“１”値にプリチャージし、前記信号ラインは、インバータを介して前記第１入力ラインに結合したことを特徴とするデータ処理装置。
【請求項１０】
請求項１記載のデータ処理装置であって、前記プリチャージ型回路はアダー回路であることを特徴とするデータ処理装置。
【請求項１１】
請求項１０記載のデータ処理装置であって、前記アダー回路は、前記第１の入力ラインおよび第２の入力ラインを有することを特徴とするデータ処理装置。
【請求項１２】
請求項１１記載のデータ処理装置であって、さらに、前記第２の入力ラインに接続した第２の条件付き反転回路を含むことを特徴とするデータ処理装置。
【請求項１３】
請求項１記載のデータ処理装置であって、さらに、ドミノ論理を形成するため直列に接続した複数のプリチャージ型回路を含み、前記条件付き反転論理は、前記プリチャージ型回路の内の少なくとも１つのものの入力ラインに接続したことを特徴とするデータ処理装置。
【請求項１４】
請求項１３記載のデータ処理装置であって、前記条件付き反転論理は、前記ドミノ論理内の前記第１のプリチャージ型回路の入力ラインに接続したことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリチャージ型回路を備えたデータ処理装置に関し、特に、データ処理装置のプリチャージ型回路のための条件付き反転機能（ｆｕｎｃｔｉｏｎ）を提供する技術に関するものである。
【０００２】
【従来の技術】
プリチャージ型回路を用いる回路は、プリチャージ・フェーズを有し、これにおいて、各プリチャージ型回路の入力（群）および出力（群）は一般的に所定の論理値に駆動されるようになっている。１つまたはそれ以上のプリチャージ型回路をもつデータ処理装置を設計するとき、各プリチャージ型回路の入力に対しかなりの注意を払う必要があることがよく知られており、その理由は、それら入力が、プリチャージ型回路をイネーブルしたときのみ、すなわちプリチャージ型回路がそのプリチャージ・フェーズにないときにのみ、上記所定の論理値から他の論理値に遷移しなければならないからである。
【０００３】
【発明が解決しようとする課題】
例えば、プリチャージ型回路がｎ型論理に基づく場合、プリチャージ型回路の入力（群）および出力（群）をプリチャージ・フェーズの間論理“０”値に駆動することが通常である。明らかに、この場合には、入力ラインの内の１つのライン上の論理回路が、プリチャージ・フェーズの間にその入力を論理“０”から論理“１”に遷移させたとすると、これは、プリチャージ・フェーズから出たときにプリチャージ型回路がその意図した状態になっていないという点で、プリチャージ型回路のプリチャージングに対し悪影響を及ぼすことになる。確かに、入力におけるそのような変化は、プリチャージ型回路の出力を、論理“０”から論理“１”値に遷移させてしまうこともある。
【０００４】
この問題は、このようなプリチャージ型回路を多数直列に接続してドミノ論理を形成するときに、特に深刻となる。このようなドミノ論理をプリチャージするとき、全てのプリチャージ型回路を好ましくは同時にプリチャージして、各プリチャージ型回路の出力を同じ論理値、例えばｎ型プリチャージ型回路に対しては論理“０”値に駆動するようにする。明らかに、１つのプリチャージ型回路への入力の内の１つがプリチャージ・フェーズの間に遷移する場合、その影響は、ドミノ論理を形成する全てのプリチャージ型回路におそらく波紋のように広がって、その結果、ドミノ論理は、プリチャージ・フェーズから出たときに意図した状態にありそうになく、したがってプリチャージ型回路をイネーブルするアクティブ・フェーズに入ったときに正しい方法で動作することがありそうにない。
【０００５】
この問題は、刊行物“ＶＬＳＩ設計の原理”（the publication entitled“Principles of CMOS VLSI Design”by Weste and Estraghian, Second Edition, published by Addison Wesley）の３０９頁に説明されており、これにおいては、上述の問題に鑑み、ドミノ論理内には非反転論理のみを含ませることが重要である、と述べている。これは、そのようなプリチャージ型回路を、反転あるいは非反転のいずれかとできる排他的ＯＲ（ＸＯＲ）機能と非互換のものとし、したがってＸＯＲ機能のような出力をその入力の１つに受ける任意のプリチャージ型回路のプリチャージ・フェーズの結果として得られる状態に不確定さを導入することになってしまう。
【０００６】
上記の制限に拘わらず、プリチャージ型回路を使用することが好ましい場合がよくあるが、それは、プリチャージ型回路が非プリチャージ型回路よりも通常かなり高速であるからである。このため、原則として、プリチャージ型回路を使用して、マイクロプロセッサの算術論理ユニット（ＡＬＵ）内に使用されるような高速アダーのごとき回路を形成することが好ましい。しかし、このようなＡＬＵは、“加算”機能だけでなく“減算”機能も実現するため、そのアダー論理への入力の１つに条件付き反転機能を含むことがよくある。
【０００７】
代表的なＡＬＵ内に条件付き反転機能が必要であるとすると、１つの従来技術のアプローチは、非プリチャージ型アダー回路の使用から生ずる速度の低下にも拘わらず、非プリチャージ型アダー回路をプリチャージ型アダー回路の代わりに使用することであった。そのような構成は、図１に示している。この図１に示したように、非プリチャージ型アダー回路１００は、２つの入力（ＡおよびＢ）を有している。１つの入力値であるＢｄａｔａは、ライン１１０によって入力Ｂに与える一方、第２のデータ値であるＡｄａｔａは、ライン１２５でＸＯＲゲート１３０の入力に通す。ＸＯＲゲート１３０の他方の入力は、経路１２０により反転Ａ（ＩｎｖＡ）信号を受ける。ＩｎｖＡが論理“０”値を有する場合、Ａｄａｔａは、ＸＯＲゲート１３０からライン１０５でアダー回路１００の入力Ａに出力する。しかし、ＩｎｖＡが論理“１”値を有する場合、Ａｄａｔａの値は、ＸＯＲゲート１３０により反転し、そしてこの反転した値をライン１０５で入力Ａに与える。次に、非プリチャージ型アダー回路１００は、入力ＡおよびＢで受けた信号に基づき加算機能を実行し、そしてその結果を出力端子Ｓからライン１１５で出力する。
【０００８】
図１に示した回路は、加算および減算の実行を可能にするが、これは、非プリチャージ型アダー回路１００を使っているため、比較的低速の回路である。しかし、この非プリチャージ型アダー回路を、速度を増すためにプリチャージ型アダー回路で置き換える場合、この回路がＸＯＲゲート１３０があるにも拘わらず正しく動作するのを確実にするため、ある種のステップを配置することが重要である。図２には既知の従来技術を示している。この図２において、非プリチャージ型アダー回路１００は、プリチャージ型アダー回路２００と置き換えている。しかし、プリチャージ型アダー回路２００が正しくプリチャージされること、そして特にＸＯＲゲート１３０の存在がアダー回路２００のプリチャージした状態に影響を及ぼさないことを確保するため、何らかの自己調時型論理（self-timed logic）２２０を設けて、プリチャージ型アダー回路２００を経路２３０でイネーブルする前に遅延を導入することが必要である。この遅延を導入することにより、ＸＯＲ論理“１”３０がセトリングするまでプリチャージ型アダー回路２００がそのプリチャージ・フェーズに留まることが確実となる。
【０００９】
図２のこのアプローチは、プリチャージ型アダー回路２００の正しい動作を確保することができるが、そのような自己調時型経路を信頼性よく実装することは困難であり、そしてＸＯＲ論理の前にバレル・シフタ（ｂａｒｒｅｌ  ｓｈｉｆｔｅｒ）のような別の機能ユニットがある場合に、この問題の度合いが増す。さらに、自己調時型論理２２０を設けることは、アダー回路全体のサイズを増加させ、またそのような遅延の存在が、非プリチャージ型アダー１００ではなくプリチャージ型アダー２００を使用することから得られる可能な速度の利益に対しインパクトを与える。
【００１０】
したがって、本発明の目的は、プリチャージ型回路に関連して条件付き反転機能を用いることができるようにするための改良した技術を提供することである。
【００１１】
【課題を解決するための手段】
第１の側面から見ると、本発明が提供するデータ処理装置は、プリチャージ・フェーズの間第１の論理値にプリチャージするように配置した少なくとも１つの入力ラインを有するプリチャージ型回路と、第１の前記少なくとも１つの入力ラインに接続し、かつ前記プリチャージ・フェーズに続くアクティブ・フェーズの間に前記第１の入力ラインに第１のデータ値または反転した第１のデータ値を与えるように配置した条件付き反転回路であって、該条件付き反転回路が、前記第１の入力ラインに結合し、かつ前記プリチャージ・フェーズの間、所定の論理値にプリチャージするように配置した信号ラインと、前記信号ラインと所定の電圧との間に接続した第１組の論理ゲートであって、選択信号の受信時に前記第１のデータ値を前記第１の入力ラインに与えさせるように配置した、前記の第１組の論理ゲートと、前記信号ラインと前記所定の電圧との間に接続した第２組の論理ゲートであって、選択信号の受信時に前記反転した第１のデータ値を前記第１の入力ラインに与えさせる、前記の第２組の論理ゲートと、を含み、前記アクティブ・フェーズにおいて、前記第１組の論理ゲートまたは前記第２組の論理ゲートのいずれかが前記選択信号を受けるように配置する。
【００１２】
本発明によれば、プリチャージ型回路への入力に関連した前記条件付き反転機能は、条件付き反転回路により提供し、この条件付き反転回路は、第１組および第２組の論理ゲートを含み、該第１組は、選択信号を受けたときに第１のデータ値を前記第１の入力ラインに与えさせるように構成し、前記第２組は、選択信号を受けたときにその反転した第１のデータ値を前記第１の入力ラインに与えさせるように構成する。前記第１組および第２組の論理ゲートは両方とも、信号ラインと所定の電圧との間に接続し、そして前記信号ラインは、さらに前記プリチャージ型回路の前記入力ラインに結合する。前記プリチャージ型回路のプリチャージに続く前記アクティブ・フェーズにおいては、選択信号を使用して、前記第１組の論理ゲートまたは前記第２組の論理ゲートのいずれかを活性化することにより、前記第１のデータ値または前記反転した第１のデータ値のいずれかを前記第１の入力ラインに与えさせる。しかし、そのような選択信号がない場合には、前記論理ゲート組のいずれも活性化せず、したがっていずれの論理ゲート組も、前記信号ラインまたはこの信号ラインに結合した前記プリチャージ型回路の前記入力ラインのいずれにおける電圧にも影響を及ぼさない。このため、前記プリチャージ・フェーズにおいては、前記プリチャージ型回路の前記入力ラインを、第１の論理値に信頼性よくプリチャージすることができ、しかもこれを、前記条件付き反転回路が前記プリチャージ型回路への前記入力における前記論理値の遷移を生じさせ得る可能性なく、行える。
【００１３】
これにより、本発明によれば、プリチャージ型回路を使用することによる速度上の利益が、条件付き反転機能をも必要とする回路において得ることができ、追加の遅延回路を必要としない。
【００１４】
好ましい実施形態においては、各組の論理ゲートは、前記信号ラインと前記所定の電圧との間に直列に接続した２以上の論理ゲートを含む。好ましくは、前記第１組内の第１論理ゲートは、前記第１のデータ値を前記第１の入力ラインに与えさせるため、第１の選択信号の受信時にターンオンさせるように構成する。さらに、好ましい実施形態においては、前記第１組内の第２論理ゲートは、前記第１のデータ値を受け、かつ前記第１のデータ値の値に依存してターンオンさせるように構成する。したがって、このアプローチにより、前記第１の選択信号を受信したときに前記第１論理ゲートが一旦ターンオンすると、前記信号ライン上の前記論理レベルは、前記第２論理ゲートが前記第１のデータ値の結果としてターンオンされるかどうかに依存することになる。このことは、さらに、前記信号ラインに結合した前記第１入力ライン上の前記レベルを決定することになる。
【００１５】
同様に、好ましい実施形態においては、前記第２組内の第１論理ゲートは、前記反転した第１のデータ値を前記第１の入力ラインに与えさせるため、第２の選択信号の受信時にターンオンさせるように構成する。さらに、好ましくは、前記第２組内の第２論理ゲートは、前記反転した第１のデータ値を受け、かつ前記反転した第１のデータ値の値に依存してターンオンさせるように構成する。
【００１６】
当業者には明らかなように、前記プリチャージ型回路の前記少なくとも１つの入力ラインをプリチャージする前記第１の論理値は、論理“０”レベルまたは論理“１”レベルのいずれかとすることができる。しかし、好ましい実施形態においては、前記プリチャージ型回路はｎ型論理を含み、したがってこの実施形態においては、前記プリチャージ型回路の前記少なくとも１つの入力ラインをプリチャージする前記第１の論理値は、好ましくは論理“０”値である。
【００１７】
さらに、好ましい実施形態においては、前記条件付き反転回路内の前記第１組および第２組内の前記論理ゲートは、ｎ型論理ゲートである。
【００１８】
この好ましい実施形態においては、前記第１組および第２組の論理ゲートを接続する前記所定の電圧はアースであり、そして前記信号ラインは、論理“１”値にプリチャージし、前記信号ラインは、インバータを介して前記第１の入力ラインに結合している。前記信号ラインは論理“１”値にプリチャージするため、前記インバータは、前記第１の入力ラインが論理“０”値にプリチャージされるのを確保する。
【００１９】
前記プリチャージ型回路は、その入力の内の少なくとも１つに条件付き反転機能を関連させることを必要とする任意のプリチャージ型回路とすることができる。しかし、好ましい実施形態においては、前記プリチャージ型回路は、アダー回路である。
【００２０】
好ましい実施形態においては、前記アダー回路は２つの入力ライン、すなわち、上記の第１の入力ラインとそして第２の入力ラインとを有する。前記第２の入力ラインは、これに条件付き反転機能を関連させることを必要とするものでもしないものでもよい。しかし、条件付き反転機能をそれに関連させることを必要すると仮定すると、好ましい実施形態においては、前記データ処理装置はさらに、前記第２の入力ラインに接続した第２の条件付き反転回路を備える。
【００２１】
本発明から利益を得るためには、前記データ処理装置は、１つのプリチャージ型回路しか有する必要がない。しかし、代替的には、前記データ処理装置は、ドミノ論理を形成するため直列に接続した複数のプリチャージ型回路を含むことができ、前記条件付き反転論理は、前記プリチャージ型回路の内の少なくとも１つのものの入力ラインに接続する。本発明によれば、たとえ前記プリチャージ型回路の内の１つがこれに関連した条件付き反転機能を有するときであっても、複数のプリチャージ型回路を含むドミノ論理回路は、信頼性よく動作することが可能である。好ましい実施形態では、前記条件付き反転論理は、前記ドミノ論理内の前記第１のプリチャージ型回路の入力ラインに接続する。
【００２２】
【実施の形態】
以下に、本発明の一実施形態について、例示として、添付図面を参照して説明する。尚、これら図面において、同じ特徴については同じ参照番号を使用する。次に、図３を参照して本発明の好ましい実施形態について説明する。図３は、本発明の好ましい実施形態による、その入力の１つが条件付き反転回路に接続したプリチャージ型アダー回路２００を示している。この図３に示したように、プリチャージ型アダー２００は、２つの入力端子ＡおよびＢを有し、これら端子は、それぞれ、ライン３２０および１１０によって入力データＡｄａｔａおよびＢｄａｔａを受けるように構成している。入力端子ＡおよびＢで受けるそれらデータは、次に、プリチャージ型アダー２００内において実行する加算動作において使用し、そしてその結果は、端子Ｓからライン１１５によって出力する。このプリチャージ型アダーは、入力データＡｄａｔａとして、データ値Ｘまたはその反転したデータ値（以下、ｎｏｔ（Ｘ）と呼ぶ）のいずれかを受けるように構成している。プリチャージ型アダーは、好ましい実施形態においては、クロック信号（Ｃｌｋ）が論理“０”値を有するときはプリチャージ・フェーズにあり、そしてＣｌｋが論理“１”値を有するときはアクティブ・フェーズにある。
【００２３】
条件付き反転論理は、第１組の論理ゲート３３５，３４０から構成し、好ましい実施形態においては、これら論理ゲートはｎ型トランジスタである。第１のｎ型トランジスタ３３５は、選択信号であるｓｅｌｘを受けるように構成し、そしてｓｅｌｘが論理“１”値をもつときにはターンオンされそしてｓｅｌｘが論理“０”値をもつときにターンオンされない。
【００２４】
第２のｎ型トランジスタ３４０は、データ値Ｘを受けるように構成しており、そして同じくこのトランジスタ３４０は、Ｘが論理“１”値をもつ場合にターンオンされ、Ｘが論理“０”値をもつ場合にターンオンされない。
【００２５】
また、この条件付き反転回路は、第２組の論理ゲート３２５，３３０も含んでおり、これらは、好ましい実施形態においては、同じくｎ型トランジスタで構成している。第１のｎ型トランジスタ３２５は、選択信号を受けるが、この信号は、アクティブ・フェーズにおいては、トランジスタ３３５に与える選択信号ｓｅｌｘの反転したものである。以下において、この第２の選択信号は、ｓｅｌｎｘと呼ぶことにする。第２組の論理ゲート内の第２トランジスタ３３０は、反転したデータ値ｎｏｔ（Ｘ）を受けるように配置しており、そして明らかに、ｎｏｔ（Ｘ）が論理“１”値をもつ場合にターンオンされ、ｎｏｔ（Ｘ）が論理“０”値をもつ場合にターンオンされない。
【００２６】
好ましい実施形態においては、プリチャージ型アダー２００は、ｎ型論理で形成するが、ｎ型論理は一般的にはｐ型論理よりも速いからである。したがって、プリチャージ・フェーズにおいては、２つの入力ライン３２０と１１０および出力ライン１１５を、論理“０”レベルにプリチャージする必要がある。これを行うには、２つの論理ゲート組３３５，３４０および３２５，３３０を接続した信号ライン３００は、プルアップ・トランジスタ（図示せず）によって論理“１”レベルにプリチャージする。このプリチャージングが正しく生起するのを確実にするため、選択信号ｓｅｌｘおよびｓｅｌｎｘの両方がプリチャージ・フェーズの間論理“０”値を有し、これによってトランジスタ３２５および３３５をターンオフし、かつＸおよびｎｏｔ（Ｘ）の値に拘わらず信号ライン３００のアースへの放電を阻止する。プリチャージ・フェーズの間ｓｅｌｘおよびｓｅｌｎｘの両方に論理“０”値を確実にもたせるために好ましい実施形態で使用するこの技術は、以下で、図６を参照して説明する。
【００２７】
信号ライン３００が論理“１”レベルにプリチャージされるので、インバータ３１０は、第１の入力ライン３２０を論理“０”レベルにプリチャージさせる。加えて、入力ライン１１０も、論理“０”レベルにプルダウンする。さらに、図４を参照して後述するように、プリチャージ型アダー２００内の内部プリチャージングは、出力ライン１１５を論理“０”レベルにプリチャージさせる。
【００２８】
一旦プリチャージ・フェーズが完了すると、プリチャージ型アダーはアクティブ・フェーズに入ることになり、そしてこの時点で、選択信号ｓｅｌｘがトランジスタ３３５をターンオンするためにハイとなるか、あるいは選択信号ｓｅｌｎｘがハイとなってトランジスタ３２５をターンオンする。選択信号ｓｅｌｘがハイとなる場合、これは、データ値Ｘを選択させる。特に、Ｘが論理“１”値であるとき、トランジスタ３４０はターンオンされ、そしてこれが信号ライン３００をアース（または論理“０”レベル）に放電させ、そしてこれが入力ライン３２０の信号をインバータ３１０を介して論理“１”レベルに遷移させ、これによりデータ値Ｘを表すようにする。同様に、データ値Ｘが論理“０”値を有するとき、トランジスタ３４０はターンオフされた状態に留まり、信号ライン３００はそのプリチャージされた論理“１”レベルに留まり、そしてライン３２０の信号は論理“０”レベルに留まり、これにより同じく論理値Ｘを表す。
【００２９】
これと同様の方法で、選択信号ｓｅｌｘではなく選択信号ｓｅｌｎｘがハイとなる場合、トランジスタ３２５はターンオンされ、そして入力ライン３２０の信号が反転したデータ値ｎｏｔ（Ｘ）を表すことになる。
【００３０】
注意すべきであるが、アダーの入力ライン３２０および１１０について、プリチャージ型アダー２００の入力に単一ビット値を運ぶものとして説明したが、好ましい実施形態においては、アダーへのそれら入力は、プリチャージ型バスから来るものとし、またプリチャージ型アダー２００の出力端子Ｓが同様にプリチャージ型出力バスに接続することも有望である。この場合、図３に示した入力ライン３２０，１１０および出力ライン１１５、そして実際には信号Ｘおよびｎｏｔ（Ｘ）を運ぶラインは、バスの１つのバスラインを表すものと考えることができる。この例では、プリチャージ型アダー２００の入力端子Ａに接続したバスの各バスラインは、これに接続した別個の条件付き反転論理をもつことになる。しかし、好ましい実施形態においては、信号ｓｅｌｘ，ｓｅｌｎｘおよびｃｌｋは、全てのバスラインに共通となる。
【００３１】
上述のアプローチにより、加算および減算の両方を実行するためにプリチャージ型アダー２００が使用できることが明らかとなり、そして非プリチャージ型アダーに対するプリチャージ型アダーの使用に関連した速度上の利点を実現することができ、しかもＸＯＲゲートのような従来技術の条件付き反転機能を使用するときに生起するおそれのあるどのような変動も補償するのに遅延論理を導入することを必要としない。特に、本発明の好ましい実施形態によれば、プリチャージ・フェーズにおいて、入力ライン３２０を信頼性よく論理“０”レベルにプリチャージできるように、条件付き反転回路を構成する。
【００３２】
以上に、図３を参照して本発明の好ましい実施形態によるプリチャージ型アダー回路の動作について説明したが、次に、図４を参照して好ましい実施形態にしたがってそのようなプリチャージ型回路をプリチャージする方法について説明する。図４に示したように、プリチャージ型アダー回路２００は、ｎ論理ブロック４３０を含み、これは、“加算”動作を実行するのに必要な各種の論理ゲートから成っている。加えて、基準電圧と、プリチャージ型アダー２００の内部プリチャージ型ライン４６０との間には、ｐ型トランジスタ４００を接続している。さらに、ｎ論理ブロック４３０の底部とアースとの間に、ｎ型トランジスタ４１０を接続している。
【００３３】
クロック信号は、それぞれ、経路４４０および４５０によりトランジスタ４１０および４００に与える。プリチャージ・フェーズの間、クロックは論理“０”値を有し、したがってトランジスタ４１０をターンオフさせ、トランジスタ４００をターンオンさせる。これはさらに、内部プリチャージ型ライン４６０をトランジスタ４００により基準電圧にプルアップさせ、これにより論理“１”値を表す。トランジスタ４１０がプリチャージ・フェーズの間ターンオフされているため、内部プリチャージ型ライン４６０を、ｎ論理ブロック４３０を介してアースに短絡させることができない。内部プリチャージ型ライン４６０は、論理“１”レベルにプリチャージされるため、これは、出力ライン１１５をインバータ４２０を介して論理“０”レベルにプリチャージさせる。
【００３４】
プリチャージ・フェーズを出たとき、そしてプリチャージ型アダー回路２００がイネーブルされたとき、クロック信号はハイとなって、トランジスタ４００をターンオフさせ、トランジスタ４１０をターンオンさせる。さらに、ｎ論理ブロック４３０は、入力ライン３２０および１１０上のそれぞれのＡｄａｔａおよびＢｄａｔａの値に依存して、条件付きでプリチャージ型ライン４６０をアースに放電させる。ｎ論理ブロック４３０が内部プリチャージ型ライン４６０をアースに放電させると、出力ライン１１５は論理“１”値に遷移する。
【００３５】
図４は、プリチャージ型アダー回路２００の内部構造を示しているが、この一般的な構造は、任意のプリチャージ型回路に適用可能であり、したがってｎ論理ブロック４３０のこの構造は、プリチャージ型回路が実行する機能に依存して変化することになる。
【００３６】
本発明の好ましい実施形態によれば、多数のプリチャージ型回路を直列に接続してドミノ論理を形成することが可能である。図５には、簡単なドミノ論理回路を示している。条件付き反転論理は、図３を参照して前述したものと同じであるが、ただしこれでは、ライン３２０のＡｄａｔａ信号は、プリチャージ型アダー２００に直接入力するのではなく、バレル・シフタ回路５００への入力としている。この実施形態においては、プリチャージ型アダー２００の入力Ａにライン５１０で与えるのは、このバレル・シフタ５００の出力である。プリチャージ・フェーズの間、信号ライン３００は、シフタ５００の内部プリチャージ型ラインと同じようにハイにプリチャージされ、したがってライン３２０のＡｄａｔａとライン５１０のＳｈｉｆｔＯｕｔの両方を論理“０”値に駆動させる。図４を参照して前述したように、プリチャージ型アダーからの出力ライン１１５もまた、確かにライン１１０の値Ｂｄａｔａと同じように、プリチャージ・フェーズの間、論理“０”値に駆動される。
【００３７】
アクティブ・フェーズの開始時においては、ｓｅｌｘまたはｓｅｌｎｘのいずれかをハイに駆動し、これによって、値Ｘまたはｎｏｔ（Ｘ）のいずれかを値Ａｄａｔａとして入力ライン３２０に通す。次に、これは、バレル・シフタによりシフトされて、ＳｈｉｆｔＯｕｔライン５１０上に論理“０”から論理“１”への遷移を与える。これはさらに、アダー内のプリチャージ型ゲートをきちんと駆動し、その結果、高速のシフト−アンド−加算の結果をもたらす。
【００３８】
在来のＸＯＲゲートでは、そのような動作には、バレル・シフタの回りに非常に注意深く設計した自己調時型経路を必要とする。実際、あらゆる条件の下で正確な動作を確保するため組み込む必要のある安全マージンの量が与えられた場合、おそらく、そのような状況において非プリチャージ型アダーを使用するのと同じ速さとなってしまうが、その理由は、自己調時型経路が導入する遅延が、プリチャージ型アダーを使用することから得られる利益を無効にしてしまうからである。
【００３９】
理解されるように、シフタの複雑さは、図５の実施形態によれば僅かに増すが、それは、シフタが加える前方または後方の０の極性を、ｎｏｔ（Ｘ）を選択した場合に、任意のシフタ・オーバーフロー（すなわち、キャリーアウト）ビットと同じように、反転しなければならないからである。このことは、図５の実施形態によれば、条件付き反転論理が実現するＸＯＲ機能がデータをシフタに入力する前に適用する、ということに起因している。
【００４０】
図３について先に説明したとき、プリチャージ・フェーズにおいては、ｓｅｌｘおよびｓｅｌｎｘは両方とも論理“０”値を有するが、アクティブ・フェーズにおいてはそれらは互いに相補的な値を有する、と示した。これを好ましい実施形態において実現する方法については、図６で示す。この図６に示したように、信号ｓｅｌｘおよびｓｅｌｎｘは、それぞれ、２つのＡＮＤゲート６００および６１０の出力によって発生する。両方のＡＮＤゲートは、それらの入力の１つとしてクロック信号を受け、そしてこれはまた、プリチャージ型回路（群）に通す（図４参照）。プリチャージ・フェーズの間、クロック信号は論理“０”値を有し、したがってＡＮＤゲート６００および６１０の両方の出力が論理“０”値となることは明らかである。
【００４１】
しかし、アクティブ・フェーズにおいては、クロック信号はハイとなり、したがってＡＮＤゲート６００および６１０の出力は、それらの他方の入力の状態に依存することになる。ＡＮＤゲート６１０は、その他方の入力として値ｉｎｖＡを受け、これは、データ値Ｘを反転すべきかどうかを示すため、データ処理回路が発生した信号である。ｉｎｖＡが論理“０”値を有する場合、これはデータ値Ｘを反転すべきでないことを示し、一方、ｉｎｖＡが論理“１”値を有する場合には、これはデータ値Ｘを反転すべきことを示す。したがって、ｉｎｖＡが論理“０”値をもつとき、ＡＮＤゲート６１０からの出力は論理“０”値となる。対照的に、ｉｎｖＡ信号は、ＡＮＤゲート６００に入力する前に反転し、したがってローのｉｎｖＡ信号はＡＮＤゲート６００からの出力をハイにする。このため、本例では、ｓｅｌｘはハイとなり、そしてｓｅｌｎｘはローとなって、データ値Ｘを選択させる。もし逆にｉｎｖＡがハイのとき、ＡＮＤゲート６１０からの出力はハイとなる一方、ＡＮＤゲート６００からの出力はローとなり、これにより値ｎｏｔ（Ｘ）を選択させる。
【００４２】
以上に特定の実施形態について説明したが、理解されるように、本発明は、これに限定するものではなく、またこれに対する多くの変更および追加が本発明の範囲内で行うことができる。例えば、従属請求項の特徴と独立請求項の特徴との種々の組み合せは、本発明の範囲から逸脱せずに行うことができる。
【図面の簡単な説明】
【図１】第１の従来技術によるアダー回路を示すブロック図。
【図２】第２の従来技術によるアダー回路を示すブロック図。
【図３】本発明の好ましい実施形態によるプリチャージ型アダー回路を示す。
【図４】本発明の好ましい実施形態による回路をプリチャージするのに使用するプリチャージ型回路内の回路を示す。
【図５】本発明の好ましい実施形態によるプリチャージ型シフタとプリチャージ型アダーから成る簡単なドミノ論理構造を示す。
【図６】本発明の好ましい実施形態においていかにしてｓｅｌｘ信号およびｓｅｌｎｘ信号を発生するかを示す。
【符号の説明】
２００  プリチャージ型アダー回路
３２０，１１０  ライン
３３５，３４０  第１組の論理ゲート
３２５，３３０  第２組の論理ゲート
３１０  インバータ
４３０  ｎ論理ブロック
４６０  内部プリチャージ型ライン
５００  バレル・シフタ
【図１】
0003841572.tif 000002
【図２】
0003841572.tif 000003
【図３】
0003841572.tif 000004
【図４】
0003841572.tif 000005
【図５】
0003841572.tif 000006
【図６】
0003841572.tif 000007