(57)【特許請求の範囲】
【請求項１】
参照クロックに応じてロジック入力を評価する回路であって、
前記参照クロックの周波数に依存する第一の周波数依存遅延時間だけ前記参照クロックから遅延された第一クロックに接続された第一クロック端子と、
前記参照クロックの周波数に依存する第二の周波数依存遅延時間だけ前記参照クロックから遅延された第二クロックに接続された第二クロック端子と、
第一回路ステージと、を備え、
前記第一回路ステージが、更に、
前記第一クロック端子と前記第二クロック端子の両方に接続され、評価パルスを生成するパルス生成回路と、
出力端子と、
前記出力端子及び前記パルス生成回路に接続され、該パルス生成回路からの前記評価パルスによって制御される評価デバイスと、
前記出力端子と、前記参照クロックの周波数に依存する第三の周波数依存遅延時間だけ前記参照クロックから遅延された第三クロックに接続された第三クロック端子と、第一ロジックレベルとに接続されたプリチャージ・デバイスと、を備え、
前記第一ないし第三の周波数依存遅延時間は、互いに、特定の関係を満たすことを特徴とする回路。
【請求項２】
請求項１に記載の回路であって、前記第三の周波数依存遅延時間が、
前記第一の周波数依存遅延時間にほぼ等しい、回路。
【請求項３】
請求項１に記載の回路であって、前記第三の周波数依存遅延時間が、
前記第一の周波数依存遅延時間並びに前記第二の周波数依存遅延時間よりも長い、回路。
【請求項４】
請求項３に記載の回路であって、
前記パルス生成回路が、
前記評価デバイスに与えられるインバータ出力を有する第一インバータと、
データ端子に接続された第一ゲート素子入力と、前記第一クロック端子に接続された第二ゲート素子入力と、前記第二クロック端子に接続された第三ゲート素子入力と、前記第一インバータの入力に接続されたゲート素子出力と、を有するゲート素子と、
を備える回路。
【請求項５】
請求項４に記載の回路であって、
前記第一インバータが、更に、
前記第一ロジックレベルと、前記評価デバイスと、前記ゲート素子出力とに接続された第一のｐチャネル・デバイスと、
前記第一のｐチャネル・デバイスと、前記評価デバイスと、前記第三クロック端子と、
第二ロジックレベルと、に接続された第一のｎチャネル・デバイスと、
を備える回路。
【請求項６】
請求項５に記載の回路であって、前記第一回路ステージが、更に、第二インバータ入力と第二インバータ出力とを有する第二インバータを備え、前記第二インバータ入力が前記第三クロック端子に接続され、前記第二インバータ出力が前記プリチャージ・デバイスの制御端子に接続される、回路。
【請求項７】
請求項６に記載の回路であって、第二回路ステージを更に備え、
前記第二回路ステージが、
第二ステージ出力端子と、
前記第二ステージ出力端子に接続された第二ステージ評価デバイスと、
前記第二ステージ出力端子と前記第一ロジックレベルとに接続された第二ステージ・プリチャージ・デバイスと、
前記第一回路ステージの前記出力端子と前記第二ステージ評価デバイスとの間に直列に接続された第三インバータと、
を備える回路。
【請求項８】
請求項７に記載の回路であって、前記パルス生成回路が、前記第一クロック端子と前記第二クロック端子の両方の評価サイクルに応じて、データパルスを生成する、回路。
【請求項９】
請求項１に記載の回路であって、前記第二の周波数依存遅延時間が、
前記第一の周波数依存遅延時間にほぼ等しい、回路。
【請求項１０】
請求項１に記載の回路であって、
前記パルス生成回路が、
前記評価デバイスに与えられるインバータ出力を有する第一インバータと、
データ端子に接続された第一ゲート素子入力と、前記第一クロック端子に接続された第二ゲート素子入力と、前記第二クロック端子に接続された第三ゲート素子入力と、前記第一インバータの入力に接続されたゲート素子出力と、を有するゲート素子と、
を備える回路。
【請求項１１】
ロジック回路の性能を改善する方法であって、
前記ロジック回路のプリチャージ・ノードにプリチャージ・パルスを与える工程と、
前記ロジック回路のデータ入力ノードに、参照クロックの周波数に依存する周波数依存遅延時間だけ前記プリチャージ・パルスから遅延されたデータパルスを与える工程と、
前記プリチャージ・パルスを用いて、前記ロジック回路の出力ノードをプリチャージする工程と、
前記ロジック回路の評価デバイスを用いて、前記データパルスに基づき、前記ロジック回路へのロジック入力を評価して、前記出力ノードのロジック状態を生成する工程と、
を備える方法。
【請求項１２】
請求項１１に記載の方法であって、前記データパルスと前記プリチャージ・パルスとが、少なくとも２つのクロックにより生成され、前記少なくとも２つのクロックは、参照クロックから生成されたクロックであって、互いに位相偏移されている、方法。
【請求項１３】
請求項１２に記載の方法であって、前記２つのクロックが、ＰＬＬ回路を用いて、前記参照クロックから生成される、方法。
【請求項１４】
回路の性能を改善する方法であって、
参照クロックの周波数に依存する第一の周波数依存遅延時間だけ前記参照クロックから遅延された第一クロックを有する第一クロック端子を準備する工程と、
前記参照クロックの周波数に依存する第二の周波数依存遅延時間だけ前記参照クロックから遅延された第二クロックを有する第二クロック端子を準備する工程と、
第一回路ステージを準備する工程と、
を備え、
前記第一回路ステージを準備する工程は、更に、
評価パルスを生成するパルス生成回路を前記第一クロック端子と前記第二クロック端子とに接続する工程と、
出力端子を準備する工程と、
前記パルス生成回路からの前記評価パルスによって制御される第一ステージ評価デバイスを前記出力端子と前記パルス生成回路とに接続する工程と、
第一ステージ・プリチャージ・デバイスを、前記参照クロックの周波数に依存する第三の周波数依存遅延時間だけ前記参照クロックから遅延された第三クロックを有する第三クロック端子と、前記出力端子と、第一ロジックレベルとに接続する工程と、
を備え、
前記第一ないし第三の周波数依存遅延時間は、互いに、特定の関係を満たすことを特徴とする方法。
【請求項１５】
請求項１４に記載の方法であって、
前記パルス生成回路を接続する工程が、
第一インバータを準備する工程と、
前記第一ステージ評価デバイスに前記第一インバータの出力端子を接続する工程と、
ゲート素子を準備する工程と、
前記ゲート素子の第一ゲート素子入力をデータ端子に接続し、前記ゲート素子の第二ゲート素子入力を前記第一クロック端子に接続し、前記ゲート素子の第三ゲート素子入力を前記第二クロック端子に接続し、前記ゲート素子のゲート素子出力を前記第一インバータの入力に接続する工程と、
を備える方法。
【請求項１６】
請求項１５に記載の方法であって、
前記第一インバータを準備する工程が、
第一のｐチャネル・デバイスを準備する工程と、
前記第一のｐチャネル・デバイスを前記第一ロジックレベルと、前記第一ステージ評価デバイスと、前記ゲート素子出力と、に接続する工程と、
第一のｎチャネル・デバイスと、前記第三クロックの極性を反転させたクロックである第四クロックを有する第四クロック端子と、を準備する工程と、
前記第一のｎチャネル・デバイスを前記第一のｐチャネル・デバイスと、前記第一ステージ評価デバイスと、前記第四クロック端子と、第二ロジックレベルと、に接続する工程と、
を備える方法。
【請求項１７】
請求項１６に記載の方法であって、更に、第二回路ステージを準備する工程を備え、
前記第二回路ステージを準備する工程が、
第二ステージ出力端子を準備する工程と、
前記第二ステージ出力端子に第二ステージ評価デバイスを接続する工程と、
前記第二ステージ出力端子と前記第一ロジックレベルとに第二ステージ・プリチャージ・デバイスを接続する工程と、
前記第一回路ステージの前記出力端子と前記第二ステージ評価デバイスとの間に第二インバータを直列に接続する工程と、
を備える方法。
【請求項１８】
請求項１７に記載の方法であって、複数の評価デバイスを準備する工程を更に備え、前記複数の評価デバイスの各々がロジック入力に接続され、前記複数の評価デバイスの内の第一の評価デバイスが前記第二ロジックレベルに接続されているとともに、また、前記複数の評価デバイスの内の第二の評価デバイスが前記第一ステージ評価デバイスに接続される、方法。
【請求項１９】
請求項１８に記載の方法であって、前記複数の評価デバイスと前記第一ステージ評価デバイスとの合計が、前記第一回路ステージに入力されるロジック入力の数に等しい、方法。
【請求項２０】
参照クロックの周波数に応じて変化するプリチャージ・パルス幅を規定するプリチャージ・パルス励起エッジとプリチャージ・パルス終了エッジとを有するプリチャージ・パルスを供給するためのプリチャージ・ノードと、
前記参照クロックの周波数に応じて変化するデータパルス幅を規定するデータパルス励起エッジとデータパルス終了エッジとを有するデータパルスをデータ有効サイクルの間に供給するためのデータ入力ノードであって、前記データパルス励起エッジが、前記参照クロックの周波数に依存する周波数依存遅延時間だけ、前記プリチャージ・パルス終了エッジから遅延された、データ入力ノードと、
複数の評価デバイスであって、前記複数の評価デバイスの内の第一の評価デバイスが前記データ入力ノードに接続され、第二の評価デバイスが第一ロジックレベルに接続された、複数の評価デバイスと、
前記プリチャージ・ノードに接続された出力ノードと、
前記プリチャージ・ノードと、前記出力ノードと、第二ロジックレベルとに接続されたプリチャージ・デバイスと、を備え、
前記プリチャージ・デバイスは、前記プリチャージ・パルスに応じて、前記出力ノードを前記第二ロジックレベルに接続する、ことを特徴とする回路。
【請求項２１】
請求項２０に記載の回路であって、前記データパルス励起エッジ及び前記プリチャージ・パルス終了エッジが少なくとも２つのクロックにより生成され、前記少なくとも２つのクロックが互いに位相偏移されている、回路。
【請求項２２】
請求項２１に記載の回路であって、前記２つのクロックが、ＰＬＬ回路を用いて、前記参照クロックから生成される、回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、改良型ＣＭＯＳ回路装置並びに方法に関する。更に詳しくいえば、本発明は、周波数に依存して互いに遅延するプリチャージパルスと評価パルスを用いて、有益的に出力ノードをプリチャージし、ロジック入力を評価する、新しい型のＣＭＯＳ回路に関する。
【０００２】
【従来の技術】
ＣＭＯＳ・ダイナミック・ロジック回路では、通常、回路のプリチャージ・サイクルの間に、プリチャージ・クロックを用いて、出力ノードのプリチャージが行われる。プリチャージが完了した後、回路の評価サイクルの間に、評価クロックを用いて、ロジック回路に与えられるロジック入力の評価が行われる。このプリチャージ及び評価を行うために、ＣＭＯＳ・ダイナミック・ロジック回路は、通常、２つの独立した固定遅延クロックを採用して、それぞれの回路ステージにおけるプリチャージと評価を行っている。ダイナミック・ロジック回路で用いられる評価クロック及びプリチャージ・クロックは、所定の遅延時間だけ互いに遅延する固定遅延クロック信号であると考えられる。
【０００３】
クロウバー状態（即ち、望ましくない放電経路がロジック回路内でＶｄｄとＶｓｓとの間に存在し、この結果として誤ったロジック評価や電力消費の増加が起こる状態）を避けるためには、ダイナミック・ロジック回路が、その評価サイクルの実施より充分前に、そのプリチャージ・サイクルを終了していることが必要となる。言い替えると、評価クロックとプリチャージ・クロックの相対的な励起間隔が正しく設定され、プリチャージが終了してから評価を開始するまでの間に充分な時間的余裕があることを確認する必要がある。
【０００４】
一般的に言って、設計段階で遅延時間が正しく決定されていれば、所定の遅延時間だけ互いに離れた２つのクロックを用いて、ダイナミックロジック回路のプリチャージと評価を適切に行うことができる。所定の設計に対して適切な遅延時間を求めるために、まず、所定の動作クロック速度に関する他の回路パラメータを考慮にいれて、大ざっぱに固定遅延時間を計算する。次に、遅延時間値を様々に変えて、ロジック回路のシミュレーションを数多く行う。所定の動作速度に対する最適の固定遅延時間値とは、回路のプリチャージ・サイクルと評価サイクルとの間の安全余裕を必要最小限に抑えながら、正しい評価結果を与えることのできる値を意味する。最適遅延時間が決定されると、所定の動作周波数に適したプリチャージ・クロックと評価クロックを発生するように、インバータやラッチ等の固定遅延素子が製作される。
【０００５】
【発明が解決しようとする課題】
しかし、複数の固定遅延クロックを用いて評価とプリチャージとを制御する方法には、多くの欠点がある。その一つは、性能を余り犠牲にすることなく、且つ、正確な評価を保証するように、最適な固定遅延時間値と、クロック間の余裕値を求めることは、多くの場合、かなりの時間を必要とする、という点である。更に、この固定遅延時間は、物理的な回路素子を介して実現されるため、回路の動作速度の変化に対応させたり、あるいは、それほど設計に労力を費やすことなく、所定の条件下での性能を最適化したり、という目的のために、簡単に変更することができない、という欠点もある。
【０００６】
例えば、製作技術の改善あるいはシステム要求の変更等の理由で、固定遅延時間を最初に計算した時の動作周波数とは異なったクロック周波数でダイナミックロジック回路を作動させる必要がある場合には、固定遅延時間値をもう一度求め直す必要がある。これは、プリチャージ・クロックと評価クロックの相対的な励起間隔が適切で、また、回路のプリチャージ・サイクルと評価サイクルとの間に充分な余裕があることを確認するためである。正しい動作を保証するために遅延時間値を変更する必要があるとわかった場合には、ロジック回路の機能自体に変更がないにもかかわらず、新しい遅延時間を計算して、回路のシミュレーションを再び実行し、最適な固定遅延クロックを発生させるためにロジック回路に新しい素子を作り直す必要がある。即ち、プリチャージ・クロックと評価クロックとを生成するために固定遅延時間を使用している場合には、ロジック回路の動作速度を単に変更しただけで、場合によっては、新しい最適遅延時間を計算し直して、且つ、ロジック回路の一部を物理的に変更する必要が生じる。
【０００７】
更に、固定遅延クロックを用いて、一つのシステムクロックサイクルにおいて複数のデータサイクルを評価可能な回路を実現することは困難である。これは、上述したように、固定遅延クロックの発生と利用とに固有の融通性がないこと、並びに、固定遅延素子を組み立てる場合に固定遅延クロックがプロセス変化を受けやすいことに起因する。
【０００８】
上述の従来技術の問題点を解決するために、周波数に依存して互いに遅延するプリチャージ・クロックと評価クロックを用いて、出力ノードをプリチャージして、ロジック入力を評価することが可能なＣＭＯＳダイナミックロジック回路の改良が望まれている。この改良型ロジック回路は、動作周波数にかかわりなく、必ず、評価サイクルの開始よりも前に、プリチャージ・サイクルを終了させることができるものであることが望ましい。
【０００９】
プリチャージ・クロックパルスと評価クロックパルスとの生成に固定遅延素子を用いる代わりに、この改良型ロジック回路では、プリチャージ・クロックと評価クロックの発生に、周波数に依存して互いに遅延する複数のクロックを有益的に利用している。また、この改良型回路では、動作周波数に応じて、遅延時間と余裕時間とが弾力的に変わるため、動作周波数にかかわりなく、必ず、評価サイクルの開始以前に、プリチャージ・サイクルを終わらせることができる。更に、改良型ロジック回路では、プリチャージ・パルスと評価パルスとの間の安全余裕時間を従来のものより短く設定することができる。必要な余裕時間が短くなれば、より高い動作周波数での動作が可能になり、回路の性能を改善することができる。また、本発明の装置並びに方法では、一つのクロックサイクルにおいて複数のデータサイクルをより効率的に評価することが可能になる。
【００１０】
【課題を解決するための手段およびその作用・効果】
本発明は、参照クロックに応じてロジック入力を評価する回路を提供するものである。本発明の回路は、第一の周波数依存遅延時間だけ前記参照クロックから遅延された第一クロックを接続した第一クロック端子と、第二の周波数依存遅延時間だけ前記参照クロックから遅延された第二クロックを接続した第二クロック端子と、前記第一クロック端子と前記第二クロック端子の両方に接続されたパルス生成回路を含む第一回路ステージと、を備える。第一回路ステージは、更に、出力端子と、前記出力端子及び前記パルス生成回路に接続された評価デバイスと、前記出力端子、第三の周波数依存遅延時間だけ前記参照クロックから遅延された第三クロックに接続する第三クロック端子、並びに、第一ロジックレベルに接続されたプリチャージ・デバイスと、を備えることが好ましい。
【００１１】
また、本発明は、ロジック回路の性能を改善する第一の方法を提供するものである。本発明の第一の方法は、前記ロジック回路のプリチャージ・ノードにプリチャージ・パルスを与える工程と、前記ロジック回路のデータ入力ノードに、周波数依存遅延時間だけ前記プリチャージ・パルスから遅延されたデータパルスを与える工程と、前記プリチャージ・パルスを用いて、前記ロジック回路の出力ノードをプリチャージする工程と、を備える。更に、本発明の方法は、前記ロジック回路の評価デバイスを用いて、前記データパルスに基づき、前記ロジック回路へのロジック入力を評価して、前記出力ノードのロジック状態を確認する工程を備える。
【００１２】
更に、本発明は、回路の性能を改善する第二の方法を提供するものである。本発明の第二の方法は、第一の周波数依存遅延時間だけ参照クロックから遅延された第一クロックを有する第一クロック端子を準備する工程と、第二の周波数依存遅延時間だけ前記参照クロックから遅延された第二クロックを出力する第二クロック端子を準備する工程と、第一回路ステージを準備する工程と、を備える。前記第一回路ステージを準備する工程は、更に、パルス生成回路を前記第一クロック端子と前記第二クロック端子とに接続する工程と、出力端子を準備する工程と、第一ステージ評価デバイスを前記出力端子と前記パルス生成回路とに接続する工程と、第一ステージ・プリチャージ・デバイスを、第三の周波数依存遅延時間だけ前記参照クロックから遅延された第三クロックを出力する第三クロック端子と、前記出力端子と、第一ロジックレベルとに接続する工程と、を備えることが好ましい。
【００１３】
また、本発明は、参照クロックの周波数に応じて変化するプリチャージ・パルス幅を規定するプリチャージ・パルス励起エッジとプリチャージ・パルス終了エッジとを有するプリチャージ・パルスを供給するためのプリチャージ・ノードを備える回路を提供する。本発明の回路は、更に、前記参照クロックの周波数に応じて変化するデータパルス幅を規定するデータパルス励起エッジとデータパルス終了エッジとを有するデータパルスをデータ有効サイクルの間に供給するためのデータ入力ノードを備え、前記データパルス励起エッジが、周波数依存遅延時間だけ、前記プリチャージ・パルス終了エッジから遅延される、ことを特徴とする。また、本発明の回路は、複数の評価デバイスを備えることが好ましい。ここで、前記複数の評価デバイスの中の第一の評価デバイスが、前記データ入力ノードに接続され、また、第二の評価デバイスが、第一ロジックレベルに接続される。本発明の回路は、更に、前記プリチャージ・ノード並びに前記複数の評価デバイスの中の第一の評価デバイスに接続された出力ノードと、前記プリチャージ・ノード、前記出力ノード、並びに、第二ロジックレベルに接続されたプリチャージ・デバイスと、を備え、前記プリチャージ・デバイスは、前記プリチャージ・パルスに応じて、前記出力ノードを前記第二ロジックレベルに接続する、ことを特徴とする。
【００１４】
本発明の上記及びそれ以外の特徴をより明らかにするために、以下に、図面に基づいて、本発明の好適な実施例を説明する。
【００１５】
【発明の実施の形態】
Ａ．ラバーバンド・ロジック回路：
後で詳述するウエーブ・プロパゲーション・ロジック回路では、出力ノードが、通常、回路のプリチャージ・サイクルの間に、プリチャージ・パルスによりプリチャージされる。また、プリチャージ後、回路の評価サイクルの間に、評価パルスを用いて、ロジック回路へのロジック入力の評価が行われる。これに対して、以下の改良型ダイナミック・ロジック回路（ラバーバンド・ロジック回路）では、複数の周波数依存（ラバーバンド）クロックを用いて、プリチャージと評価を行う。
【００１６】
図１は、複数のラバーバンド・クロックを発生させるための回路を示す概略図である。複数のラバーバンド・クロックは、外部参照クロックの周波数に応じて、それらの周波数と遅延とが相対的に延び縮みする、即ち、増減するクロックである。図１に示す回路は、外部参照クロックから複数のラバーバンド・クロックを生成させるための回路の一例にすぎず、本発明の要旨から逸脱しない範囲内で、様々な態様で実施できることはもちろんである。
【００１７】
図１に示されるＰＬＬ回路２０１は、ＰＬＬ回路の前段端に通常配置される位相周波数検出器２０３と、チャージポンプ２０５と、電圧制御発振器２０７と、を備える。当業者に周知のように、ＰＬＬ回路２０１には、他に、調整器、フィルター等の公知の回路素子が含まれるが、図面を簡略化するために、図１では省略してある。
【００１８】
ＰＬＬ回路２０１には、公知の水晶回路等のクロック発生回路から生成される外部参照クロック信号ＥＸＴＣＬＫ（２０９）が入力される。ＰＬＬ回路２０１は、クロック周期の内の所定の割合だけ互いに位相が偏移しているが、周波数はほぼ同一の、複数のラバーバンド・クロックＣＬＫ１（２１２）、ＣＬＫ２（２１８）、ＣＬＫ３（２１６）、ＣＬＫ４（２１４）、ＣＬＫ５（２１３）を出力する。周波数が変化しても、ラバーバンド・クロックＣＬＫ１（２１２）、ＣＬＫ２（２１８）、ＣＬＫ３（２１６）、ＣＬＫ４（２１４）、ＣＬＫ５（２１３）間の相対的な位相偏移は保たれる。このようにして、複数のラバーバンド・クロックは、周波数依存遅延時間だけ、互いに遅延する。
【００１９】
動作時においては、ＰＬＬ回路２０１の位相周波数検出器２０３が、外部参照クロック信号ＥＸＴＣＬＫ（２０９）を受け取り、入力された外部参照クロック信号ＥＸＴＣＬＫ（２０９）の位相と周波数を内部参照クロック信号Ｖｆｃ（２１１）の周波数と比較する。内部参照クロック信号Ｖｆｃ（２１１）は、信号ＣＬＫ１（２１２）あるいは信号ＣＬＫ１（２１２）をバッファした信号等の、信号ＣＬＫ１（２１２）から導出された信号に接続されるようにしてもよい。外部参照クロック信号ＥＸＴＣＬＫ（２０９）が内部参照クロック信号Ｖｆｃ（２１１）よりも高速ならば、位相周波数検出器２０３は、アップ信号２２０を発生して、チャージポンプ２０５に出力する。逆に、外部参照クロック信号ＥＸＴＣＬＫ（２０９）が内部参照クロック信号Ｖｆｃ（２１１）よりも低速の場合には、位相周波数検出器２０３は、ダウン信号２２２を発生して、チャージポンプ２０５に出力する。
【００２０】
チャージポンプ２０５は、アップ信号２２０あるいはダウン信号２２２の何れかを受け取り、これに応じて、制御電圧ＶＣＮＴＲＬ（２２４）を出力する。チャージポンプ２０５にアップ信号２２０が入力された場合には、制御電圧ＶＣＮＴＲＬ（２２４）が高出力になる。逆に、チャージポンプ２０５にダウン信号２２２が入力された場合には、制御電圧ＶＣＮＴＲＬ（２２４）は低出力になる。制御電圧ＶＣＮＴＲＬ（２２４）並びにその双対信号ＶＣＮＴＲＬ２（２５２）は、電圧制御発振器２０７において、複数の電流不足インバータステージ２２８、２３０、２３２、２３３、２３４の制御に用いられる。
【００２１】
図１の回路には、５つのラバーバンド・クロックＣＬＫ１〜ＣＬＫ５を発生させるために、５つの電流不足ステージ２２８、２３０、２３２、２３３、２３４が備えられている。必ずというわけではないが、ステージ２２８、２３０、２３２、２３３、２３４の各々に示すように、通常、電流不足ステージは、インバータを利用して、そのステージの遅延を変調する。電流不足ステージ２２８、２３０、２３２、２３３、２３４は、それぞれ、クロックＣＬＫＰ２（２４２）、ＣＬＫＰ３（２４４）、ＣＬＫＰ４（２４６）、ＣＬＫＰ５（２４７）、ＣＬＫＰ１（２４８）の周波数依存遅延時間を制御する。図１には、５つの電流不足ステージと、それに対応する５つのラバーバンド・クロック出力が示されているが、一つあるいは複数の電流不足ステージを追加あるいは削除することにより生成されるラバーバンドクロックの数を増減できることはもちろんである。
【００２２】
図１に示すように、電流不足ステージ２２８の内部には、インバータ２３８及びｎチャネル・デバイス２２６と直列に接続されたｐチャネル・デバイス２３６が設置されている。図１に示すステージ２２８等の電流不足ステージは、ステージ内のデバイスを流れる電流の量に応じて、ステージ入力信号に対するステージ出力信号の遅延を変化させる。例えば、電流不足ステージ２２８は、ｐチャネル・デバイス２３６と、インバータ２３８と、ｎチャネル・デバイス２２６とを流れる電流の量に応じて、ステージ２２８の入力信号２４８に対するクロックＣＬＫＰ２（２４２）の遅延を調節する。
【００２３】
ｐチャネル・デバイス２３６は、制御電圧信号ＶＣＮＴＲＬ（２２４）の双対信号である制御電圧ＶＣＮＴＲＬ２（２５２）により制御される。制御電圧ＶＣＮＴＲＬ（２２４）が大きい場合には、比較的大量の電流が、電流不足ステージ２２８のデバイスを流れる。結果として、現段のステージに関連するバッファ、即ち、バッファ２５４のキャパシタンスを含む電流不足ステージ２２８の出力キャパシタンスと、次段の電流不足ステージ、即ち、ステージ２３０においてインバータを形成するデバイスのゲートキャパシタンスとが、迅速に充電されて、ステージ出力信号、即ち、クロックＣＬＫＰ２（２４２）と、ステージ入力信号、即ち、クロックＣＬＫＰ１（２４８）との間の遅延が減少する。電流不足ステージ２２８の出力であるクロックＣＬＫＰ２（２４２）は、電流不足ステージ２３０の入力信号として作用する。電流不足ステージ２３０は、前述の２つの制御電圧ＶＣＮＴＲＬ（２２４）、ＶＣＮＴＲＬ２（２５２）によっても制御され、図１にクロック信号ＣＬＫＰ２（２４２）として示されるステージ２３０の入力信号に対して、クロックＣＬＫＰ３（２４４）として示されるステージ２３０の出力信号の遅延を制御する。
【００２４】
上記と同様に、クロックＣＬＫＰ３（２４４）は電流不足ステージ２３２に入力され、電流不足ステージ２３２は、制御電圧ＶＣＮＴＲＬ（２２４）、ＶＣＮＴＲＬ２（２５２）に応じて、ステージ２３２の入力信号に対する、クロックＣＬＫＰ４（２４６）として示されるステージ２３２の出力信号の遅延を調節する。また、クロックＣＬＫＰ４（２４６）は電流不足ステージ２３３に入力され、電流不足ステージ２３３は、同様に、制御電圧ＶＣＮＴＲＬ（２２４）、ＶＣＮＴＲＬ２（２５２）に応じて、ステージ２３３の入力信号に対する、クロックＣＬＫＰ５（２４７）として示されるステージ２３３の出力信号の遅延を調節する。更に、クロックＣＬＫＰ５（２４７）は電流不足ステージ２３４に入力され、電流不足ステージ２３４は、制御電圧ＶＣＮＴＲＬ（２２４）、ＶＣＮＴＲＬ２（２５２）に応じて、ステージ２３４の入力信号に対する、図１にクロックＣＬＫＰ１（２４８）として示されるステージ２３４の出力信号の遅延を制御する。
【００２５】
以上の説明から明らかなように、電圧制御発振器２０７は、クロックＣＬＫＰ１（２４８）を受け取り、この信号を周波数依存時間だけ遅延させて、一つあるいは複数のラバーバンド・クロックを発生させる。ここで、遅延時間は、制御電圧ＶＣＮＴＲＬ（２２４）及びＶＣＮＴＲＬ２（２５２）によって制御される。５つの電流不足ステージを介して、複数のステージ出力信号（本実施例では、クロック２４２、２４４、２４６、２４７、２４８）が生成される。各ステージ出力信号は、２１６度（１８０度の１／５に本実施例の電流不足ステージに用いられているインバータの作用による１８０度を加算した値）だけ位相偏移されている。言い替えると、出力信号は、それぞれ、ある周波数依存量ずつ互いに遅延する。
【００２６】
ラバーバンド・クロック、例えば、クロック２１２、２１３、２１４、２１６、２１８は、公知のバッファ／ドライバ回路により、ステージ出力信号、例えば、クロック２４２、２４４、２４６、２４７、２４８から、それぞれ生成される。ラバーバンド・クロック２１２、２１３、２１４、２１６、２１８は、ＰＬＬ回路２０１によって、外部参照クロック信号（２０９）から生成されるため、外部参照クロック信号（２０９）の周波数に依存して、これらラバーバンド・クロックの周波数も変動する。図１に示す例では、動作周波数にかかわりなく、各ラバーバンド・クロックは、２１６度だけ互いに位相偏移されている。
【００２７】
図２は、外部参照クロック信号（２０９）とラバーバンド・クロックＣＬＫ１（２１２）との間の周波数に依存する関係を示すタイミングチャートである。図２に示すように、クロックＣＬＫ１（２１２）は、外部参照クロック信号ＥＸＴＣＬＫ（２０９）の周波数Ｆｒｅｆ（周期Ｔｒｅｆに対応する）にほぼ等しい周波数Ｆｐ（周期Ｔｐに対応する）を有する。また、クロックＣＬＫ１（２１２）は、図２に時間間隔Ｔｄで示される時間だけ、外部参照クロック信号ＥＸＴＣＬＫ（２０９）より先行している。外部参照クロック信号ＥＸＴＣＬＫ（２０９）の周波数の変化に応じてＴｒｅｆが長くなったり短くなったりすると、周期Ｔｐもこれに応じて長くなったり短くなったりする。また、当然のことながら、外部参照クロック信号（２０９）の周波数の変化に応じて、クロックＣＬＫ１（２１２）の周波数も増減する。
【００２８】
図３は、クロックＣＬＫＰ１（２４８）と、ラバーバンド・クロックＣＬＫ１（２１２）と、クロックＣＬＫＰ２（２４２）と、ラバーバンド・クロックＣＬＫ２（２１８）との間の周波数に依存する関係を示すタイミングチャートである（図示を簡略化するために正確な比例関係を示してはいない）。図３に示すように、ラバーバンド・クロックＣＬＫ１（２１２）は、遅延時間Ｔｂ１だけクロックＣＬＫＰ１（２４８）から遅延している。ここで、遅延時間Ｔｂ１は、クロックＣＬＫＰ１（２４８）からラバーバンド・クロックＣＬＫ１（２１２）を発生させるために用いられるバッファ回路とドライバ回路（図１の例では素子２６４及び２６６）に関連する遅延を表す。通常、この遅延は、バッファ回路とドライバ回路の設計により決定され、小さな値に保たれることが好ましいが、外部参照クロック信号（２０９）の周波数に応じて変化しない。図１に示すバッファ２６４等のバッファに、単一信号を差分信号（微分信号）もしくは差動信号に変換する単一／差分変換器（単一／差動変換器）を含むようにしてもよい。図を分かりやすくするために、対象となる信号、例えば、ＣＬＫ２（２１８）、ＣＬＫ３（２１６）、ＣＬＫ４（２１４）、ＣＬＫ５（２１３）のみが図示されているが、差分信号もしくは差動信号を得ることもできる。
【００２９】
また、図３のクロックＣＬＫＰ２（２４２）は、時間間隔Ｔｒで示される遅延時間だけクロックＣＬＫＰ１（２４８）から遅延する。遅延時間Ｔｒは、上述したように制御電圧ＶＣＮＴＲＬ（２２４）及びＶＣＮＴＲＬ２（２５２）によって制御される図１の電流不足ステージ２２８により制御される。遅延時間Ｔｂ１とは反対に、遅延時間Ｔｒは、外部参照クロック信号（２０９）の周波数に依存して変動する。
【００３０】
更に図３に示すように、ラバーバンド・クロックＣＬＫ２（２１８）は、遅延時間Ｔｂ２だけクロックＣＬＫＰ２（２４２）から遅延される。遅延時間Ｔｂ１と同様に、遅延時間Ｔｂ２は、クロックＣＬＫＰ２（２４２）からラバーバンド・クロックＣＬＫ２（２１８）を発生させるために用いられるバッファ回路とドライバ回路に関連する遅延を表す。遅延時間Ｔｂ１は、遅延時間Ｔｂ２と等しいことが好ましい。クロックＣＬＫＰ２（２４２）は周波数依存遅延時間だけＣＬＫＰ１（２４８）から遅延しているため、これに対応するラバーバンド・クロックＣＬＫ２（２１８）も、ほぼ同じ周波数依存時間だけ、即ち、図３の遅延時間Ｔｒだけ、ラバーバンド・クロックＣＬＫ１（２１２）から遅延する。外部参照クロック信号（２０９）の周波数が増加するにつれて、これら２つのラバーバンド・クロック間の遅延時間ＴＣ２−Ｃ１が減少する。逆に、外部参照クロック信号（２０９）の周波数が減少するにつれて、これら２つのラバーバンド・クロック間の遅延時間ＴＣ２−Ｃ１が増加する。
【００３１】
図４は、本発明の一実施例としての、ＮＡＮＤゲートに基づくラバーバンドロジック回路を示す概略回路図である。図４の回路は、パルスデータ信号の生成にＮＡＮＤゲート素子を用いているので、ＮＡＮＤゲートに基づく回路である。但し、本発明の要旨から逸脱しない範囲で、ＮＯＲ、ＸＯＲ、ＡＮＤ、ＯＲ等の他のゲート素子を、ゲートされた信号の生成に用いることも可能である。図４の回路は、２つの回路ステージ８０及び８２を含む。各ステージにおいて、ロジック入力（例えば、信号８８、９０、９２）の数と同じ数の評価デバイス（例えば、デバイス１１０、１１２、１１４）を備えるようにすることが望ましい。ラバーバンド・クロック信号ＮＩＮＣＬＫ２（８６）であるプリチャージ・パルスに応じて、第一回路ステージ８０及び第二回路ステージ８２が、各々の端子、即ち、ノード１００、１０８、１２２、１２８、１３７を、順次、プリチャージする。ラバーバンド・クロック信号ＩＮＣＬＫ１（８４）及びＩＮＣＬＫ２（８５）が評価段階に入り、データ信号８８が有効になると、評価データパルスを用いて、第一回路ステージ８０の評価が開始され、出力パルスが生成される。この後、第一回路ステージ８０からの出力パルスはバッファされて、第二回路ステージ８２に伝搬され、第二回路ステージ８２の評価を開始する。このようにして、ラバーバンドロジック回路のステージから次のステージへと、波動のように、次々とプリチャージ及び評価が実行される。
【００３２】
図４に示すように、信号ＩＮＣＬＫ１（８４）、ＩＮＣＬＫ２（８５）、あるいはデータ８８の何れかがロウレベルの時には、ＮＡＮＤゲート９４のＮＡＮＤ出力９６がハイレベルに保たれる。また、クロック信号ＩＮＣＬＫ２（８５）がハイレベルで、データ８８もハイレベルの（即ち、データ８８が有効となる）場合に、クロック信号ＩＮＣＬＫ１（８４）がロウレベルからハイレベルに変化すると、ＮＡＮＤゲート９４のＮＡＮＤ出力９６がロウレベルに変わる。
【００３３】
例えば、クロック信号ＩＮＣＬＫ１（８４）がロウレベルからハイレベルに変わると、クロック信号ＩＮＣＬＫ１（８４）の相補信号であるクロック信号ＮＩＮＣＬＫ２（８６）が、ほぼ同時に、ハイレベルからロウレベルに切り替わる。
【００３４】
クロック信号ＮＩＮＣＬＫ２（８６）がハイレベルからロウレベルに変化することにより、ｎチャネル・デバイス１１６がオフになり、ノード１００がアースから分離される。ＮＡＮＤ出力９６がロウレベルになると、ｐチャネル・デバイス９８がノード１００をハイレベルに引き上げる。ノード１００は、プリチャージ段階の開始時点でＮＩＮＣＬＫ２クロック８６がロウレベルからハイレベルに切り替わり、ｎチャネル・デバイス１１６によってロウレベルに引き下げられるまでハイレベルに保たれる。図４の回路においては、ｐチャネル・デバイス９８及びｎチャネル・デバイス１１６は、ダイナミックインバータとして作用する。必ずしも必要ではないが、回路面積と速度上の利点があるため、ダイナミックインバータを備えることが望ましい。図から明らかなように、ＮＡＮＤゲート９４、ｐチャネル・デバイス９８、ｎチャネル・デバイス１１６は、パルス生成回路として働き、パルスデータ信号を図４の回路に供給する。ＮＩＮＣＬＫ２クロック８６が評価段階の開始時点でハイレベルからロウレベルへ変化すると、インバータ１０２の働きにより、ノード１０４はハイレベルになる。ノード１０４は、プリチャージ段階の開始時においてＮＩＮＣＬＫ２クロック８６が再びロウレベルからハイレベルに変化するまで、ハイレベルに保たれる。評価デバイス１１０、１１２、１１４の何れか一つを用いて、これをノード１００に接続し、回路ステージ８０の評価を制御するようにしてもよい。
【００３５】
ノード１０４がロウレベルの時に、ｐチャネルプリチャージ・デバイス１０６がオンされて、出力端子１０８がＶｄｄに接続される。ノード１００がロウレベルの間は、ｎチャネル評価デバイス１１０がオフされて、出力端子１０８がＶｓｓから分離される。出力端子１０８は、このプリチャージ期間中に、ｐチャネル・プリチャージ・デバイス１０６により、ハイレベルにプリチャージされる。
【００３６】
評価期間中にデータ信号８８がロウレベルならば、ＮＡＮＤゲート９４の働きにより、ＮＡＮＤ出力９６はハイレベルになる。データ信号８８が評価期間中にロウレベルであるためにノード９６がハイレベルに保たれている場合には、ｐチャネル・デバイス９８がオンされず、ノード１００はロウレベルのままである。データ信号８８がロウレベルであるためにノード１００がロウレベルに保たれている場合には、ｎチャネル評価デバイス１１０は評価段階の間に導通しない。ｎチャネル評価デバイス１１２と１１４への入力９０と９２がそれぞれハイレベルであっても、出力端子１０８は、この評価段階の間、プリチャージされたハイレベル状態のままである。
【００３７】
一方、データ信号８８及び両方のクロック信号ＩＮＣＬＫ１（８４）、ＩＮＣＬＫ２（８５）がハイレベルであった場合には、評価期間中に、ノード９６がロウレベルになり、ｐチャネル・デバイス９８の働きによりノード１００がハイレベルに引き上げられる。ノード１００がハイレベル状態になると、ｎチャネル評価デバイス１１０が導通状態になり、（評価段階のある時点で入力９０及び９２がハイレベルであると仮定した場合）出力端子１０８がＶｓｓまで引き下げられる。
【００３８】
何れにせよ、プリチャージ段階の開始時においてＮＩＮＣＬＫ２クロック８６がハイレベルになると、出力端子１０８は再びハイレベルに引き上げられる。ＮＩＮＣＬＫ２クロック８６がハイレベルになると、ノード１０４がロウレベルになり、ｐチャネル・プリチャージ・デバイス１０６がオンされる。図示の便宜上、回路ステージ８２及び図４の回路の残り部分の詳細は、データ信号８８がハイレベルで、ｎチャネル評価デバイス１１２及び１１４へのそれぞれの入力９０及び９２がハイレベルである状況に関してのみ説明する。データ信号８８がロウレベルの場合における図４の回路の動作に関しては、図４の回路図並びに以下の説明から簡単に類推できる。
【００３９】
クロックの評価段階の開始時においてノード１０４がロウレベルからハイレベルに変わると、インバータ１２０の働きによりノード１１８がハイレベルからロウレベルに切り替わる。ノード１１８は、ノード１０４がハイレベルからロウレベルに切り替わるまでは、ロウレベルに保たれる。即ち、ノード１０４がハイレベルからロウレベルに切り替わると、ノード１１８がロウレベルからハイレベルに変わる。評価期間中に出力端子１０８がハイレベルからロウレベルに変化すると（即ち、評価段階の間に、データ信号８８並びに両方のクロック信号ＩＮＣＬＫ１（８４）、ＩＮＣＬＫ２（８５）がハイレベルで、ｎチャネル・デバイス１１２及び１１４がオン状態になれば）、ｐチャネル・デバイス１２４の働きにより、ノード１２２がロウレベルからハイレベルに変わる。ノード１２２は、プリチャージ段階の開始時においてノード１１８がロウレベルからハイレベルに切り替わるまで、ハイレベルに保たれ、ノード１１８のロウレベルからハイレベルへの変更に伴い、ロウレベルに引き下げられる。これは、ノード１１８がハイレベル状態になると、ｎチャネル・デバイス１１７が導通して、ノード１２２をＶｓｓに接続し、ノード１２２をロウレベルに引き下げるためである。図から明らかなように、ｐチャネル・デバイス１２４とｎチャネル・デバイス１１７は、ダイナミックインバータ／バッファとして作用し、適当な時刻に出力端子１０８上の信号の極性を切り替える。
【００４０】
一方、評価段階の開始時点でノード１１８がハイレベルからロウレベルに変化すると、インバータ１２５の働きにより、ノード１２７がハイレベルになる。評価期間の前に、ノード１２７がロウレベルで、且つ、ノード１２２がロウレベルである場合には、ｐチャネル・プリチャージ・デバイス１２６は、出力端子１２８をＶｄｄに接続すると同時にＶｓｓから分離させる。この結果、出力端子１２８は、出力端子１０８のプリチャージと同様の方法でプリチャージされる。
【００４１】
ＮＩＮＣＬＫ２クロック（８６）のロウレベル状態がインバータ１０２、１２０、１２５を介してノード１２７に伝搬されると、ノード１２７がロウレベルからハイレベルに変わり、ｐチャネル・プリチャージ・デバイス１２６がオフされる。（回路ステージ８２の評価段階の間のある時点で、ｎチャネル・デバイス１３０、１３２、１３４、１３６のゲートへの入力が全てハイレベルであると仮定した場合には、）ノード１２２がハイレベルになり、ｎチャネル・デバイス１３０、１３２、１３４、１３６を介して、出力端子１２８がＶｓｓに接続される。更に、ノード１２７がハイレベルになると、インバータ１３３の働きによりノード１３１がロウレベルになる。ノード１３１がロウレベルになると、ｎチャネル・デバイス１３５が遮断され、ノード１３７をＶｓｓから分離する。出力端子１２８がロウレベルになると、ｐチャネル・デバイス１３８が、ノード１３７をハイレベルに切り替える。出力端子１２８は、ノード１２７がロウレベルになってｐチャネル・プリチャージ・デバイス１２６によりハイレベルに引き上げられるまで、ロウレベルに保たれる。ノード１２７がロウレベルになると、ｐチャネル・プリチャージ・デバイス１２６の働きにより、出力端子１２８はＶｄｄに接続され、ハイレベルになる。
【００４２】
ノード１３７は、ノード１３１がハイレベルになってｎチャネル・デバイス１３５によりロウレベルに引き下げられるまで、ハイレベルに保たれる。ノード１３７のハイレベルからロウレベルへの遷移は、回路ステージ８２に続く（図示しない）回路ステージへの入力をＶｓｓレベルにプリチャージすることを意味する。
【００４３】
図示されている回路では、ラバーバンド・クロックＩＮＣＬＫ２の相補クロックであるラバーバンド・クロックＮＩＮＣＬＫ２（８６）によってプリチャージが制御されることを示しているが、これは必ずしも必要ではない。図４の回路において、ラバーバンド・クロックＮＩＮＣＬＫ２（８６）及びＩＮＣＬＫ２（８５）は互いに相補的であるため、クロックＮＩＮＣＬＫ２（８６）の位相は、約１８０度だけクロックＩＮＣＬＫ２（８５）の位相とずれている。但し、クロックＮＩＮＣＬＫ２（８６）は、ＰＬＬから発生される他のラバーバンド・クロックでもよいし、あるいは、一つあるいは複数のラバーバンド・クロックから生成される他のラバーバンド信号でもよい、と考えられる。クロックＮＩＮＣＬＫ２（８６）が、クロックＩＮＣＬＫ２がロウレベルに切り替わった後でハイレベルに変わり、また、クロックＩＮＣＬＫ１がハイレベルに切り替わった後で、ロウレベルに変わる限り、競争状態を生み出すことなく、プリチャージ・パルスを発生させることができる。上記の説明から、本発明の技術分野の当業者には自明のことであるが、クロックＩＮＣＬＫ２の相補信号以外の信号を用いてプリチャージの制御を行うことにより、タイミングの柔軟性を更に高めることが可能になる。例えば、ラバーバンド・クロックからクロックＮＩＮＣＬＫ２の立ち上がりエッジを生成して、必ず、クロックＩＮＣＬＫ２（８５）がロウレベルになった後で、クロックＮＩＮＣＬＫ２がハイレベルになるように制御することができる。同様に、ラバーバンド・クロックからクロックＮＩＮＣＬＫ２の立ち下がりエッジを生成して、必ず、ＩＮＣＬＫ１（８４）がハイレベルになる前に、クロックＮＩＮＣＬＫ２がロウレベルになるように制御することができる。このようなＮＩＮＣＬＫ２クロックの生成にラバーバンド・クロックを用いるため、外部参照信号の周波数に関わらず、常に競争状態を回避可能である。
【００４４】
以上の説明から明らかなように、本発明のラバーバンドロジック回路の第一回路ステージ８０から第二回路ステージ８２へ、更に、次の回路ステージへと、次々と波動のように評価段階が伝搬する。同様に、プリチャージ段階も波動のように伝搬するため、評価とプリチャージが分配され、連続して実行される。評価クロックパルスは、ＮＡＮＤゲートあるいはＮＯＲゲート等を介して、第一回路ステージの評価に用いられる。第一回路ステージの評価結果は、次の回路ステージに伝搬され、次の回路ステージの評価が順次行われる。第一回路ステージのプリチャージは、同様に、プリチャージ・パルスを介して実行される。このプリチャージ・パルスは、次の回路ステージに伝搬され、次の回路ステージのプリチャージが順次行われる。
【００４５】
本発明の回路においては、あるステージでの評価デバイスの数はそのステージのロジック入力の数と等しい。このような直列デバイスの数の減少は、ドミノロジック回路における評価ツリーと比較して、クロック上の容量性負荷並びに瞬時ピーク電流を減少させて、その結果、駆動回路ステージの駆動能力を増加させることができる。
【００４６】
図４の回路は、ＶｄｄからＶｓｓへの放電経路を阻止し、電力消費を抑え、誤った出力を防ぐことができる。例えば、回路ステージ８０のｐチャネル・プリチャージ・デバイス１０６とｎチャネル評価デバイス１１０の両方を同時にオンできるような条件下では放電経路が存在する。図４の回路では、ラバーバンド信号により評価が開始されるよりも前に、必ず、別のラバーバンド信号がプリチャージを終了させるため、この条件は成立しない。
【００４７】
図５は、評価とプリチャージが実行されている際の、複数のラバーバンド・クロックＩＮＣＬＫ１（８４）、ＩＮＣＬＫ２（８５）、ＮＩＮＣＬＫ２（８６）と図４の回路のいくつかのノードのロジック状態との関係を示すタイミングチャートである。図５に示されるラバーバンド・クロックＩＮＣＬＫ１（８４）は、パルス幅Ｗｐを有する。ラバーバンド・クロックＩＮＣＬＫ１（８４）は、図４のＮＡＮＤゲート９４に入力される信号の内の一つであり、第一回路ステージ８０を評価するためのパルスデータ信号を発生させる信号である。ＮＡＮＤゲート９４に入力される第二の信号は、図５に示されるパルス幅Ｗｐを有するラバーバンド・クロックＩＮＣＬＫ２（８５）である。これら２つの信号は、同じ参照クロック信号から生成されるため、同一のパルス幅Ｗｐを有する。図５に示されるように、クロックＩＮＣＬＫ１（８４）は、クロックＩＮＣＬＫ２（８５）から位相偏移されており、周波数依存遅延時間ＴｆｄだけクロックＩＮＣＬＫ２（８５）に先行している。参照クロック信号（例えば、図１の信号２０９）の周波数が変化すると、この周波数依存遅延時間Ｔｆｄも、それに応じて変化する。同様に図５に示されるラバーバンド・クロックＮＩＮＣＬＫ２（８６）は、ラバーバンド・クロックＩＮＣＬＫ２（８５）のミラーイメージであり、望ましくは、ラバーバンド・クロックＩＮＣＬＫ１（８４）及びＩＮＣＬＫ２（８５）の生成に用いられたものと同じ回路から生成される。
【００４８】
信号８４、８５、８８の何れかがロウレベルであれば、ＮＡＮＤ出力９６はハイレベルに保たれる。クロック信号ＩＮＣＬＫ１（８４）がハイレベルになった場合、既にハイレベル状態に遷移したクロック信号ＩＮＣＬＫ２（８５）と組み合わせて（更に、図４の導体８８上に有効データがあると仮定して）、クロック信号ＩＮＣＬＫ１（８４）のロウレベルからハイレベルへの遷移により、ＮＡＮＤ出力９６がエッジ３５０でロウレベルに変わる。ＮＡＮＤ出力９６は、クロック信号ＩＮＣＬＫ２（８５）がエッジ３５２でロウレベルに変化するまでロウレベルに保たれ、エッジ３５４でＮＡＮＤ出力９６はハイレベルに切り替わる。
【００４９】
エッジ３５０でＮＡＮＤ出力９６がハイレベルからロウレベルへ切り替わることにより、（図４のｐチャネル・デバイス９８を介して）エッジ３５６でノード１００がハイレベルに変化する。クロック信号ＩＮＣＬＫ２（８５）のハイレベルからロウレベルへの遷移とほぼ同時に、クロック信号ＮＩＮＣＬＫ２（８６）がエッジ３６０でロウレベルからハイレベルに切り替わることにより、ノード１００は（図４のｎチャネル・デバイス１１６を介して）エッジ３５８でハイレベルからロウレベルに変化するように構成されている。エッジ３５６及び３５８により限定されるパルスは、ステージ８０を評価するｎチャネル・デバイス１１０の制御に用いられる評価データパルスを規定する。
【００５０】
エッジ３５６でノード１００がロウレベルからハイレベルに遷移することにより、（入力９０及び９２がハイレベルであると仮定した場合）出力ノード１０８が、エッジ３６１において、プリチャージされたハイレベル状態からロウレベルに切り替わる。更に、エッジ３６０においてクロックＮＩＮＣＬＫ２（８６）がロウレベルからハイレベルに切り替わると、図５に示すエッジ３６２において、（インバータ１０２の働きにより）ノード１０４がハイレベルからロウレベルに変わる。エッジ３６２においてノード１０４がハイレベルからロウレベルに切り替わると、ｐチャネル・デバイス１０６は出力ノード１０８をＶｄｄに接続して、エッジ３６４で、再び、出力ノード１０８をハイレベルに引き上げる。この場合、クロック信号ＮＩＮＣＬＫ２（８６）は、ｐチャネル・デバイス１０６をオンにする前に、インバータ１０２を通過して、これに伴う伝搬遅延が生じるため、ノード１０４は、ノード１００がエッジ３５８でロウレベルになった後で、ノード１０８をエッジ３６４でハイレベルにする。逆に、クロック信号ＮＩＮＣＬＫ２（８６）がハイレベルになるのとほぼ同時に、ｎチャネル・デバイス１１６がオンされる。この結果、出力ノード１０８は、Ｖｄｄにプリチャージされる前にＶｓｓから切り離される。
【００５１】
エッジ３６１でノード１０８がハイレベルからロウレベルに切り替わると、ｐチャネル・デバイス１２４を介して、ノード１２２がエッジ３６６でハイレベルに引き上げられる。ノード１０４のハイレベルからロウレベルへの遷移により、ノード１１８がエッジ３７１でハイレベルに変わり、また、ノード１２２がエッジ３６８でロウレベルに引き下げられる。エッジ３６６及び３６８により規定されるパルスは、図４の回路ステージ８２の評価に用いられる評価パルスを示す。回路ステージ８０の出力ノード１０８がハイレベルからロウレベルに切り替わらない限り、ノード１２２はハイレベルに変わらず、評価は実行されない。導体１２２上の評価パルスのロウレベルからハイレベルへの立ち上がりエッジ３６６により、（ｎチャネル評価デバイス１３２、１３４、１３６が全て導通状態であると仮定した場合に）ノード１２８が、エッジ３７０において、プリチャージされたハイレベル状態からロウレベルに変化する。
【００５２】
ノード１０４のハイレベルからロウレベルへの変化は、インバータ１２０を介して伝搬され、ノード１１８をロウレベルからハイレベルに切り替え、この結果、ｎチャネル・デバイス１１７が導通されて、エッジ３６８においてノード１２２をロウレベルに引き下げ、評価パルスを終了させる。評価パルス終了時に再びノード１２２がロウレベルに下がることにより、出力ノード１２８は、Ｖｓｓから効果的に分離される。同様に、ノード１１８のロウレベルからハイレベルへの立ち上がりエッジ３７１は、インバータ１２５を介して伝搬され、ノード１２７をエッジ３７２においてハイレベルからロウレベルに切り替えて、ｐチャネル・プリチャージ・デバイス１２６を介して出力ノード１２８をプリチャージする。この結果、図示するように、エッジ３７４においてノード１２８がロウレベルからハイレベルに変わる。
【００５３】
評価段階の間に出力ノード１２８がハイレベルからロウレベルに変わると、ｐチャネル・デバイス１３８の働きにより、エッジ３７８において出力ノード１３７がハイレベルに引き上げられる。この出力ノード１３７のロウレベルからハイレベルへの切り替えを利用して、ラバーバンドロジック回路の（図示しない）次のステージの評価が開始されるようにしてもよい。エッジ３７２におけるノード１２７のハイレベルからロウレベルへの遷移は、インバータ１３３を介して伝搬され、ノード１３１をエッジ３７６においてロウレベルからハイレベルに切り替える。ノード１３１がロウレベルからハイレベルに変わることによりデバイス１３５がオンされて、出力ノード１３７がエッジ３７９でロウレベルに変わり、出力ノード１３７をロウレベルにするプリチャージが開始される。
【００５４】
上記の説明から明らかなように、ダイナミックロジック回路においてラバーバンド・クロックを利用することにより、回路性能を最適化するタスクを簡略化することができる。従来技術においては、遅延時間と余裕時間とを予め計算で求めて、変更不能な方法で実現しなければならなかった。従来技術の回路においてプリチャージ・クロックと評価クロックとの間の余裕時間を変更するためには、かなりの資源と費用が必要であった。この結果、従来技術の回路を設計する場合には、遅延時間と余裕時間に対して非常に保守的な設計を行わざるをえず、回路内に不必要に長い余裕時間と遅延時間を設定するという誤りを侵しやすかった。この場合には、与えられた所定のシステムクロック速度に対して、設計回路を最適に作動させることが困難であった。本発明の原理に従えば、設計者が最適な遅延時間と余裕時間とを概算して、プリチャージと評価とを制御するラバーバンド・クロックを用いた回路を実現することができる。一旦回路を製造した後でも、図１に示すクロック２０９等の参照クロックを増減させることにより、性能を最適化するように、余裕時間と遅延時間とを増減することができる。これらのクロックのラバーバンド特性により、本発明の回路を動作させる速度に関わらず、プリチャージ・パルスと評価パルスとを互いから位相偏移させて、クロウバー状態を防ぐことができる。
【００５５】
マイクロプロセッサー等のロジックシステムでは、システムクロックの各クロックサイクルに対して、２つ以上のデータサイクルが設けられる。各システムクロックサイクルに対して複数のデータを処理することができれば、システムクロックの速度を挙げることなく、実質的に、所定のロジック回路の処理能力が増大することになる。各システムクロックの評価に複数のデータ有効サイクルが存在する時には、ＣＭＯＳダイナミックロジック回路の設計において、タイミングの問題が生じる。各システムクロックサイクルに対して、より多くのデータを処理するためには、プリチャージ・クロックと評価クロックの周波数が高くすることになり、プリチャージ・パルスと評価パルスがより短くなる。この場合には、パルス間の余裕時間を減らして、次のデータの評価を実行する前に、所定のデータの評価とプリチャージとを行うようにする必要がある。
【００５６】
プリチャージ・クロックと評価クロックの周波数を高くして、安全余裕の時間を減らす場合、プリチャージ・パルスと評価パルスとが相対的に適切な間隔で発生するようにしなければならない。複数のラバーバンド・クロックを用れば、動作周波数に関わりなく、必ず、それぞれのクロック周期の所定の割合だけ、評価クロックからプリチャージ・クロックを位相偏移できるので、この必須のタイミング要件を実現することができる。更に、プリチャージ・クロックと評価クロックは共に同じ外部参照クロックから作り出されるため、この外部参照クロックの周波数を増加させることにより、最大の性能を引き出すように、この２つのクロックを縮小することが可能である。プリチャージ段階と評価段階とが重なる等、より長い余裕時間が必要な場合には、外部参照クロックの周波数を下げて、クロック間の遅延時間並びにこれに対応する余裕時間を増やすようにしてもよい。クロック間の遅延時間が固定されている従来技術の回路とは異なり、本発明の回路では、プリチャージ・サイクルと評価サイクルとの間の余裕時間の長さを、最大性能を実現するように、簡単に調節可能である。
【００５７】
図６〜図９は、参照クロックの１周期の間に２つのデータの評価を行うためのラバーバンドロジック回路を示す。図６は、各クロックサイクル間に２つのデータの評価を行うことができるラバーバンドロジック回路のためのプリチャージ・パルスを発生させる回路を示す概略回路図である。図７は、複数のラバーバンド・クロックと、これらのラバーバンド・クロックから生成されるプリチャージ信号と評価信号とを示すタイミングチャートである。図８及び図９は、プリチャージ・クロックと評価クロックとを含むラバーバンドロジック回路の関係部分を示す概略回路図である。
【００５８】
図６に示す回路は、２つのＡＮＤゲート５０１、５０２を備える。ＡＮＤゲート５０１には、ラバーバンド・クロックＣＬＫ３（５０５）及びラバーバンド・クロックＣＬＫ１（５０８）が入力される。ＡＮＤゲート５０１は、次のＯＲゲート５１２に入力される信号ＣＬＫＰＣ１（５１０）を出力する。ＡＮＤゲート５０２には、ラバーバンド・クロックＣＬＫ３Ｂ（５１４）及びラバーバンド・クロックＣＬＫ１Ｂ（５１６）が入力される。ＡＮＤゲート５０２は、これらの入力に応じて、２入力ＯＲゲート５１２に入力される信号ＣＬＫＰＣ２（５１８）を出力する。ＣＬＫＰＣ１（５１０）とＣＬＫＰＣ２（５１８）の入力に応じて、ＯＲゲート５１２は、ラバーバンド信号ＣＬＫＰＣ（５２０）を出力する。このラバーバンド信号ＣＬＫＰＣ（５２０）を用いて、システムクロックの各サイクル毎に、ラバーバンドロジック回路が２回プリチャージされる。図６から明らかなように、１）クロックＣＬＫ３（５０５）とクロックＣＬＫ１（５０８）が両方ともハイレベルである、あるいは、２）クロックＣＬＫ３Ｂ（５１４）とクロックＣＬＫ１Ｂ（５１６）が両方ともハイレベルである、の何れかの条件が満たされている場合に、信号ＣＬＫＰＣ（５２０）がハイレベルになる。これ以外の場合には、信号ＣＬＫＰＣ（５２０）はロウレベルのままである。
【００５９】
各システムサイクル毎に２つのデータを評価するラバーバンドロジック回路において、ラバーバンド信号ＣＬＫＰＣ（５２０）の役割を更に詳細に述べるために、図７のタイミングチャートには、複数のラバーバンドクロックＣＬＫ１及びＣＬＫ３と、これらのラバーバンドクロック信号の所定の相補信号とを示す。クロックＣＬＫ１、ＣＬＫ３、及び、その相補クロック信号は、例えば、図１に示す回路と同様な回路により生成される。
【００６０】
図７に示すクロック信号ＣＬＫ１及びＣＬＫ３は、互いに位相偏移される、即ち、周波数依存遅延時間だけ互いに遅延しているラバーバンド・クロックを表す。クロックＣＬＫ３は、図６に示す導体５０５上のクロックＣＬＫ３と同一であり、また、クロックＣＬＫ１Ｂは、図６の導体５１６上のクロックＣＬＫ１Ｂと同一である。図７には、更に、前述のラバーバンド・クロックの所定の相補クロックが示されている。図７に示されている所定の相補ラバーバンド・クロックは、クロックＣＬＫ１Ｂ並びにＣＬＫ３Ｂである。相補ラバーバンド・クロックＣＬＫ３Ｂは、図６に示す導体５１４上のクロックＣＬＫ３Ｂと同一であり、また、クロックＣＬＫ１は、図６の導体５０８上のクロックＣＬＫ１と同一である。相補ラバーバンド・クロック（例えば、クロックＣＬＫ１Ｂ）は、対応するラバーバンド・クロック（例えば、クロックＣＬＫ１）のミラーイメージである。図７には、更に、図６の回路における導体５１０及び５１８上にそれぞれ示される信号ＣＬＫＰＣ１並びにＣＬＫＰＣ２を示す。
【００６１】
図７に示すラバーバンド信号ＣＬＫＰＣは、図８のロジック回路の出力ノードを、システムクロックの各サイクル毎に、２回プリチャージするために用いられる。図６に関して説明したように、導体５２０上の信号ＣＬＫＰＣは、信号ＣＬＫＰＣ１並びにＣＬＫＰＣ２から生成される。クロックＣＬＫＰＣ、ＣＬＫＰＣ１、並びに、ＣＬＫＰＣ２はラバーバンドクロックから誘導されるため、クロックＣＬＫＰＣ、ＣＬＫＰＣ１、ＣＬＫＰＣ２は、それぞれ、図１のクロック２０９等の参照クロックから周波数依存時間だけ遅延している。また、図７に示されるデータ信号６１６は、システムクロックの各サイクル毎に、２つのデータ有効サイクル、例えば、データ有効サイクル６１８及びデータ有効サイクル６２０を持つ。
【００６２】
信号ＣＬＫＰＣ１と複数のラバーバンド・クロックとの関係を更に詳細に説明するために、ラバーバンド・クロックＣＬＫ３及びＣＬＫ１について考える。ラバーバンド・クロックＣＬＫ３がエッジ６２２でロウレベルからハイレベルに切り替わる時点で、ラバーバンド・クロックＣＬＫ１は既にハイレベル状態になっている。クロックＣＬＫ３及びＣＬＫ１がハイレベル状態になれば、（図６に示す）ＡＮＤゲート５０１を介して、信号ＣＬＫＰＣ１がエッジ６２４でハイレベルになる。信号ＣＬＫＰＣ１は、ラバーバンド・クロックＣＬＫ１がエッジ６２６でハイレベルからロウレベルに切り替わるまで、ハイレベル状態に保たれる。クロックＣＬＫ１がエッジ６２６でハイレベルからロウレベルに遷移する時点では、ラバーバンド・クロックＣＬＫ３はハイレベルのままであるが、それにも関わらず、ＡＮＤゲート５０１の働きにより、信号ＣＬＫＰＣ１はエッジ６２７でロウレベルになる。エッジ６２２及び６２６により生成されるクロックＣＬＫＰＣ１のパルスは、図７に示すエッジ６２４及び６２７により規定される。同様に、エッジ６３２でラバーバンド・クロックＣＬＫ３がハイレベルになると、信号ＣＬＫＰＣ１は、立ち上がりエッジ６３０で再びハイレベルになる。そして、エッジ６３６でラバーバンド・クロックＣＬＫ１がロウレベルになると、信号ＣＬＫＰＣ１は、立ち下がりエッジ６３４でハイレベルからロウレベルに遷移する。
【００６３】
一方、信号ＣＬＫＰＣ２は、相補ラバーバンド・クロックＣＬＫ１Ｂ並びにＣＬＫ３Ｂにより制御される。相補ラバーバンド・クロックＣＬＫ３Ｂがエッジ６４０でロウレベルからハイレベルに切り替わる時点では、相補ラバーバンド・クロックＣＬＫ１Ｂは既にハイレベル状態になっている。この結果、ＡＮＤゲート５０２が、エッジ６４２で信号ＣＬＫＰＣ２をハイレベルにする。エッジ６４４で相補ラバーバンド・クロックＣＬＫ１Ｂがロウレベルになると、その時点では相補ラバーバンド・クロックＣＬＫ３Ｂがハイレベルのままであるにも関わらず、エッジ６４６で信号ＣＬＫＰＣ２がロウレベルになる。図７にエッジ６５０で示される、ＣＬＫＰＣ２クロックパルスの次の立ち上がりエッジも同様に形成される。
【００６４】
プリチャージ・クロック信号ＣＬＫＰＣは、図７に示す信号ＣＬＫＰＣ１と信号ＣＬＫＰＣ２との和に相当する。信号ＣＬＫＰＣの各プリチャージ・パルスは、ＯＲゲート５１２の動作により、信号ＣＬＫＰＣ１あるいはＣＬＫＰＣ２によるそれぞれのパルス成分から少しずつ遅延している。ＯＲゲート５１２に起因する遅延時間を、時間間隔６５４として図７に示す。
【００６５】
図６の回路と複数のラバーバンド・クロックＣＬＫ１、ＣＬＫ１Ｂ、ＣＬＫ３、ＣＬＫ３Ｂを用いることにより、４つのプリチャージ・パルス（図７に示すパルス６６０、６６２、６６４、６６６）が、言い替えると、各クロックサイクル毎に２つのプリチャージ・パルスが、結果として生成される。即ち、各データ有効サイクルに対して１つのプリチャージ・パルスが存在し、プリチャージ・パルスが適時供給されることにより、ラバーバンドロジック回路のプリチャージが実行される。図７から明らかなように、参照クロックの速度を速くして、エッジ６２２、６２６、６４０、６４４、６３２及び６３６間の時間を縮小すると、プリチャージ・パルス６６０、６６２、６６４、６６６の大きさが減少する一方、プリチャージ・クロック信号ＣＬＫＰＣの周波数が増大する。逆に、参照クロックの速度を遅くして、エッジ６２２、６２６、６４０、６４４、６３２及び６３６間の時間を長くすると、プリチャージ・パルス６６０、６６２、６６４、６６６の大きさが増大する一方、プリチャージ・クロック信号ＣＬＫＰＣの周波数が減少する。
【００６６】
図８は、複数のラバーバンドクロックを利用して、各クロックサイクルに対して２つのデータを評価するためのラバーバンドロジック回路を示す概略回路図である。図８に示すように、ラバーバンドロジック回路ステージの評価ツリー７０８は、ｐチャネル・プリチャージ・デバイス７１０と、ｎチャネル評価デバイス７１２、７１４、７１６と、を備える。ラバーバンドロジック回路の残りの部分の動作に関しては、図４に基づいて既に説明したので、ここでは省略する。
【００６７】
ｎチャネル評価デバイス７１２は、導体７１８上のデータパルスＤＰにより制御される。また、ｎチャネル評価デバイス７１４、７１６は、それぞれ、導体７２０及び７２２上の信号ＤＡＴＡ−Ｂ、ＤＡＴＡ−Ｃにより制御される。図示の都合上、ｎチャネル評価デバイス７１４及び７１６のゲートはＶｄｄに直結されているが、ｎチャネル評価デバイス７１４及び７１６のゲートへの入力は、図８のラバーバンドロジック回路へのロジック入力を表していることに留意されたい。但し、デバイス７１２、７１４、７１６の何れか一つを導体７１８に接続し、図８の回路の評価を制御できることに留意すべきである。図８のラバーバンドロジック回路への他のロジック入力ＤＡＴＡ−Ａが導体７３０上に示されている。ＤＡＴＡ−Ａは、２入力ＮＯＲゲート７３８の第一入力ポートに入力される。一方、ＮＯＲゲート７３８の第二入力ポートには、導体７４６を介してラバーバンド信号ＣＬＫＰＣが入力される。図７に関連して説明したように、信号ＣＬＫＰＣは、図８のラバーバンドロジック回路にプリチャージ・パルスを供給する。ｐチャネル・プリチャージ・デバイス７１０を実際に制御するために、導体７４５上の信号ＣＬＫＰＣは、図８に示すように、インバータ７４８により極性反転され、デバイスがクロウバー状態にならないようにする。インバータ７４８に固有の遅延により、不必要な電力消費を防ぐことができる。
【００６８】
ＮＯＲゲートに詳しい当業者に自明のように、ＮＯＲゲート７３８への入力の何れかがハイレベルであれば、導体７１８はロウレベルに維持される。逆に、ＮＯＲゲート７３８への入力が全てロウレベルであれば、導体７１８はハイレベルになり、ｎチャネル評価デバイス７１２がオンされる。プリチャージ期間中、導体７４５上の信号ＣＬＫＰＣはハイレベルに保たれる。導体７４５がハイレベル状態で、これに付随して導体７４６もハイレベル状態の場合には、ＮＯＲゲート７３８の出力がロウレベルのまま維持され、この結果、ｎチャネル・デバイス７１２がオフになり、図８のラバーバンドロジック回路の出力ノード７５２がＶｓｓから分離される。同時に、インバータ７４８の働きにより導体７５０がロウレベルになって、この結果、ｐチャネル・プリチャージ・デバイス７１０がオンされて、出力ノード７５２をプリチャージする。ここで、ＮＯＲゲート７３８の伝搬遅延時間よりも、インバータ７４８のハイレベル入力／ロウレベル出力変換の遅延時間をわずかに長く設定することにより、ｎチャネル・デバイス７１２をオフにした後に、ｐチャネル・デバイス７１０をオンにすることができる。後述するように、ＮＯＲゲート７３８の伝搬遅延時間よりも、インバータ７４８のロウレベル入力／ハイレベル出力変換の遅延時間がわずかに短くなるように、インバータ７４８を設定することが望ましい。プリチャージ・サイクル終了時には、導体７４５上の信号ＣＬＫＰＣがロウレベルになり、インバータ７４８を介して、導体７５０がハイレベルに変換され、その結果、ｐチャネル・プリチャージ・デバイス７１０がオフされる。
【００６９】
クロック信号ＣＬＫＰＣがロウレベルに保たれている評価サイクルの間に、導体７３０上のＤＡＴＡ−Ａがハイレベルであれば、ＮＯＲゲート７３８の出力はロウレベルに保たれる。この場合、ｎチャネル評価デバイス７１２はオンされず、出力ノード７５２は、そのプリチャージされたハイレベル状態に保持される。逆に、導体７３０上のＤＡＴＡ−Ａがロウレベルであれば、ＮＯＲゲート７３８の働きにより、ＮＯＲゲート７３８の出力がハイレベルになる。この結果、ｎチャネル評価デバイス７１２がオンされて、評価デバイス７１２、７１４、７１６を介して出力ノード７５２がロウレベルに引き下げられる。ここで、ＮＯＲゲート７３８の伝搬遅延時間よりも、インバータ７４８の低入力−高出力変換の遅延時間が、わずかに短くなるように、インバータ７４８を傾斜させていることに注意すべきである。この結果、ｐチャネル・プリチャージ・デバイス７１０がオフになり、導体７１８がハイレベルになる前に、出力ノード７５２がＶｄｄから分離される。評価サイクルは、プリチャージ・サイクルの開始時において、導体７４５上の信号ＣＬＫＰＣがハイレベルになると、終了する。
【００７０】
図９は、あるラバーバンド信号ＣＬＫＥＶを評価に利用し、別のラバーバンド信号ＮＣＬＫＰＣをプリチャージに利用する、図８の回路の変形例を示す図である。図９の回路において、導体７３０は、ＤＡＴＡに接続されたままである。一方、ＮＯＲゲート７３８の入力の一つに接続される導体７４６は、図８の回路では信号ＣＬＫＰＣに接続されていたが、図９の回路では、別のラバーバンド信号ＣＬＫＥＶに接続される。図９には、更に、信号ＮＣＬＫＰＣに接続されて、ｐチャネル・プリチャージ・デバイス７１０の制御に用いられる導体７５０が示されている。信号ＮＣＬＫＰＣは、例えば、図８に示す方法で、図８の信号ＣＬＫＰＣをインバータを用いて極性反転したものである。あるいは、適当な回路、例えば、図６に示す回路のＯＲゲート５１２をＮＯＲゲートに置き換えた回路によって生成される複数のラバーバンド・クロックから、直接、信号ＮＣＬＫＰＣを生成するようにしてもよい。競争状態を回避するために、ラバーバンド信号ＣＬＫＥＶの評価パルスがラバーバンド信号ＮＣＬＫＰＣのプリチャージ・パルスと重ならないようにすることが望ましい。複数のラバーバンド・クロックは、ラバーバンド信号ＮＣＬＫＰＣ並びにＣＬＫＥＶの生成に用いられるため、単に、これらのパルスの生成に適当なラバーバンド・クロックを選択するだけで、これらの信号のパルスが重ならないようにすることができる。このようにして、たとえ外部参照クロックの周波数が変化したとしても、ラバーバンド信号ＣＬＫＥＶの評価パルスとラバーバンド信号ＮＣＬＫＰＣのプリチャージ・パルスとの間の相対的な関係を維持することができる。更に、クロック間の遅延時間は、固定的な物理的遅延素子の構成に依存しないため、本発明では、固定的な物理的遅延素子の製造に付随するプロセス変動の問題が生じない。
【００７１】
以上、理解を助ける目的で、本発明を好適な実施例に基づいて説明したが、請求の範囲に記載される本発明の要旨を逸脱しない範囲内で様々な態様で実施可能なことはいうまでもない。当業者には自明のことであるが、本発明の要旨から逸脱しない範囲内で、上述の構成を様々に組み合わせたり、変更したりすることが可能である。例えば、実施例では、各クロックサイクルに対して２つのデータサイクルを評価する回路に関して説明したが、各クロックサイクルに対して評価するデータサイクルの数を適宜増減した回路を実現することも可能である。更に、上記の実施例では、波動伝搬回路に本発明の原理及び回路を適用したが、本発明はこれに限定されるものではなく、ＮＯＲＡロジックやドミノロジック等、他の様々な種類のＣＭＯＳ回路に適用可能である。本発明の範囲は、何等上記の実施例によって限定されるものではなく、請求の範囲で説明されるものである。
【００７２】
Ｂ．ウエーブ・プロパゲーション・ロジック：
図１０および図１２に、本発明の一面による、ＮＡＮＤゲートベースの波状伝播回路の概略図とそのタイミング図を示す。図１０の回路は、パルス化されたデータ信号を生成するためにＮＡＮＤゲートを使用しているので、ＮＡＮＤゲートベースである。図１０の回路にはふたつの伝播回路ステージ１０８０および１０８２が含まれる。各ステージには、ロジック入力、すなわち信号１０８８、１０９０および１０９２と同数の評価デバイス、すなわちデバイス１１１０、１１１２および１１１４があることが望ましい。クロック入力へのプリチャージパルス、すなわちクロック信号ＣＬＫ１０８４に応答して、第１伝播回路ステージ１０８０と第２伝播回路ステージ１０８２は、それぞれの出力端子すなわちノード１１００および１１３７を、順次プリチャージする。クロックすなわちクロック信号ＣＬＫ１０８４がその評価位相に入ると、パルス化されたデータ信号が使用されて、第１伝播回路ステージ１０８０の評価が始まり、出力パルスが生成される。その後、第１伝播回路ステージ１０８０からの出力パルスがバッファーされて第２伝播回路ステージ１０８２に伝播し、第２伝播回路ステージ１０８２の評価が始まる。このようにして、波状伝播回路の各ステージからステージへ、波を描くように次々と、プリチャージと評価が行なわれる。
【００７３】
図１０の波状伝播回路の動作は、図１２のタイミング図とともに考えるのが最も理解しやすい。理解しやすくするために、ここでは図１０の回路部品を１０５０から１１９９の範囲内の参照番号で呼ぶ。一方、図１２のタイミングトレースをここでは１２００から１２９９の範囲内の参照番号で呼ぶ。
【００７４】
図１０には、伝播回路ステージ１０８０、１０８２を備えた２段ステージ波状伝播ロジック回路が示されている。クロック信号ＣＬＫ１０８４には、クロックエッジ１２０２とクロックエッジ１２０４の間の評価位相と、クロックエッジ１２０４とクロックエッジ１２０６の間のプリチャージ位相というふたつの位相がある。クロック信号ＣＬＫ１０８４がクロックエッジ１２０２でハイレベルになる時、ＮＣＬＫクロック１０８６はトランジションエッジ１２０８でロウレベルになる。図１０で開示された実施例では、ＣＬＫクロック１０８４とＮＣＬＫクロック１０８６の両方が、この技術分野で周知のタイプのクロック回路（図示せず）で生成され、それぞれ反対の方向にほぼ同時に切り替わる。しかしながら、本発明の範囲と主旨から逸脱しなければ、特定の応用例においてＮＣＬＫクロック１０８６を、例えばＣＬＫの遅延形のような、別のクロックで代用可能であるということに注目すべきである。このようなクロックの生成と、ここに開示する発明においてこのようなクロックを使用可能に適用することとは、当業者の十分な能力範囲内にある。
【００７５】
図１０に示すように、クロックＣＬＫ１０８４とデータ信号１０８８の両方がＮＡＮＤゲート１０９４への入力となる。評価位相の開始時にＣＬＫクロック１０８４が、トランジションエッジ１２０２においてハイレベルの状態へ移行する前のロウレベルにあるならば、このときのＮＡＮＤゲート１０９４のＮＡＮＤ出力１０９６はハイレベルである。このことは図１２に参照番号１２１０で示されている。クロックＣＬＫ１０８４がトランジションエッジ１２０２においてハイレベルの状態へ移行して、データ信号１０８８もハイレベル状態であるならば、ＮＡＮＤゲート１０９４は、トランジションエッジ１２１２においてＮＡＮＤ出力１０９６をロウレベルに引き下げる。ＮＡＮＤ出力１０９６は、ＣＬＫクロック１０８４がトランジションエッジ１２０４においてロウレベルになり、プリチャージ状態に入るまでロウレベルにとどまる。これが起きると、ＮＡＮＤゲート１０９４のＮＡＮＤ出力１０９６は図示のとおり、エッジ１２１４でハイレベルになる。
【００７６】
トランジションエッジ１２１２でＮＡＮＤ出力１０９６がロウレベルになると、ｐチャンネルデバイス１０９８は、トランジションエッジ１２１６でノード１１００をハイレベルに引き上げる。ノード１１００は、ＮＣＬＫクロック１０８６がプリチャージ位相の始めに、トランジションエッジ１２２０においてロウレベルからハイレベルに切り替わる時に、ｎチャンネルデバイス１１１６によってロウレベルに引き下げられるまで、ハイレベルにとどまる。注目すべきことは、ｐチャンネルデバイス１０９８とｎチャンネルデバイス１１１６は図１０の回路においては、ひとつのダイナミックインバータとして一緒に機能するということである。必ずというわけではないが、面積と速度の点で有利であるから、ダイナミックインバータが望ましい。明らかなことではあるが、ＮＡＮＤゲート１０９４と、ｐチャンネルデバイス１０９８と、ｎチャンネルデバイス１１１６とは、一緒になってひとつのパルス生成回路として機能し、図１０の回路にパルス化されたデータ信号をもたらす。図１２もまた、ＮＣＬＫクロック１０８６が評価位相の始めに、トランジションエッジ１２０８においてハイレベルからロウレベルになると、インバータ１１０２がトランジションエッジ１２２２においてノード１１０４をハイレベルに引き上げることを示している。ノード１１０４は、ＮＣＬＫクロック１０８６がプリチャージ位相の始めに、トランジションエッジ１２２０においてロウレベルからハイレベルに移行して、トランジションエッジ１２２４においてノード１１０４をハイレベルからロウレベルに引き下げるまで、ハイレベルにとどまる。
【００７７】
ノード１１０４は、トランジションエッジ１２２２においてハイレベルの状態に移行する前は、ロウレベルにとどまる。参照番号１２２６で示す期間内は、ノード１１０４がロウレベルの状態にあることにより、ｐチャンネルプリチャージデバイス１１０６が「オン」になり、出力端子１１０８がＶｄｄに接続される。トランジションエッジ１２２２の前の、参照番号１２２６で示す期間内は、ノード１１００がロウレベルの状態にあることにより、ｎチャンネル評価デバイス１１１０が「オフ」になり、出力端子１１０８はＶｓｓから切り離される。出力端子１１０８は、プリチャージの期間内にｐチャンネルプリチャージデバイス１１０６を介して、ハイレベルにプリチャージされる。
【００７８】
もし、評価の期間内にデータ信号１０８８がロウレベルであれば、ＮＡＮＤ出力１０９６はＮＡＮＤゲート１０９４の働きによりハイレベルになる。このことは、図１２のタイミング図に、破線と参照番号１２３０で図示してある。評価の期間内でデータ信号１０８８がロウレベルであるために、ノード１０９６がハイレベルにとどまっている時は、ｐチャンネルデバイス１０９８は「オン」にならず、ノード１１００はロウレベルにとどまる。この条件でのノード１１００の状態は、図１２に参照番号１２３２のついた破線で図示してある。データ信号１０８８がロウレベルであるために、ノード１１００がロウレベルにとどまっている時には、評価位相の期間はｎチャンネル評価デバイス１１１０は導通しない。図１２のタイミング図に破線１２３４で図示するとおり、ｎチャンネル評価デバイス１１１２および１１１４それぞれへの入力１０９０および１０９２がハイレベルならば、この評価位相にある間は出力端子１１０８がプリチャージされたハイレベルに、なおもとどまっている。
【００７９】
別の言い方をすれば、仮にデータ信号１０８８がハイレベルであったとすれば、ノード１０９６が評価期間内にロウレベルになっており、これによって、ノード１１００がｐチャンネルデバイス１０９８を介してハイレベルに引き上げられていたであろう。ノード１１００がハイレベル状態にあることにより、今度はｎチャンネル評価デバイス１１１０が導通し、そのことにより、出力端子１１０８はＶｓｓにプルダウンされる（入力端子１０９０および１０９２が評価期間内はどこかの時点でハイレベルにあると仮定する）。
【００８０】
いずれにしても、ＮＣＬＫクロック１０８６がプリチャージ位相の始めでハイレベルになると、出力端子１１０８も再度ハイレベルになる。ＮＣＬＫクロック１０８６がハイレベルになると、ノード１１０４がロウレベルになり、ｐチャンネルプリチャージデバイス１１０６が「オン」になる。説明の便宜上、伝播回路ステージ１０８２と図１０の回路の残りの部分の説明は、データ信号１０８８がハイレベルで、ｎチャンネル評価デバイス１１１２および１１１４それぞれへの入力１０９０および１０９２もハイレベルである時の状態についてのみ行なう。データ信号１０８８がロウレベルの時の図１０の回路動作は、図１０の回路図、図１２のタイミング図、およびここに述べた説明からすぐに推察できる。
【００８１】
クロックの評価位相の始めのトランジションエッジ１２２２で、ノード１１０４がロウレベルからハイレベルになると、ノード１１１８はインバータ１１２０の働きによってハイレベルからロウレベルになる。このことはトランジションエッジ１２３６に図示してある。ノード１１１８は、ノード１１０４がトランジションエッジ１２２４でハイレベルからロウレベルに変わるまでロウレベルにとどまり、これによって、ノード１１１８が、トランジションエッジ１２３８でロウレベルからハイレベルになる。更に、評価期間内に出力端子１１０８がハイレベルからロウレベルに変わると（すなわち、評価位相である間は、データ信号１０８８がハイレベルで、ｎチャンネルデバイス１１１２および１１１４は「オン」である）、ノード１１２２は、ｐチャンネルデバイス１１２４の働きによりロウレベルからハイレベルになる。これは図１２のタイミング図にトランジションエッジ１２４０で図示してある。ノード１１２２は、ノード１１１８がプリチャージ位相の始めで、ロウレベルからハイレベルへ移行するトランジションエッジ１２３８によってロウレベルになるまで、ハイレベルにとどまる。これは、ノード１１１８がハイレベルにあることによってｎチャンネルデバイス１１１７が導通するので、ノード１１２２がＶｓｓに接続されて、トランジションエッジ１２４１でノード１１２２がロウレベルにプルダウンされるからである。以上から明らかなように、ｐチャンネルデバイス１１２４とｎチャンネルデバイス１１１７とは、適切な時に、出力端子１１０８上の信号の極性を切り替えるひとつのダイナミックインバータ／バッファーの働きをする。
【００８２】
一方、評価位相の始めに、ノード１１１８がトランジションエッジ１２３６でハイレベルからロウレベルに移行すると、ノード１１２７はインバータ１１２５の働きによってハイレベルになる。注目すべきことは、評価期間の前にノード１１２７がロウレベルであり、ノード１１２２もロウレベルであった時は、ｐチャンネルプリチャージデバイス１１２６は出力端子１１２８をＶｄｄに接続し、出力端子１１２８をＶｓｓとの接続から切り離すことにより、出力端子１１２８は出力端子１１０８のプリチャージと同じようにプリチャージされるということである。
【００８３】
ロウレベルのＮＣＬＫクロック１０８６が、インバータ１１０２、１１２０、１１２５を介して伝播しノード１１２７に達すると、ノード１１２７はロウレベルからハイレベルになり、ｐチャンネルプリチャージデバイス１１２６を「オフ」にする。ノード１１２２がトランジションエッジ１２４０でハイレベルになると、出力端子１１２８はｎチャンネルデバイス１１３０、１１３２、１１３４および１１３６を介してＶｓｓに接続される（ｎチャンネルデバイス１１３０、１１３２、１１３４および１１３６の各ゲートへの入力が、伝播回路ステージ１０８２の評価位相の期間のいずれかの時点ですべてハイレベルにあると仮定する）。評価の間に出力端子１１２８がハイレベルからロウレベルに移行することは、図１２のトランジションエッジ１２４２で図示してある。更に、ノード１１２７がハイレベルになると、ノード１１３１はインバータ１１３３の働きによりロウレベルになる。ノード１１３１がロウレベルになるとｎチャンネルデバイス１１３５は遮断され、ノード１１３７がＶｓｓとの接続から切り離される。先に説明したとおり、出力端子１１２８がトランジションエッジ１２４２でロウレベルになると、ｐチャンネルデバイス１１３８はノード１１３７をハイレベルにする。このことは図１２のトランジションエッジ１２４４に図示してある。出力端子１１２８は、ノード１１２７がロウレベルになって、ｐチャンネルプリチャージデバイス１１２６によりハイレベルに引き上げられるまで、ロウレベルにとどまる。ノード１１２７がロウレベルになると、出力端子１１２８はｐチャンネルプリチャージデバイス１１２６を介してＶｄｄに接続され、トランジションエッジ１２４６でハイレベルになる。
【００８４】
ノード１１３７は、ノード１１３１がハイレベルになってｎチャンネルデバイス１１３５によりロウレベルに引き下げられるまで、引き続きハイレベルにとどまる。ノード１１３７がトランジションエッジ１２４８でハイレベルからロウレベルに移行するということは、伝播回路ステージ１０８２の次の伝播回路ステージ（図示せず）への入力をＶｓｓにプリチャージするということを表している。
【００８５】
これまでに述べたことから容易に理解できるとおり、本発明の波状伝播回路である第１伝播回路ステージ１０８０から第２伝播回路ステージ１０８２へ、そして後続の各伝播回路ステージへと、波を描くように評価が行なわれてゆく。同様に、プリチャージ位相も波を描くように展開してゆき、これにより、評価とプリチャージとが分散して次々と行なわれる。第１伝播回路ステージを評価するために、ＮＡＮＤゲート、ＮＯＲゲートなどのいずれかを介するクロックパルスが用いられている。第１伝播回路ステージの評価の結果は後続の各伝播回路ステージに伝播され、各伝播回路ステージを順次評価してゆく。第１伝播回路ステージのプリチャージもまた、パルスを介して完遂される。このプリチャージのパルスが後続の各伝播回路ステージに伝播可能になっている。更に、第１伝播回路ステージがプリチャージ可能になる前に、各伝播回路ステージのすべてがその評価を終えるまで、クロックの速度を遅くし、またウエイトをかける必要が最早ない。ステージからステージへと、プリチャージ位相と評価位相とが次々と波を描くように行なわれる性質は、波状伝播回路のある伝播回路ステージで、その入力の評価がまだ行なわれている時に、先行する伝播回路ステージのプリチャージを開始できるということを意味する。その結果、クロックは高い周波数での作動が可能になり、これにより性能が向上する。
【００８６】
更に、従来技術によるドミノロジック回路と比較すると、典型的なドミノロジック回路の、評価ツリーの基部にあるｎチャンネル放電デバイスは最早必要がなくなる。本発明の回路では、ある伝播ステージにある評価デバイスの数は、そのステージのロジック入力の数に等しい。直列デバイスの数を減らすことで、クロックに対する容量性負荷を低減できるとともに、瞬時ピーク電流を低減できるという利点があり、駆動伝播回路ステージの駆動力を十分に高めることができる。
【００８７】
注目すべきは、図１０の回路ではＶｄｄからＶｓｓへの放電経路の存在を阻止するという利点があるため、省電力になり、出力エラーも防止されるということである。例えば、もし伝播回路ステージ１０８０のｐチャンネルプリチャージデバイス１１０６とｎチャンネル評価デバイス１１１０の両方が、同時に「オン」にできるようになっていれば、放電経路が存在する。図１０の回路では、この条件が成立しないようになっているという利点がある。プリチャージ中のｐチャンネルプリチャージデバイス１１０６とｎチャンネル評価デバイス１１１０を取り上げて説明する。すでに説明したように、プリチャージ中はｐチャンネルデバイス１１０６が「オン」で、ｎチャンネル評価デバイス１１１０は「オフ」である。すでに述べたとおり、評価が始まると、ＣＬＫクロックとＮＣＬＫクロックがほぼ同時に切り替わる。ｐチャンネルプリチャージデバイス１１０６は、ハイレベルのデータパルスがｎチャンネル評価デバイス１１１０を「オン」にできる前に「オフ」される。これは、ＮＣＬＫクロック１０８６が、ｐチャンネルデバイス１１０６を「オフ」にする前に、インバータ１１０２をひとつ越えさえすればよいからである。一方、ＣＬＫクロック１０８４（およびデータ信号１０８８）は、ｎチャンネル評価デバイス１１１０を切り替えるためには、ノード１１００に到達する前にダイナミックインバータのＮＡＮＤゲート１０９４とｐチャンネルデバイス１０９８の両方を越えなければならない。したがって、デバイス１１０６と１１１０とを介してのＶｄｄからＶｓｓまでの放電経路は回避される。
【００８８】
更に、インバータはＮＡＮＤゲートよりも速度が速い可能性がある。インバータがダイナミックインバータとして形成されている場合は、この可能性が特に高い。典型的なＮＡＮＤゲートの遅延時間は３５０ピコ秒であるが、インバータの遅延時間は通常２５０ピコ秒である。したがって、ＮＡＮＤゲートとインバータとの固有の遅延時間には差があるので、その安全余裕度は更に大きい。また、データが、クロックのトランジションエッジよりも後で到着することがあるという事実も安全余裕度となる。例えば、図１０の回路では、ＣＬＫクロック１０８４がハイレベルになった後で、データ信号１０８８が到着することもある。その結果、ＣＬＫクロック１０８４が評価位相に入った後で、パルス化されたデータ信号がノード１１００に到着することもよくある。
【００８９】
図１１は、本質的には図１０の回路と同じであるが、図１１のノード１１０１におけるパルス化されたデータ信号は、ＮＯＲゲートを介して生成されるという点が違っている。図１１の回路は、図１０において、一対のデバイス１０９８と１１１６により示されるダイナミックインバータを最早必要としない。更に、ＮＯＲゲート１０９５のＮＯＲ入力１０８５は、ＮＣＬＫクロック１０８６に直接接続されている。ＮＯＲゲート１０９５のもうひとつのＮＯＲ入力１０８７は、Ｎデータに接続され、データパルスの負のエッジを誘発する。
【００９０】
本発明による別の実施例では、前述のＶｄｄからＶｓｓへの望ましくない放電経路の存在を、これと関連する速度損失とともに防止するため、プリチャージ位相を早期に終了するという利点がある。プリチャージ位相は、上述のとおりクロックがそのプリチャージサイクルに入る時に始まる。しかしながら、プリチャージ位相は、クロックのプリチャージサイクルの終了時において終了するのではなく、設定された一定の時間の後に終了する。
【００９１】
図１３に示すのは、一定の長さのプリチャージパルスを生成するためのパルス回路１３０１を含んだ波状伝播回路である。プリチャージパルスの長さは、パルス回路１３０１における遅延回路１３００の遅延により実質的に決定される。説明の便宜上、図１３の回路では、遅延回路１３００を実現するために４つのインバータゲート１３００（Ａ）〜（Ｄ）を用いる。けれども、この技術分野において周知である従来のいずれかのタイプの遅延技術を用いても、遅延回路１３００は実現できるということを理解する必要がある。図１３には複数の波状伝播回路ステージ１３０２、１３０４および１３０６も示されており、その各々が１つ以上の伝播回路ステージを含むことも可能である。図１３の回路の動作を説明するために、ＣＬＫクロック１３１２がハイレベルからロウレベルになって、プリチャージサイクルが始まる場合を考えてみる。ＣＬＫクロック１３１２がハイレベルからロウレベルに切り替わると、ＮＯＲゲート１３１０への入力Ｂもまたハイレベルからロウレベルになる。しかしながら、ＮＯＲゲート１３１０の入力Ａに接続されている入力１３１４は、（ＣＬＫクロック１３１２がハイレベルであった）前の評価のサイクルから引き続きロウレベルのままである。従って、ＮＯＲ出力１３１６はハイレベルになり、ＮＣＬＫのハイレベルのパルスが波状伝播回路１３０２に受け渡されて、その回路ステージをプリチャージする。
【００９２】
遅延回路１３００により遅延された後、ＣＬＫクロック１３１２のハイレベルからロウレベルになるパルスがノード１３１８に到着して、インバータ１３０８により反転され、入力１３１４でロウレベルからハイレベルになるパルスが作られる。この入力１３１４上でロウレベルからハイレベルになるパルスは、ＮＯＲゲート１３１０の入力Ｂに与えられているＣＬＫクロック１３１２のすでにロウレベルになっているパルスと結合されて、ＮＯＲ出力１３１６をロウレベルにする。事実上、固定幅のクロックパルスが波状伝播回路１３０２に受け渡されて、その各ノードをプリチャージする。このプリチャージパルスは、回路１３０２の各伝播回路ステージを経て、後続の回路１３０４と１３０６にそれぞれ導体１３２４と１３２６を介して伝播される。ＣＬＫクロック１３１２がロウレベルからハイレベルになって評価が始まる時には、プリチャージ位相はすでに終了していて、ある程度の時間が経過している。ハイレベルのＣＬＫクロック１３１２は、ＮＡＮＤゲート１３３０とインバータ１３３２とによりデータ信号１３２８と結合され、データパルスを波状伝播回路１３０２のＤＡＴ入力に与えて評価を開始させる。波状伝播回路１３０２の評価の結果は、それぞれ導体１３３４と１３３６とを介して波状伝播回路１３０４と１３０６に伝播される。
【００９３】
以上の説明から明らかなように、プリチャージ位相はＣＬＫクロック１３１２によって開始され、評価位相の開始よりも実質的に早くなるように設定された遅延時間の後に終了するという利点がある。更に、評価位相がプリチャージ位相の終了時に実質的に開始するようにさせることは、ここに開示する技術を与えられた当業者の能力の範囲内であり、意図されているものである。図１０の波状伝播回路の場合のように、評価は、ＣＬＫクロックがハイレベルからロウレベルに移行する時に期待された通りに終了する。回路の性能を最大限に発揮させるには、遅延１３００を可変なものとして、最適なプリチャージパルスをフレキシブルに作り出せるようにしてもよい。このプリチャージパルスは、波状伝播回路の出力端子をプリチャージするには十分であり、ＶｄｄからＶｓｓへの望ましくない放電経路を防止するには十分短いパルスである。
【００９４】
本発明の更に別の面として、波状伝播回路は、雑音余裕度を改善し、またプリチャージ出力端子と評価デバイスとの間の電荷共有による出力エラーだけではなく、プリチャージされた出力端子からの電荷漏れによって引き起こされる出力エラーも低減するために、小型のフォワードコンダクションデバイスをオプションで採用することができるという利点がある。図１４に示すのは、ｎチャンネル評価デバイス１３５６、１３５８および１３６０にそれぞれ接続されているｐチャンネルフォワードコンダクションデバイス１３５０、１３５２および１３５４を備えた改良型波状伝播回路の簡略回路図である。フォワードコンダクション方式の動作の説明として、ノード１３６２がハイレベルで（例えば、データ入力１３６４でのハイレベルデータ入力による）、ｎチャンネル評価デバイス１３５６が「オン」の時の評価の期間の状況を考察する。ｎチャンネル評価デバイス１３５８も「オン」で、ｎチャンネル評価デバイス１３６０が「オフ」であると仮定する。もし、ｐチャンネルフォワードコンダクションデバイス１３５０、１３５２および１３５４がなければ、ｎチャンネル評価デバイス１３６０が実際には「オフ」でＶｓｓへの実際の放電経路が存在しない状況においても、アクティブになったｎチャンネル評価デバイス１３５６および１３５８に関連する寄生の静電容量が、出力端子１３６６をそのプリチャージされたハイレベルからロウレベルに切り替えるのに十分なことがある。この回路には複数のフォワードコンダクションデバイスがあるので、ｎチャンネルデバイス１３６０と関連する適正サイズのｐチャンネルフォワードコンダクションデバイス１３５４がロウレベルの信号１３７０によって「オン」になり、それにより出力端子１３６６がＶｓｓになる。従って、出力端子１３６６は電荷共有により誤ってスイッチングする可能性が低減される。
【００９５】
これらのフォワードコンダクションデバイスは、回路の雑音余裕度も改善する。ノード１３６２でグリッチが生じると、ｎチャンネル評価デバイス１３５６が導通を開始することがある。入力１３６８および１３７０がハイレベルであると仮定すると、グリッチにより電荷がｎチャンネル評価デバイス１３５６、１３５８および１３６０に流れ、フォワードコンダクションデバイス１３５０がなければ、出力端子１３６６が誤ってスイッチングする可能性がある。図１４の回路にはｐチャンネルコンダクションデバイス１３５０があるので、グリッチによりノード１３６２がＶｄｄにならない限り、適正なサイズのｐチャンネルフォワードコンダクションデバイス１３５０は、グリッチによって完全に遮断されることなく出力端子１３６６をＶｄｄにプルアップし続け、グリッチに起因するレベルの移行を阻止する。
【００９６】
フォワードコンダクションデバイスは、更に、電荷漏れが引き起こす出力エラーも低減する。もしｎチャンネル評価デバイス１３５６、１３５８および１３６０が評価期間内に「オフ」になっていると、たとえｐチャンネルフォワードコンダクションデバイス１３５０、１３５２および１３５４がなくても、出力端子１３６６は理論的にはプリチャージされたハイレベルにとどまることになる。しかしながら、フォワードコンダクションデバイス１３５０、１３５２および１３５４がなければ、実際にはかなりの電荷漏れが、特に長時間の評価期間内に、出力端子１３６６で生じてしまい、出力端子１３６６の電位がスイッチングのしきい値より低くなって、スイッチングエラーが発生する可能性がある。回路にいくつかの適正サイズのフォワードコンダクションデバイスがあれば、ｎチャンネル評価デバイス１３５６、１３５８および１３６０が「オフ」の時に、それらのフォワードコンダクションデバイスが「オン」にとどまって、電荷漏れを相殺する電荷をプリチャージされたノード１３６６に供給する。これにより、評価期間の長さに関係なく、出力端子１３６６の電位をそのプリチャージされたハイレベルに維持する。
【００９７】
更に別の実施例として、雑音余裕度を改善し、また電荷漏れや電荷共有により引き起こされる出力エラーを低減させるために、波状伝播回路にオプションでフィードバックデバイスを取り付けることができる。伝播回路ステージ１４０２に接続されているｎチャンネルフィードバックデバイス１４００の簡略回路図を図１５に示す。先に説明したとおり、プリチャージの間に出力端子１４０４はハイレベルにプリチャージされる。ハイレベルのＮＣＬＫクロック１４１０によりｎチャンネルデバイス１４０８が「オン」になるので、ノード１４０６は、ロウレベルでプリチャージされる。ノード１４０６が評価位相の始めでロウレベルからハイレベルに移行する時（導体１４１２にはハイレベルデータ入力があると仮定する）、出力端子１４０４は、先行のプリチャージ位相からなおもハイレベルにとどまっている。ハイレベル出力端子１４０４は適正サイズのｎチャンネルフィードバックデバイス１４００を「オン」に保持し、ノード１４０６がロウレベルからハイレベルに移行するのを阻止する。従って、回路の雑音余裕度が改善される。
【００９８】
もし本回路にフィードバックデバイスがない場合、ノード１４０６でのグリッチにより、出力端子１４０４は誤ってスイッチングする可能性がある。ｎチャンネルフィードバックデバイス１４００は同様にして、グリッチに起因する誤スイッチングを阻止する。ノード１４０６をＶｓｓにプルダウンし続けることにより、フィードバックデバイス１４００はスパイクを阻止する。従って、一時的なグリッチにより出力端子１４０４が誤ってスイッチングする危険性は更に少ない。注目すべきは、図１５の回路が各伝播回路ステージごとに、追加のフィードバックデバイスをひとつずつしか必要としないということである。これに比べ、フォワードコンダクション方式では、各評価デバイスごとにフォワードコンダクションデバイスをひとつずつ有することが望ましい。
【００９９】
更に、図１５のフィードバックデバイスは、図１４のフォワードコンダクションデバイスよりも小型化でき、これにより、容量性負荷を少なくできるという利点がある。出力端子１４０４がハイレベルからロウレベルへの移行を開始する場合を考察してみる。ｐチャンネルデバイス１４１４に固有の遅延により、出力端子１４０４で観察される信号レベル変化は、ノード１４１６にすぐには影響を及ぼさない。出力端子１４０４が切り替えを開始する時にも、ノード１４１６は先行のプリチャージの位相から引き続きロウレベルで充電されている。従って、ｐチャンネルフィードバックデバイス１４１８はなおもほぼ完全に導通しており、ノード１４０４でのハイレベルからロウレベルへの移行を阻止する。これに対し、図１４のフォワードコンダクションデバイス１３５０では、ノード１３６２がロウレベルからハイレベルに移行を始めると、「オフ」への切替が始まる。このときフォワードコンダクションデバイス１３５０はなおも出力端子１３６６をプルアップして、ノード１３６２がロウレベルからハイレベルに移行することに起因する出力端子１３６６のハイレベルからロウレベルへの移行を阻止しようとする（入力１３６８および１３７０がハイレベルであると仮定する）。部分的に遮断されているので、フォワードコンダクションデバイス１３５０は、ノード１３６６でのハイレベルからロウレベルへの移行を阻止するための能力を完全には利用できない。必然的に、フォワードコンダクションデバイス１３５０は、許容可能な雑音余裕度を維持するために、その部分的に遮断された状態において、出力端子１３６６へ十分な電荷を供給しうるように大型化されていなければならない。
【０１００】
図１５のフィードバック回路では、各出力端子に対す負荷静電容量が更に低減されており、これにより速度と性能とが向上している。図１４の回路の出力端子１３６６での負荷静電容量を取り上げて説明する。この出力端子での負荷静電容量に含まれるのは、ｐチャンネルフォワードコンダクションデバイス１３５０、１３５２および１３５４の各ドレイン静電容量、ダイナミックインバータのｐチャンネルデバイスのゲート静電容量、プリチャージデバイスのドレイン静電容量、および、各評価デバイスの内のひとつのドレイン静電容量である。これに対し、図１５の回路の出力端子１４０４に対する静電容量に含まれるのは、１つのｐチャンネルフィードバックデバイス１４１８のドレイン静電容量、ｎチャンネルフィードバックデバイス１４００のゲート静電容量、ダイナミックインバータのｐチャンネルデバイス１４１４のゲート静電容量、プリチャージデバイスのドレイン静電容量、および、各評価デバイスの内のひとつのドレイン静電容量のみである。従って、図１５の出力端子１４０４は図１４の回路と比べると、スイッチングの際に駆動する容量性負荷が小さい。
【０１０１】
先に述べたとおり、本発明の別の面には、各伝播回路ステージの出力をバッファーして反転する複数のダイナミックインバータを使用することが含まれている。一般的に、ダイナミックインバータはスタティックインバータよりも小型であるとともに高速であるから、ダイナミックインバータを使用すれば、高速化と回路の小型化が可能となるという利点がある。図１５では、出力端子１４０４がｐチャンネルデバイス１４１４のゲートに接続されている。評価位相において、出力端子１４０４がハイレベルからロウレベルに移行すると、ｐチャンネルデバイス１４１４が「オン」になってノード１４１６をＶｓｓにプルダウンする。出力端子１４０４が、ハイレベルＮＣＬＫクロック１４１０によりハイレベルでプリチャージされると、ノード１４２０もまた、インバータ１４２２と１４２４とを介してハイレベルになる。ノード１４２０がハイレベル状態にあることにより、ｎチャンネルデバイス１４２６が導通してノード１４１６をロウレベルにする。ｐチャンネルデバイス１４１４とｎチャンネルデバイス１４１６とは一緒になってひとつのインバータとして機能する。注目すべきは、図１５に図示されるダイナミックインバータは、本発明の開示に記載されて、あるいは含まれている実施例のいずれとも共に作動するように適用させることができるということである。同様に、図１５の回路は、スタティックインバータを含め、この技術分野で知られているいかなる種類のインバータ回路とも作動するように適用可能である。
【０１０２】
更に省力化するために、波状伝播回路のある伝播回路ステージの出力端子のうちで、あるひとつの評価位相ではスイッチングされない出力端子は、次のプリチャージ位相でプリチャージされないようにする。図１６には、伝播回路ステージ１５０６に関連して、ｎチャンネルデバイス１５０２とｐチャンネルデバイス１５０４とを備えているパスゲート１５００が示されている。図１６の回路の働きを理解できるように、伝播回路ステージ１５０６の出力端子１５０８が、評価中にハイレベルからロウレベルに切り替わる条件を考察する。ノード１５１０はダイナミックインバータのｐチャンネルデバイス１５１２を介して、ロウレベルからハイレベルになる。ノード１５１０がハイレベルになると、ｎチャンネルデバイス１５０２とｐチャンネルデバイス１５０４の両方が導通し、ＮＣＬＫクロック１５１４が次のプリチャージ位相においてパスゲート１５００を介して伝播し、出力端子１５０８および後続の各伝播回路ステージの各出力端子をプリチャージする。反対に、出力端子１５０８が切り替わらなければ、すなわち、プリチャージされたハイレベルにとどまると、ノード１５１０はロウレベルにとどまる。ロウレベルのノード１５１０は、ｎチャンネルデバイス１５０２とｐチャンネルデバイス１５０４の両方を遮断する。パスゲート１５００が「オフ」になっているので、ＮＣＬＫクロックパルス１５１４は、パスゲート１５００を越えて出力端子１５０８および後続の各伝播回路ステージの各出力端子をプリチャージすることができなくなり、これにより電力消費を抑えることができる。
【０１０３】
本発明の波状伝播回路は通過遅延ができるという利点がある。図１７にはマイクロプロセッサ回路１５５０が示されている。マイクロプロセッサ回路１５５０は、例えばマイクロプロセッサパイプラインステージの実現に用いることができる。複数の波状伝播回路１５５２、１５５４、１５５６、１５５８および１５６０は命令のフェッチ（ＩＦ）、命令デコード（ＩＤ）、実行（ＥＸ）、メモリ操作（ＭＥＭ）およびリード／ライト（Ｗ／Ｒ）という個々の機能を実現している。複数のフリップフロップ１５６６、１５６８、１５７０、１５７２、１５７４および１５７６は、ロジック回路に接続されており、それぞれのロジック回路へのクロック信号をゲートする。多くのマイクロプロセッサでは、命令デコード回路１５５４がその操作完了のために余分の時間を必要とすることがある。更に、実行回路１５５６が比較的短時間にそのタスクを完了できるということがよくある。低速のデコード回路１５５４に適応させるために、クロック１５６４を遅くする代わりに、通過遅延によりデコード回路１５５４の隣りから時間を「借り」てその操作を完了させるようにしている。
【０１０４】
図１７の回路で通過遅延を実現するには、遅延回路１５６３を、ＣＬＫクロック１５６４と、実行回路１５５６への信号をゲートするフリップフロップ１５７０との間に、直列に接続する。遅延回路１５６３は偶数のインバータ、またはこの技術分野ではよく知られているその他の遅延技術を用いて実現可能である。図１８に示すのは、通過遅延の効果を説明する簡略タイミング図である。ＣＬＫ信号１５６４は最上部に示してある。データ有効時間１６０２（旧データ用）とデータ有効時間１６０４（新データ用）とを有するデータ信号１６００も図示されている。例えば、データ有効時間１６０４は、データが、データを実行回路１５５６に送るラッチ１５７０へのデータとして有効であるとみなされうる時間を表している。注目すべきことは、データ有効時間１６０４は、ＣＬＫクロック１５６４の正のクロックエッジ１６０６より後に来るということである。言い換えると、正のクロックエッジ１６０６で実行回路１５５６が適正に評価を行うには、データの到着が遅すぎるということである。
【０１０５】
次に、信号ＤＣＬＫ１６０８について説明する。信号ＤＣＬＫ１６０８では、元の正のクロックエッジ１６０６は、実行回路１５５６が正の遅延エッジ１６１０で適正に評価をするのに十分な時間Ｔｄｄだけ遅延される。注目すべきことは、正のクロックエッジ１６０６のみを遅らせればよく、ＣＬＫクロック１５６４全体を遅らせる必要がないということである。この遅延は、実行回路１５５６がその評価を開始するのがわずかに遅れることを意味するに過ぎない。クロック周波数が影響を受けることはないので、図１７と図１８の回路は、より高い周波数で作動することができるという利点があり、これにより性能を向上できる。
【０１０６】
そのうえ、ｐチャンネル評価デバイスまたはｎチャンネル評価デバイスをベースとする回路ステージを用いて、本発明の波状伝播回路を実現することができる。図１９に示すのは波状伝播回路１６５０である。波状伝播回路１６５０には、ｐチャンネルベースの回路ステージ１６５４とカスケード接続されたｎチャンネルベースの回路ステージ１６５２がある。ｐチャンネルベースの回路ステージ１６５４は、通常その出力端子１６５６でロウレベルにプリチャージされる。回路ステージ１６５２の出力端子１６５８が、ｎチャンネル評価デバイス１６５９でのデータパルスにより、評価時間内にハイレベルからロウレベルへ切り替わると（ｎチャンネル評価デバイス１６６１への入力がハイレベルでアクティブと仮定する）、回路ステージ１６５４のｐチャンネル評価デバイス１６６０が「オン」になる。ｐチャンネル評価デバイス１６６２へのロジック入力Ｃもまたロウレベル（アクティブ）であると仮定すると、出力端子１６５６およびＶｄｄからの導通経路が存在して、出力端子１６５６をＶｄｄにプルアップするということになる。ＮＣＬＫクロック１６６４がハイレベルになり、この回路をプリチャージすると、ノード１６６６はインバータ１６６８の動作によってロウレベルになる。ロウレベルのノード１６６６は、ｐチャンネルプリチャージデバイス１６７０を「オン」にして、出力端子１６５８をハイレベルにプリチャージする。その同じＮＣＬＫクロックパルスは、インバータ１６７２を通って伝播してノード１６７４をハイレベルに駆動し、ｎチャンネルプリチャージデバイス１６７６を「オン」にすることにより、出力端子１６５６をＶｓｓにプルダウンする。明らかなように、図１９の回路には、ＮＯＲＡロジックに関する利点ばかりでなく、本発明による波状伝播ロジックのタイミングと容量性負荷とに関するすべて利点を有している。
【０１０７】
本発明の波状伝播回路は、各クロックサイクルごとにふたつの評価を行なう可能性について更に考察する。プリチャージ位相と評価位相が、順次波を描くように交互に各回路ステージを伝播するので、本発明の波状伝播回路は各クロックサイクルごとに二重評価を行なうことが可能である。
【０１０８】
図２０に各クロックサイクルごとに二重評価を行なう波状伝播回路１７５０を示す。図２０において回路ステージ１７５２はプリチャージパルス生成回路１７５４からのプリチャージパルスを、ノード１７６８で受ける。第１遅延信号ＤＣＬＫ１７５６はパルス回路１７５８に入力され、その出力はＯＲゲート１７６０に入力される。信号ＤＣＬＫ１７５６は信号ＣＬＫクロック１７６２を遅延させた、すなわち位相シフトしたものである。信号ＤＣＬＫ１７５６は信号ＣＬＫクロック１７６２から、例えば偶数のインバータゲートを備えた遅延回路によって、またはその他の従来からある遅延技術によって、派生させることも可能である。ここには、信号ＤＣＬＫ１７５６と相補的な信号であり、もうひとつのパルス回路１７６６に入力される遅延信号ＮＤＣＬＫ１７６４も図示されており、そのパルス回路１７６６の出力はＯＲゲート１７６０に入力される。パルス回路１７５８および１７６６は、例えば、図１３の回路のパルス回路１３０１と類似のものであってもよい。あるいは、パルス生成回路１７５８と１７６６は、トランジションエッジから固定パルスを発生させる任意の従来技術により実現することもできる。明らかなように、ＯＲゲート１７６０は、信号ＤＣＬＫ１７５６と信号ＮＤＣＬＫ１７６４のどちらかが、ロウレベルからハイレベルへ移行する時、ノード１７６８に、固定された長さのパルスを出力する。１つのクロックサイクルの間に、このようなパルスがふたつあるので、各クロックサイクルごとに回路ステージ１７５２（および後続の各回路ステージ）をプリチャージするプリチャージパルスがふたつあることになる。
【０１０９】
回路ステージ１７５２へのパルス化されたデータ信号は、パルス生成回路１７７０で生成される。パルス生成回路１７７０には、ＮＯＲゲート１７７６でカスケード接続されたふたつのＮＯＲゲート１７７２と１７７４が示されている。ＮＯＲゲート１７７２は、データ信号１７７８とＣＬＫクロック信号１７６２というふたつの入力信号を受け取る。同様に、ＮＯＲゲート１７７４は、データ信号１７７８とＮＣＬＫクロック信号１７８０というふたつの入力信号を受け取る。ＮＣＬＫクロック信号１７８０はＣＬＫクロック信号１７６２と相補的な信号である。ＣＬＫクロック信号１７６２がハイレベルの時は、ＮＣＬＫクロック信号１７８０がロウレベルであり、逆の場合も同様である。ＣＬＫクロック信号１７６２がハイレベルで（したがってＮＣＬＫクロック１７８０がロウレベルで）、データ信号１７７８もハイレベルである時は、ＮＯＲ出力１７８２と７０８４は両方ともロウレベルである。正のプリチャージパルス１７６８が来なければ、ＮＯＲゲート１７７６はノード１７８６をハイレベルに切り替えて、回路ステージ１７５２のｎチャンネル評価デバイス１７８８を「オン」にする。遅延信号ＤＣＬＫ１７５６またはＮＤＣＬＫ１７６４のいずれかにより生じたプリチャージパルスが端子１７６８に現れると、ノード１７８６がＮＯＲゲート１７７６によりロウレベルになる。明らかなように、パルス生成回路１７７０は、データ１７７８がハイレベルでり、ＮＣＬＫクロック１７８０またはＣＬＫクロック１７６２がロウレベルになれば、ノード１７８６で正のデータ信号を生成する。ノード１７６８にプリチャージパルスが現れると、そのプリチャージパルスは正のデータ信号を終了させ、それによりノード１７８６上にパルス化されたデータ信号を生成する。注目すべきことは、ＮＣＬＫクロック１７８０は１クロックサイクルの中で一度ハイレベルになり、ＣＬＫクロック１７６２も一度ハイレベルになるので、各クロックサイクルごとにふたつのパルス化された信号が潜在的に存在しうるということである。従って回路ステージ１７５２（および後続の各回路ステージ）は、各クロックサイクルごとに２度評価とプリチャージが行われることになる。
【０１１０】
図２１の簡略タイミング図に、図２０の回路において関係する各ノードのタイミングトレースを示す。図２１には、ＣＬＫクロック１７６２の各クロックサイクルごとにふたつのデータサイクル１８００と１８０２とを有するデータ信号１７７８が示されている。先に説明したとおり、ＤＣＬＫ信号１７５６とＮＤＣＬＫ信号１７６４は、ＣＬＫクロック信号１７６２とＮＣＬＫクロック信号１７８０から一定の遅延ＴＤ１だけ遅れている。ＤＣＬＫ信号１７５６またはＮＤＣＬＫ信号１７６４のいずれかがハイレベルになると、ノード１７６８がハイレベルになる。ノード１７６８は、プリチャージパルスが図２０の波状伝播回路に入るノードを表している。一定の時間Ｔｐｄの後、ノード１７６８は図２０のパルス回路１７５４の働きによりロウレベルになる。ノード１７８６は、図２０の波状伝播回路の回路ステージ１７５２へのパルス化されたデータ信号を受け取るノードを表している。ノード１７８６は、ＣＬＫクロック１７６２またはＮＣＬＫクロック１７８０のいずれかがハイレベルであって、データ信号１７７８もハイレベルである時にハイレベルになる。例えば、ノード１７８６は、データ信号１７７８がそのデータサイクル１８００中の時に、トランジションエッジ１８０４でハイレベルになる。ノード１７６８がハイレベルのＤＣＬＫクロック１７５６によりトランジションエッジ１８０６でハイレベルになると、ハイレベルのノード１７６８により、ノード１７８６はトランジションエッジ１８０８でロウレベルになる。同様に、ノード１７８６は、データ信号１７７８がそのデータサイクル１８０２中の時に、トランジションエッジ１８１０でハイレベルになる。ノード１７６８がトランジションエッジ１８１２でハイレベルになると、ノード１７８６はトランジションエッジ１８１４でロウレベルになる。図２１に示すとおり、ふたつのパルス化されたデータ信号（１８０４−１８０８と１８１０−１８１４）が各クロックサイクルごとに存在し、データサイクル１８００と１８０２のそれぞれにおいてデータを評価するために利用される。同様に、ふたつのプリチャージパルス（１８０６−１８０７と１８１２−１８１３）は、１クロックサイクルの間に波状伝播回路をプリチャージするために利用される。
【０１１１】
図２０の回路において、ＮＯＲゲート１７７６はインバータ１７９０よりも高速なもので形成することが望ましい。ＮＯＲゲート１７７６を高速化することにより、ノード１７６８でのプリチャージパルス（図２１のトランジションエッジ１８０６に示す）は、ｐチャンネルプリチャージデバイス１７９４が「オン」になる前に、ｎチャンネル評価デバイス１７８８を「オフ」にすることができる。ＮＯＲゲート１７７６の高速化の効果を図２１に示す。図２１において、ノード１７６８でのトランジションエッジ１８０６は、ノード１７８６上のパルス化されたデータ信号を（トランジションエッジ１８０８において）「オフ」にするという目的と、プリチャージデバイス１７９４を介して図２０の回路をプリチャージするために、ノード１７９２を（トランジションエッジ１８１６で）ロウレベルにするという目的との両方のために使用される。ＮＯＲゲート１７７６の高速化により、ノード１７９２がトランジションエッジ１８１６でロウレベルになる前に、ノード１７８６をトランジションエッジ１８０８でロウレベルにすることができる。その結果、図２０のｎチャンネル評価デバイス１７８８は、ｐチャンネルプリチャージデバイス１７９４が「オン」になる前に「オフ」になる。ｐチャンネルプリチャージデバイス１７９４およびｎチャンネル評価デバイス１７８８を介して、ＶｄｄからＶｓｓへの望ましくない放電経路が形成されることが、これにより避けられる。
【０１１２】
上記の発明は、はっきりと理解できるようにするために詳述したが、ある程度の変更と修正は、特許の請求の範囲のスコープ内で実施可能なことは明らかである。例えば、明細書では各伝播回路ステージに出入りするデータ信号をバッファーするために、ダイナミックインバータを波状伝播回路に採用しているが、スタティックインバータを同様に使用可能である。分かりやすくするために、いくつかの回路では、本発明による省電力回路なしで説明されている。けれども、ここに開示された省電力回路を明示的には含んでいない波状伝播回路で動作させるために、ここに開示する省電力回路を適用することは、この技術分野における当業者の能力範囲内にある。また別の例として、ここに記載のフォワードコンダクションデバイスとフィードバックデバイスとは、省電力回路の有無にかかわらず、ここに記載の波状伝播回路のいずれかと共に動作するように適用することが可能である。本開示があれば、本発明の範囲と主旨とから逸脱しない限り組み合わせや入れ替えが可能であることは、この技術分野における当業者には明らかである。更に、本発明による各技術と各回路は、波状伝播回路に言及しながら説明しているが、本発明はそのことに制限されることがなく、また、多くの異なった種類のＣＭＯＳ回路に使用可能であることは認識されるべきである。例えば、各省電力回路、および、雑音余裕度を改善したり電荷共有や電荷漏れによる出力エラーを減らすために利用される各回路は、ドミノロジックのような他の種類のダイナミックロジックと共に動作するように適用することができる。従って、本発明の範囲は、ここに挙げた特定の例に限定されることはなく、特許の請求の範囲に述べられる。
【図面の簡単な説明】
【図１】複数のラバーバンド・クロックを発生させるための回路を示す概略図である。
【図２】周波数に依存する、外部参照クロック信号とラバーバンド・クロックとの間の関係を示す簡略タイミングチャートである。
【図３】周波数に依存する、複数のラバーバンド・クロック間の関係を示す簡略タイミングチャートである。
【図４】本発明の一実施例としての、ＮＡＮＤ−ゲートに基づくラバーバンドロジック回路を示す概略回路図である。
【図５】評価とプリチャージが実行されている際の、複数のラバーバンド・クロックと図４の回路の所定ノードのロジック状態との関係を示すタイミングチャートである。
【図６】各クロックサイクル間に２つのデータの評価を行うことができるラバーバンドロジック回路に対してプリチャージ・パルスを発生させる回路を示す概略回路図である。
【図７】複数のラバーバンド・クロックと、ラバーバンド・クロックから生成されるプリチャージ信号と評価信号とを示すタイミングチャートである。
【図８】複数のラバーバンド・クロックを用いて、各クロックサイクルに対して２つのデータを評価するラバーバンドロジック回路を示す概略回路図である。
【図９】あるラバーバンド信号を評価に利用し、別の独立ラバーバンド信号をプリチャージに利用する、図８の回路の変形例を示す図である。
【図１０】本発明の一面による簡略な形態のＮＡＮＤゲートベースの波状伝播回路である。
【図１１】本発明の一面による簡略な形態のＮＯＲゲートベースの波状伝播回路である。
【図１２】プリチャージおよび評価の間に図１０の回路のいろいろなノードでの動きを示す簡略タイミング図である。
【図１３】パルス化されたプリチャージ回路を備えた、波状伝播回路の他の実施例である。
【図１４】複数のｐチャンネルフォワードコンダクションデバイスを備えた、波状伝播回路の他の実施例の簡略回路図である。
【図１５】ｎチャンネルおよびｐチャンネルフィードバックデバイスを備えた、波状伝播回路の他の実施例の簡略回路図である。
【図１６】パスゲートを備えた、波状伝播回路の更に別の実施例の簡略回路図である。
【図１７】本発明の波状伝播回路を利用して、通過遅延を実現するマイクロプロセッサ回路の簡略回路図である。
【図１８】図１７の回路の簡略タイミング図である。
【図１９】本発明の更に別の面による、ｎチャンネルベースの回路ステージとｐチャンネルベースの回路ステージとを備えた、波状伝播回路の簡略回路図である。
【図２０】本発明の更に別の面による、各クロックサイクルにおいて複数の評価を実行するための波状伝播回路の簡略回路図である。
【図２１】図２０の回路の簡略タイミング図である。
【符号の説明】
８０…第一回路ステージ
８２…第二回路ステージ
８８…データ信号
９０…入力
９４…ＮＡＮＤゲート
９６…ＮＡＮＤ出力
９８…デバイス
１００…ノード
１０２…インバータ
１０４…ノード
１０６…デバイス
１０８…出力端子
１１０…ｎチャネル評価デバイス
１１２…ｎチャネル評価デバイス
１１６…デバイス
１１７…デバイス
１１８…ノード
１２０…インバータ
１２２…ノード
１２４…デバイス
１２５…インバータ
１２６…デバイス
１２７…ノード
１２８…出力端子
１３０…デバイス
１３１…ノード
１３２…ｎチャネル評価デバイス
１３３…インバータ
１３５…デバイス
１３７…出力ノード
１３８…デバイス
２０１…ＰＬＬ回路
２０３…位相周波数検出器
２０５…チャージポンプ
２０７…電圧制御発振器
２０９…クロック
２１２…クロック
２２０…アップ信号
２２２…ダウン信号
２２６…デバイス
２２８…ステージ
２２８…電流不足インバータステージ
２３０…電流不足ステージ
２３２…電流不足ステージ
２３３…電流不足ステージ
２３４…電流不足ステージ
２３６…デバイス
２３８…インバータ
２４２…クロック
２４８…入力信号
２５４…バッファ
２６４…バッファ
５０１…ＡＮＤゲート
５０２…ＡＮＤゲート
５０５…導体
５０８…導体
５１０…導体
５１２…ＯＲゲート
５１４…導体
５１６…導体
５２０…導体
６１６…データ信号
６１８…データ有効サイクル
６２０…データ有効サイクル
６６０…パルス
７０８…評価ツリー
７１０…デバイス
７１２…ｎチャネル評価デバイス
７１４…ｎチャネル評価デバイス
７１８…導体
７２０…導体
７３０…導体
７３８…ＮＯＲゲート
７４５…導体
７４６…導体
７４８…インバータ
７５０…導体
７５２…出力ノード
１０８０…伝播回路ステージ
１０８２…伝播回路ステージ
１０８４…クロック信号ＣＬＫ
１０８５…ＮＯＲ入力
１０８６…ＮＣＬＫクロック
１０８７…ＮＯＲ入力
１０８８…データ信号
１０９０…入力端子
１０９４…ＮＡＮＤゲート
１０９５…ＮＯＲゲート
１０９６…ＮＡＮＤ出力
１０９８…ｐチャンネルデバイス
１１００…ノード
１１０１…ノード
１１０２…インバータ
１１０４…ノード
１１０６…ｐチャンネルプリチャージデバイス
１１０８…出力端子
１１１０…ｎチャンネル評価デバイス
１１１２…ｎチャンネル評価デバイス
１１１６…ｎチャンネルデバイス
１１１７…ｎチャンネルデバイス
１１１８…ノード
１１２０…インバータ
１１２２…ノード
１１２４…ｐチャンネルデバイス
１１２５…インバータ
１１２６…ｐチャンネルプリチャージデバイス
１１２７…ノード
１１２８…出力端子
１１３０…ｎチャンネルデバイス
１１３１…ノード
１１３３…インバータ
１１３５…ｎチャンネルデバイス
１１３７…ノード
１１３８…ｐチャンネルデバイス
１３００…インバータゲート（遅延回路）
１３０１…パルス回路
１３０２…波状伝播回路
１３０４…波状伝播回路
１３０８…インバータ
１３１０…ＮＯＲゲート
１３１２…ＣＬＫクロック
１３１４…入力
１３１６…ＮＯＲ出力
１３１８…ノード
１３２４…導体
１３２８…データ信号
１３３０…ＮＡＮＤゲート
１３３２…インバータ
１３３４…導体
１３５０…ｐチャンネルフォワードコンダクションデバイス
１３５４…ｐチャンネルフォワードコンダクションデバイス
１３５６…ｎチャンネル評価デバイス
１３５８…ｎチャンネル評価デバイス
１３６０…ｎチャンネルデバイス
１３６０…ｎチャンネル評価デバイス
１３６２…ノード
１３６４…データ入力
１３６６…出力端子
１３６８…入力
１３７０…信号
１４００…ｎチャンネルフィードバックデバイス
１４０２…伝播回路ステージ
１４０４…出力端子
１４０６…ノード
１４０８…ｎチャンネルデバイス
１４１０…ＮＣＬＫクロック
１４１２…導体
１４１４…ｐチャンネルデバイス
１４１６…ｎチャンネルデバイス
１４１８…ｐチャンネルフィードバックデバイス
１４２０…ノード
１４２２…インバータ
１４２６…ｎチャンネルデバイス
１５００…パスゲート
１５０２…ｎチャンネルデバイス
１５０４…ｐチャンネルデバイス
１５０６…伝播回路ステージ
１５０８…出力端子
１５１０…ノード
１５１２…ｐチャンネルデバイス
１５１４…ＮＣＬＫクロック
１５５０…マイクロプロセッサ回路
１５５２…波状伝播回路
１５５４…命令デコード回路
１５５６…実行回路
１５６３…遅延回路
１５６４…ＣＬＫ信号
１５６６…フリップフロップ
１５７０…フリップフロップ
１６００…データ信号
１６０２…データ有効時間
１６０４…データ有効時間
１６０６…クロックエッジ
１６１０…遅延エッジ
１６５０…波状伝播回路
１６５２…回路ステージ
１６５４…回路ステージ
１６５６…出力端子
１６５８…出力端子
１６５９…ｎチャンネル評価デバイス
１６６０…ｐチャンネル評価デバイス
１６６１…ｎチャンネル評価デバイス
１６６２…ｐチャンネル評価デバイス
１６６４…ＮＣＬＫクロック
１６６６…ノード
１６６８…インバータ
１６７０…ｐチャンネルプリチャージデバイス
１６７２…インバータ
１６７４…ノード
１６７６…ｎチャンネルプリチャージデバイス
１７５０…波状伝播回路
１７５２…回路ステージ
１７５４…プリチャージパルス生成回路
１７５６…ＤＣＬＫ信号
１７５８…パルス生成回路
１７６０…ＯＲゲート
１７６２…ＣＬＫクロック信号
１７６４…ＮＤＣＬＫ信号
１７６６…パルス回路
１７６８…ノード
１７６８…端子
１７７０…パルス生成回路
１７７２…ＮＯＲゲート
１７７４…ＮＯＲゲート
１７７６…ＮＯＲゲート
１７７８…データ信号
１７８０…ＮＣＬＫクロック信号
１７８２…ＮＯＲ出力
１７８６…ノード
１７８８…ｎチャンネル評価デバイス
１７９０…インバータ
１７９２…ノード
１７９４…ｐチャンネルプリチャージデバイス
１８００…データサイクル
１８０２…データサイクル
【図１】
0004054077.tif 000002
【図２】
0004054077.tif 000003
【図３】
0004054077.tif 000004
【図４】
0004054077.tif 000005
【図５】
0004054077.tif 000006
【図６】
0004054077.tif 000007
【図７】
0004054077.tif 000008
【図８】
0004054077.tif 000009
【図９】
0004054077.tif 000010
【図１０】
0004054077.tif 000011
【図１１】
0004054077.tif 000012
【図１２】
0004054077.tif 000013
【図１３】
0004054077.tif 000014
【図１４】
0004054077.tif 000015
【図１５】
0004054077.tif 000016
【図１６】
0004054077.tif 000017
【図１７】
0004054077.tif 000018
【図１８】
0004054077.tif 000019
【図１９】
0004054077.tif 000020
【図２０】
0004054077.tif 000021
【図２１】
0004054077.tif 000022