(57)【特許請求の範囲】
【請求項１】
受信機においてクロックデータリカバリを実行する方法であって、
リセット条件の発生を検出することと、
前記リセット条件の発生に応答して、クロックデータリカバリ（ＣＤＲ）回路において、クロックの各サイクルについてデータ位相補間器（ＰＩ）コードまたは交差ＰＩコードのうちの少なくとも一方を増分または減分することによるステップ処理することであって、前記データＰＩコードは前記受信機における取込みフリップフロップによるデータサンプリングに対応し、前記交差ＰＩコードは前記取込みフリップフロップによる交差サンプリングに対応する、ステップ処理することと、
前記データＰＩコードおよび前記交差ＰＩコードの所定の状態を生成するために、前記データＰＩコードまたは前記交差ＰＩコードの１つまたは複数の判定基準に基づいて前記ステップ処理を停止することであって、前記所定の状態が、前記データＰＩコードと前記交差ＰＩコードの間のオフセットを含む、停止することと、
データストリームを受信することと、
前記データＰＩコードと前記交差ＰＩコードの間の前記オフセットに基づいて、前記データストリームに対して前記クロックデータリカバリを実行することと
を含む、方法。
【請求項２】
前記ステップ処理することが、前記クロックの各サイクルごとに前記データＰＩコードまたは前記交差ＰＩコードのうちの少なくとも一方を単一コード値分だけ増分することを含む、請求項１に記載の方法。
【請求項３】
前記リセット条件が、リセットモードから前記ＣＤＲ回路が初めて抜け出ることを含み、前記ステップ処理することが、
前記データＰＩコードを０のコード値に保持することと、
前記データＰＩコードが保持されている間に、前記交差ＰＩコードをステップ処理することと
を含む、請求項１に記載の方法。
【請求項４】
前記データＰＩコードおよび前記交差ＰＩコードを、前記ステップ処理することの前に、前記０のコード値になるよう設定することをさらに含む、請求項３に記載の方法。
【請求項５】
前記１つまたは複数の判定基準は、前記交差ＰＩコードが、前記所定の状態での事前設定値に等しいコード値に到達することを含む、請求項３に記載の方法。
【請求項６】
前記ステップ処理することが、いずれの方向が前記事前設定値に、より速く到達するかに応じて、前記交差ＰＩコードを増分または減分することを含む、請求項５に記載の方法。
【請求項７】
前記リセット条件が、非同期リセット動作を含み、前記ステップ処理することが、前記データＰＩコードと前記交差ＰＩコードを、前記データＰＩコードと前記交差ＰＩコードの間に維持された前記オフセットとともにステップ処理することを含む、請求項１に記載の方法。
【請求項８】
前記１つまたは複数の判定基準は、前記データＰＩコードが、０のコード値に到達することを含む、請求項７に記載の方法。
【請求項９】
前記実行することが、
前記データストリームに基づいて前記所定の状態から、前記データＰＩコードと前記交差ＰＩコードの間の前記オフセットを調整することと、
前記データＰＩコードと前記交差ＰＩコードの間の調整済み前記オフセットを使用して、前記データストリームに対して前記クロックデータリカバリを実行することと
を含む、請求項１に記載の方法。
【請求項１０】
前記所定の状態は、前記データＰＩコードが０のコード値を有しており、前記交差ＰＩコードが、前記オフセットでの事前設定値に等しいコード値を有していることを含む、請求項１に記載の方法。
【請求項１１】
少なくとも１つの位相補間器（ＰＩ）と、
前記少なくとも１つのＰＩに接続されたクロックデータリカバリ（ＣＤＲ）回路とを備える、受信機のためのクロックデータリカバリシステムであって、前記ＣＤＲ回路が、１つまたは複数の位相検出器を備え、
リセット条件の発生を検出することと、
前記リセット条件の発生に応答して、システムクロックの各サイクルについてデータＰＩコードまたは交差ＰＩコードのうちの少なくとも一方を増分または減分することによるステップ処理することであって、前記データＰＩコードは前記受信機における取込みフリップフロップによるデータサンプリングに対応し、前記交差ＰＩコードは前記取込みフリップフロップによる交差サンプリングに対応する、ステップ処理することと、
前記データＰＩコードおよび前記交差ＰＩコードの所定の状態を生成するために、前記データＰＩコードまたは前記交差ＰＩコードの１つまたは複数の判定基準に基づいて前記ステップ処理を停止することであって、前記所定の状態が、前記データＰＩコードと前記交差ＰＩコードの間のオフセットを含む、停止することと、
前記データＰＩコードおよび前記交差ＰＩコードを前記少なくとも１つのＰＩに出力することと
を行うように構成される、クロックデータリカバリシステム。
【請求項１２】
前記ＣＤＲ回路が、前記システムクロックの各サイクルごとに前記データＰＩコードまたは前記交差ＰＩコードのうちの前記少なくとも一方を単一コード値分だけ増分することによって、前記データＰＩコードまたは前記交差ＰＩコードのうちの前記少なくとも一方をステップ処理するように構成される、請求項１１に記載のシステム。
【請求項１３】
前記リセット条件が、リセットモードから前記ＣＤＲ回路が初めて抜け出ることを含み、前記ＣＤＲ回路が、前記データＰＩコードを０のコード値に保持しながら前記交差ＰＩコードをステップ処理することによって、前記データＰＩコードまたは前記交差ＰＩコードのうちの少なくとも一方をステップ処理するように構成される、請求項１１に記載のシステム。
【請求項１４】
前記ＣＤＲ回路はさらに、前記交差ＰＩコードがステップ処理される前に、前記データＰＩコードおよび前記交差ＰＩコードを、前記０のコード値を有するように設定するように構成される、請求項１３に記載のシステム。
【請求項１５】
前記リセット条件が、非同期リセット動作を含み、
前記ＣＤＲ回路が、前記データＰＩコードと前記交差ＰＩコードを、前記データＰＩコードと前記交差ＰＩコードの間に維持された前記オフセットとともにステップ処理することによって、前記データＰＩコードまたは前記交差ＰＩコードのうちの少なくとも一方をステップ処理するように構成され、
前記１つまたは複数の判定基準は、前記データＰＩコードが０のコード値に到達することを含む、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施例は、一般に、電子回路に関し、より詳細には、クロックデータリカバリの技法に関する。
【背景技術】
【０００２】
集積回路（ＩＣ）は、指定された機能を実行するように実装することができる。ＩＣの１つのタイプは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などのプログラマブルＩＣである。ＦＰＧＡは通常、一連のプログラマブルタイルを含む。これらのプログラマブルタイルは、たとえば、入力／出力ブロック（ＩＯＢ）、構成可能な論理ブロック（ＣＬＢ）、専用ランダムアクセスメモリブロック（ＢＲＡＭ）、乗算器、デジタル信号処理ブロック（ＤＳＰ）、プロセッサ、クロックマネージャ、遅延ロックループ（ＤＬＬ）などを含んでもよい。別のタイプのプログラマブルＩＣは、複合プログラマブル論理デバイス、すなわちＣＰＬＤである。ＣＰＬＤは、相互接続スイッチマトリクスによってともに入力／出力（Ｉ／Ｏ）リソースに接続された、２つ以上の「機能ブロック」を含む。ＣＰＬＤの各機能ブロックは、プログラマブル論理アレイ（ＰＬＡ）およびプログラマブルアレイ論理（ＰＡＬ）デバイスで使用される構造と同様の２レベルＡＮＤ／ＯＲ構造を含む。他のプログラマブルＩＣは、金属層などの処理層を加えることによってプログラムされ、この金属層は、デバイス上の様々な素子をプログラム可能に相互接続する。これらのプログラマブルＩＣは、マスクプログラマブルデバイスとして知られている。「プログラマブルＩＣ」という語句は、特定用途向け集積回路（ＡＳＩＣ）など、部分的にのみプログラムできるデバイスをも包含することができる。
【０００３】
上記その他のタイプのプログラマブルＩＣは、クロック信号を必要とせずに伝送線路を介して高速デジタルデータ信号を受信機に送信できてもよい。受信機でのクロックデータリカバリ（ＣＤＲ）回路は、通常、近似的な周波数基準信号から１つまたは複数のクロック信号を生成し、次いで、このクロック信号を、受信済みデータ信号内での遷移、または受信済みデータ信号の別の部分に位相調整する。受信機は、クロック信号を使用して、受信済みデータ信号内のデータビットをサンプリングする。
【発明の概要】
【０００４】
本開示の一例は、クロックデータリカバリを実行する方法である。この方法は一般に、条件が満たされたことを判定することと、この判定に基づいて、クロックデータリカバリ（ＣＤＲ）回路において、クロックの各サイクルごとにデータ位相補間器（ＰＩ）コードまたは交差ＰＩコードのうちの少なくとも一方をステップ処理することと、データＰＩコードおよび交差ＰＩコードの所定の状態を生成するために、１つまたは複数の判定基準に基づいてこのステップ処理を停止することであって、この所定の状態が、データＰＩコードと交差ＰＩコードの間のオフセットを含む、停止することと、データストリームを受信することと、データＰＩコードと交差ＰＩコードの間のオフセットに基づいて、このデータストリームに対してクロックデータリカバリを実行することとを含む。
【０００５】
場合によっては、ステップ処理することは、クロックの各サイクルごとにデータＰＩコードまたは交差ＰＩコードのうちの少なくとも一方を単一コード値分だけ増分することを含んでもよい。
【０００６】
場合によっては、この条件は、リセットモードからＣＤＲ回路が初めて抜け出ることを含んでもよい。
【０００７】
場合によっては、ステップ処理することは、データＰＩコードを０のコード値に保持することと、このデータＰＩコードが保持されている間に、交差ＰＩコードをステップ処理することとを含んでもよい。
【０００８】
場合によっては、この方法はさらに、データＰＩコードおよび交差ＰＩコードを、ステップ処理の前に０のコード値になるように設定することを含んでもよい。
【０００９】
場合によっては、１つまたは複数の判定基準は、交差ＰＩコードが、所定の状態での事前設定値に等しいコード値に到達することを含んでもよい。
【００１０】
場合によっては、ステップ処理することは、いずれの方向が事前設定値により速く到達するかに応じて、交差ＰＩコードを増分または減分することを含んでもよい。
【００１１】
場合によっては、条件は、非同期リセット動作を含んでもよい。
【００１２】
場合によっては、ステップ処理することは、データＰＩコードと交差ＰＩコードを、データＰＩコードと交差ＰＩコードの間に維持されたオフセットとともにステップ処理することを含んでもよい。
【００１３】
場合によっては、１つまたは複数の判定基準は、データＰＩコードが０のコード値に到達することを含んでもよい。
【００１４】
場合によっては、実行することは、データストリームに基づいた所定の状態から、データＰＩコードと交差ＰＩコードの間のオフセットを調整することと、データＰＩコードと交差ＰＩコードの間の調整済みオフセットを使用して、このデータストリームに対してクロックデータリカバリを実行することとを含んでもよい。
【００１５】
場合によっては、所定の状態は、データＰＩコードが０のコード値を有しており、交差ＰＩコードが、このオフセットでの事前設定値に等しいコード値を有していることを含んでもよい。
【００１６】
本開示の別の例は、クロックデータリカバリシステムである。クロックデータリカバリシステムは一般に、少なくとも１つの位相補間器（ＰＩ）と、この少なくとも１つのＰＩに接続されたクロックデータリカバリ（ＣＤＲ）回路とを備え、このＣＤＲ回路は、１つまたは複数の位相検出器を備える。このＣＤＲ回路は通常、条件が満たされたことを判定することと、この判定に基づいて、システムクロックの各サイクルについてデータＰＩコードまたは交差ＰＩコードのうちの少なくとも一方をステップ処理することと、データＰＩコードおよび交差ＰＩコードの所定の状態を生成するために、１つまたは複数の判定基準に基づいてこのステップ処理を停止することであって、この所定の状態が、データＰＩコードと交差ＰＩコードの間のオフセットを含む、停止することと、データＰＩコードおよび交差ＰＩコードを少なくとも１つのＰＩに出力することとを行うように構成される。
【００１７】
場合によっては、ＣＤＲ回路は、システムクロックの各サイクルごとにデータＰＩコードまたは交差ＰＩコードのうちの少なくとも一方を単一コード値分だけ増分することによって、このデータＰＩコードまたは交差ＰＩコードのうちの少なくとも一方をステップ処理するように構成してもよい。
【００１８】
場合によっては、この条件は、リセットモードからＣＤＲ回路が初めて抜け出ることを含んでもよい。
【００１９】
場合によっては、ＣＤＲ回路は、データＰＩコードを０のコード値に保持しながら交差ＰＩコードをステップ処理することによって、このデータＰＩコードまたは交差ＰＩコードのうちの少なくとも一方をステップ処理するように構成してもよい。
【００２０】
場合によっては、ＣＤＲ回路はさらに、交差ＰＩコードがステップ処理される前に、データＰＩコードおよび交差ＰＩコードを、０のコード値を有するように設定するように構成してもよい。
【００２１】
場合によっては、１つまたは複数の判定基準は、交差ＰＩコードが、所定の状態での事前設定値に等しいコード値に到達することを含んでもよい。
【００２２】
場合によっては、条件は、非同期リセット動作を含んでもよい。
【００２３】
場合によっては、ＣＤＲ回路は、データＰＩコードと交差ＰＩコードを、データＰＩコードと交差ＰＩコードの間に維持されたオフセットとともにステップ処理することによって、データＰＩコードまたは交差ＰＩコードのうちの少なくとも一方をステップ処理するように構成してもよい。１つまたは複数の判定基準は、データＰＩコードが０のコード値に到達することを含んでもよい。
【００２４】
本開示のさらに別の例は、クロックデータリカバリを実行する装置である。この装置は一般に、条件が満たされたことを判定する手段と、この判定に基づいて、クロックの各サイクルごとにデータ位相補間器（ＰＩ）コードまたは交差ＰＩコードのうちの少なくとも一方をステップ処理する手段と、データＰＩコードおよび交差ＰＩコードの所定の状態を生成するために、１つまたは複数の判定基準に基づいてこのステップ処理を停止する手段であって、この所定の状態が、データＰＩコードと交差ＰＩコードの間のオフセットを含む、手段と、データストリームを受信する手段と、データＰＩコードと交差ＰＩコードの間のオフセットに基づいて、このデータストリームに対してクロックデータリカバリを実行する手段とを含む。
【００２５】
以下の詳細な説明を参照して、上記その他の態様を理解することができる。
【００２６】
本開示の上記特徴を詳細に理解できるように、諸例を参照することによって、上で簡潔に概要説明された本開示のより具体的な説明を加えてもよく、この諸例のうちのいくつかが添付図面に示してある。しかし、本開示は他の等しく有効な例を認め得るものであるため、この添付図面は本開示の典型的な例を示すものに過ぎず、したがって、本開示の範囲を限定するものとみなすべきではないことに留意されたい。
【図面の簡単な説明】
【００２７】
【図１】本開示の一例による、プログラマブルデバイス向けの例示的なアーキテクチャを示すブロック図である。
【図２】本開示の一例による、位相補間器ベースの送受信機システムの例示的な受信機部分のブロック図である。
【図３】本開示の一例に従って、「初期ウォーク」において、データＰＩコードを一定に保持しながら、交差位相補間器（ＰＩ）コードを増分する様子を示す、例示的なタイミング図である。
【図４】本開示の一例に従って、「リセットウォーク」において、データＰＩコードと交差ＰＩコードの両方をともに増分する様子を示す、例示的なタイミング図である。
【図５】本開示の一例による、クロックデータリカバリ用の例示的な動作の流れ図である。
【発明を実施するための形態】
【００２８】
本開示の実施例は、１つまたは複数の事前設定された判定基準が満たされるまで、クロックデータリカバリ（ＣＤＲ）回路において、データ位相補間器（ＰＩ）コードまたは交差ＰＩコードのうちの少なくとも一方を同期的にステップ処理するための技法および装置を提供する。このようなステップ処理は、ＣＤＲ回路がリセットモードを抜け出た後、またはミッションモードでの非同期リセット手順の後など、特定の条件が満たされた後に実行することができる。データＰＩコードおよび／または交差ＰＩコードを同期的にステップ処理することによって、ＰＩベースの送受信機システムの受信機部分でのクロック分周器のタイミング違反を回避することができる。
【００２９】
例示的なプログラマブルデバイスアーキテクチャ
図１は、本開示の一例による、プログラマブルデバイス向けの例示的なアーキテクチャ１００を示すブロック図である。このアーキテクチャ１００は、たとえばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）内に実装してもよい。図に示すように、アーキテクチャ１００は、たとえば論理ブロックなど、いくつかの異なるタイプのプログラマブル回路を備える。たとえば、アーキテクチャ１００は、マルチギガビット送受信機（ＭＧＴ）１０１、構成可能な論理ブロック（ＣＬＢ）１０２、ランダムアクセスメモリブロック（ＢＲＡＭ）１０３、入力／出力ブロック（ＩＯＢ）１０４、構成およびクロック論理（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ）１０５、デジタル信号処理（ＤＳＰ）ブロック１０６、専用のＩ／Ｏブロック１０７（たとえば、構成ポートおよびクロックポート）、ならびに、デジタルクロックマネージャ、アナログデジタル変換器（ＡＤＣ）、システム監視論理など他のプログラマブル論理１０８を含む、多数の異なるプログラマブルタイルを含んでもよい。
【００３０】
ＦＰＧＡによっては、各プログラマブルタイルは、プログラマブル相互接続要素（ＩＮＴ）１１１を含み、これは、それぞれの隣接タイルでの対応するＩＮＴ１１１との間で、標準化された接続を有する。したがって、ＩＮＴ１１１をまとめて、例示したＦＰＧＡにおいてプログラマブル相互接続構造を実装する。各ＩＮＴ１１１はまた、図１の右端に含まれる例によって示すように、同じタイル内のプログラマブル論理素子との間での接続を含む。
【００３１】
たとえば、ＣＬＢ１０２は、ユーザ論理に加えて単一のＩＮＴ１１１を実装するようにプログラムできる、構成可能な論理素子（ＣＬＥ）１１２を含んでもよい。ＢＲＡＭ１０３は、１つまたは複数のＩＮＴ１１１に加えて、ＢＲＡＭ論理素子（ＢＲＬ）１１３を含んでもよい。通常、タイル内に含まれるＩＮＴ１１１の数は、タイルの幅に依存する。図示した例では。ＢＲＡＭタイルは、幅が５つのＣＬＢと同じであるが、他の数（たとえば４）を使用することもできる。ＤＳＰブロック１０６は、適切な数のＩＮＴ１１１に加えて、ＤＳＰ論理素子（ＤＳＰＬ）１１４を含んでもよい。ＩＯＢ１０４は、たとえば、ＩＮＴ１１１の１つのインスタンスに加えて、Ｉ／Ｏ論理素子（ＩＯＬ）１１５の２つのインスタンスを含んでもよい。当業者には明らかになるように、たとえば、ＩＯＬ１１５に接続された実際のＩ／Ｏパッドは、通常、ＩＯＬ１１５の領域に限定されない。
【００３２】
図１に示した例示的なアーキテクチャ１００では、（図１に斜線で示した）ダイの中心付近の水平領域が、構成、クロック、および他の制御論理（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ１０５）用に使用される。この中心領域から延在する他の垂直領域１０９が、ＦＰＧＡの幅全体にわたってクロックおよび構成信号を分配するのに使用されてもよい。
【００３３】
図１に示したアーキテクチャ１００を利用するＦＰＧＡによっては、ＦＰＧＡの大部分を構築する規則正しい横列構造を途中で変更する追加の論理ブロックを含む。この追加の論理ブロックは、プログラマブルブロックおよび／または専用回路でもよい。たとえば、ＰＲＯＣ１１０として示したプロセッサブロックは、ＣＬＢ１０２およびＢＲＡＭ１０３のいくつかの横列にまたがっている。
【００３４】
ＰＲＯＣ１１０は、ＦＰＧＡのプログラマブル回路を実装するダイの一部分として製造される、ハードワイヤードプロセッサとして実装してもよい。ＰＲＯＣ１１０は、複雑さにおいて個々のプロセッサ（たとえば、プログラムコードを実行できる単一コア）から、１つまたは複数のコア、モジュール、コプロセッサ、インターフェースなどを有する処理システム全体にまで及ぶ、様々な異なるプロセッサタイプおよび／またはシステムのいずれを表してもよい。
【００３５】
より複雑な構成では、たとえば、ＰＲＯＣ１１０は、１つまたは複数のコア（たとえば、中央処理装置）、キャッシュメモリ、メモリコントローラ、ＩＣのＩ／Ｏピン（たとえば、Ｉ／Ｏパッド）に直接結合するように、かつ／またはＦＰＧＡのプログラマブル回路に結合するように構成可能な、１方向および／または双方向のインターフェースを備えてもよい。「プログラマブル回路」という語句は、ＩＣ内のプログラマブル回路素子（たとえば、本明細書に記載の様々なプログラム可能または構成可能な回路ブロックまたはタイル）、ならびに、ＦＰＧＡにロードされる構成データに従って様々な回路ブロック、タイル、および／または素子を選択的に結合する相互接続回路を指すことができる。たとえば、ＰＲＯＣ１１０の外部にある、図１に示した各部分は、ＦＰＧＡのプログラマブル回路の一部、またはプログラマブル回路そのものとみなしてもよい。
【００３６】
図１は、プログラマブル回路（たとえば、プログラマブルファブリック）を備えるＦＰＧＡ、および処理システムを実装するのに使用できる、例示的なアーキテクチャ１００を示すものである。たとえば、横列内の論理ブロックの数、横列の相対的な幅、横列の数および順序、各横列に含まれる論理ブロックのタイプ、論理ブロックの相対的なサイズ、ならびに図１の右側に含まれる相互接続／論理の実装形態は、例示的なものである。たとえば、実際のＦＰＧＡでは、ＣＬＢ１０２が表示される場所には、通常、このＣＬＢの隣接する横列が２つ以上含まれていて、ユーザ回路設計物の効率的な実装を容易にしようとする。しかし、隣接するＣＬＢの横列の数は、ＦＰＧＡの全体のサイズで変化することがある。さらに、ＦＰＧＡ内でのＰＲＯＣ１１０のサイズおよび／または位置は、例示するためのものに過ぎず、本開示の１つまたは複数の例を限定するものではない。
【００３７】
以下に述べるように、図１のプログラマブルデバイスでの１つまたは複数のＭＧＴ１０１は、高速デジタルデータストリームへのクロックデータリカバリ、ならびに位相ウォーキングを実行してもよい。
【００３８】
例示的なＣＤＲ位相ウォーキング
図２は、本開示の一例による、位相補間器ベースの送受信機システム用の受信機２００のブロック図である。受信機２００の閉ループ部分２０１は、１組の取込みフリップフロップ２０２、直並列変換器２０４、デジタルクロックデータリカバリ（ＣＤＲ）回路２０６、１組の位相補間器（ＰＩ）２０８、および１組のクロック分周器２１０を備えてもよい。受信機２００はまた、連続時間線形等化器（ＣＴＬＥ）２１２、加算器２１４、および適応回路２１６を備えてもよい。
【００３９】
高速デジタルデータストリーム２１８は、ＣＴＬＥ２１２が受信してもよく、このＣＴＬＥは、適応回路２１６からの入力２２０を使用して、データストリーム２１８に線形等化を実行する。等化済みデータ２２２は、適応回路２１６からの入力制御信号２２４で調整してもよく、加算器２１４が出力するデータ２２６は、受信機２００の閉ループ部分２０１に入力してもよい。
【００４０】
１組の取込みフリップフロップ２０２を、１組のクロック分周器２１０（周波数分割器としても知られている）が生成するクロック２２８を取り込むことによってクロック制御して、加算器２１４が出力するデータ２２６を取り込んでもよい。１組の取込みフリップフロップ２０２によって出力される、取込み済みデータおよび交差、ならびに（１つまたは複数の）取込みクロック２３０を、直並列変換器２０４によって直並列変換してもよい。直並列変換器２０４は、直並列変換済みのデータおよび交差、ならびにクロック信号２３２、２３４を、適応回路２１６およびデジタルＣＤＲ回路２０６に出力してもよい。
【００４１】
ＣＤＲ回路２０６は、直並列変換されたデータおよびクロック信号２３４での検出済みデータ遷移との位相関係を示すための、複数のバングバング位相検出器を備えてもよい。一例として本明細書においてデータ交差が使用されるが、エッジ検出、ゼロ交差など、他のタイプのデータ遷移を使用してもよいことを理解されたい。ＣＤＲ回路２０６の出力は、１組のＰＩ２０８において、２進化出力または他の符号化出力などの符号化出力２３６でもよい。符号化出力２３６は、データについてのデータＰＩコード、および交差についての交差ＰＩコードを含んでもよい、いくつかの例では、各ＰＩコードは、ラップアラウンドコードにおいて０〜１２７の範囲の７ビット値を有してもよい。この場合、各ＰＩコードは、０〜３６０°の範囲の位相においてとり得る１２８の値のうちの１つを表す。
【００４２】
１組のＰＩ２０８は、ＣＤＲ回路２０６からの符号化出力２３６、およびフェーズロックループ（ＰＬＬ）（図示せず）などのクロックモジュールからの複数の位相シフト済みクロック２３８を受信してもよい。１組のＰＩ２０８は、符号化出力２３６およびクロック２３８に基づいて、データストリーム用の位相関係を選択してもよい。選択済みの位相２４０は、１組のＰＩ２０８によって、１組のクロック分周器２１０に出力される電圧（差）によって表してもよい。
【００４３】
デジタルＣＤＲ回路２０６内のバングバング位相検出器は、各データビット（高速デジタルデータのアイダイアグラムでのそれぞれの「アイ」）について、データと交差情報の両方を使用する。バングバング位相検出方式を満足させるため、直並列変換器２０４から交差データがもたらされ、この交差データがＣＤＲ回路２０６で使用される。交差位相は、静的な合計オフセット（ＴＯ）をデータ位相に加えた位相である。この合計オフセットは、３つの部分から構成されてもよい。すなわち、（１）ＩＯ−フル／サブレートのクロック方式に応じて、ハーフＵＩ（単位間隔）またはゼロＵＩになるよう定義された理想的オフセット。（２）ＤＸＤ−「アイ」の不規則性に起因するデータと交差の間の調整。（３）ＣＫＯＫ−ＣＤＲの外部でのクロック信号較正からの調整。したがって、
ＴＯ＝ＩＯ＋ＤＸＤ＋ＣＫＯＫ
【００４４】
この合計オフセットは、リセットから抜け出した後に、ＣＤＲ回路２０６に組み込んでもよい。ＴＯは、ＣＤＲ回路２０６がリセットモードを抜け出す前に初期化されるので、静的値として扱ってもよく、また「ロード」動作を介して全て同時にロードしてもよい。合計オフセットはまた、ミッションモードにおいて非同期リセット手順を介して強制排除してもよい。従来の非同期リセットによって、データＰＩコードと交差ＰＩコードの両方を、強制的にゼロまでジャンプさせてもよい。両方の方法（「ロード」および「強制排除」）は、場合によっては、かなり大きなコード変化および交差ＰＩ位相シフトを引き起こすことがあり、それによって、１組のクロック分周器２１０における重大な経路タイミング違反を引き起こす可能性があり、これによって、ＰＩベースの送受信機システムの障害につながる。
【００４５】
本開示の実施例は、所望のデータおよび交差のＰＩコード値まで急にジャンプするのではなく、このようなシナリオでデータＰＩコードと交差ＰＩコードの間のオフセットを変更するための同期位相ウォークを使用する。前者のシナリオ（すなわち、リセットモードから抜け出る）での同期位相ウォークは、本明細書において「初期ウォーク」と呼ばれるが、後者のシナリオ（すなわち、ミッションモードでの非同期リセット手順）での位相ウォークは、本明細書において「リセットウォーク」と呼ばれる。いずれかのタイプの同期位相ウォークを用いる場合、単一クロックサイクルでの変化は、ＵＩサイズの一部分（たとえば、１／１６、１／３２、１／６４）に限定してもよく、位相は、事前設定された判定基準が満たされるまで、クロックサイクルごとにステップ処理してもよい。
【００４６】
図３は、本開示の一例による、例示的な初期ウォークを示すタイミング図３００である。初期ウォークでは、データＰＩコード３０６と交差ＰＩコード３０８の両方が、初期ＰＩコード値（たとえば、０に等しいコード値）を有してもよい。３１０の時点で、（「Ｒｅｓｅｔ＿ｂ」とラベル付けされた）リセット信号３０４が有効になると（たとえば、論理ローから論理ハイに遷移すると）、ＣＤＲ回路２０６は、データＰＩコード３０６が一定に保持されている間、受信機２００用の基準クロック３０２（「Ｃｌｋ」とラベル付けされている）のサイクルごとに、交差ＰＩコード３０８をステップ処理してもよい。事前設定されたＴＯに到達するまで、交差ＰＩコード３０８をクロックサイクルごとにステップ処理してもよい。図３の例では、ＩＯ＝３２、ＤＸＤ＝１、およびＣＫＯＫ＝０であり、ＴＯ＝３３になる。従来のＣＤＲ回路と同様に事前設定されたＴＯまで直接ジャンプするのではなく、クロック３０２と同期して交差ＰＩコード３０８をステップ処理することによって、３１２の時点で、事前設定されたＴＯに交差ＰＩコード３０８が構築される。他の例では、交差ＰＩコード３０８を一定に保持しながら、データＰＩコード３０６を同期的にステップ処理してもよい。交差ＰＩコード３０８（またはデータＰＩコード３０６）は、クロックサイクルごとに１つのＰＩコード値分だけステップ処理されるが、ＣＤＲ回路２０６は、いくつかの例では、交差ＰＩコード（またはデータＰＩコード）を、２つ以上のＰＩコード値分だけステップ処理してもよい。ＰＩコード３０６と３０８の間の合計オフセットが構築された後、ＣＤＲ回路２０６は、後に３１４のある時点で、（たとえば、バングバング位相検出に基づいてＰＩコードを調整することによって）その適応を開始してもよい。
【００４７】
いくつかの例では、初期ウォークは、１組のＰＩ２０８の連続性に起因して、事前設定されたＴＯに、より迅速に到達するどんな方向に進んでもよい（すなわち、より早く準備するためにより短い経路をとってもよい）。図３の例では、ＣＤＲ回路２０６は、基準クロック３０２のサイクルごとに、交差ＰＩコード３０８を増分している。他の例では、代わりに、交差ＰＩコード３０８（またはデータＰＩコード３０６）を減分してもよい。この場合、リセットが解除されると、交差ＰＩコード３０８は０から始まり、第１のサイクルで１２７に進み、次いで第２のサイクルで１２６に進むなど、交差ＰＩコードが所定のＴＯに到達するまでこのプロセスを続ける。このウォーキング方式の間ずっと、データＰＩコード３０６は０にとどまる。
【００４８】
図４は、本開示の一例による、例示的なリセットウォークを示す例示的なタイミング図４００である。リセットウォークでは、データＰＩコード３０６と交差ＰＩコード３０８の両方が、開始ＰＩコード値（たとえば、それぞれ８２および１１５）を有してもよく、その間に、動作中のＣＤＲ回路２０６によって決定される特定のオフセットが存在する。（たとえば、非同期リセットに起因して）４１０の時点で、（「Ｗａｌｋ＿Ｅｎ」とラベル付けされた）イネーブル信号がトリガされると、ＣＤＲ回路２０６は、基準クロック３０２のサイクルごとに、データＰＩコード３０６と交差ＰＩコード３０８をともにステップ処理し、その結果、ＴＯが変化しないままになる。いくつかの例では、４１２の時点において、データＰＩコード３０６が、事前設定されたコード値（たとえば、０のコード値）に到達するまで、ＰＩコード３０６、３０８をクロックサイクルごとにステップ処理してもよい。同期ステップ処理によって特定のＰＩコードの事前設定されたコード値に到達した後、ＣＤＲ回路２０６は、ＣＤＲ回路２０６がその標準の適応の実行に戻る前にリセットが解除されるまで変化しないままでもよい。
【００４９】
ミッションモードでのリセット動作は時間の影響を受けないので、リセットウォークは、双方向で動作できる必要はない。すなわち、リセットウォークは、減分（または増分）が、特定のＰＩコードの事前設定されたコード値に、より速く到達することになるかどうかにかかわらず、所定の方向に従って、ＰＩコード３０６と３０８を両方とも増分（または減分）させることを含んでもよい。
【００５０】
いくつかの例によれば、リセットウォークを使用する必要はない。むしろ、初期ウォークは、以下の両方のシナリオ、すなわち（１）ＣＤＲ回路２０６がリセットを抜け出る第１の時点、および（２）非同期リセットの後で実行してもよい。
【００５１】
前述の通り同期位相ウォーキングを実行することにより、ＰＩコードが突然著しく変化することは回避される。したがって、１組のＰＩ２０８によって出力された選択済みの位相２４０は、突然シフトしてはならず、場合によっては、１組のクロック分周器２１０においてタイミング違反を引き起こしてはならない。
【００５２】
クロックデータリカバリを実行するための例示的な動作
図５は、本開示の一例による、クロックデータリカバリを実行するための例示的な動作５００の流れ図である。動作５００は、たとえば、高速デジタルデータ信号のクロックデータリカバリ用のＣＤＲ回路を有する装置（たとえば、図２の受信機２００）によって実行してもよい。１つの例示的な装置は、１つまたは複数のＭＧＴ１０１を有する、図１のアーキテクチャ１００を実装するＦＰＧＡなど、ＰＩベースの送受信機システムを有するプログラマブルＩＣである。
【００５３】
動作５００は、ブロック５０２で開始してもよく、条件を満たしたことをこの装置が判定する。ブロック５０２での判定に基づいて、ブロック５０４において、装置（たとえば、装置のＣＤＲ回路）は、クロックの各サイクルごとに、データＰＩコードまたは交差ＰＩコードのうちの少なくとも一方をステップ処理してもよい。ブロック５０６において、装置は、データＰＩコードおよび交差ＰＩコードの所定の状態を生成するために、１つまたは複数の判定基準に基づいてステップ処理を停止してもよい。この所定の状態は、データＰＩコードと交差ＰＩコードの間のオフセットを含んでもよい。たとえば、所定の状態は、データＰＩコードが０のコード値を有しており、交差ＰＩコードが、このオフセット（たとえば、公称オフセット）での事前設定値に等しいコード値を有していることを含んでもよい。
【００５４】
いくつかの例では、装置（たとえば、ＣＤＲ回路）は、所定の状態から開始して、データＰＩコードと交差ＰＩコードの間のオフセットを調整してもよい。ブロック５０８において、装置は、データストリーム（たとえば、高速デジタルデータストリーム）を受信してもよい。ブロック５１０において、装置は、データＰＩコードと交差ＰＩコードの間の（調整済み）オフセットに基づいて、このデータストリームに対してクロックデータリカバリを実行してもよい。
【００５５】
いくつかの例によれば、ブロック５０４でのステップ処理は、クロックの各サイクルごとにデータＰＩコードまたは交差ＰＩコードのうちの少なくとも一方を単一コード値分だけ増分すること（または減分すること）を含む。
【００５６】
いくつかの例によれば、この条件は、リセットモードからＣＤＲ回路が初めて抜け出ることを含む。この場合、ブロック５０４でのステップ処理は、データＰＩコードを一定に（たとえば、０のコード値に）保持することと、このデータＰＩコードが保持されている間に、交差ＰＩコードをステップ処理することとを伴ってもよい。いくつかの例では、動作５００はさらに、データＰＩコードおよび交差ＰＩコードを、ステップ処理の前に０のコード値になるよう設定することを含む。いくつかの例では、１つまたは複数の判定基準は、交差ＰＩコードが、所定の状態での事前設定値に等しいコード値に到達することを含む。いくつかの例では、ブロック５０４でのステップ処理は、いずれの方向が事前設定値に、より速く到達するかに応じて、交差ＰＩコードを増分または減分することを含む。
【００５７】
いくつかの例によれば、この条件は、非同期リセット動作を含む。いくつかの例では、ブロック５０４でのステップ処理は、データＰＩコードと交差ＰＩコードを、データＰＩコードと交差ＰＩコードの間に維持されたオフセットとともにステップ処理することを含んでもよい。この場合、１つまたは複数の判定基準は、データＰＩコードが特定のコード値（たとえば、０のコード値）に到達することを含んでもよい。
【００５８】
いくつかの例によれば、ブロック５０４でのステップ処理は、ブロック５１０で実行する前に（または、ＣＤＲ回路でオフセットを調整する前に）、クロックの単一サイクルにおいて、データＰＩコードまたは交差ＰＩコードのうちの少なくとも一方が、データＰＩコードおよび交差ＰＩコードの所定の状態にジャンプするのを防止してもよい。
【００５９】
いくつかの例によれば、この装置は、データストリームに基づいて（所定の状態から開始して）、データＰＩコードと交差ＰＩコードの間のオフセットを調整することと、データＰＩコードと交差ＰＩコードの間の調整済みオフセットを使用して、このデータストリームに対してクロックデータリカバリを実行することとによって、ブロック５１０においてクロックデータリカバリを実行してもよい。
【００６０】
本明細書では（添付の特許請求の範囲を含め）、「少なくとも１つの」項目リストを指す語句は、単一の部材を含め、こうした項目の任意の組合せを指す。一例として、「少なくとも１つのｘ、ｙ、およびｚ」は、ｘ、ｙ、ｚ、ｘ−ｙ、ｘ−ｚ、ｙ−ｚ、ｘ−ｙ−ｚ、ならびにその任意の組合せ（たとえば、ｘ−ｙ−ｙおよびｘ−ｘ−ｙ−ｚ）を対象として含む。
【００６１】
これまで述べてきたことは、本開示の例を対象としているが、本開示のさらなる他の例を、本開示の基本的な範囲から逸脱することなく考案してもよく、本開示の範囲は添付の特許請求の範囲によって決定される。
【図１】
0006598969.tif 000002
【図２】
0006598969.tif 000003
【図３】
0006598969.tif 000004
【図４】
0006598969.tif 000005
【図５】
0006598969.tif 000006