(57)【特許請求の範囲】
【請求項１】
直接的にまたは間接的に入力クロック信号を受け入れる、複数の遅延要素と、
前記複数の遅延要素のうちのいくつかに接続され、出力を有する、論理回路要素であって、前記出力が、前記入力クロック信号の周波数の有理数の倍数である周波数を有するクロック信号であり、前記有理数の倍数が１よりも小さく、前記遅延要素の数がＮであり、前記出力クロック信号の周波数が（Ｎ／Ｍ）×ｆＲＥＦであり、ここでＭが自然数であり、Ｍ＞Ｎであり、ｆＲＥＦが前記複数の遅延要素を通じて供給されるクロック信号の周波数であり、前記論理回路要素が、以下の反復アルゴリズム、即ち、
初期化： 
Ｙ：＝０；
Ｙを出力；
ループ：
整数の除算（Ｙ＋Ｍ）／Ｎを行う  →  商Ｑ余りＲ；
（Ｑ−１）Ｘを出力、ただしＸは「ドントケア」状態；
Ｙ：＝Ｒ；
Ｙを出力；
ループを繰り返す、
という反復アルゴリズムによって決定され得る繰り返されるシーケンスの選択された周波数の比に対して１からＮまでの遅延要素から信号を選択する、論理回路要素とを含む、装置。
【請求項２】
前記論理回路要素が、
前記いくつかの遅延要素にそれぞれ接続されたいくつかの信号入力、ポート選択入力、及び出力を有する、マルチプレクサと、
前記マルチプレクサの前記ポート選択入力に接続された第１の出力、及び第２の出力を有する、ステートマシンと、及び
前記マルチプレクサの前記出力に接続された第１の入力と、前記ステートマシンの第２の出力に接続された第２の入力とを有する論理ゲートであって、その論理ゲートの出力が前記出力クロック信号である、論理ゲートとを含む、請求項１に記載の装置。
【請求項３】
前記ステートマシンの第２の出力は、前記Ｘが出力された際に、ローに駆動されて、前記論理ゲートの出力がローに保たれる、請求項２に記載の装置。
【請求項４】
クロック信号をＮ回遅延することにより、ここでＮは自然数、多数の遅延クロック信号が生成されるステップと、
前記多数の遅延クロック信号のうちの１つを順次に選択して、出力クロック信号を生成するようにするステップであって、前記出力クロック信号の周波数が（Ｎ／Ｍ）×ｆＲＥＦであり、ここでＭは自然数であり、ｆＲＥＦが前記基準クロック信号の周波数であり、前記出力クロック信号の生成は、以下の反復アルゴリズム、即ち、
初期化： 
Ｙ：＝０；
Ｙを出力；
ループ：
整数の除算（Ｙ＋Ｍ）／Ｎを行う  →  商Ｑ余りＲ；
（Ｑ−１）Ｘを出力、ただしＸは「ドントケア」状態；
Ｙ：＝Ｒ；
Ｙを出力；
ループを繰り返す、
という反復アルゴリズムによって決定され得る繰り返されるシーケンスの選択された周波数の比に対して前記遅延クロック信号を選択することを含む、ステップと、
前記クロック信号を基準クロック信号にロックするステップとを含む、方法。
【請求項５】
前記出力クロック信号を生成するようにするステップが、前記選択された遅延クロック信号を論理ゲートに送り、前記論理ゲートの出力を前記出力クロック信号として生成することを含み、前記Ｘが出力された際に、前記論理ゲートの出力がローに保たれる、請求項４に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロック信号に関する。より詳細には、本発明は、所与のクロック信号の遅延バージョンから１つまたはそれよりも多いクロック信号を生成するための方法および装置に関する。
【０００２】
【従来の技術】
図１は、プロセッサ１０５およびその環境１００の簡略ブロック図である。プロセッサ１０５は、コア１１０およびＩ／Ｏインターフェース１１５を含む。Ｉ／Ｏインターフェース１１５は、プロセッサ１０５をバス１２０に接続する。装置１２５、１３０等の１つまたはそれよりも多い他の装置もまた、バス１２０に接続される。他の装置１２５、１３０は、例えば、ＲＡＭメモリまたはディスク駆動装置等の記憶装置であっても、プリンタまたはデータ通信装置等の周辺装置であっても、他のプロセッサであってもよい。
【０００３】
プロセッサのコア１１０は、コアクロックによって歩調合わせ（paced)されている。プロセッサのコア１１０は、連続的な方法で動作するのではなく、デジタル電子装置がすべてそうであるように、不連続的に動作する。プロセッサのコア１１０は、プロセッサのクロックサイクルごとに動作を行う。コアクロックは、プロセッサのコア１１０の「鼓動」である。本明細書において、「クロック」という用語は、周期的特性を有するいかなる信号も意味するものとして用いる。デジタル電子機器と共に用いるクロック信号は通常、２つの（２値の）状態（「１」および「０」）の間で振動する周期的矩形波形であり、エッジ感知クロッキング(edge sensitive clocking)を利用している場合には、重要な周期的特性は、通常、立ち上がりエッジ（すなわち、「０」から「１」への遷移）である。プロセッサのコア１１０は、コアクロックの立ち上がりおよび／または立ち下がりのエッジがある毎に動作を進める。
【０００４】
バス１２０は、バスクロックによって歩調合わせされている。バスクロックの速度すなわち周波数（この２つの言葉は、本文脈においては同義である）は、コアクロックよりも遅いように物理的に抑制されている。バスクロックとコアクロックとは、非同期で動作するのではなく、コアクロックの周波数は通常、バスクロックの整数倍であり、バスおよびコアのクロックは、何らかの方法で位相ロックされている。この方法とは、例えば、バスクロックのすべての立ち上がりエッジがコアクロックの立ち上がりエッジとほぼ同時に発生する、等である。例えば、コアクロックの周波数は１ＧＨｚ（１秒当たり１０9サイクル）であってもよく、バスクロックの周波数は２５０ＭＨｚ（１秒当たり２５０×１０6サイクル）であってもよく、その場合には、コアクロックとバスクロックの周波数の比は４（すなわち４対１、「４：１」）である。コアクロックがこれよりも速くなると、プロセッサ１０５が、バス１２０へのアクセス毎にいくつか動作を行うことによって、より効率的に動作することができる。周波数分割によって、このより速いコアクロックからより遅いバスクロックを生成することができる。周波数分割は、非常に簡単ではあるが、周波数の比が整数である場合にしか利用できない。代案として、このより速いコアクロックは、フェイズロックループ（ＰＬＬ）を用いてより遅いバスクロックから生成することができる。ＰＬＬは、ほとんどいかなる周波数の比においても動作するように設計することができるが、ＰＬＬが最もうまく機能するのは、単一で固定された周波数比の場合である。
【０００５】
【発明が解決しようとする課題】
コアクロックとバスクロックの周波数の比が固定されていない場合には、問題に遭遇する。この状況は、例えば、プロセッサ１０５が異なる環境１００において配置されるように意図され、それぞれの環境１００が何らかの理由で最大バス速度が異なるバス１２０を有している場合に、発生しうる。例えば、１つの環境１００において、プロセッサ１０５がバス１２０上の唯一のプロセッサであり、コア周波数が１ＧＨｚでありバス周波数が２５０ＭＨｚであるかもしれない。その場合には、コアクロックとバスクロックの周波数の比は４である。他の環境１００において、装置１２５が他のプロセッサであってもよく、両方のプロセッサを操作するためにバス周波数を２５０ＭＨｚから１２５ＭＨｚまで遅くしなければならないかもしれない。その場合、結果として、コアクロックとバスクロックの周波数の比は８（すなわち１６：２）になる。実際には、バス１２０上のプロセッサの数と、コアとバスの周波数の比との関係は、例示した一次的関係ほど簡単ではないが、バス１２０上のプロセッサの数が多くなるほどバス周波数は低くなり、従ってコアクロックとバスクロックの周波数の比が増大するということが一般的に言える。従って、装置１３０が第３のプロセッサである第３の環境１００においては、コアとバスの周波数の比は更に高くなる（例えばおそらく１２：１、１７：２、または２８：３）。この状況は、例えば、バス１２０上のプロセッサの数が動的に変化する場合に発生するかもしれない。
【０００６】
ＰＬＬが、可変のコアクロックとバスクロックの周波数の比を処理することができるためには、ＰＬＬの周波数の範囲が非常に大きくなければならない。そうするとその結果、動的応答が不十分になってしまうので、これは望ましくない。比が変化する毎にループが再ロックしなければいけないということもまた、不利である。再ロックすると、ＰＬＬが新しいロック状態に安定するのに時間が必要である。動的応答が良好でないと、安定が更に遅れ、問題が悪化する。
【０００７】
【課題を解決するための手段】
一態様において、本発明は、１つまたはそれよりも多いクロック信号を生成するための装置である。装置は、順次接続された複数の遅延要素と、複数の遅延要素のうちのいくつかに接続された論理回路要素とを含む。複数の遅延要素を通じてクロック信号が供給され、そのクロック信号の遅延バージョンがいくつか生成される。論理回路要素は、クロック信号の遅延バージョンを選択して組み合わせ、それぞれが複数の遅延要素を通じて供給されるクロック信号の周波数に１よりも小さい（すなわち数分の１の）所望の有理数を掛けた周波数を有する、１つまたはそれよりも多い出力クロック信号を生成する。
【０００８】
他の態様において、本発明は、出力クロック信号を生成する方法である。方法は、所与のクロック信号で始まって、この所与のクロック信号をＮ回順次遅延する。ただしＮは自然数である。次に方法は、遅延クロック信号の一連の時間接続(time splices)を選択して、出力クロック信号を生成するようにする。方法は、随意に、所与のクロック信号を基準クロック信号にロックすることができる。出力クロック信号の周波数は、（Ｎ／Ｍ）×ｆREFに設定することができる。ただし、Ｍは自然数（すなわち正の整数）であり、ｆREFは基準クロック信号の周波数である。この基準信号は、プロセッサのコアのクロック信号であってもよく、出力クロック信号は、外部Ｉ／Ｏクロック信号であってもよい。
【０００９】
他の解決法と比較して、本発明のいくつかの実施態様は、以下のものを含むいくつかの利点を達成することができる。すなわち、（１）いくつかの実施態様は、非常に様々な出力クロック周波数および周波数の比をフレキシブルに生成することができる、（２）ロックする構成において、動的応答は、出力周波数の範囲とは無関係であり、単一の基準周波数に最適化されることができる、（３）いくつかの実施態様は、異なる出力周波数を生成するために再ロックの必要がない、（４）いくつかの実施態様の回路要素は、必要な面積がＰＬＬよりも少ない、および（５）いくつかの実施態様は、プロセッサまたはその他のデジタル電子装置を横切るクロックスキューを低減する能力を改善する、ということである。
【００１０】
当業者であれば、図面を参照して以下の好適な実施態様の詳細な説明を読めば、本発明の様々な実施態様の上記およびその他の利点と利益を理解するであろう。
【００１１】
【発明の実施の形態】
本発明の一実施態様は、タップ付き遅延ラインを利用して、クロック信号の遅延バージョンをいくつか生成する。図２は、一般的なタップ付き遅延ライン２００のブロック図である。タップ付き遅延ライン２００は、多数の（「Ｎ」個の）遅延要素２０５−１、２０５−２、２０５−３、…、２０５−Ｎを含む。遅延要素２０５は順次接続されており、１つの遅延要素２０５の出力がライン２００における次の遅延要素２０５の入力になっている。クロック信号ＩＮ  ＣＬＫが、タップ付き遅延ライン２００の第１の遅延要素２０５−１に入力される。出力は、ライン２００に沿った１つまたはそれよりも多い入力または出力のところで、ライン２００から分岐される。好ましくは、第１の遅延要素２０５−１の入力、およびそれぞれの遅延要素２０５−１、２０５−２、２０５−３、…、２０５−Ｎの出力から、出力が１つずつ分岐される。好ましくは、それぞれの遅延要素２０５−１、２０５−２、２０５−３、…、２０５−Ｎは、同一の遅延△Ｔを与える。そうすると、時間の関数として、ＣＬＫ１（ｔ）＝ＩＮ  ＣＬＫ（ｔ−△Ｔ），ＣＬＫ２（ｔ）＝ＩＮ  ＣＬＫ（ｔ−２△Ｔ），ＣＬＫ３（ｔ）＝ＩＮ  ＣＬＫ（ｔ−３△Ｔ），…，ＣＬＫＮ（ｔ）＝ＩＮ  ＣＬＫ（ｔ−Ｎ△Ｔ）となる。遅延要素２０５は、物理的に、当業者に既知のセルフバイアスアナログ遅延要素として実施することができる（例えば、Maneatis,J.G.,“Low-Jitter Process-Independent DLL and PLL Based on Self-Biased Techniques,IEEE Jrnl.Solid State Circuits,vol.31,no.11,Nov.1996を参照）。以下でより詳細に説明するように、本発明は、遅延ライン２００から分岐した出力に作用して、クロック信号ＩＮ  ＣＬＫに対する周波数の比が様々である１つまたはそれよりも多いクロック信号を生成する。
【００１２】
クロック信号ＩＮ  ＣＬＫの遅延バージョンを生成するための他の回路構成も可能である。例えば、タップ付き遅延ライン２００においては遅延要素２０５が直列に配置されているが、並列配置もまた可能である。クロック信号ＩＮ  ＣＬＫを、互いにわずかに異なる遅延を与えるＮ個の並列の遅延要素に入力して、同じ１組の出力信号を生成することができる。直列と並列のハイブリッド回路もまた可能である。
【００１３】
好適な実施態様において、入力クロック信号ＩＮ  ＣＬＫは、基準クロック信号である、または基準クロック信号にロックされている。例えば図３は、部分的に、８段のタップ付き遅延ラインを示しているが、それに対する入力クロック信号は基準クロックである。図３は、遅延ロックループ（ＤＬＬ）３００のブロック図である。公称では、それぞれの遅延要素３０５は、入力信号ＲＥＦ  ＣＬＫの周期またはサイクル（この２つの言葉は、本文脈においては同義である）の８分の１だけ、その入力信号を遅延する。従って、その安定状態においては、信号ＣＬＫ８は、入力信号ＲＥＦ  ＣＬＫと同一である。信号ＣＬＫ８およびＲＥＦＣＬＫは両方とも、位相検波器３１０に入力される。信号ＣＬＫ８とＲＥＦ  ＣＬＫとが実際に同一である場合には、位相検波器３１０は位相差ゼロを検出し、従って、ゼロの出力を生成する。しかし、それぞれの遅延要素が与える遅延が少なすぎたり多すぎたりして、信号ＣＬＫ８がＲＥＦ  ＣＬＫよりも遅れたり進んだりする場合には、位相検波器３１０が位相差を検出し、適切な極性の出力信号を生成して、フィードバックネットワーク３１５が各遅延を増大または減少してＤＬＬ３００をそのロック状態にするようになっている。
【００１４】
図４は、図３に示すものの変形を示す。図４では、ＤＬＬではなくＰＬＬ４００を示す。ＰＬＬ４００は、ＤＬＬ３００と同様に動作する。それぞれの遅延要素３０５は、入力信号ＲＥＦ  ＣＬＫの周期の８分の１だけ、その入力信号を遅延するので、８つの遅延要素３０５−１、３０５−２、…、３０５−８の接続によって形成されるループのループ利得は１であり、その結果、信号ＲＥＦ  ＣＬＫの周波数での発振器となる。
【００１５】
図５は、タップ付き遅延ラインまたはクロック信号の遅延バージョンをいくつか生成するその他の回路と共に用いるための、デジタル回路要素５００のブロック図である。一般的なタップ付き遅延ライン２００（図２）を再び参照して、デジタル回路要素５００への入力信号は、遅延ライン２００から分岐した出力ＣＬＫ０、ＣＬＫ１、ＣＬＫ２、…ＣＬＫＮである。動作において、クロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２、…ＣＬＫＮは、Ｎから１への(N-to-1)マルチプレクサ５０５へ入力される。いかなる所与の時間におけるマルチプレクサ５０５の出力は、Ｎ個の入力信号のうちの１つである。１つまたはそれよりも多いポート選択ラインが、入力信号のうちのどの１つがマルチプレクサ５００の出力に送られるかを制御する。マルチプレクサ５００からの選択信号は、イネーブルゲート５１０においてイネーブル信号と論理的に結合して、比率化（ratioed）クロック信号を生成する。ポート選択ラインの信号とイネーブル信号とは、ステートマシン５１５によって生成される。デジタル回路要素５００は、クロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２、…ＣＬＫＮの一連の時間接続を選択して、後述の例のような出力クロック信号を生成するようにする機能を果たす。
【００１６】
図６は、基準クロックに関する周波数の比が１１：８である（すなわち、ｆREF／ｆRAT＝１１／８、ただしｆREFおよびｆRATはそれぞれ、基準クロック信号と比率化クロック信号の周波数）クロック信号の生成を示す、１組の信号図である。図６の信号は、ＤＬＬ３００（図３）またはＰＬＬ４００（図４）の組み合わせを、Ｎ＝８の場合のデジタル回路要素５００（図５）と組み合わせた結果として得られる。一番上の波形は、クロック信号ＲＥＦ  ＣＬＫである。次の信号、マルチプレクサ５００のポート番号０への入力は、ＣＬＫ０であり、これはクロック信号ＲＥＦ  ＣＬＫと同じである。次の７つのクロック信号、マルチプレクサ５００のポート番号１−７への入力は、ＣＬＫ１、ＣＬＫ２、…、ＣＬＫ７である。次のクロック信号はＣＬＫ８であり、これはＣＬＫ０と同等であるので、マルチプレクサ５００への入力ではない（代案として、ＣＬＫ８をマルチプレクサ５００への入力にし、ＣＬＫ０を用いなくてもよい）。図６が示すように、それぞれの信号は、先の信号よりも信号ＲＥＦ  ＣＬＫの周期の８分の１だけ遅延している。時間的関係は、図６の各信号が右から左へと伝播して信号ＲＥＦ  ＣＬＫの正のパルス０、１、２、…がこの順で左側の目的地に到達する、と想像することによって、視覚化することができる。マルチプレクサ５００に一緒に入力される各信号は、どこにおいても、信号ＲＥＦ  ＣＬＫの周期の８分の１の分解能(resolution)内で立ち上がりエッジおよび立ち下がりエッジを有しているので、与えられた可能性から任意の所望の立ち上がりおよび／または立ち下がりのエッジを選ぶ、ひいては所望の出力クロックを合成するような方法で、マルチプレクサ５００のポート選択ラインを操作することが可能である。図６において、ポート選択は、立ち上がりエッジが１１個目毎に選択されるように行う。わかるように、マルチプレクサ５００のポート選択の対応するシーケンスは、「０、３、６、Ｘ、１、４、７、Ｘ、２、５、Ｘ」である。ただしＸは、「ドントケア」状態である（この時イネーブルのラインがローなので）。このポート選択シーケンス「０、３、６、Ｘ、１、４、７、Ｘ、２、５、Ｘ」は、異なる比が選択されるまで繰り返される。このポート選択シーケンスは、この場合の比１１：８に一致して、基準クロックＲＥＦ  ＣＬＫの１１のサイクル毎に繰り返す、ということに注意されたい。一般的に、比がＭ：８である場合、ポート選択シーケンスは、Ｍまたはそれよりも短い周期で周期的になる。
【００１７】
図６は、マルチプレクサ５００の出力が、イネーブルゲート５１０におけるイネーブル信号とどのように論理的に結合するかを示す。イネーブル信号は、マルチプレクサ５００の出力の立ち上がりエッジ（正のパルス、例えば、ＲＥＦ  ＣＬＫに０、１、２、…と番号をつけたもの、の左側）においてサンプリングされる。立ち上がりエッジの時間においてイネーブル信号がハイである場合には、マルチプレクサ５００の出力からの正のパルス全体が、イネーブルゲート５１０を通る。イネーブル信号がローである場合には、マルチプレクサ５００の出力において立ち上がりエッジが存在するかどうかに関わらず、イネーブルゲート５１０の出力がローに保たれる。従って、イネーブルゲート５００はＡＮＤゲートと同様であるが、従来技術のＡＮＤゲートとは異なって、ＡＮＤゲートがレベル感知可能であるのに対して、イネーブルゲート５００は、いま説明した意味において、エッジ感知可能である（すなわち、マルチプレクサ５００の出力の立ち上がりエッジを感知可能である）。
【００１８】
図７および図８は、図６のものと同様の信号図の組である。図７において、周波数の比は１６：８（すなわち２：１）であり、ポート選択の繰り返すシーケンスは「０、Ｘ」である。図８において、比は２１：８であり、ポート選択の繰り返すシーケンスは、「０、Ｘ、５、Ｘ、Ｘ、２、Ｘ、７、Ｘ、Ｘ、４、Ｘ、Ｘ、１，Ｘ、６、Ｘ、Ｘ、３、Ｘ、Ｘ」である。
【００１９】
任意の所与の周波数の比についてのポート選択の繰り返すシーケンスを決定するためのアルゴリズムについて、次に説明する。比が約分してＭ：Ｎである（ただしＭ＞Ｎ）と仮定すると、以下のアルゴリズムを反復する。
0004001713.tif 000002
ポート選択値がＸである場合を除き、ポート選択値がＸになるまで、イネーブルがハイであるとすると、このアルゴリズムの出力は、Ｍ：Ｎの比のクロックを生成するポート選択値のシーケンスである。０を開始値として選択するのは任意である。０とＮ−１（Ｎ−１を含む）との間のいかなる他の値であっても、等しくうまくいく。ポート選択値の出力シーケンスは、Ｙが開始値に等しい場合に完全に決定される。それはポート選択値のシーケンスが周期的であるからである。一例として、このアルゴリズムが、Ｍ＝２１およびＮ＝８である場合に図８に対応するポート選択の繰り返すシーケンス「０、Ｘ、５、Ｘ、Ｘ、２、Ｘ、７、Ｘ、Ｘ、４、Ｘ、Ｘ、１，Ｘ、６、Ｘ、Ｘ、３、Ｘ、Ｘ」を生成するということを証明することができる。すなわち、出力比率化クロックは、入力クロック信号ＲＥＦ  ＣＬＫの周波数の有理数の倍数である周波数を有し、この有理数の倍数は８／２１である。
【００２０】
ステートマシン５１５がどのようにポート選択値の所望のシーケンスを生成するかを理解する他の方法として、モジュロＮリング（点０、１、２、…、Ｎ−１を有する）を考察する。アルゴリズムは、このリング上で、シーケンスにおける第１のポート選択としての０で開始することによって、視覚化することができる。前へと（例えば、時計回りに）位置をＭ個カウントする。前へ位置をＭ個進んでリング上の目的地に達する間に、０を２度目およびその後に通る時に、「Ｘ」をシーケンスに付け加える。目的地が、シーケンスにおける次の値である。再び前へ位置をＭ個カウントし、再び０を１度よりも多く通る時にＸを付け加える。目的地が０になるまでこれを繰り返す。Ｎ＝８についてのリングの例を、図９に示す。今説明したように、前へ１１、１６、および２１カウントすることによって、それぞれ図６ないし図８のポート選択の繰り返すシーケンスとなる、ということを証明するのは、簡単なことである。
【００２１】
Ｎと、Ｍについての１組の可能性のある値とが与えられれば、当業者に周知の技術に従って、ステートマシン５１５は、前述のアルゴリズムによって述べたようなＭの入力値のそれぞれについて、所望のポート選択の繰り返すシーケンス（およびこれに伴うイネーブル信号、イネーブル信号は、ポート選択が「Ｘ」である場合を除いて常にハイである）を生成するよう、容易に設計される。
【００２２】
好ましくは、出力クロック信号は、クロック信号ＲＥＦ  ＣＬＫの周波数に１よりも小さい（すなわち数分の１の）有理数の倍数である周波数を有する。すなわち、好ましくはＭ＞Ｎである。しかし、基準クロック信号よりも高い周波数を有する出力クロック信号を生成することもまた可能である。マルチプレクサ５００に一緒に入力される各信号は、どこにおいても、信号ＲＥＦ  ＣＬＫの周期の８分の１の分解能内で立ち上がりエッジおよび立ち下がりエッジを有しているので、与えられた可能性から何らかの所望の立ち上がりおよび／または立ち下がりのエッジを選ぶ、ひいては所望の出力クロックを合成するような方法で、マルチプレクサ５００のポート選択ラインを操作することが可能である。図６ないし図８を参照するステートマシン５１５の動作は、与えられた可能性から立ち上がりエッジを選ぶ。同様の方法で、立ち下がりエッジもまた選択することができ、立ち上がりと立ち下がりのエッジとを、１つまたはそれよりも多い隣接する立ち上がりと立ち下がりのエッジの対が基準クロックＲＥＦ  ＣＬＫの周期の２分の１内にあるように、組み合わせることもできる。別の代案において、論理回路要素５００を廃棄して異なる種類の論理回路要素を使用して、より速い出力クロック信号を生成してもよい。例えば、以下の演算を行う論理回路であれば、信号ＲＥＦ  ＣＬＫよりも出力周波数が２倍になる。
【００２３】
【外１】
0004001713.tif 000003
【００２４】
論理回路要素５００を、単一の出力クロック周波数のみを生成するものとして示しているが、所望の回数だけ複製して、複数の出力クロック信号を生成してもよい。デジタル論理設計の当業者であれば、複数の出力クロック信号を生成するための、このおよびその他の技術を理解するであろう。
【００２５】
図６ないし図８に示すように、出力クロック信号は、デューティサイクル（１周期にわたる正のパルスの時間的長さとして規定される）が５０％よりも小さい。その結果、出力クロック信号のＤＣ（直流）バイアスは、デューティサイクルが５０％であると仮定した場合に比べて、わずかに少ない。このようなＤＣバイアスであれば、大部分の場合問題にならない。５０％のデューティサイクルが必要な状況においては、更なる論理を付け加えてこの結果を達成することができる。例えば、より高い出力周波数に関して上述した立ち上がりおよび立ち下がりのエッジの選択を利用して、バランスの取れたデューティサイクルを達成することができる。デューティサイクルを調整するための、このおよびその他の技術は、当業者には容易に明白である。
【００２６】
本明細書において用いた用語および説明は、例示のみのために述べたものであり、限定として意図するものではない。当業者であれば、特許請求の範囲およびその均等物において規定する本発明の思想および範囲内で、多くの変形が可能であるということを理解するであろう。特許請求の範囲においては、別段の指示がない限り、すべての用語はできる限り広い意味で理解されなければならない。
【００２７】
以下においては、本発明の種々の構成要件の組み合わせからなる例示的な実施態様を示す。
１．直接的にまたは間接的に入力クロック信号を受け入れる、複数の遅延要素（205）と、
前記複数の遅延要素（205）のうちのいくつかに接続され、出力を有する、論理回路要素（500）であって、前記出力が、前記入力クロック信号の周波数に有理数を掛けた周波数を有するクロック信号であり、前記有理数が１よりも小さい、論理回路要素（500）とを含む装置。
２．前記遅延要素の数がＮであり、前記出力クロック信号の周波数が（Ｎ／Ｍ）×ｆREFであり、ここでＭが自然数であり、Ｍ＞Ｎであり、ｆREFが前記複数の遅延要素を通じて供給されるクロック信号の周波数である、上記１に記載の装置。
３．前記複数の遅延要素が順次接続されている、上記１に記載の装置。
４．少なくとも２つの入力と少なくとも１つの出力とを有する位相検波器（310）であって、前記入力のうちの第１の入力が、前記複数の遅延要素（205）のうちの一方に接続され、前記入力のうちの第２の入力が、基準クロック信号を受け入れる、位相検波器（310）と、
フィードバックネットワーク（315）とを更に含み、
前記移相検波器（310）の出力が前記フィードバックネットワーク（315）に接続されて、前記第１および第２の入力がロックされるようになっている、上記１に記載の装置。
５．前記論理回路要素（500）が、
前記いくつかの遅延要素（205）にそれぞれ接続されたいくつかの信号入力、ポート選択入力、及び出力を有する、マルチプレクサ（505）と、
前記マルチプレクサ（505）の前記ポート選択入力に接続された第１の出力、及び第２の出力を有する、ステートマシン（515）と、及び
前記マルチプレクサ（505）の前記出力に接続された第１の入力と、前記ステートマシン（515）の第２の出力に接続された第２の入力とを有する論理ゲート（510）であって、その論理ゲート（510）の出力が前記出力クロック信号である、論理ゲート（510）とを含む、上記１に記載の装置。
６．クロック信号をＮ回遅延することにより、ここでＮは自然数、多数の遅延クロック信号が生成されるステップと、及び
前記遅延クロック信号の一連の時間接続を選択して、出力クロック信号を生成するようにするステップとを含む方法。
７．前記遅延するステップが、前記クロック信号をＮ回順次遅延することを含む、上記６に記載の方法。
８．前記クロック信号を基準クロック信号にロックするステップを更に含む、上記６に記載の方法。
９．前記出力クロック信号の周波数が（Ｎ／Ｍ）×ｆREFであり、ここでＭは自然数であり、ｆREFが前記基準クロック信号の周波数である、上記８に記載の方法。
１０．前記遅延クロック信号の前記一連の時間接続が、モジュロＮリング（900）をベースにした繰り返すシーケンスである、上記６に記載の方法。
【００２８】
【発明の効果】
本発明によるいくつかの実施態様は、以下のものを含むいくつかの利点を達成することができる。すなわち、（１）いくつかの実施態様は、非常に様々な出力クロック周波数および周波数の比をフレキシブルに生成することができる、（２）ロックする構成において、動的応答は、出力周波数の範囲とは無関係であり、単一の基準周波数に最適化することができる、（３）いくつかの実施態様は、異なる出力周波数を生成するために再ロックの必要がない、（４）いくつかの実施態様の回路は、必要な面積がＰＬＬよりも少ない、および（５）いくつかの実施態様は、プロセッサまたはその他のデジタル電子装置を横切るクロックスキューを低減する能力を改善する。
【図面の簡単な説明】
【図１】プロセッサおよびその環境の簡略ブロック図である。
【図２】一般的なタップ付き遅延ラインのブロック図である。
【図３】８段の遅延ラインを有する遅延ロックループのブロック図である。
【図４】８段の遅延ラインを有するフェイズロックループのブロック図である。
【図５】タップ付き遅延ラインと共に用いるデジタル回路要素のブロック図である。
【図６】様々な比率化クロック信号の生成を示す信号図である。
【図７】様々な比率化クロック信号の生成を示す信号図である。
【図８】様々な比率化クロック信号の生成を示す信号図である。
【図９】図５のデジタル回路要素を設計するのに有用なモジュロ８リングを示す図である。
【符号の説明】
205  遅延要素
310  位相検波器
315  フィードバックネットワーク
500  論理回路
505  マルチプレクサ
510  論理ゲート
515  ステートマシン
900  モジュロＮリング
【図１】
0004001713.tif 000004
【図２】
0004001713.tif 000005
【図３】
0004001713.tif 000006
【図４】
0004001713.tif 000007
【図５】
0004001713.tif 000008
【図６】
0004001713.tif 000009
【図７】
0004001713.tif 000010
【図８】
0004001713.tif 000011
【図９】
0004001713.tif 000012