(57)【要約】  クロック発生をもたらすためのシステムおよび方法が開示される。一実施例によれば、構成可能でインシステムプログラマブルな、柔軟なスキュー制御アーキテクチャを含むクロックジェネレータチップが与えられる。クロックジェネレータチップはさらにプログラム可能な入力回路、プログラム可能な出力回路を与えることができ、ＪＴＡＧバウンダリスキャンを可能にし得る。
2007500397.tif 000002
【特許請求の範囲】
【請求項１】
クロックジェネレータであって、
入力信号を選択的に受取り、その入力信号の周波数を第１のプログラム可能な量だけ修正して第１の入力信号を生成するよう適合される入力回路と、
フィードバック信号を受取り、そのフィードバック信号の周波数を第２のプログラム可能な量だけ修正して第２の入力信号を生成するよう適合されるフィードバックループ回路と、
第１の入力信号および第２の入力信号を受取り、第１の信号を与えるよう適合される位相同期ループコアと、
第１の信号を受取り、第１の信号の周波数を修正して、プログラム可能な周波数を有する複数の第２の信号を生成するよう適合される分周回路と、
複数の第２の信号から選択し、少なくとも１つの出力信号を与えるよう適合される出力回路と、
第３のプログラム可能な量だけスキューを出力信号に選択的に適用するよう適合されるスキュー制御回路とを含み、第１、第２および第３のプログラム可能な量およびプログラム可能な周波数は、電気消去可能メモリから選択されるデータにより決定される、クロックジェネレータ。
【請求項２】
フィードバック信号は、内部フィードバック信号および外部フィードバック信号から選択され、スキュー制御回路は、第４のプログラム可能な量だけスキューを選択的に内部フィードバック信号に適用するようさらに適合される、請求項１に記載のクロックジェネレータ。
【請求項３】
スキュー制御回路は選択的にバイパスされ得る、請求項１に記載のクロックジェネレータ。
【請求項４】
スキューは粗調整または微調整を含む、請求項１に記載のクロックジェネレータ。
【請求項５】
出力信号は２つのシングルエンド信号または差動信号を含み、スキュー制御回路によってシングルエンド信号の各々に適用されるスキューは異なり得る、請求項１に記載のクロックジェネレータ。
【請求項６】
制御信号は電気消去可能メモリから選択されるデータを決定する、請求項１に記載のクロックジェネレータ。
【請求項７】
クロックジェネレータにＪＴＡＧテストサポートを与えるよう適合された入出力バウンダリスキャン回路をさらに含む、請求項１に記載のクロックジェネレータ。
【請求項８】
ＪＴＡＧテストサポートはＩＥＥＥ１１４９．１準拠を与える、請求項７に記載のクロックジェネレータ。
【請求項９】
クロックジェネレータはインシステムプログラマブル（in-system programmable）である、請求項１に記載のクロックジェネレータ。
【請求項１０】
クロックジェネレータは、ＩＥＥＥ１５３２規格をサポートすることによりインシステムプログラマブルである、請求項９に記載のクロックジェネレータ。
【請求項１１】
出力回路は、選択可能な電圧レベル、信号タイプ、および出力インピーダンスの範囲にわたって出力信号を与えるようさらに適合され、入力回路は、あり得る範囲の電圧レベル
および信号タイプを有する入力信号を受取るようさらに適合される、請求項１に記載のクロックジェネレータ。
【請求項１２】
集積回路であって、
複数の入力信号から選択し、構成可能な周波数を有する第１の入力信号を生成するための手段と、
複数のフィードバック信号から選択し、構成可能な周波数を有する第２の入力信号を生成するための手段と、
第１の入力信号および第２の入力信号を受取り、第１の信号を生成するよう適合される位相同期ループコアと、
第１の信号を受取り、構成可能な周波数を有する複数の第２の信号を生成するための手段と、
第２の信号から選択して複数の出力信号を与えるための手段と、
出力信号の各々および少なくとも１つのフィードバック信号を選択的にスキューするための手段とを含む、集積回路。
【請求項１３】
スキューすることは粗調整または微調整を含む、請求項１２に記載の集積回路。
【請求項１４】
構成可能性およびインシステムプログラム可能性を与えるための手段をさらに含む、請求項１２に記載の集積回路。
【請求項１５】
ＩＥＥＥ１１４９．１準拠をもたらすために集積回路をテストするための手段をさらに含む、請求項１２に記載の集積回路。
【請求項１６】
第１の入力信号および第２の入力信号のための構成可能な周波数と第２の信号のための構成可能な周波数とを選択するための手段をさらに含む、請求項１２に記載の集積回路。
【請求項１７】
入力信号はあり得る範囲の電圧レベルおよび信号タイプを有し、出力信号はそれぞれプログラム可能な電圧レベルおよび信号タイプを有する、請求項１２に記載の集積回路。
【請求項１８】
信号タイプはシングルエンド信号および差動信号を含む、請求項１７に記載の集積回路。
【請求項１９】
クロック信号を発生するための方法であって、
入力信号を受取るステップを含み、入力信号は、シングルエンド信号タイプまたは差動信号タイプであることができ、さらに、
第１の入力信号を与えるために、メモリから選択される第１のデータの集合から決定される量だけ入力信号の周波数を修正するステップと、
フィードバック信号を受取るステップと、
第２の入力信号を与えるために、メモリから選択される第２のデータの集合から決定される量だけフィードバック信号の周波数を修正するステップと、
第１の信号を与えるために、第１の入力信号および第２の入力信号の周波数および／または位相を整合させるステップと、
メモリから選択される第３のデータの集合から決定される周波数を有する複数の第２の信号を生成するために第１の信号の周波数を修正するステップと、
プログラム可能な電圧レベルおよび信号タイプを有する複数の出力信号を第２の信号から選択するステップと、
メモリから選択される第４のデータの集合から決定される量だけスキューを出力信号に適用するステップとを含む、方法。
【請求項２０】
スキューの量は粗いステップまたは細かいステップに基づく、請求項１９に記載の方法。
【請求項２１】
メモリに保存される、第１、第２、第３および第４のデータの集合を修正するためにインシステムプログラム可能性を与えるステップをさらに含む、請求項１９に記載の方法。
【請求項２２】
制御信号は、メモリに保存される第１、第２、第３および第４のデータの集合を選択する、請求項１９に記載の方法。
【請求項２３】
ＪＴＡＧ準拠した機能テストを与えるステップをさらに含む、請求項１９に記載の方法。
【請求項２４】
クロックジェネレータであって、
入力信号を受取り、その入力信号を位相同期ループに与えるよう適合される入力回路と、
入力回路から入力信号を受取り、応答して出力信号を生成するよう適合される位相同期ループ（ＰＬＬ）と、
ＰＬＬから出力信号を受取り、出力信号をクロック信号として与えるよう適合される出力回路と、
ＰＬＬに結合され、スキューの粗調整の集合とスキューの微調整の集合とを生成するよう適合される第１のスキュー制御回路と、
スキュー調整の１つを選択して出力信号に与えるようプログラム可能な第２のスキュー制御回路とを含む、クロックジェネレータ。
【請求項２５】
第２のスキュー制御回路は、
異なるスキュー選択信号を保存するようプログラム可能な複数のレジスタと、
レジスタに結合され、保存されたスキュー選択信号のうち１つを選択するよう適合される第１のマルチプレクサと、
第１のスキュー制御回路および第１のマルチプレクサに結合され、第１のマルチプレクサによって選択されたスキュー選択信号に基づいてスキュー調整を選択するよう適合される第２のマルチプレクサとを含む、請求項２４に記載のクロックジェネレータ。
【請求項２６】
ＪＴＡＧテストサポートを与えるよう適合される入出力バウンダリスキャン回路をさらに含む、請求項２４に記載のクロックジェネレータ。
【請求項２７】
クロックジェネレータはＩＥＥＥ１５３２インシステムプログラマブル規格をサポートする、請求項２４に記載のクロックジェネレータ。
【請求項２８】
クロック信号を発生するための方法であって、
入力信号を位相同期ループ（ＰＬＬ）に与えるステップと、
位相同期ループを用いて、入力信号に応答して出力信号を生成するステップと、
出力信号をクロック信号として与えるステップと、
スキューの粗調整の集合とスキューの微調整の集合とを生成するステップと、
スキュー調整の１つを選択して出力信号に与えるステップとを含む、方法。
【請求項２９】
ＪＴＡＧ準拠した機能テストを与えるステップをさらに含む、請求項２８に記載の方法。
【請求項３０】
ＩＥＥＥ１５３２インシステムプログラム可能性を与えるステップをさらに含む、請求項２８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本発明は、一般に電気回路に関し、より特定的にはクロックジェネレータに関する。
【背景技術】
【０００２】
背景
クロックジェネレータ回路は、典型的には、クロック入力信号に基づいて１つ以上のクロック出力信号を生成するために採用される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のクロックジェネレータ回路（たとえばクロックジェネレータ集積回路またはチップ）の１つの欠点は、プログラム可能性が限定的であることである。
【０００４】
たとえば、入出力信号タイプ、入出力電圧レベル、周波数範囲、出力バンキング構造、および／またはスキュー制御（たとえば、クロック入力信号に相対するクロック出力信号の位相を制御する）に関して、しばしばプログラム可能性が限定される。さらに、プログラミングが利用可能な場合も、実行が困難で柔軟性がない、複数のピンの利用を要し得る、ピンストラッピングによってプログラミングが実行されなければならないことがある。
【０００５】
限定されたプログラム可能性の例として、スキュー制御がバンクごとにのみ利用可能であって、非常に粗いスキュー調整にのみ限られ得ることがある。スキューステップが粗すぎる場合、プリント回路基板において、たとえば高額で時間のかかるトレース長の調整が必要となり得る。
【０００６】
従来のクロックジェネレータ回路の別の欠点は、ジョイントテストアクショングループ（ＪＴＡＧ）または他の自動化されたテストをサポートしないことである。結果として、クロックジェネレータ回路および他の構成要素（たとえばマイクロプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはプログラム可能な複合論理デバイス（ＣＰＬＤ））を有する回路基板をテストするのはしばしば面倒で時間がかかり、高額であり得る。その結果、向上されたスキュー制御およびクロック発生技術の必要性がある。
【課題を解決するための手段】
【０００７】
概要
ここで、クロック発生のための向上されたスキュー制御技術をもたらすためのシステムおよび方法が開示される。たとえば、本発明の一実施例によれば、構成可能でインシステムプログラマブル（in-system programmable）な、柔軟なスキュー制御アーキテクチャを含むクロックジェネレータチップが与えられる。スキュー制御はバンクごと、またはピンごとに適用されることができ、スキューの微調整および粗調整を与え、複数のプロファイルの集合またはスキュー設定を与える。
【０００８】
クロックジェネレータチップは、電気消去可能オンチップメモリ（たとえば電気消去可能なプログラム可能読出専用メモリ（ＥＥＰＲＯＭ））を採用することにより構成可能であり得る。クロックジェネレータチップはまた、プログラム可能な入力回路、プログラム可能な出力回路を与え、および／またはＪＴＡＧバウンダリスキャンを可能にする。プログラム可能な入出力回路は、広範囲の電圧レベル、信号タイプ、および周波数範囲を可能にする。クロックジェネレータチップはまた、柔軟な出力バンキング構造（たとえば柔軟
なバンク粒度）およびプログラム可能な出力インピーダンスを有し得る。
【０００９】
より具体的には、本発明の一実施例によると、クロックジェネレータは、入力信号を選択的に受取り、その入力信号の周波数を第１のプログラム可能な量だけ修正して第１の入力信号を生成するよう適合される入力回路と、フィードバック信号を受取り、そのフィードバック信号の周波数を第２のプログラム可能な量だけ修正して第２の入力信号を生成するよう適合されるフィードバックループ回路と、第１の入力信号および第２の入力信号を受取って第１の信号を与えるよう適合される位相同期ループコアと、第１の信号を受取り、第１の信号の周波数を修正して、プログラム可能な周波数を有する複数の第２の信号を生成するよう適合される分周回路と、その複数の第２の信号から選択し、少なくとも１つの出力信号を与えるよう適合される出力回路と、出力信号に第３のプログラム可能な量だけスキューを選択的に適用するよう適合されるスキュー制御回路とを含み、第１、第２および第３のプログラム可能な量およびプログラム可能な周波数は、電気消去可能メモリから選択されるデータにより決定される。
【００１０】
本発明の別の例によれば、集積回路は、複数の入力信号から選択して構成可能な周波数を有する第１の入力信号を生成するための手段と、複数のフィードバック信号から選択して構成可能な周波数を有する第２の入力信号を生成するための手段と、第１の入力信号および第２の入力信号を受取り、第１の信号を生成するよう適合される位相同期ループコアと、第１の信号を受取り、構成可能な周波数を有する複数の第２の信号を生成するための手段と、第２の信号から選択して複数の出力信号を与えるための手段と、出力信号の各々および少なくとも１つのフィードバック信号を選択的にスキューするための手段とを含む。
【００１１】
本発明の別の実施例によれば、クロック信号を発生するための方法は入力信号を受取るステップを含み、入力信号は、シングルエンド信号タイプまたは差動信号タイプであることができ、さらに、第１の入力信号を与えるために、メモリから選択される第１のデータの集合から決定される量だけ入力信号の周波数を修正するステップと、フィードバック信号を受取るステップと、第２の入力信号を与えるために、メモリから選択される第２のデータの集合から決定される量だけフィードバック信号の周波数を修正するステップと、第１の信号を与えるために、第１の入力信号および第２の入力信号の周波数および／または位相を整合させるステップと、メモリから選択される第３のデータの集合から決定される周波数を有する複数の第２の信号を生成するために第１の信号の周波数を修正するステップと、プログラム可能な電圧レベルおよび信号タイプを有する複数の出力信号を第２の信号から選択するステップと、メモリから選択される第４のデータの集合から決定される量だけスキューを出力信号に適用するステップとを含む。
【００１２】
本発明の別の実施例によれば、クロックジェネレータは、入力信号を受取ってその入力信号を位相同期ループに与えるよう適合される入力回路と、入力回路から入力信号を受取って応答して出力信号を生成するよう適合される位相同期ループ（ＰＬＬ）と、ＰＬＬから出力信号を受取って出力信号をクロック信号として与えるよう適合される出力回路と、ＰＬＬに結合され、スキューの粗調整の集合とスキュー微調整の集合とを生成するよう適合される第１のスキュー制御回路と、スキュー調整の１つを選択して出力信号に与えるようプログラム可能な第２のスキュー制御回路とを含む。
【００１３】
本発明の範囲はこの部分に引用により援用される請求項によって規定される。下記の１つ以上の実施例の詳細な説明を考慮すれば、本発明の実施例のより完全な理解とその追加的な利点の認識とが当業者にとって可能であろう。ここで簡単に説明される添付の図面が参照されよう。
【００１４】
本発明の好ましい実施例およびその利点は、下記の詳細な説明を参照することにより最もよく理解される。１つ以上の図面に示される同じ要素を識別するのに同じ参照番号が用いられることが理解されるべきである。
【発明を実施するための最良の形態】
【００１５】
詳細な説明
図１は、本発明の一実施例によるクロックジェネレータ回路１００を表わすブロック図を示す。クロックジェネレータ回路１００は、別個の集積回路（チップ）として形成されることができ、または（内部的にもしくは外部的に）クロック信号を与える、より大きな集積回路の一部として形成されることができるが、より大きなチップは意図される他の機能をも実行する。
【００１６】
クロックジェネレータ回路１００は、入力クロック分周器（Ｍ）１０２と、フィードバックループ分周器（Ｎ）１０４と、位相同期ループ（ＰＬＬ）コア１０６と、分周器１０８と、インシステムプログラマブル（ＩＳＰ）およびＪＴＡＧ回路１１０を含む。クロックジェネレータ回路１００は、リード１１２を介して基準信号および外部フィードバック信号を受取り、リード１１４を介して制御信号を受取り、リード１１６を介してＪＴＡＧまたはＩＳＰ入力信号を受取る。クロックジェネレータ回路１００はリード１２０を介して出力信号を与え、リード１１８を介してＪＴＡＧおよび他の信号を与える。
【００１７】
一般に、クロック分周器１０２は、たとえば基準クロック信号などの入力信号の周波数をプログラム可能で選択可能な量だけ修正して、その入力信号をＰＬＬコア１０６に与える一方、フィードバックループ分周器１０４は、外部または内部フィードバック信号をプログラム可能で選択可能な量で分周し、フィードバック信号をＰＬＬコア１０６に与える。ＰＬＬコア１０６は、クロック分周器１０２およびフィードバックループ分周器１０４により与えられた信号に基づいて周波数および／または位相ロックを与えて出力信号を生成し、信号は分周器１０８によってプログラム可能な量で分周され、リード１２０を介して選択可能な出力信号を与える。クロック分周器１０２、フィードバックループ分周器１０４および分周器１０８は、所望のアプリケーションに依存して、入力信号の周波数を乗算し、除算し、および／または変化なく放置するよう設計され得ることが理解されるべきである。
【００１８】
クロックジェネレータ回路１００は（たとえば電気消去可能メモリによって）インシステムプログラマブルであり構成可能であって、柔軟なクロック発生システムを与える。たとえば、リード１１２および１１４によって受取られる入力信号は、さまざまな信号タイプ（たとえばＬＶＣＭＯＳ、ＬＶＴＴＬ、ＳＳＴＬ、ＨＳＴＬ、ＬＶＤＳおよびＬＶＰＥＣＬ）ならびに電圧レベル（たとえば１．８Ｖ、２．５Ｖおよび３．３Ｖ）であり得る。クロック分周器１０２、フィードバックループ分周器１０４、および分周器１０８とともに、ＰＬＬコア１０６もプログラム可能かつ構成可能であって、さまざまな選択可能なクロック周波数を与える。出力信号もまた、上述の入力信号についての説明と同様、さまざまな信号タイプおよび電圧レベルであることができ、プログラム可能なインピーダンス制御を与える。回路１１０は、クロックジェネレータ回路１００に、ＩＳＰ機能およびテスト機能を与える。
【００１９】
図２は、図１のクロックジェネレータ回路１００の部分の、より詳細な例示的実現例であるクロックジェネレータ回路２００を表わすブロック図を示す。クロックジェネレータ回路２００は、入力回路２１８およびマルチプレクサ２１０を介して所望の基準入力信号（ＲＥＦＩＮ）を選択してクロック分周器２０２に与え、クロック分周器２０２はプログラム可能にその周波数を分周し、その基準入力信号をＰＬＬコア２０６およびマルチプレクサ２１６に与える。マルチプレクサ２１６は、クロック分周器２０２（たとえばシステ
ムテスト中またはデバッグの目的のため）とＰＬＬコア２０６との間で選択して、その対応する出力信号を分周器２０８に送る。
【００２０】
マルチプレクサ２１２は、所望のフィードバック信号（ＦＢＩＮ）を選択し、信号はマルチプレクサ２１４に与えられ、マルチプレクサ２１４は（入力回路２２０を介した）フィードバック信号と内部フィードバック信号との間で選択し、選択された信号をフィードバックループ分周器２０４に与える。フィードバックループ分周器２０４は選択された信号の周波数をプログラム可能に分周し、それをＰＬＬコア２０６に与える。
【００２１】
ＰＬＬコア２０６は、位相周波数検出器（ＰＦＤ）と、電流チャージポンプおよびループフィルタ（ＩＣＰ）と、電圧制御発振器（ＶＣＯ）とを含む。ＰＬＬコア２０６はまた、内部分圧器を用いることにより、プログラム可能な出力周波数範囲をも有する。ＰＬＬコア２０６が周波数および位相ロックを達成すると、ロック信号が与えられる。
【００２２】
分周器２０８は、マルチプレクサ２１６から受取られる信号を分周し、マルチプレクサ２２２によって選択可能であって出力回路２２６によって出力される、さまざまな周波数を有するクロック信号を与える。出力信号のスキュー制御は、スキュー回路２２４およびスキュー回路２２８によって与えられることができ、スキュー制御の例示的実現例の詳細は下記にさらに（たとえば図１６−図１９を参照して）詳細に説明される。
【００２３】
出力イネーブル信号２３２が各出力回路２２６に与えられる。たとえば、出力イネーブル信号２３２がアサートされる場合、出力回路２２６からの出力信号は同期的にイネーブルされる。出力イネーブル信号２３２がデアサートされる場合、出力回路２２６からの出力信号は同期的にディスエーブルされる。
【００２４】
一般に、クロックジェネレータ回路２００は、たとえばプログラム可能な周波数範囲、プログラム可能な入出力信号タイプおよび電圧レベル、プログラム可能な出力インピーダンスなどのプログラム可能な機能を与える。ＰＬＬコア２０６は、ゼロ遅延バッファ、乗算器または分周器として構成され得る、かつプログラム可能な出力周波数を有する、完全統合型の高性能なＰＬＬコアであり得る。たとえば、クロックジェネレータ回路２００は、１つのマスタークロックからの２０−バッファの出力信号を与えることができ、バッファされた各出力信号は終端された伝送線を駆動する。
【００２５】
クロック分周器２０２、フィードバックループ分周器２０４、分周器２０８は、それぞれ、極めて柔軟な出力−入力周波数比（たとえば１から３２）が可能であるようプログラム可能である。さらに、基準入力と選択されたフィードバック出力クロック信号との間でクロックジェネレータ回路２００がゼロ遅延を達成することが、外部フィードバックパスによって可能になる。
【００２６】
この例において（図２）、出力回路２２６は１０個のバンクに配列され、各々は２つのあり得る出力信号パス（たとえば、バンクごとに１つの差動信号または２つのシングルエンド信号）を有する。示されるように、フィードバックループ分周器２０４に内部フィードバックパスを与えるため、追加的バンクが含まれる。各バンクは、バンク自体の個別の電源（Ｖｃｃｏ）ピンおよび接地（Ｇｎｄｏ）ピンを有し、そのためバンクの出力信号は、さまざまな出力電圧レベル（たとえば１．８Ｖ、２．５Ｖ、および３．３Ｖ）を他のバンクから独立にサポートし得る。したがって、この例（１０個のバンク、バンクごとに２つの出力信号パス）において、（バンクがすべてシングルエンドとして構成される場合は）２０個のあり得る出力信号を有し、それらは１０個の個別の供給電圧および接地を必要とする。
【００２７】
入力回路２１８および２２０、ならびに出力回路２２６は、独立に構成されることができてシングルエンド規格または差動規格（たとえばＬＶＴＴＬ、ＬＶＣＭＯＳ、ＨＳＴＬ、ＳＳＴＬ、ＬＶＰＥＣＬおよびＬＶＤＳ）をサポートし、クロックジェネレータ回路２００のシングルエンド入力をシングルエンド出力に、シングルエンド入力を差動出力に、差動入力をシングルエンド出力に、そして差動入力を差動出力にすることを可能にする。出力回路２２６もまたプログラム可能な出力インピーダンスを（たとえば５オーム刻みで４０オームから７０オームの伝送線インピーダンスを収容するために）有し得る。したがって、出力回路２２６は、外部オンボード直列レジスタを必要とすることなく５０オームインピーダンスの伝送線を駆動することができ、それにより、実現時間および労力とともに部品と実現コストとを減じることができる。出力回路２２６はまた（たとえば真の補数入力ターミナルを有する２対１マルチプレクサを介して）独立したクロック反転機能を与えることができる。
【００２８】
図２に示されるように、プロファイル選択信号２３０は、たとえば、制御マルチプレクサ２２２に、さらにクロック分周器２０２およびフィードバックループ分周器２０４にも与えられる。プロファイル選択信号２３０はまたマルチプレクサ２２２を制御して、たとえば分周器２０８から最大４個の異なる周波数を選択することにより周波数選択を実行させる。同様に、プロファイル選択信号２３０はまた、クロック分周器２０２およびフィードバックループ分周器２０４のための対応する制御信号を与える４つのレジスタの１つの集合から選択することにより、クロック分周器２０２およびフィードバックループ分周器２０４を制御することができる。加えて、プロファイル選択信号２３０はまた、たとえば、さまざまなスキューパラメータを規定する４つのレジスタの１つの集合を選択することにより、スキュー設定を制御することもできる。
【００２９】
たとえば、図３は、本発明の一実施例によるクロックジェネレータ回路２００のための周波数選択を表わすブロック図を示す。プロファイル選択信号２３０は、クロック分周器２０２、フィードバックループ分周器２０４、および分周器２０８にそれぞれ対応する、マルチプレクサ３０２、３０６および３１０に送られる。複数のレジスタ３０４、３０８および３１２は、クロック分周器２０２、フィードバックループ分周器２０４および分周器２０８にそれぞれ関連付けられて、所望の分周比を選択する。
【００３０】
たとえば、クロック分周器２０２およびフィードバックループ分周器２０４はそれぞれ１から３２の分周比を有することができ、分周器２０８は２から４、６、…６４までの分周比を有することができる。プロファイル選択信号２０３（たとえば２ビット信号）は、マルチプレクサ３０２を制御して、４つの５ビットレジスタ３０４からクロック分周器２０２の分周比を決定する信号を選択させる。同様に、プロファイル選択信号２０３はマルチプレクサ３０６および３１０を制御して、４つの５ビットレジスタ３０８および３１２からフィードバックループ分周器２０４および分周器２０８の分周比をそれぞれ決定する１つの信号を選択させる。たとえば、レジスタ３０８は０００００から１１１１１までの範囲から選択される４つの５ビット値を保存することができ、それぞれ１から３２の分周比に対応する。
【００３１】
レジスタ３０４、３０８および３１２は、それぞれクロック分周器２０２、フィードバックループ分周器２０４、および分周器２０８のための３２個の可能な設定値のうち４個を保存するよう構成可能である。したがって、ユーザはレジスタ３０４、３０８および３１２を適切な設定値を用いて構成して所望のクロック周波数を生成することができ、それはプロファイル選択信号２０８を介して選択可能である。レジスタ３０４、３０８および３１２によって保存されるこれらの設定値は、インシステムプログラミング技術によってユーザが所望すればいつでも修正可能である。レジスタ３０４、３０８および３１２は、たとえば（たとえばＥＥＰＲＯＭによって形成される）電気消去可能なレジスタであり得
る。
【００３２】
これらの技術は、所望される選択可能な出力クロック周波数の個数に依存して、複数回適用され得る。たとえば、５つの異なる出力クロック周波数が所望される場合、分周器２０８、マルチプレクサ３１０、およびレジスタ３１２は（図４に示されるように）さらに４回繰返されることができ、異なる可能性のある５つの出力クロック周波数（ＦＲＥＱ−０からＦＲＥＱ−４）を与える。このように、プロファイル選択信号２３０（ＦＳピンと表記される）はマルチプレクサ３１０のための選択信号として機能することができ、分周器２０８の１から３２までの異なるタップポイント（周波数出力ポイント）をタッピングして各周波数を選択する。
【００３３】
複数のバンクおよび複数の周波数から選択できるので、柔軟なバンキング出力構造が与えられ得る。たとえば、１０個のバンクおよび５個の周波数が利用可能である場合、ユーザは特定の適用分野に基づいて、バンクおよびさまざまな周波数の複数の出力信号をいかにグループ化するか選択することができる。たとえば、１０個のバンクが１つの周波数で（たとえば同じ出力電圧レベル、信号タイプ、および出力インピーダンスの）１つのバンクとして動作するよう構成されることができ、２０個の出力信号を与える。別の例として、１０個のバンクが１つの周波数で、または２つの異なる周波数で２つのバンクとして動作するよう構成されることができ、各バンクから１０個の出力信号を与える。したがって、本発明の１つ以上の実施例によってここで説明される技術に基づいて、バンキング出力構造、電圧レベル、信号タイプ、周波数、出力インピーダンスなどのさまざまな組合せが選択され得る。
【００３４】
１０個のバンクを有するこの特定的な実現例において、バンクが差動としてまたはシングルエンドとしてそれぞれ構成されるか否かに依存して、最大１０個または２０個の異なる周波数があり得る。しかしながら、バンクに利用可能な異なる周波数の個数は制限され得る。図２に示されるように、プロファイル選択信号２３０はマルチプレクサ２２２を制御して、分周器２０８によって生成されるあり得る出力クロック周波数の中から選択させる。結果として、同時に利用可能な異なる周波数の個数は、分周器２０８の個数（または分周器２０８によって与えられる、異なる周波数の個数）によって制限される。
【００３５】
一例示的実現例において上述したように、クロックジェネレータ回路２００の動作のための周波数範囲は、プロファイル選択信号２３０とレジスタ３０４、３０８および３１２によって保存される構成ビットとによって決定される。このように、プロファイル選択信号２３０によって各バンクのために４つの異なるプロファイルが選択され得る。
【００３６】
図２を参照して説明された１つ以上の実施例に関連して、多くの変更および変形が可能であることが理解されるべきである。たとえば、２ビットしか有さないプロファイル選択信号２３０によって限定されるのではなく、１つ以上の制御信号が、クロック分周器２０２、フィードバックループ分周器２０４および分周器２０８のために分周比の範囲全体を独立して選択することが可能であるよう、また、いずれの出力回路２２６のためにも分周器２０８からのすべてのあり得る周波数から選択することも可能であるよう、実現され得る。しかしながらこれは、おそらくは追加的な回路、基板スペース、および実現の複雑さととともに、複数の追加的制御信号パス（たとえば外部リード）を要する。したがって、構成可能性およびインシステムプログラム可能性を含むここで説明された技術の１つ以上を用いることにより、１つ以上のこれらの不利益が回避されることができ、ユーザは所望のクロック信号を得ることができるであろう。
【００３７】
図２に示されるように、入力回路２１８および２２０、ならびに出力回路２２６は、広範囲の信号タイプおよび信号レベルをプログラム可能にサポートするよう与えられる。た
とえば、信号タイプは終端されないシングルエンドインターフェイス（たとえばＬＶＴＴＬおよびＬＶＣＭＯＳ）、終端されたシングルエンドインターフェイス（たとえば、電圧基準信号およびおそらくは終端電圧信号を要するＳＳＴＬおよびＨＳＴＬ）、および差動インターフェイス規格（たとえばＬＶＤＳおよびＬＶＰＥＣＬ）を含み得る。信号タイプはまた、（たとえばＳＤＲＡＭおよびＳＲＡＭを駆動するための）差動ＨＳＴＬまたはＳＳＴＬなどの、ＤＤＲおよびＱＤＲメモリインターフェイス信号をも含み得る。
【００３８】
たとえば、図５−図７は、本発明の一実施例による図２のクロックジェネレータ回路２００の出力回路２２６のうちの１つのための（すなわち１つのバンクのための）例示的実現例を示す。図５は、さまざまな信号タイプをサポートするよう利用され得る、１対のシングルエンド出力バッファと関連する差動出力バッファを用いた、例示的実現例を示す。図６は、同じ出力バッファを用いて差動ＨＳＴＬ、ＳＳＴＬ、およびＬＶＤＳをサポートする、図５の実現例の変形を示す。
【００３９】
図７は、（図５および図６のような１つの差動出力バッファではなく）２つの別個の差動出力バッファを含むことによる、図５および図６の実現例の変更を示す。可変抵抗（図５−図７ではＲＳで示される）は、シングルエンド出力バッファのプログラム可能な出力インピーダンスを示し、それは直列終端の回線インピーダンスと整合され得る。出力インピーダンスはたとえば、５オーム刻みで４０オームから７０オームのインピーダンス範囲を有し得る。
【００４０】
図２を参照すると、入力回路２１８および２２０は（この例示的アプリケーションでは）４対の差動信号または４つのシングルエンド入力信号を受取ることができる。たとえば、シングルエンド入力信号を受取るよう構成されると、入力回路２１８または入力回路２２０は一方の入力ターミナルで信号を受取るが、他方の入力ターミナルは、アプリケーションまたはプログラムされた入力仕様に依存して、使用されないか、または基準電圧を受取る。図８は入力回路８００を示すブロック図であって、本発明の一実施例による図２に示された４つの入力回路２１８または２２０のうち１つの例示的実現例である。差動信号用にはＶＣＭ（コモンモード電圧）、ある種類のシングルエンド信号（たとえばＨＳＴＬ）用にはＶＴＴ（終端電圧）を有するＶＣＭ／ＶＴＴピンが与えられる。抵抗（ＲＴ）はプログラム可能であって、たとえば５０オームの公称中心点を伴う。たとえば図９および図１０は、入力回路８００の例示的アプリケーションを示す。
【００４１】
本発明の一実施例によるクロックジェネレータ回路１００（図１）およびクロックジェネレータ回路２００（図２）は、ＩＥＥＥ１１４９．１規格（たとえばＩＥＥＥ１１４９．１−１９９３規格）などのＪＴＡＧテストに準拠するよう実現され得る。さらに、クロックジェネレータ回路１００および２００は、プログラマブルロジックデバイスの構成を記述するＩＥＥＥ１５３２規格にも準拠し得る。
【００４２】
ＪＴＡＧサポートに関して、図１１は、本発明の一実施例によるクロックジェネレータ回路のための例示的な入力バウンダリスキャンセル回路１１００を表わすブロック図を示す。回路１１００は、たとえばＪＴＡＧ規格（ＩＥＥＥ１１４９．１−１９９３、たとえばサンプル／プリロードおよびＥＸＴＥＳＴ）に説明されたような命令を実行することを可能にする。特に、図１１の回路１１００は、ＥＸＴＥＳＴ機能（キャプチャＤＲ）中の例示的回路動作を示す。
【００４３】
図１２は、サンプル／プリロード（キャプチャＤＲ（ＣＤＲ）、シフトＤＲ（ＳＤＲ）、およびアップデートＤＲ（ＵＤＲ））中の回路１１００の例示的回路動作をそれぞれ示す。同様に、図１３および図１４は、ＥＸＴＥＳＴ（ＣＤＲ、ＳＤＲおよびＵＤＲのため）およびＩＮＴＥＳＴ（ＣＤＲ、ＳＤＲ、およびＵＤＲのため）中の、回路１１００の例
示的回路動作をそれぞれ示す。図１１−図１４においては、シフト／テストパスは「Ｓ／Ｔ」によって示され、データフローは「Ｄ」によって示されるが、斜線を引いたマルチプレクサは、その特定の状況においてはドントケアと考えられることに注意されたい。
【００４４】
図１５は、本発明の一実施例によるクロックジェネレータ回路のための例示的な出力バウンダリスキャンセル回路１５００を表わすブロック図を示す。回路１５００は、たとえば、完全なＥＸＴＥＳＴおよび動作モードをサポートするが、ピンが出力オンリーであるためＩＮＴＥＳＴはサポートしない。
【００４５】
一般に、バウンダリスキャンセル（たとえば回路１１００および／または回路１５００）は、電圧供給リード、４つの専用１１４９．１ＴＡＰピンおよび１個以上の（たとえば２個の）テストピンを除く、すべての入出力パス、クロックパス、および専用入力パスのすべてに適切に挿入される。バウンダリスキャンセルはＩＥＥＥ１１４９．１に準拠し、回路基板の機能テストを可能にし、その上にすべての臨界論理ノードにアクセス可能な直列スキャンパスを通じてデバイス（たとえばクロックジェネレータ回路１００）が装着される。内部レジスタは内部的にリンクされることができ、それによりテストデータがテストノードにシフトされてテストノードに直接ロードされることが可能となるか、またはテストノードデータが検査のためにキャプチャされ、外にシフトされることが可能となる。デバイスはさらに、一層の基板レベルのテストのために、基板レベルの直列スキャンパスにもリンクされ得る。
【００４６】
上述のように、デバイスはインシステムプログラミング（ＩＳＰ）能力（たとえばＩＥＥＥ１５３２に準拠するＩＳＰ）をも与えることができる。たとえば、ＩＳＰ能力はバウンダリスキャンテストアクセスポートを介して与えられ得る。ＩＳＰ能力は、たとえば高速なプロトタイピング、低い在庫レベル、高品質、およびインフィールド修正のできる能力などの、数多くの著しい利益をもたらす。
【００４７】
再び図２を参照すると、出力信号のスキュー制御は、スキュー回路２２４およびスキュー回路２２８によって与えられ得る。たとえばスキュー回路２２８は、ＰＬＬコア２０６のＶＣＯのタップから派生するためＶＣＯの周波数の関数であるスキューステップを与える。例として、図１６は例示的ＶＣＯから取られた８個のタップ（Ｓ０からＳ７と名づけられる）を示し、これらはスキュー回路２２８によって用いられてスキュー回路２２４にスキューステップを与え得る。
【００４８】
図１７は、本発明の一実施例によるスキュー回路２２８およびスキュー回路２２４の例示的実現例を表わすブロック図を示す。示されるように、ＰＬＬコア２０６はスキュー回路２２８に８個のタップ信号を与え、スキュー回路は、１６個の細かいスキューステップおよび１６個の粗いスキューステップを与えるための２分割回路を含む。
【００４９】
各スキュー回路２２４（たとえば出力信号の各々と関連付けられるもの）は、スキュー回路２２８から細かいスキューステップおよび粗いスキューステップを受取り、マルチプレクサ１６０２を介して、それぞれ細かいまたは粗いスキュー制御を適用するよう選択する。細かいスキューステップまたは粗いスキューステップのいずれがマルチプレクサ１６０２によって与えられるかに依存して、マルチプレクサ１６０４が次に利用されていずれかを選択する。
【００５０】
マルチプレクサ１６０２は、各スキュー回路２２４に送られたグローバルビット信号によって制御され得るか、またはマルチプレクサ１６０２は各スキュー回路２２４に対して独立に制御され得る。マルチプレクサ１６０２は、粗いスキューステップのみ、または細かいスキューステップのみが各スキュー回路２２４に与えられるように、スキュー回路２
２８内に配置されることもできる。
【００５１】
レジスタ１６０６は、マルチプレクサ１６０８を介してプロファイル選択信号２３０によって選択され得る、スキュープロファイル設定値を保存する。マルチプレクサ１６０８からの出力信号はマルチプレクサ１６０４を制御して、細かいスキューステップまたは粗いスキューステップから選択させる。レジスタ１６０６はたとえば、細かい、または粗いスキューステップを選択するために、１６個のあり得る値から４個をそれぞれ保存するよう構成される、４つの４ビットレジスタであり得る。例として、１６個の細かいスキューステップは、０ピコ秒から３０００ピコ秒（２００ピコ秒刻み）の範囲であり得、１６個の粗いスキューステップは、０ピコ秒から６０００ピコ秒（４００ピコ秒刻み）の範囲であり得る。レジスタ１６０６は、図３のレジスタ３０４、３０８および３１２について同様に説明されたようにＥＥＰＲＯＭによって形成されることができ、ユーザによって所望の値に構成され得る。
【００５２】
スキュー制御は、図１８に例示的態様で示されるように（たとえば差動出力信号に対しては）バンクごとに適用されることができ、または図１９に例示的態様で示されるように（たとえばシングルエンド出力信号に対しては）ピンごとに適用されることができる。スキュー制御は、図１８に示されるように、マルチプレクサ１８０２を利用することによりバイパスされることもできる。したがって、バンクごとに１つまたは２つのあり得る出力信号を伴う、１０個のバンクの例示的実現例において、２０個のスキュー回路２２４がある（たとえば図１７に示されるスキュー回路２２４の例示的実現例がクロックジェネレータ回路２００内で２０回繰返される）。
【００５３】
選択された基準信号（すなわち入力回路２２０を介したフィードバック信号または内部フィードバック信号）に相対して信号リードまたはラグを生成するために、出力信号にプログラム可能なスキュー制御を与えることにより、たとえば高性能コンピュータおよび通信システムなどのアプリケーションのためにタイミングが最適化され得る。内部フィードバックパスはまた（図２、図１８および図１９に示されるように）スキュー制御を利用することもでき、基準入力信号の入力パッドからマルチプレクサ２１０を介してＰＬＬコア２０６までの遅延は、フィードバックパスを介しての（たとえば、基準信号の入力パッドからマルチプレクサ２１４およびフィードバックループ分周器２０４を介してＰＬＬコア２０６までの）遅延に接近して整合され得る。
【００５４】
図１７を参照した上記の例において、レジスタ１６０６から所望のスキュー値を選択するのにプロファイル選択信号２３０が採用される。結果として、プロファイル選択信号２３０は、出力信号の各バンクに対する４つの異なるプロファイルの選択（たとえば、分周器２０２、フィードバックループ分周器２０４、分周器２０８およびスキュー回路２２４の４つの値からの１つの選択）を制御する。代替として、１つ以上の追加的制御信号が用いられてレジスタ１６０６からのスキュー値の選択を制御し得る。
【００５５】
一般に、本発明の１つ以上の実施例によって上述された柔軟なスキュー制御アーキテクチャは、スキュー制御に柔軟な出力バンキング構造を与える。スキュー制御の生成は、柔軟なスキュー範囲にわたって粗いまたは細かいステップを採用し、バンクごとまたはピンごとに適用する。所望のスキュー値の選択、および柔軟なスキュー制御を与えるために、複数のレジスタの集合が利用可能である。レジスタ値は追加的な柔軟性をもたらすようユーザによって再構成され得る。
【００５６】
本発明の１つ以上の実施例によれば、（たとえばＥＥＰＲＯＭを介して）構成可能なインシステムプログラマブルクロックジェネレータ（たとえば回路またはチップ）が与えられる。クロックジェネレータは、さまざまな入力電圧レベル、入力信号タイプおよび入力
周波数範囲を可能にする、柔軟なプログラム可能な入力を与え得る。クロックジェネレータは、さまざまな出力電圧レベル、出力信号タイプ、スキュー制御および出力周波数を可能にする、柔軟でプログラム可能な出力を与え得る。さらに、柔軟な出力バンキング構造が、プログラム可能な出力インピーダンスとともに与えられ得る。クロックジェネレータはまた、ＪＴＡＧまたは他の自動化されたテストを可能にし得る。
【００５７】
上述の実施例は本発明を例示するが限定はしない。本発明の原理によって多くの変更および変形が可能であることが理解されなければならない。したがって、本発明の範囲は下記の請求項によってのみ規定される。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施例によるクロックジェネレータ回路を表わすブロック図を示す。
【図２】本発明の一実施例による図１のクロックジェネレータ回路の、より詳細な例示的実現例を表わすブロック図を示す。
【図３】本発明の一実施例によるクロックジェネレータ回路のための周波数選択を表わすブロック図を示す。
【図４】本発明の一実施例によるクロックジェネレータ回路のための周波数選択を表わすブロック図を示す。
【図５】本発明の一実施例によるクロックジェネレータ回路のための例示的出力回路を表わすブロック図を示す。
【図６】本発明の一実施例によるクロックジェネレータ回路のための例示的出力回路を表わすブロック図を示す。
【図７】本発明の一実施例によるクロックジェネレータ回路のための、出力インピーダンス制御を伴う例示的出力回路を表わすブロック図を示す。
【図８】本発明の一実施例によるクロックジェネレータ回路のための例示的入力回路を表わすブロック図を示す。
【図９】本発明の一実施例によるクロックジェネレータ回路のための例示的入力回路を表わすブロック図を示す。
【図１０】本発明の一実施例によるクロックジェネレータ回路のための例示的入力回路を表わすブロック図を示す。
【図１１】本発明の一実施例によるクロックジェネレータ回路のための例示的入力バウンダリスキャンセル回路を表わすブロック図を示す。
【図１２】本発明の一実施例によるクロックジェネレータ回路のための例示的入力バウンダリスキャンセル回路を表わすブロック図を示す。
【図１３】本発明の一実施例によるクロックジェネレータ回路のための例示的入力バウンダリスキャンセル回路を表わすブロック図を示す。
【図１４】本発明の一実施例によるクロックジェネレータ回路のための例示的入力バウンダリスキャンセル回路を表わすブロック図を示す。
【図１５】本発明の一実施例によるクロックジェネレータ回路のための例示的出力バウンダリスキャンセル回路を表わすブロック図を示す。
【図１６】本発明の一実施例によるタップを有する例示的電圧制御発振器回路を表わすブロック図を示す。
【図１７】本発明の一実施例による、図２の部分のスキュー制御の例示的実現例を表わすブロック図を示す。
【図１８】本発明の一実施例によるスキュー制御のための図１のクロックジェネレータ回路の、より詳細な例示的実現例を表わすブロック図を示す。
【図１９】本発明の一実施例によるスキュー制御のための図１のクロックジェネレータ回路の、より詳細な例示的実現例を表わすブロック図を示す。
【図１】
2007500397.tif 000003
【図２】
2007500397.tif 000004
【図３】
2007500397.tif 000005
【図４】
2007500397.tif 000006
【図５】
2007500397.tif 000007
【図６】
2007500397.tif 000008
【図７】
2007500397.tif 000009
【図８】
2007500397.tif 000010
【図９】
2007500397.tif 000011
【図１０】
2007500397.tif 000012
【図１１】
2007500397.tif 000013
【図１２】
2007500397.tif 000014
【図１３】
2007500397.tif 000015
【図１４】
2007500397.tif 000016
【図１５】
2007500397.tif 000017
【図１６】
2007500397.tif 000018
【図１７】
2007500397.tif 000019
【図１８】
2007500397.tif 000020
【図１９】
2007500397.tif 000021
【手続補正書】
【提出日】平成18年2月1日(2006.2.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラマブルクロックジェネレータであって、
基準クロック信号を受取り、第１の信号を与えるよう適合される位相同期ループと、
第１の信号を受取り、第１の信号の周波数を修正して、プログラム可能な周波数を有する複数の第２の信号を生成するよう適合されるプログラム可能な分周回路と、
第２の信号を受取り、プログラム可能な量だけスキューを第２の信号に選択的に適用するようそれぞれ適合される、複数のプログラム可能なスキュー制御回路とを含む、プログラマブルクロックジェネレータ。
【請求項２】
プログラム可能なスキュー制御回路にそれぞれ結合される複数のプログラム可能な出力回路を含む、請求項１に記載のプログラマブルクロックジェネレータ。
【請求項３】
位相同期ループのための基準クロック信号を受取るよう適合されるプログラム可能な入力回路を含む、請求項１に記載のプログラマブルクロックジェネレータ。
【請求項４】
プログラム可能な量およびプログラム可能な周波数は、電気消去可能メモリから選択されるデータにより決定される、請求項１に記載のプログラマブルクロックジェネレータ。
【請求項５】
スキューは粗調整または微調整を含む、請求項１に記載のプログラマブルクロックジェネレータ。
【請求項６】
プログラム可能な分周回路は、第１の信号を受取って第２の信号を生成するようそれぞれ適合される複数の個々の分周回路を含む、請求項１に記載のプログラマブルクロックジェネレータ。
【請求項７】
プログラム可能な分周回路をプログラム可能なスキュー回路に選択的に結合するための複数のマルチプレクサを含む、請求項１に記載のプログラマブルクロックジェネレータ。
【請求項８】
第２の信号を出力信号として選択するよう適合される出力回路を含む、請求項１に記載
のプログラマブルクロックジェネレータ。
【請求項９】
クロック信号を発生するための方法であって、
基準クロック信号を受取るステップと、
第１の周波数の第１のクロック信号を基準クロック信号から生成するステップと、
第１の周波数とは異なる周波数を有する複数の第２のクロック信号を第１のクロック信号から選択的に生成するステップと、
第２のクロック信号の各々を選択的にスキューするステップとを含む、方法。
【請求項１０】
スキューの量は粗いステップまたは細かいステップに基づく、請求項９に記載の方法。
【国際調査報告】
2007500397.tif 000022