(57)【特許請求の範囲】
【請求項１】
複数のアクティブエッジを有する基準クロック信号から複数のアクティブエッジを有する出力クロック信号を生成するための可変クロッキング回路であって、
出力クロック信号を生成する可変発振器と、
可変発振器に結合され、乗数Ｍによって出力クロック信号を分周して、フィードバッククロック信号を生成する第１のクロック分周回路と、
第１のクロック分周回路に結合され、基準クロック信号およびフィードバッククロック信号を受ける位相比較器と、
その入力端が位相比較器に結合されるとともにその出力端が可変発振器に結合された発振器制御回路とを含み、発振器制御回路は、出力クロック信号に遅延を選択的に挿入する微調制御装置を含み、微調制御装置は、アップ／ダウンカウンタと、アップ／ダウンカウンタに結合されたデルタシグマ回路とを含む、可変クロッキング回路。
【請求項２】
出力クロック信号は、並列発生の間、基準クロック信号によってクロック動作される、請求項１に記載の可変クロッキング回路。
【請求項３】
Ｍ番目ごとのアクティブエッジが、基準クロック信号によってクロック動作される、請求項２に記載の可変クロッキング回路。
【請求項４】
除数Ｄで主基準クロック信号を分周することにより、主基準クロック信号から基準クロック信号を生成する第２のクロック分周回路をさらに含む、請求項１に記載の可変クロッキング回路。
【請求項５】
可変発振器は、
入力端子および出力端子を有する可変遅延線と、
可変遅延線の入力端子に結合された出力端子を有するエッジトリガ型ラッチとを含み、エッジトリガ型ラッチは選択的にクロック動作される、請求項１に記載の可変クロッキング回路。
【請求項６】
除数Ｄで主基準クロック信号を分周することにより、主基準クロック信号から基準クロック信号を生成する第２のクロック分周回路をさらに含む、請求項１に記載の可変クロッキング回路。
【請求項７】
可変発振器は可変遅延線を含み、
可変クロッキング回路はさらに、
可変遅延線に結合されたインクリメンタと、
インクリメンタに結合された遅延線レジスタとを含み、
微調制御装置は、可変遅延線の遅延を選択的に増分するようにインクリメンタを制御する、請求項１に記載の可変クロッキング回路。
【請求項８】
デルタシグマ回路は、
複数のモジュロ入力端子と、
複数のパルス入力端子と、
複数のパルス入力端子および複数のモジュロ入力端子に結合されたシグマ計算回路と、
シグマ計算回路に結合された第１の入力ポートおよび複数のモジュロ入力端子に結合された第２の入力ポートを有する比較器とを含む、請求項１に記載の可変クロッキング回路。
【請求項９】
出力クロック信号は、基準クロック信号の基準クロック周波数の乗数Ｍ倍にほぼ等しい出力クロック周波数を有する、請求項１に記載の可変クロッキング回路。
【発明の詳細な説明】
【０００１】
【発明の分野】
この発明は、ディジタルシステムのためのクロッキング回路に関する。特に、この発明は、ディジタル回路に容易に集積化することのできるディジタルクロック逓倍器および分周器に関する。
【０００２】
【発明の背景】
クロッキング信号は、ボードレベルのシステムおよび集積回路（ＩＣ）装置の両方、たとえばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）およびマイクロプロセッサ等のディジタル回路におけるさまざまな目的のために用いられる。たとえば、同期システムにおいては、グローバルクロック信号は、ボードまたはＩＣ装置にわたるさまざまな回路を同期させるのに用いられる。しかしながら、ディジタルシステムの複雑さが増すにつれ、同期システムのためのクロッキング方式はより複雑となる。たとえば、マイクロプロセッサおよびＦＰＧＡ等の多くの複雑なディジタルシステムは、異なった周波数の複数のクロック信号を有する。たとえば、いくつかのマイクロプロセッサでは、内部回路は第１のクロック周波数で第１のクロック信号によりクロック動作されるが、入出力（Ｉ／Ｏ）回路は第２のクロック周波数で第２のクロック信号によりクロック動作される。典型的には、第２のクロック周波数は第１のクロック周波数より遅い。
【０００３】
複数のクロック生成回路を、複数のクロック信号を生成するのに用いることができるが、クロック生成回路は、典型的には大量のチップまたはボードスペースを費やす。したがって、大抵のシステムは１つのクロック生成回路を用いて第１のクロック信号を生成し、また専用の回路を用いて第１のクロック信号から他のクロック信号を得る。たとえば、クロック分周器を用いて、基準クロック信号からより低いクロック周波数の１つまたは複数のクロック信号を生成する。典型的には、クロック分周器は、整数値で基準クロック信号を分周する。逆に、クロック逓倍器を用いて、基準クロック信号からより高いクロック周波数の１つまたは複数のクロック信号を生成する。クロック逓倍器をクロック分周器と組合せることにより、基準クロック信号の周波数の分数値である周波数を有する、１つまたは複数のクロック信号を生成し得るクロッキング回路が提供される。
【０００４】
図１には従来のクロッキング回路１００が示される。クロッキング回路１００は、周波数Ｆ＿ＲＥＦを有する基準クロック信号ＲＥＦ＿ＣＬＫを受け、周波数Ｆ＿ＯＵＴを有する出力クロック信号Ｏ＿ＣＬＫを生成するが、ここで、Ｆ＿ＯＵＴは、乗数Ｍで逓倍され、除数Ｄで分周された周波数Ｆ＿ＲＥＦと等しく、すなわち、Ｆ＿ＯＵＴ＝Ｆ＿ＲＥＦ*Ｍ／Ｄである。クロッキング回路１００は、クロック分周器１０５、周波数比較器１１０、チャージポンプ１２０、電圧制御発振器（ＶＣＯ）１４０、およびクロック分周器１５０を含む。クロック分周器１０５は基準クロック信号ＲＥＦ＿ＣＬＫを分周して、Ｄで分周された周波数Ｆ＿ＲＥＦと等しい周波数Ｆ＿Ｄ＿ＲＥＦを有する分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫを生成する。同様に、クロック分周器１５０は出力クロック信号Ｏ＿ＣＬＫを分周して、Ｍで分周された周波数Ｆ＿ＯＵＴに等しい周波数Ｆ＿ＦＢＫを有するフィードバッククロック信号ＦＢＫ＿ＣＬＫを生成する。基準クロック信号ＲＥＦ＿ＣＬＫは主基準クロック信号と称されてもよい。
【０００５】
周波数比較器１１０は、フィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫを分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦと比較する。フィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫが分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦより高い場合、周波数比較器１１０により、チャージポンプ１２０が、電圧制御発振器１４０に結合されるＶＣＯ制御信号ＶＣＯ＿Ｃの電圧レベルを下げたり、電圧制御発振器１４０によって生成される出力クロック信号Ｏ＿ＣＬＫの周波数Ｆ＿ＯＵＴを減じたりする。逆に、フィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫが分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦより低い場合、周波数比較器１１０により、チャージポンプ１２０がＶＣＯ制御信号ＶＣＯ＿Ｃの電圧レベルを増加させて、出力クロック信号Ｏ＿ＣＬＫの周波数Ｆ＿ＯＵＴを増加させる。こうして、最終的には、フィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫは、分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦと等しくなる。上述のように、分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦはＤで分周された基準クロック信号ＲＥＦ＿ＣＬＫの周波数Ｆ＿ＲＥＦと等しく、すなわち、Ｆ＿Ｄ＿ＲＥＦ＝Ｆ＿ＲＥＦ／Ｄである。同様に、上述のように、フィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫはＭで分周された出力クロック信号Ｏ＿ＣＬＫの周波数Ｆ＿ＯＵＴと等しく、すなわち、Ｆ＿ＦＢＫ＝Ｆ＿ＯＵＴ／Ｍである。こうして、出力クロック信号Ｏ＿ＣＬＫの周波数Ｆ＿ＯＵＴはＭで逓倍され、かつＤで分周された基準クロック信号ＲＥＦ＿ＣＬＫの周波数Ｆ＿ＲＥＦと等しく、すなわち、Ｆ＿ＯＵＴ＝Ｆ＿ＲＥＦ*Ｍ／Ｄである。
【０００６】
クロッキング回路１００はクロック逓倍器／分周器の所望の機能性を提供するが、クロッキング回路１００は、多大な半導体面積を必要とするアナログ素子の使用により実現が妨げられる。具体的には、チャージポンプ１２０および電圧制御発振器１４０はアナログ回路であり、半導体が占有する面積の増加のため、クロッキング回路１００の費用が増す。さらに、アナログ回路はディジタル回路に比べて、電磁干渉（すなわち、ノイズ）にさらに影響されやすい。このため、乗数Ｍで逓倍され、除数Ｄで分周された基準クロック信号のクロック周波数と等しいクロック周波数を有する出力クロック信号を生成する、ディジタル回路だけを用いる可変クロック逓倍器／分周器が求められている。
【０００７】
【発明の概要】
したがって、この発明に従った可変クロッキング回路を、可変ディジタル発振器およびディジタル制御回路を用いて作成し、乗数Ｍで逓倍され、かつ除数Ｄで分周された基準クロック信号のクロック周波数と等しいクロック周波数を有する出力クロック信号を生成する。
好ましくは、出力クロック信号の周波数が選択された周波数と等しく、出力クロック信号が基準クロック信号と同位相であるとき、出力クロック信号Ｏ＿ＣＬＫのＭ番目ごとの立上がりエッジが基準クロック信号の立上がりエッジと一致する。この一致は通常、並列発生と称される。２つの連続した並列発生の間の時間は通常、並列発生周期と称される。好ましくは、この発明は、各並列発生で出力クロック信号を基準クロック信号と同期させることにより、ディジタル遅延線の不正確さが原因で生じる累積丸め誤差を避ける。
【０００８】
この発明では、可変クロッキング回路は可変発振器、第１のクロック分周器、位相比較器および微調制御装置を含む。可変発振器は出力クロック信号を生成する。第１のクロック分周器は出力クロック信号をＭで分周し、フィードバッククロック信号を生成する。基準クロック信号およびフィードバッククロック信号の両方を受ける位相比較器は、フィードバッククロック信号の周波数が基準クロック信号の周波数の周波数にほぼ等しくなるよう出力クロック信号の周波数を調整する。好ましくは、並列発生の間に生じる出力クロック信号のアクティブエッジを、基準クロック信号のアクティブエッジと同期させる。好ましくは、可変発振器は可変遅延線およびエッジトリガ型ラッチを含む。エッジトリガ型ラッチは、並列発生の間を除いては、遅延線の出力によりクロック動作される。並列発生の間、エッジトリガ型ラッチは基準クロック信号によりクロック動作される。
【０００９】
微調制御装置は、理想的な出力クロック信号の波形とさらに正確に一致させるよう出力クロック信号の波形を整形するために設けられ、アップ／ダウンカウンタと、当該アップ／ダウンカウンタに結合されたデルタシグマ回路とを含む。当該微調制御装置はアップ／ダウンカウンタに結合される。当該微調制御装置は可変発振器に結合され、出力クロック信号に遅延を選択的に挿入するよう構成される。遅延線微調制御装置は、並列発生周期の間に必要な追加の基本遅延単位の数を決定する。追加の基本遅延単位は次に、並列発生周期にわたって均等に分散される。この分散は新規なモジュロ−Ｍデルタシグマ回路を用いることにより達成されてもよい。一実施例では、モジュロ−Ｍデルタシグマ回路は、逓倍器、減算器、加算器、切替回路、ラッチおよび比較器を含む。
【００１０】
この発明は、以下の記載および図面を考慮するとさらに十分に理解されるだろう。
【００１１】
［詳細な説明］
図２（ａ）は、この発明の一実施例に従った可変クロッキング回路２００のブロック図である。可変クロッキング回路２００は、乗数Ｍで逓倍され、除数Ｄで分周された基準クロック信号ＲＥＦ＿ＣＬＫのクロック周波数Ｆ＿ＲＥＦと等しいクロック周波数Ｆ＿ＯＵＴ（すなわち、Ｆ＿ＯＵＴ＝Ｍ*Ｆ＿ＲＥＦ／Ｄ）を有する出力クロック信号Ｏ＿ＣＬＫを生成する。可変クロッキング回路２００は、クロック分周器２１０および２２０、オプションのクロックセレクタ２３０、位相比較器２４０、停止／再始動回路２４５、初期化回路２５０、発振器制御回路２６０ならびに可変ディジタル発振器２７０を含む。クロック分周器２１０は、可変ディジタル発振器２７０により生成される出力クロック信号Ｏ＿ＣＬＫを受け、乗数Ｍで分周される出力クロックＯ＿ＣＬＫの周波数Ｆ＿ＯＵＴに等しい周波数Ｆ＿ＦＢＫを有するフィードバッククロック信号ＦＢＫ＿ＣＬＫを生成する。クロック分周器２１０は、フィードバッククロック信号ＦＢＫ＿ＣＬＫを初期化回路２５０および位相比較器２４０に送る。クロック分周器２２０は基準クロック信号ＲＥＦ＿ＣＬＫを受け、除数Ｄで分周された基準クロック信号ＲＥＦ＿ＣＬＫの周波数Ｆ＿ＲＥＦと等しい周波数Ｆ＿Ｄ＿ＲＥＦを有する分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫを生成する。クロック分周器２２０は、分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫを初期化回路２５０および位相比較器２４０に送る。
【００１２】
クロックセレクタ２３０は、基準クロック信号ＲＥＦ＿ＣＬＫおよび出力クロック信号Ｏ＿ＣＬＫの両方を受け、基準クロック信号ＲＥＦ＿ＣＬＫまたは出力クロック信号Ｏ＿ＣＬＫのどちらかを制御クロック信号ＣＴＲＬ＿ＣＬＫとして、初期化回路２５０および発振器制御回路２６０に選択的に送る。一般的には、基準クロック信号ＲＥＦ＿ＣＬＫは粗周波数サーチ段階の間用いられる。次に、出力クロック信号Ｏ＿ＣＬＫは、微周波数サーチ段階のために用いられ、同様にクロック維持段階、すなわち、選択された周波数で出力クロック信号Ｏ＿ＣＬＫの周波数を維持する間にも用いられる。この発明の一実施例に対する粗周波数サーチ段階、微周波数サーチ段階および維持段階が以下に詳細に記載される。粗周波数サーチ段階および微周波数サーチ段階の間用いられる停止／再始動回路２４５が以下に記載される。
【００１３】
電源投入またはリセットにおいて、初期化回路２５０は、発振器制御回路２６０を、可変ディジタル発振器２７０を調整して、出力クロック信号Ｏ＿ＣＬＫを生成するように制御する。具体的には、初期化回路２５０は、出力クロック信号Ｏ＿ＣＬＫの周波数Ｆ＿ＯＵＴが、乗数Ｍで逓倍され、除数Ｄで分周された基準クロック信号ＲＥＦ＿ＣＬＫの周波数Ｆ＿ＲＥＦと等しい選択された周波数Ｆ＿ＳＥＬと等しくなるように可変ディジタル発振器２７０を調整する。出力クロック信号Ｏ＿ＣＬＫの周波数Ｆ＿ＯＵＴが選択されたクロック周波数Ｆ＿ＳＥＬに到達した後、初期化回路２５０は、発振器制御回路２６０および可変ディジタル発振器２７０の制御を位相比較器２４０に渡す。位相比較器２４０は、可変ディジタル発振器２７０を調整して、温度等の環境の変化にもかかわらず、選択された周波数Ｆ＿ＳＥＬで周波数Ｆ＿ＯＵＴを維持する。
【００１４】
可変クロッキング回路２００のいくつかの実施例は、従来のクロック分周器、クロックセレクタ、停止／再始動回路および位相比較器を用いてもよい。しかしながら、初期化回路２５０、発振器制御回路２６０および可変ディジタル発振器２７０の特定の実施例の詳細な記載が以下に説明される。
【００１５】
図２（ｂ）は可変クロッキング回路２００のためのタイミング図である。明確に示すために、図２（ｂ）およびこの明細書中に含まれる他のタイミング図は観念的に扱われ、伝播遅延およびスキューのような要素を省略している。図２（ｂ）では、乗数Ｍは７と等しく、除数Ｄは５と等しい。こうして、図２（ｂ）に示されるように、分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫは、基準クロック信号ＲＥＦ＿ＣＬＫの５番目ごとの立上がりエッジで、すなわち、立上がりエッジ２０１、２０３および２０５で、立上がりエッジ２２１、２２３および２２５等の立上がりエッジを有する。同様に、フィードバッククロック信号ＦＢＫ＿ＣＬＫは、出力クロック信号Ｏ＿ＣＬＫの７番目ごとの立上がりエッジで、すなわち、立上がりエッジ２７１、２７３および２７５で、立上がりエッジ２１１、２１３および２１５等の立上がりエッジを有する。出力クロック信号Ｏ＿ＣＬＫの周波数Ｆ＿ＯＵＴが選択された周波数Ｆ＿ＳＥＬに等しく、基準クロック信号ＲＥＦ＿ＣＬＫが出力クロック信号Ｏ＿ＣＬＫと同位相であるとき、フィードバッククロック信号ＦＢＫ＿ＣＬＫおよび分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫは同じ位相および周波数を有する。したがって、初期化回路２５０および位相比較器２４０は、分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫおよびフィードバッククロック信号ＦＢＫ＿ＣＬＫの位相および周波数を一致させて、選択された周波数Ｆ＿ＳＥＬで出力クロック信号Ｏ＿ＣＬＫを駆動するよう可変ディジタル発振器２７０を調整する。分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫおよびフィードバッククロック信号ＦＢＣＫ＿ＣＬＫの位相および周波数が一致すると、出力クロック信号Ｏ＿ＣＬＫのＭ番目ごとの立上がりエッジが基準クロック信号ＲＥＦ＿ＣＬＫの立上がりエッジと一致する。たとえば、出力クロック信号Ｏ＿ＣＬＫの立上がりエッジ２７１および２７３は、基準クロック信号ＲＥＦ＿ＣＬＫの立上がりエッジ２０１および２０３と一致する。この一致は通常、並列発生と称される。２つの連続した並列発生の間の時間は通常、並列発生周期と称される。
【００１６】
図３（ａ）は可変ディジタル発振器２７０の実施例のブロック図である。図３の実施例は、二重入力エッジトリガ型ＳＲ回路３１０、インバータ３４０、ならびに低精度遅延線３２５およびトリミング回路３２７を有する可変遅延線３２０を含む。二重入力エッジトリガ型ＳＲ回路３１０は、第１のセット入力端子Ｓ＿ＩＮ１、第１のセットイネーブル入力端子Ｓ＿ＥＮ１、第２のセット入力端子Ｓ＿ＩＮ２、第２のセットイネーブル入力端子Ｓ＿ＥＮ２、第１のリセット入力端子Ｒ＿ＩＮ１、第１のリセットイネーブル入力端子Ｒ＿ＥＮ１、第２のリセット入力端子Ｒ＿ＩＮ２、第２のリセットイネーブル入力端子Ｒ＿ＥＮ２、および出力端子ＯＵＴを含む。二重入力エッジトリガ型ＳＲ回路の動作および構造は当該技術において周知であり、したがってこの明細書中には詳細には記載されない。表１には、アクティブハイ型二重入力エッジトリガ型ＳＲ回路３１０のための真理値表が提供される。基本的に、セットイネーブル端子の対応するセットイネーブル信号がイネーブルされる論理レベル（たとえば、論理ハイ）にある間、セット端子のセット入力信号のアクティブ（たとえば、立上がり）エッジによって、出力端子ＯＵＴが出力信号をアクティブ状態（たとえば、論理ハイ）に駆動する。逆に、対応するリセットイネーブル端子上の対応するリセットイネーブル信号がイネーブルされる論理レベル（たとえば、論理ハイ）にある間、リセット端子のリセット入力信号のアクティブ（たとえば、立上がり）エッジによって、出力端子ＯＵＴが出力信号をインアクティブ状態（たとえば、論理ロー）に駆動する。明確に示すために、この明細書中の回路は、イネーブルされる論理レベルおよびアクティブ論理レベルとして論理ハイを用いて記載される。同様に、立上がりエッジはアクティブエッジとして用いられる。しかしながら、当業者は、異なったイネーブルされる論理レベル、アクティブ論理レベル、およびアクティブエッジを用いてこの発明の原理を適用してもよい。
【００１７】
【表１】
0004686108.tif 000002
【００１８】
ここでは、ＲＥは立上がりエッジ、Ｈは論理ハイ、Ｌは論理ロー、Ｘはドントケア条件である。
【００１９】
基準クロック信号ＲＥＦ＿ＣＬＫが第１のセット入力端子Ｓ＿ＩＮ１に結合され、基準クロックイネーブル信号Ｒ＿ＣＬＫ＿ＥＮが第１のイネーブル入力端子Ｓ＿ＥＮ１に結合される。二重エッジトリガ型ＳＲ回路３１０の出力端子ＯＵＴが出力クロック信号Ｏ＿ＣＬＫを駆動し、可変遅延線３２０に結合される。図３（ａ）の実施例では、可変遅延線３２０は、基本遅延ＢＤを有する低精度遅延線３２５、および基本遅延ＢＤの０、０．２５、０．５０、または０．７５倍の遅延を与えるトリミング回路３２７を用いて実現される。この発明の他の実施例は従来の可変遅延線を用いてもよい。可変遅延線３２０は、発振器制御回路２６０の制御のもと可変量によって二重入力エッジトリガ型ＳＲ回路３１０の出力信号を遅延させて、遅延出力信号Ｄ＿ＯＵＴを生成する。遅延出力信号Ｄ＿ＯＵＴは、第１のリセット入力端子Ｒ＿ＩＮ１とインバータ３４０の入力端子とに結合される。インバータ３４０の出力端子は第２のセット入力端子Ｓ＿ＩＮ２に結合される。発振器イネーブル信号ＯＳＣ＿ＥＮは、第２のセットイネーブル端子Ｓ＿ＥＮ２に結合される。通常の動作では、発振器イネーブル信号ＯＳＣ＿ＥＮは論理ハイ状態にあり、可変ディジタル発振器２７０をイネーブルする。したがって、可変遅延線３２０によって遅延された出力端子ＯＵＴからの立上がりエッジにより、二重入力エッジトリガ型ＳＲ回路３１０を論理ローに遷移させる。逆に、可変遅延線３２０により遅延され、インバータ３４０により反転した、出力端子ＯＵＴからの立下がりエッジにより、二重入力エッジトリガ型ＳＲ回路３１０を論理ハイに遷移させる。こうして、可変ディジタル発振器２７０は、出力クロック信号Ｏ＿ＣＬＫ等のクロック信号を生成する。出力クロック信号Ｏ＿ＣＬＫの周波数は、可変遅延線３２０によって与えられる遅延量によって制御される。
【００２０】
図３（ａ）の実施例では、低精度可変遅延線３２５が低精度基本遅延ＬＢＤの０から１２７倍の範囲の可変遅延を与え、この場合低精度基本遅延ＬＢＤは低精度可変遅延３２５により与えられる最小の非ゼロ遅延である。さらに、トリミング回路３２７が０、０．２５、０．５または０．７５基本遅延単位の追加の遅延を与える。こうして、図３（ａ）の実施例では、可変遅延線３２０は、０．２５低精度基本遅延ＬＢＤの倍数で、０から１２７．７５低精度基本遅延ＬＢＤの範囲の５１２個の遅延値を与え得る。こうして、図３（ａ）の実施例では、可変遅延線３２０は、低精度基本遅延ＬＢＤの０．２５倍と等しい基本遅延ＢＤの０から５１１倍の間の遅延を与える。
【００２１】
基準クロック信号ＲＥＦ＿ＣＬＫの周波数Ｆ＿ＲＥＦ、乗数Ｍおよび除数Ｄによっては、可変遅延線３２０は、選択された周波数Ｆ＿ＳＥＬで出力クロック信号Ｏ＿ＣＬＫを生成するのに必要な正確な量の遅延を与えることができないおそれがある。図３（ｂ）は、クロック生成回路におけるディジタル遅延線を用いる際のこの問題を例示する。具体的には、図３（ｂ）は、基準クロック信号ＲＥＦ＿ＣＬＫ、従来の出力クロック信号Ｃ＿Ｏ＿ＣＬＫ、およびこの発明の一実施例に従って二重入力エッジトリガ型ＳＲ回路３１０を用いて生成された出力クロック信号Ｏ＿ＣＬＫを示す。図３（ｂ）では、基準クロック信号ＲＥＦ＿ＣＬＫ、従来の出力クロック信号Ｃ＿Ｏ＿ＣＬＫおよび出力クロック信号Ｏ＿ＣＬＫそれぞれの立上がりエッジ３５１、３６１および３７１が同期される。
【００２２】
図３（ｂ）では、乗数Ｍは４に等しく、除数Ｄは１に等しい。基準クロック信号ＲＥＦ＿ＣＬＫは５０ナノ秒の周期を有する。したがって、２５ナノ秒だけ、基準クロック信号ＲＥＦ＿ＣＬＫの各々連続したクロックエッジが分離される。理想的には、可変遅延線３２０は、４で除算した２５に等しい６．２５ナノ秒の遅延を与える。しかしながら、可変遅延線３２０の基本遅延単位（図３）が１ナノ秒である場合、可変遅延線３２０は、出力クロック信号Ｏ＿ＣＬＫ１の連続したエッジの間で６ナノ秒の遅延を与えるよう設定される。上述のように、並列発生の間、すなわち４周期ごとに、従来の出力クロック信号Ｃ＿Ｏ＿ＣＬＫの立上がりエッジが基準クロック信号ＲＥＦ＿ＣＬＫの立上がりエッジと同時に生じるはずである。しかしながら、図３（ｂ）に例示されるように、従来の出力クロックＣ＿Ｏ＿ＣＬＫの立上がりエッジ３６５が、基準クロック信号ＲＥＦ＿ＣＬＫの立上がりエッジ３５５より２ナノ秒だけ先に起こる。２ナノ秒の整列のずれが並列発生周期ごとに繰返し起こる。こうして、長期にわたると、整列のずれはディジタルシステムにおいて同期についての深刻な問題を引起こすおそれがある。
【００２３】
整列のずれをなくすために、ちょうど並列発生の前に、すなわち、基準クロック信号ＲＥＦ＿ＣＬＫの立上がりエッジを出力クロック信号Ｏ＿ＣＬＫの立上がりエッジと一致させるべきとき、発振器イネーブル信号ＯＳＣ＿ＥＮがデアサートされ、基準クロックイネーブル信号がアサートされる。こうして、並列発生の間、二重入力エッジトリガ型ＳＲ回路３１０の入力端子Ｓ＿ＩＮ１上の基準クロック信号ＲＥＦ＿ＣＬＫの立上がりエッジが、二重入力エッジトリガ型ＳＲ回路３１０の出力端子ＯＵＴ上に立上がりエッジをもたらし、これにより出力クロック信号Ｏ＿ＣＬＫが駆動される。並列発生の後、発振器イネーブル信号ＯＳＣ＿ＥＮが再びアサートされ、基準クロックイネーブル信号Ｒ＿ＣＬＫ＿ＥＮがデアサートされる。こうして、出力クロック信号Ｏ＿ＣＬＫのＭクロック周期ごとに、出力クロック信号Ｏ＿ＣＬＫは、たとえ可変遅延線３２０が選択された周波数Ｆ＿ＳＥＬで出力クロック信号Ｏ＿ＣＬＫを駆動するのに必要な正確な遅延を与えないとしても、基準クロック信号ＲＥＦ＿ＣＬＫと再び一致する。
【００２４】
したがって、図３（ｂ）に示されるように、出力クロック信号Ｏ＿ＣＬＫの立上がりエッジ３７５は、基準クロック信号ＲＥＦ＿ＣＬＫの立上がりエッジ３５５と一致する。したがって、出力クロック信号Ｏ＿ＣＬＫの立下がりエッジ３７４と出力クロック信号Ｏ＿ＣＬＫの立上がりエッジ３７５との間の時間は、６ナノ秒ではなく８ナノ秒である。こうして、出力クロック信号Ｏ＿ＣＬＫの並列発生サイクル中の期間は、出力クロック信号Ｏ＿ＣＬＫのクロックエッジを制御するために可変遅延線３２０のみを用いることにより規定されるように、４８ナノ秒ではなく５０ナノ秒に等しい。したがって、並列発生周期にわたる出力クロック信号Ｏ＿ＣＬＫの平均周波数は、選択された周波数Ｆ＿ＳＥＬに等しい。
【００２５】
図４は、この発明の一実施例に従った発振器制御回路２６０のブロック図である。図４の実施例は、遅延線レジスタ４１０、オプションのインクリメンタ４３０、オプションの遅延線微調制御装置４２０およびオプションのＯＲゲート４４０を含む。遅延線レジスタ４１０は初期化回路２５０から遅延値ＤＶ［８：０］を受ける（図２）。遅延線レジスタ４１０の内容は、遅延値フィードバック信号ＤＶ＿ＦＢ［８：０］としてインクリメンタ４３０および初期化回路２５０に与えられる。初期化回路２５０は粗周波数サーチ段階の間遅延値ＤＶ［８：０］を調整して、以下に記載のとおり、出力クロック信号Ｏ＿ＣＬＫの周波数Ｆ＿ＯＵＴを選択された周波数Ｆ＿ＳＥＬと一致させる。遅延線レジスタ４１０はまた、遅延線微調制御装置４２０からキャリー信号ＣＡＲＲＹおよびボロー信号ＢＯＲＲＯＷを受ける。遅延線微調制御装置４２０がイネーブルされる場合、遅延線レジスタ４１０は、キャリー信号ＣＡＲＲＹがアクティブ論理レベル（たとえば、論理ハイ）にあると、増分するよう構成され、ボロー信号ＢＯＲＲＯＷがアクティブ論理レベル（たとえば、論理ハイ）にあると、減分するよう構成される。キャリー信号ＣＡＲＲＹおよびボロー信号ＢＯＲＲＯＷの生成が以下に記載される。
【００２６】
遅延線レジスタ４１０における遅延値をインクリメンタ４３０により選択的に増分して、遅延選択信号ＤＥＬＡＹ＿ＳＥＬ［８：０］を生成し、これが可変遅延線３２０に結合される（図３）。具体的には、遅延線微調制御装置４２０は微調増分制御信号ＦＴ＿ＩＮＣをインクリメンタ４３０に送る。微調増分制御信号ＦＴ＿ＩＮＣがアクティブ論理レベル（たとえば、論理ハイ）である場合、インクリメンタ４３０は遅延線レジスタ４１０からの値を増分する。遅延線微調制御装置４２０は、制御信号Ａ／！Ｓを用いる周波数比較器２５０によって、または位相比較器制御信号ＰＣ＿ＣＴＲＬを用いる位相比較器２４０（図２）によって制御される。図４の実施例のために、遅延線微調制御装置４２０がイネーブルされ、制御信号Ａ／！Ｓまたは位相比較器信号ＰＣ＿ＣＴＲＬのどちらかがアクティブ状態（すなわち、論理ハイ）にある場合、遅延線微調制御装置４２０は並列発生周期の間、追加の遅延を付加するよう構成される。こうして、ＯＲゲート４４０は、制御信号Ａ／！Ｓおよび位相比較器制御信号ＰＣ＿ＣＴＲＬから付加遅延信号ＡＤＤ＿ＤＥＬＡＹを生成する。遅延線微調制御装置４２０の使用は以下に詳細に記載される。
【００２７】
図５は、この発明の一実施例に従った初期化回路２５０のブロック図である。初期化回路２５０は粗周波数サーチを実行して、その値を可変遅延線３２０においてセットする。具体的には、粗周波数サーチ段階の間、図５の実施例は高速バイナリサーチを実行して、遅延線レジスタ４１０に対する遅延値ＤＶ［８：０］を決定し、これによりフィードバッククロックＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫおよび分周基準クロックＤ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦを等しいものにする。初期化回路２５０の他の実施例では、他の方法を用いて遅延線レジスタ４１０に対する遅延値ＤＶ［８：０］を選択してもよい。図５の実施例は右シフトレジスタ５３０、加算器／減算器５４０、周波数比較器５５０およびオーバーフローレジスタ５５０を含む。
【００２８】
初めに、加算器／減算器５４０が遅延値ＤＶ［８：０］を与えるよう設定され、これにより、可変遅延線３２０が、可変遅延線３２０によって与えられ得る最大遅延の５０％を提供する。図３（ａ）の実施例に対して、遅延値ＤＶ［８：０］は、初めに２５６、すなわち、０から５１１の間の中間点にセットされる。右シフトレジスタ５３０は遅延値ＤＶ［８：０］の初期値の半分と等しくなるよう、まず設定される。こうして、図３（ａ）の実施例に対して、右シフタ５３０は初期値１２８に設定される。加算器／減算器５４０を周波数比較器５５０によって制御して、右シフタ５３０の値を遅延線レジスタ４１０の値に加算する（図４）か、または右シフタ５３０の値を遅延線レジスタ４１０の値から減算する。具体的には、遅延線レジスタ４１０の値は遅延値フィードバック信号ＤＶ＿ＦＢ［８：０］により与えられる。各々の加算または減算処理の後、右シフタ５３０の内容は、「右シフトされ」て、これにより効果的に右シフタ５３０の値を半分に除算する。しかしながら、右シフタ５３０は最小値１を維持する。
【００２９】
周波数比較器５５０がフィードバッククロック信号ＦＢＫ＿ＣＬＫおよび分周基準信号Ｄ＿ＲＥＦ＿ＣＬＫを受け、加算器／減算器５４０がＡＤＤ処理またはＳＵＢＴＲＡＣＴ処理のどちらを行なうかを指図する制御信号Ａ／！Ｓを生成する。具体的には、フィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫが分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦより高い場合、可変遅延線によって与えられる遅延は増加するはずである。したがって、周波数比較器５５０は、制御信号Ａ／！Ｓを加算の論理レベル（典型的には論理ハイ）に駆動することにより、加算器／減算器５４０にＡＤＤ処理を実行させる。逆に、フィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫが分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦより低い場合、可変遅延線によって与えられる遅延は減少するはずである。したがって、周波数比較器５５０は、制御信号Ａ／！Ｓを減算の論理レベル（典型的には論理ロー）に駆動することにより、加算器／減算器５４０にＳＵＢＴＲＡＣＴ処理を実行させる。各々の加算または減算の後、停止／再始動回路２４５（図２）が初期化回路２５０および発振器制御回路２６０を停止かつ再始動させ、このため、出力クロック信号Ｏ＿ＣＬＫが基準クロック信号ＲＥＦ＿ＣＬＫと同位相で開始される。停止および再始動により、位相変化を補償しなくても、周波数比較器５５０は制御信号Ａ／！Ｓの適切な値を決定することができる。しかしながら、この発明のいくつかの実施例は、位相変化を自動的に補償する周波数比較器を用いてもよい。これらの実施例に対して、停止および再始動は必要とされなくてもよい。
【００３０】
この発明のいくつかの実施例では、周波数比較器５５０はまた、周波数比較器逆信号ＦＣ＿ＲＥＶを生成する。周波数比較器逆信号ＦＣ＿ＲＥＶは、フィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫが分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦより高くなると、また分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦがフィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫより高くなると、アクティブ状態（たとえば、論理ハイ）に駆動される。この発明の一実施例では、粗周波数サーチ段階は、右シフタ５３０の値が１と等しいとき終了する。
【００３１】
表２は、図５の初期化回路２５０の実施例のための処理の例を提供する。表２の例では、３７１．５の遅延値ＤＶが、フィードバッククロック信号ＦＢＫ＿ＣＬＫの周波数Ｆ＿ＦＢＫを分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫの周波数Ｆ＿Ｄ＿ＲＥＦと一致させるための最適遅延を提供する。
【００３２】
【表２】
0004686108.tif 000003
【００３３】
上述のとおり、初めに遅延線レジスタ４１０は２５６を含むよう設定され、右シフトレジスタ５３０は１２８を含むよう設定される。遅延値ＤＶに対する理想値が３７１．５であるので、制御信号Ａ／！Ｓは加算状態（すなわち、論理ハイ）である。ステップ１では加算器／減算器５４０が１２８を２５６に加算し、遅延線レジスタ４１０が３８４（すなわち、２５６＋１２８）を格納し、右シフタ５３０が１２８を右シフトし、６４となる。遅延線レジスタ４１０が３８４を含むとき、周波数比較器５５０は制御線Ａ／！Ｓを減算の論理レベル（すなわち、論理ロー）に駆動する。次いで、ステップ２では、加算器／減算器５４０は３８４から６４を減算し、遅延線レジスタ４１０は３２０（すなわち、３８４−６４）を格納し、右シフタ５３０が６４を右シフトし、３２となる。遅延線レジスタ４１０が３２０を含むとき、周波数比較器５５０は制御線Ａ／！Ｓを加算の論理レベル（すなわち、論理ハイ）に駆動する。このプロセスは、遅延線レジスタ４１０の値が最適値に可能な限り近づくまで続く。
【００３４】
オーバーフローレジスタ５５０が加算器／減算器５４０の出力ビット９を受ける。出力ビット９がアクティブ状態である場合、オーバーフロー条件が発生するので、外部の制御システム（図示せず）により手当てされなければならない。典型的には、オーバーフロー条件は、クロック分周器／逓倍器２００が、可変遅延線３２０によって与えられる起こり得る遅延時間と比べて、早すぎたり遅すぎたりするクロック周波数に対して用いられる場合に発生するにすぎない。
【００３５】
上述のように、この発明のいくつかの実施例は、初期化回路２５０が遅延値ＤＶ［８：０］を確立した後、遅延線微調制御装置４２０を用いて微周波数サーチを行なう。上述のように、可変ディジタル遅延線は、選択された周波数Ｆ＿ＳＥＬで出力クロック信号Ｏ＿ＣＬＫを生成するのに必要な、正確な遅延をもたらすことができないかもしれない。この発明は、二重入力エッジトリガ型ＳＲ回路３１０（図３）を用いることにより、出力クロック信号Ｏ＿ＣＬＫの立上がりクロックエッジを、出力クロック信号Ｏ＿ＣＬＫと基準クロック信号ＲＥＦ＿ＣＬＫとの並列発生の間、基準クロックＲＥＦ＿ＣＬＫと同期させて、この問題を解決する。上述のように、並列発生は、出力クロック信号Ｏ＿ＣＬＫの立上がりエッジが立上がりエッジ基準クロック信号ＲＥＦ＿ＣＬＫと、すなわち、Ｍ番目ごとの立上がりエッジと一致すると想定される場合に発生する。しかしながら、並列発生の間で、出力クロック信号Ｏ＿ＣＬＫの周波数および位相が、選択された周波数Ｆ＿ＳＥＬでの理想クロック信号とは異なるおそれがある。遅延線微調制御装置４２０は可変遅延線３２０により与えられる遅延を選択的に調整し、理想出力クロック信号の周波数および位相にさらによく一致させる。
【００３６】
効果的には、遅延線微調制御装置４２０は、並列発生周期の間、様々な時点で、可変遅延線３２０によって与えられる遅延を１基本遅延ＢＤずつ選択的に増加させることにより、可変遅延線３２０の精度をさらに高める。図６は遅延線微調制御装置４２０により与えられる利点を例示する。具体的には、図６は、基準クロック信号ＲＥＦ＿ＣＬＫ、理想出力クロック信号Ｉ＿Ｏ＿ＣＬＫ、この発明の一実施例に従った二重入力エッジトリガ型ＳＲ回路を用いる出力クロック信号Ｏ＿ＣＬＫ１、ならびにこの発明の別の実施例に従った二重入力エッジトリガ型ＳＲ回路および遅延線微調制御装置４２０の両方を用いる出力クロック信号Ｏ＿ＣＬＫ２を例示する。
【００３７】
図６では、乗数Ｍは４と等しく、除数Ｄは１と等しい。基準クロック信号ＲＥＦ＿ＣＬＫは５０ナノ秒の周期を有する。したがって、基準クロック信号ＲＥＦ＿ＣＬＫにおける各々連続したクロックエッジが、２５ナノ秒分離される。理想出力クロック信号Ｉ＿Ｏ＿ＣＬＫは１２．５ナノ秒の周期を有する。したがって、理想出力クロック信号Ｉ＿Ｏ＿ＣＬＫにおける各々連続したクロックエッジが、６．２５ナノ秒分離される。可変遅延線３２０の基本遅延単位（図３）が１ナノ秒である場合、可変遅延線３２０は、出力クロック信号Ｏ＿ＣＬＫ１の連続したエッジ間で６ナノ秒の遅延を与えるよう設定される。しかしながら、並列発生の間、出力クロック信号Ｏ＿ＣＬＫ１の立上がりエッジが基準クロック信号ＲＥＦ＿ＣＬＫの立上がりエッジにより制御される。したがって、出力クロック信号Ｏ＿ＣＬＫ１の立上がりエッジ６３５は基準クロック信号ＲＥＦ＿ＣＬＫの立上がりエッジ６１５と一致する。したがって、出力クロック信号Ｏ＿ＣＬＫ１の立下がりエッジ６３４と出力クロック信号Ｏ＿ＣＬＫ１の立上がりエッジ７３５との間の時間は８ナノ秒である。こうして、出力クロック信号Ｏ＿ＣＬＫ１の並列発生サイクルの間の平均周期は１２．５ナノ秒と等しい。しかしながら、出力クロック信号Ｏ＿ＣＬＫ１は理想出力クロック信号Ｉ＿Ｏ＿ＣＬＫからひずむ。というのも、並列発生周期の間の所要の余分の遅延が並列発生周期の終わりに集中するからである。
【００３８】
遅延線微調制御装置４２０が、遅延線３２０によって与えられる遅延を選択的に増分して、理想出力クロック信号Ｉ＿Ｏ＿ＣＬＫとさらに厳密に一致させる。並列発生周期の終わりに出力クロック信号Ｏ＿ＣＬＫ２の平均周期を理想出力クロック信号Ｉ＿Ｏ＿ＣＬＫと一致させるのに必要な余分の遅延を一まとめにするのではなく、遅延線微調制御装置４２０は、並列発生周期全体にわたって付加的な所要の基本遅延単位を分散させる。こうして、出力クロック信号Ｏ＿ＣＬＫ２の立下がりクロックエッジ６４２および立上がりクロックエッジ６４３は、６ナノ秒ではなく７ナノ秒分離される。同様に、出力クロック信号Ｏ＿ＣＬＫ２の立下がりクロックエッジ７４６および立上がりクロックエッジ７４７は、６ナノ秒ではなく７ナノ秒分離される。こうして、出力クロック信号Ｏ＿ＣＬＫ２の波形が、出力クロック信号Ｏ＿ＣＬＫ１よりもより厳密に理想出力クロック信号Ｉ＿Ｏ＿ＣＬＫと一致する。
【００３９】
図７は、この発明の一実施例に従った遅延線微調制御装置４２０のブロック図である。図７の実施例は、アップ／ダウンカウンタ７２０、モジュロ−Ｍデルタシグマ回路７３０、ＡＮＤゲート７４０、ＡＮＤゲート７５０およびインバータ７６０を含む。アップ／ダウンカウンタ７２０はモジュロＭでカウントするよう設定される。たとえば、Ｍが４と等しい場合、アップ／ダウンカウンタ７２０は０、１、２、３、０、１等の順番でカウントアップし、３、２、１、０、３、２等の順序でカウントダウンする。
【００４０】
概念的には、アップ／ダウンカウンタ７２０を用いて、遅延線レジスタ４１０のために高精度のビットを提供する。特に、アップ／ダウンカウンタ７２０における値が、出力クロック信号Ｏ＿ＣＬＫの周波数Ｆ＿ＯＵＴを選択された周波数Ｆ＿ＳＥＬとさらに精密に一致させるために、並列発生周期の間必要とされる追加の基本遅延単位の数を示す。図６の例では、基本遅延値は１ナノ秒であり、遅延線レジスタ４１０における遅延値は６と等しく（すなわち、出力クロック信号Ｏ＿ＣＬＫの１周期は１２ナノ秒である）、並列発生の周期は５０ナノ秒であり、Ｍは４と等しい。こうして、出力クロック信号Ｏ＿ＣＬＫのＭ周期は４８ナノ秒（すなわち、４*１２ナノ秒）と等しい。しかしながら、並列発生周期が５０ナノ秒であるので、さらに２つの基本遅延単位が、各並列発生周期の間出力クロック信号Ｏ＿ＣＬＫに付加されるはずである。したがって、アップ／ダウンカウンタ７２０は値２を含むはずである。こうして、概してアップ／ダウンカウンタ７２０は、並列発生周期から基本遅延値のＭ＊２倍を引いたものと等しくなるはずである。しかしながら、実際の処理の間、アップ／ダウンカウンタ７２０に対する値を計算するための情報は一般的には入手不可能である。したがって、探索技術を用いて、アップ／ダウンカウンタ７２０に対する値を計算する。この発明の一実施例に従った探索技術が以下に記載される。
【００４１】
アップ／ダウンカウンタ７２０は、信号Ｍ＿ｍ１［７：０］により入力端子ＩＮ［７：０］に値Ｍ−１（すなわち、乗数Ｍ引く１）を受ける。アップ／ダウンカウンタ７２０は出力値ＯＵＴ［７：０］および次の値ＮＥＸＴ［７：０］の両方を与える。出力値ＯＵＴ［７：０］は制御クロックＣＴＲＬ＿ＣＬＫの立上がりクロックエッジで変化する。対照的に、次の値ＮＥＸＴ［７：０］は、ＯＵＴ［７：０］の、次の立上がりクロックエッジの後の値と等しい。付加遅延信号ＡＤＤ＿ＤＥＬＡＹはまた制御端子ＵＰにも与えられる。付加遅延信号ＡＤＤ＿ＤＥＬＡＹがアクティブ論理レベル（すなわち、論理ハイ）に駆動される場合、アップ／ダウンカウンタ７２０はカウントアップする。さもなければ、アップ／ダウンカウンタ７２０はカウントダウンする。
【００４２】
モジュロＭをカウントさせるために、アップ／ダウンカウンタ７２０はＡＮＤゲート７４０の出力端子に結合される同期リセット端子を含む。ステータス信号ＯＵＴ＝Ｍ＿ｍ１および付加遅延制御信号ＡＤＤ＿ＤＥＬＡＹを受けるＡＮＤゲート７４０は、キャリー信号ＣＡＲＲＹを生成する。ステータス信号ＯＵＴ＝Ｍ＿ｍ１は、出力値ＯＵＴ［７：０］が乗数Ｍ引く１と等しいとき、論理ハイに駆動される。ステータス信号ＯＵＴ＝Ｍ＿ｍ１は、典型的には比較器（図示せず）によって生成される。こうして、アップ／ダウンカウンタ７２０がカウントアップし、出力値ＯＵＴ［７：０］が乗数Ｍ引く１と等しい場合、アップ／ダウンカウンタ７２０はクロック信号ＣＴＲＬ＿ＣＬＫの次の立上がりエッジで０にリセットされる。キャリー信号ＣＡＲＲＹはまた、遅延線レジスタ４１０にも与えられる。キャリー信号ＣＡＲＲＹ上のアクティブ論理レベル（たとえば、論理ハイ）により、遅延線レジスタ４１０の増分が可能となる。
【００４３】
アップ／ダウンカウンタ７２０はまた、ＡＮＤゲート７５０の出力端子に結合されるロード制御端子ＬＯＡＤを含む。ＡＮＤゲート７５０は、ステータス信号ＯＵＴ＝ＺＥＲＯ、およびインバータ７６０を介する付加遅延制御信号ＡＤＤ＿ＤＥＬＡＹを受け、ボロー信号ＢＯＲＲＯＷを生成する。ステータス信号ＯＵＴ＝ＺＥＲＯは、出力値ＯＵＴ［７：０］が０と等しいとき論理ハイに駆動される。ステータス信号ＯＵＴ＝ＺＥＲＯは、典型的には比較器（図示せず）によって生成される。こうして、アップ／ダウンカウンタ７２０がカウントダウンし、出力値ＯＵＴ［７：０］が０と等しい場合、アップ／ダウンカウンタ７２０はＭ引く１をロードするよう設定される。ボロー信号ＢＯＲＲＯＷはまた、遅延線レジスタ４１０にも与えられる。ボロー信号ＢＯＲＲＯＷのアクティブ論理レベル（たとえば、論理ハイ）により、遅延線レジスタ４１０の減分が可能となる。
【００４４】
次の信号ＮＥＸＴ［７：０］は、モジュロ−Ｍデルタシグマ回路７３０の複数のパルス入力端子Ｐ＿ＩＮ［７：０］に結合される。モジュロ−Ｍデルタシグマ回路７３０はまた、値Ｍ−１（すなわち、乗数Ｍ引く１）を複数のモジュロ入力端子Ｍ＿ＩＮ［７：０］で複数の信号Ｍ＿ｍ１［７：０］を介して受け、並列発生前信号ＰＲＥ＿ＣＯＮＣおよび制御クロック信号ＣＴＲＬ＿ＣＬＫを受ける。モジュロ−Ｍデルタシグマ回路７３０は微調増分制御信号ＦＴ＿ＩＮＣを駆動する。明確に示すために、モジュロ−Ｍデルタシグマ回路７３０は、モジュロ値Ｍ（図７の実施例ではＭ−１を実際に受けるが、）およびパルスカウント値Ｐを受けるとされている。モジュロ−Ｍデルタシグマ回路７３０のリセット端子ＲＥＳＥＴに与えられる並列発生前信号ＰＲＥ＿ＣＯＮＣは、並列発生の前にクロックサイクルでアクティブ論理レベル（たとえば、論理ハイ）に駆動される。Ｍ周期の間、微調増分制御信号ＦＴ＿ＩＮＣはＰアクティブパルスを含むはずである。微調増分制御信号ＦＴ＿ＩＮＣのアクティブパルスはＭ周期にわたって分散されるはずである。表３は微調増分制御信号ＦＴ＿ＩＮＣのいくつかのサンプルを提供し、ここでは「１」はアクティブパルスを、「０」はインアクティブパルスを表わす。
【００４５】
【表３】
0004686108.tif 000004
【００４６】
図８は、この発明の一実施例に従ったモジュロ−Ｍデルタシグマ回路７３０のブロック図である。図８の実施例は、インクリメンタ８０５、逓倍器８１０、減算器８２０、加算器８３０、切替回路８４０、ラッチ８５０および比較器８６０を含む。モジュロ入力端子Ｍ＿ＩＮ［７：０］は、インクリメンタ８０５の入力ポートＩＮ、切替回路８４０の第２の入力ポートＩＮ２および比較器８６０の第２の入力ポートＩＮ２に結合される。図８の特定の実施例は、モジュロ入力端子Ｍ＿ＩＮ［７：０］に、モジュロ値Ｍではなくモジュロ値Ｍ引く１を受けるよう設計されるので、インクリメンタ８０５が、モジュロ入力端子Ｍ＿ＩＮ［７：０］に与えられる値を１増分して、モジュロ値Ｍを生成し、これが逓倍器８１０の第１の入力ポートに与えられる。この発明の他の実施例は、モジュロ入力端子Ｍ＿ＩＮ［７：０］にモジュロ値Ｍを受けてもよい。これらの実施例はインクリメンタ８０５を必要としないだろう。逓倍器８１０の第２の入力ポートＩＮ２が比較器８６０の出力端子に結合される。逓倍器８１０は、モジュロ入力端子Ｍ＿ＩＮ［７：０］に与えられる値に比較器８６０の出力値を逓倍して、減算器８２０の第２の入力ポートＩＮ２に与えられる積出力を生成する。この発明の多くの実施例では、逓倍器８１０は、比較器８６０の出力値が単一ビットであるので、複数のＡＮＤゲートを用いて実現される。
【００４７】
複数のパルス入力端子Ｐ＿ＩＮ［７：０］が減算器８２０の第１の入力端子に結合される。減算器８２０は、逓倍器８１０からの出力値を複数のパルス入力端子Ｐ＿ＩＮ［７：０］を介して与えられるパルス値から減算し、減算器８２０の出力ポートＯＵＴを介してデルタ値ＤＥＬＴＡを生成する。減算器８２０の出力ポートＯＵＴが加算器８３０の第１の入力ポートＩＮ１に結合される。加算器８３０の第２の入力ポートＩＮ２がラッチ８５０の出力ポートＯＵＴに結合される。加算器８３０が、減算器８２０によって与えられるデルタ値ＤＥＬＴＡをラッチ８５０によって与えられるラッチ値ＬＡＴＣＨに加算し、加算器８３０の出力ポートＯＵＴを介するシグマ値ＳＩＧＭＡを生成する。加算器８３０の出力ポートＯＵＴは、切替回路８４０の第１の入力ポートＩＮ１に結合される。この発明のいくつかの実施例は、３入力加算器等のシグマ計算回路を用いてシグマ値ＳＩＧＭＡを計算するが、これにより減算器８２０等の別個のデルタ計算回路を用いるよりも早く計算を行なうことができる。これらの実施例では、シグマ計算回路は減算器８２０および加算器８３０と置き換えられる。３入力加算器を用いる実施例に対して、逓倍器８１０の出力値は、３入力加算器前段で２の補数形式に変換され得る。さらに、インクリメンタ８０５および逓倍器８１０を回路内で組合せて、２の補数形式を計算することもできる。
【００４８】
切替回路８４０は、シグマ値ＳＩＧＭＡまたは複数のモジュロ入力端子Ｍ＿ＩＮ［７：０］を介して与えられる値のどちらかを、切替回路８４０の出力ポートＯＵＴを介してラッチ８５０の入力ポートＩＮに送るように構成される。リセット端子ＲＥＳＥＴが切替回路８４０の制御端子に結合される。図７のリセット端子ＲＥＳＥＴに結合される並列発生前信号ＰＲＥ＿ＣＯＮＣが切替回路８４０の出力値を決定する。具体的には、並列発生の前のクロックサイクルの間、切替回路８４０は、複数のモジュロ入力端子Ｍ＿ＩＮ［７：０］を介して与えられる値をラッチ８５０の入力ポートＩＮに送るように構成される。そうでない場合、切替回路８４０は、シグマ値ＳＩＧＭＡをラッチ８５０の入力ポートＩＮに送るようにされる。制御クロック信号ＣＴＲＬ＿ＣＬＫによってクロック動作されるラッチ８５０は、ラッチ８５０の出力ポートＯＵＴを介するＬＡＴＣＨ値を、比較器８６０の第１の入力ポートＩＮ１に与える。ラッチ値ＬＡＴＣＨを複数のモジュロ入力端子Ｍ＿ＩＮ［７：０］を介して与えられる値と比較するようにされた比較器８６０は、比較器８６０の出力端子ＯＵＴを介して微調増分信号ＦＴ＿ＩＮＣを生成する。特に、ラッチ値ＬＡＴＣＨが複数のモジュロ入力端子Ｍ＿ＩＮ［７：０］に与えられるモジュロ値より大きい場合、微調増分信号ＦＴ＿ＩＮＣをアクティブ論理レベル（たとえば、論理ハイ）に駆動する。そうでない場合、微調増分信号ＦＴ＿ＩＮＣはインアクティブ論理レベル（たとえば、論理ロー）に駆動される。
【００４９】
表４は、モジュロ−Ｍデルタシグマ回路７３０の第２の実施例の擬似コード実現例を提供する。ディジタル設計の当業者は、表４の擬似コードを、回路を実現するためのVerilog等のハードウェア記述言語（ＨＤＬ）に変換してもよい。
【００５０】
【表４】
0004686108.tif 000005
【００５１】
上述のように、この発明の一実施例は３つの別個の段階で可変クロッキング回路２００を動作させる。具体的には、可変クロッキング回路２００を、粗周波数サーチ段階、微周波数サーチ段階およびクロック維持段階において動作させる。粗周波数サーチ段階の間、可変遅延線３２０（図３）は、上述のように高速バイナリサーチを用いるようにされる。遅延線微調制御装置４２０（図４）が、粗周波数サーチ段階の間ディスエーブルされる。粗周波数サーチ段階は、右シフタ５３０（図５）が値１を含むと終了する。
【００５２】
微周波数サーチ段階の間、遅延線微調制御装置４２０を活性化し、クロックセレクタ２３０（図２）を、制御クロック信号ＣＴＲＬ＿ＣＬＫとして出力クロック信号Ｏ＿ＣＬＫを選択するよう設定する。微周波数サーチ段階の間、遅延線微調制御装置４２０は、上述のように、制御信号Ａ／！Ｓを用いて周波数比較器５５０（図５）により制御される。具体的には、制御信号Ａ／！Ｓは、アップ／ダウンカウンタ７２０が増分または減分するかを決定する。停止／再始動回路２４５はまた、各並列発生周期の間、微周波数サーチ段階においても用いられる。微周波数サーチ段階においては、アップ／ダウンカウンタ７２０は並列発生周期ごとに１増分または減分する。上述のように、アップ／ダウンカウンタ７２０は、キャリー信号ＣＡＲＲＹおよびボロー信号ＢＯＲＲＯＷによって遅延線レジスタ４１０にリンクされる。こうして、遅延線レジスタ４１０における値が、微周波数サーチ段階の間に変化し得る。微周波数サーチ段階は、周波数比較器５５０が逆転を検出し、周波数比較器逆信号をアクティブ状態に駆動すると終了する。
【００５３】
クロック維持段階の間、位相比較器２４０（図２）は初期化回路２５０から発振器制御回路２６０の制御を獲得する。維持段階の間、遅延線微調制御装置４２０が選択的にイネーブルされる。特にこの発明の一実施例では、維持段階が３つのサブフェーズを介して循環する。各々のサブフェーズは１つの並列発生周期の間続く。第１のサブフェーズでは、位相比較器２４０が初期化される。第１のサブフェーズの間、アップ／ダウンカウンタ７２０の値は変化しない。第２のサブフェーズにおいて、位相比較器２４０は、フィードバッククロック信号ＦＢＫ＿ＣＬＫが分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫよりも進むか遅れるかを決定する。第３のサブフェーズでは、遅延線微調制御装置４２０がイネーブルされる。こうして、アップ／ダウンカウンタ７２０は、位相比較器制御信号ＰＣ＿ＣＴＲＬによって制御されるとおり、１増分または減分し得る。上述のように、位相比較器制御信号ＰＣ＿ＣＴＲＬは、フィードバッククロック信号ＦＢＫ＿ＣＬＫが分周基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫよりも進むか遅れるかを示す。遅延基準クロック信号Ｄ＿ＲＥＦ＿ＣＬＫがフィードバッククロック信号ＦＢＫ＿ＣＬＫよりも進む場合、位相比較器２４０により、第２のサブフェーズの間アップ／ダウンカウンタ７２０が減分する。そうでない場合、位相比較器２４０により、第２のサブフェーズの間アップ／ダウンカウンタ７２０が増分する。他の実施例では、維持段階は、より多いかまたは少ないサブフェーズを含んでいてもよい。たとえば、一実施例では、上述の第１のサブフェーズおよび第２のサブフェーズは、単一のサブフェーズに組合される。この発明のいくつかの実施例は、位相比較器２４０が（４つの逆転等の）複数の逆転を検出するのを待って、出力クロック信号Ｏ＿ＣＬＫが選択された周波数Ｆ＿ＳＥＬであると宣言する。
【００５４】
この発明のさまざまな実施例では、新規の構造が可変クロッキング回路のために記載されている。各並列発生の間出力クロック信号を基準クロック信号と再同期させることにより、この発明は、従来のクロック回路の累積する整列のずれに関する問題なしに、純ディジタルクロック逓倍器／分周器の実現を可能とする。さらに、遅延線微調制御装置を用いることにより、この発明は、出力クロック信号を波形整形して、理想出力クロック信号とさらに精密に一致させることができる。上述のこの発明の構造および方法のさまざまな実施例は、この発明の原理の単なる例示的なものであり、この発明の範囲を、記載の特定の実施例に限定することを意図するものではない。たとえば、この開示を考慮すると、当業者は、他のラッチ、レジスタ、クロック分周器、位相比較器、周波数比較器、アップ／ダウンカウンタ、初期化回路、デルタシグマ回路、ラッチ、停止／再始動回路、遅延線、可変ディジタル発振器、エッジトリガ型ＳＲ回路、アクティブエッジ、イネーブル論理レベル等を規定することができ、さらにこの発明の原理に従った方法、回路またはシステムを作るためにこれらの代替の特徴を用いることができる。こうして、この発明は前掲の特許請求の範囲によってのみ制限される。
【図面の簡単な説明】
【図１】  従来のクロッキング回路のブロック図である。
【図２（ａ）】  この発明の一実施例に従った可変クロッキング回路のブロック図である。
【図２（ｂ）】  図２（ａ）の可変クロッキング回路のためのタイミング図である。
【図３（ａ）】  この発明の一実施例に従った可変ディジタル発振器の概略図である。
【図３（ｂ）】  図３（ａ）のディジタル発振器を用いる図２（ａ）の可変クロッキング回路のためのタイミング図である。
【図４】  この発明の一実施例に従った発振器制御回路のブロック図である。
【図５】  この発明の第２の実施例に従った初期化回路のブロック図である。
【図６】  遅延線微調制御装置を用いる図２（ａ）の可変クロッキング回路のためのタイミング図である。
【図７】  この発明の一実施例に従った遅延線微調制御装置のブロック図である。
【図８】  この発明の一実施例に従ったモジュロ−Ｍデルタシグマ回路のブロック図である。
【図１】
0004686108.tif 000006
【図２（ａ）】
0004686108.tif 000007
【図２（ｂ）】
0004686108.tif 000008
【図３（ａ）】
0004686108.tif 000009
【図３（ｂ）】
0004686108.tif 000010
【図４】
0004686108.tif 000011
【図５】
0004686108.tif 000012
【図６】
0004686108.tif 000013
【図７】
0004686108.tif 000014
【図８】
0004686108.tif 000015