(57)【要約】  サンプルオフセット調整の方法は、非同期入力と関連付けられるエッジをレシーバに与えるステップ（２０１）を含む。波形エッジは調整範囲にわたって密に分布している。サンプルを求めて調整範囲の少なくとも一部がスキャンされてエラーカウントが得られる（２０２）。第１のサンプル位置は固定されており、第２のサンプル位置は調整範囲の少なくとも一部にわたって動かされる。スキャンするステップから閾値ビットエラーレート（「ＢＥＲ」）が特定される（２０３）。基準位置から閾値ＢＥＲにおけるサンプルオフセットの量および方向が求められる（２０４）。サンプルオフセットの量および方向に応答して第１のサンプル位置または第２のサンプル位置が調整され、サンプルオフセットが少なくとも減少する（２０５）。
2016529840.tif 000002
【特許請求の範囲】
【請求項１】
非同期入力と関連付けられる波形エッジをレシーバに与えるステップを備える方法であって、
前記波形エッジは調整範囲にわたって密に分布しており、前記方法はさらに、
第１の種類とは異なる第２の種類の複数のサンプル位置の各々について前記第１の種類の第１のサンプル位置における波形エッジの密な前記分布からのサンプルを求めて前記調整範囲の少なくとも一部をスキャンして、前記調整範囲の少なくとも前記一部にわたる前記複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントを得るステップを備え、
前記第１のサンプル位置は固定されており、
前記複数のサンプル位置からの第２のサンプル位置は、前記調整範囲の少なくとも前記一部にわたって動かされ、
前記スキャンするステップは、前記複数のサンプル位置の各々で前記サンプルカウントのための複数のサンプリングサイクルを実行するステップを含み、前記方法はさらに、
前記スキャンするステップから閾値ビットエラーレート（「ＢＥＲ」）を特定するステップと、
基準位置から前記閾値ＢＥＲにおけるサンプルオフセットの量および方向を求めるステップと、
前記サンプルオフセットの前記量および前記方向に応答して前記第１のサンプル位置または前記第２のサンプル位置を調整して前記サンプルオフセットを少なくとも減少させるステップとを備える、方法。
【請求項２】
前記調整範囲は単位区間である、請求項１に記載の方法。
【請求項３】
前記調整範囲は時間または位相を単位とする、請求項１に記載の方法。
【請求項４】
前記波形エッジは、前記単位区間の１６分の１以下の分数だけ間隔が空けられている、請求項２に記載の方法。
【請求項５】
前記分数は、前記レシーバの位相補間器の分解能と関連付けられている、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記第１の種類の前記第１のサンプル位置はデータサンプル位置であり、
前記第２の種類の前記第２のサンプル位置はアイスキャンサンプル位置であり、
前記複数のサンプル位置はアイスキャンサンプル位置であり、
前記サンプルオフセットはアイスキャンサンプル位置−データサンプル位置オフセットである、請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記調整するステップは、前記アイスキャンサンプル位置について水平方向のオフセットを調整して前記アイスキャンサンプル位置−データサンプル位置オフセットを較正して除外するステップを含む、請求項６に記載の方法。
【請求項８】
前記特定するステップは、前記複数のサンプル位置の各々で実行される前記複数のサンプリングサイクルについて複数のＢＥＲから最小ＢＥＲを見つけるための検索を実行するステップを備える、請求項６または７に記載の方法。
【請求項９】
前記複数のサンプル位置はすべて、ゼロのアイスキャン垂直位置についてのものである、請求項６から８のいずれか１項に記載の方法。
【請求項１０】
前記複数のサンプル位置の各々についての前記スキャンのための前記サンプルカウントは、ＢＥＲターゲットについてのものである、請求項６から９のいずれか１項に記載の方法。
【請求項１１】
前記レシーバのクロックデータリカバリ（「ＣＤＲ」）モジュール用のホールド信号をアサートして前記ＣＤＲモジュールをアンロックするステップをさらに備える、請求項６から１０のいずれか１項に記載の方法。
【請求項１２】
前記第１の種類の前記第１の位置はアイスキャンサンプル位置であり、
前記第２の種類の前記第２の位置はデータサンプル位置であり、
前記複数のサンプル位置はデータサンプル位置であり、
前記サンプルオフセットはデータサンプル位置−アイスキャンサンプル位置オフセットである、請求項１から５のいずれか１項に記載の方法。
【請求項１３】
前記サンプルオフセットは、アイスキャンの垂直方向における電圧差である、請求項１から５のいずれか１項に記載の方法。
【請求項１４】
前記調整範囲は電圧振幅範囲である、請求項１に記載の方法。
【請求項１５】
前記レシーバに与えられる同期入力について前記レシーバからリカバリデータを得るステップと、
前記リカバリデータについて選択されたＢＥＲについてアイエッジをトラックして、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値を求めるステップと、
前記右エッジ位置値と前記左エッジ位置値との間として平均値を求めるステップと、
前記平均値に応答して前記第１のサンプル位置を動かすステップとをさらに備える、請求項１から１４のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は集積回路装置（「ＩＣ」）に関する。より特定的には、以下の説明は、通信チャネルに結合されたＩＣについてのオフセット較正および適応チャネルデータサンプル位置決めに関する。
【背景技術】
【０００２】
背景
マルチギガビットシリアルデータトランシーバの従来のクロックデータリカバリ（「ＣＤＲ」）モジュールは、等化後の波形のエッジの中間位置にクロックをアライメントし得る。データは、ビット期間の半分などの、この中間位置がクロックにアライメントされた後の固定時間にサンプリングされ得る。しかし、このサンプル点は、（ａ）エッジサンプラとデータサンプラとの間のクロック分配の変動によって、データサンプル点が等化波形に対して予測不能に動き得る、かつ（ｂ）通信チャネルの特性またはエッジ分布の等化スキューが予測不能に変化して、そのようなスキュー分配のロングテール上に低確率ビットエラーを引起こし得る、の１つ以上により、最善ではない場合がある。
【０００３】
したがって、データをリカバリするためのマージンを増加させるサンプリングを提供することが望ましく、有用である。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
方法は概してサンプルオフセット調整に関する。そのような方法では、非同期入力と関連付けられる波形エッジがレシーバに与えられる。波形エッジは調整範囲にわたって密に分布している。第１の種類とは異なる第２の種類の複数のサンプル位置の各々について第１の種類の第１のサンプル位置における波形エッジの密な分布からのサンプルを求めて調整範囲の少なくとも一部がスキャンされて、調整範囲の少なくとも一部にわたる複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントが得られる。第１のサンプル位置は固定されており、複数のサンプル位置からの第２のサンプル位置は調整範囲の少なくとも一部にわたって動かされる。スキャンするステップは、複数のサンプル位置の各々でサンプルカウントのための複数のサンプリングサイクルを実行するステップを含む。スキャンするステップから閾値ビットエラーレート（「ＢＥＲ」）が特定される。基準位置から閾値ＢＥＲにおけるサンプルオフセットの量および方向が求められる。サンプルオフセットの量および方向に応答して第１のサンプル位置または第２のサンプル位置が調整され、サンプルオフセットが少なくとも減少する。
【０００５】
別の方法は概してデータサンプル位置調整に関する。そのような方法では、レシーバに与えられる同期入力についてレシーバからリカバリデータが得られる。リカバリデータについて選択されたビットエラーレートについてアイエッジがトラックされて、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値が求められる。右エッジ位置値と左エッジ位置値との間として平均値が求められる。平均値に応答してデータサンプル位置が動かされる。
【０００６】
装置は概してサンプルオフセット調整に関する。レシーバは、非同期入力についての波形エッジの密な分布をレシーバに与えるクロックデータリカバリモジュールを含む。波形エッジは調整範囲にわたって密に分布している。レシーバは、第１のサンプル位置および第２のサンプル位置における波形エッジの密な分布からのサンプルを求めて、サンプルのサンプルカウントについてのエラーカウントを提供するアイスキャン回路を含む。アイスキャンモジュールはレシーバに結合され、第１の種類とは異なる第２の種類の複数のサンプル位置の各々について第１の種類の第１のサンプル位置におけるサンプルを求めて調整範囲の少なくとも一部をスキャンして、複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントを得るように構成される。第１のサンプル位置は固定されている。アイスキャン回路は、調整範囲の少なくとも一部にわたる移動について複数のサンプル位置からの第２のサンプル位置をインクリメントするアイスキャンモジュールに結合されている。アイスキャン回路は、複数のサンプル位置の各々でサンプルカウントのための複数のサンプルを取るアイスキャンモジュールに結合されている。アイスキャンモジュールはさらに、スキャンから閾値ビットエラーレート（ＢＥＲ）を特定し、基準位置から閾値ＢＥＲにおけるサンプルオフセットの量および方向を求め、サンプルオフセットの量および方向に応答して第１のサンプル位置または第２のサンプル位置を調整してサンプルオフセットを少なくとも減少させるように構成される。
【０００７】
添付の図面は例示的な装置および／または方法を示す。しかし、添付の図面は特許請求の範囲を限定すると解釈すべきでなく、説明および理解のために過ぎない。
【図面の簡単な説明】
【０００８】
【図１】例示的な列状フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）アーキテクチャを示す簡略化されたブロック図である。
【図２】例示的なオフセット較正フローを示すフロー図である。
【図３】例示的なトランシーバを示すブロック図である。
【図４】図３のレシーバに与えられる同期データ入力についての複数の例示的な波形信号対を示す信号図である。
【図５】図３のレシーバに与えられる非同期データ入力についての複数の例示的な波形信号対を示す信号図である。
【図６】例示的なアイスキャン−データサンプル水平オフセットプロットを示すグラフ図である。
【図７】オフセット調整の前後の図６の例についての例示的な「バスタブ」プロットを示すグラフ図である。
【図８】例示的なチャネル適応データサンプル位置決めフローを示すフロー図である。
【図９】例示的なレシーバ側通信システムを示すブロック図である。
【図１０】別の例示的なレシーバ側通信システムを示すブロック図である。
【図１１】例示的なコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【０００９】
詳細な説明
以下の説明では、本明細書に記載される具体例のより完全な説明を与えるために多数の具体的詳細が示される。しかし、当業者にとっては、これらの例の１つ以上の他の例および／または変形が以下に与えられるすべての具体的詳細がなくても実践され得ることが明らかになるはずである。他の例では、本明細書中の例の説明を曖昧にするのを避けるために周知の特徴は詳細に記載されていない。図示を簡単にするために、同じ項目を指すのに異なる図において同じ番号ラベルを用いているが、代替例では項目は異なり得る。
【００１０】
いくつかの図で例示的に図示する例を説明する前に、一般的な導入部がさらなる理解のために与えられる。一般に、通信チャネルまたはレーンを介して与えられるデータと関連付けられるジッタまたはノイズは、データアイ内のそのようなデータのリカバリのためのマージンに影響し得る。アイスキャンを用いて、そのようなデータアイに対するデータの相対的な位置が求められ得る。しかし、アイスキャンサンプル位置とデータサンプル位置との間の水平平行または垂直方向のオフセットを説明するために、オフセット調整がなされ得る。以下により詳細に説明されるように、そのようなオフセットを少なくとも減少させてエラーレートを減少させるオフセット較正フローが用いられ得る。さらに、データドリフトは、オフセット較正の後であっても、データリカバリのためのマージンを高めるようにデータアイが位置決めされない原因となり得る。以下により詳細に説明されるように、そのようなマージンを高めるチャネル適応データサンプル位置決めフローが用いられ得る。データアイの中間エッジ位置とその中のデータサンプルとの間の良好に制御された間隔を有することは、データサンプル位置を最適に調整するように、またはそのようなデータアイ内のマージンを少なくとも増加させるように適応的に求められるデータアイエッジ分布の低確率テールを有することによって提供され得る。
【００１１】
上記の一般的な理解を念頭に置いて、オフセット較正フローおよびチャネル適応データサンプル位置決めフローについてのさまざまな構成を以下に概略的に説明する。
【００１２】
上述の例の１つ以上が特定の種類のＩＣを用いて本明細書に記載されているため、そのようなＩＣの詳細な説明が以下に与えられる。しかし、他の種類のＩＣも本明細書に記載される技術の１つ以上から利益を受け得ることを理解すべきである。
【００１３】
プログラマブルロジックデバイス（「ＰＬＤ」）は、特定された論理機能を実行するようにプログラム可能な周知の種類の集積回路である。ＰＬＤの一種であるフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）は典型的に、プログラマブルタイルのアレイを含む。これらのプログラマブルタイルは、たとえば、入力／出力ブロック（「ＩＯＢ」）、コンフィギュラブルロジックブロック（「ＣＬＢ」）、専用ランダムアクセスメモリブロック（「ＢＲＡＭ」）、乗算器、デジタル信号処理ブロック（「ＤＳＰ」）、プロセッサ、クロックマネージャ、遅延ロックループ（「ＤＬＬ」）などを含み得る。本明細書で用いられる「含む」および「含んで」は限定されずに含むことを意味する。
【００１４】
各々のプログラマブルタイルは典型的に、プログラマブルインターコネクトおよびプログラマブルロジックの両者を含む。プログラマブルインターコネクトは典型的に、プログラマブルインターコネクトポイント（「ＰＩＰ」）によって相互接続された異なる長さの多数のインターコネクト配線を含む。プログラマブルロジックは、たとえば、関数生成器、レジスタ、算術論理などを含み得るプログラマブル素子を用いてユーザ設計のロジックを実現する。
【００１５】
プログラマブルインターコネクトおよびプログラマブルロジックは典型的に、プログラマブル素子がどのように構成されるかを規定する内部構成メモリセルにコンフィギュレーションデータのストリームをロードすることによってプログラムされる。コンフィギュレーションデータは外部デバイスによりメモリから（たとえば外部ＰＲＯＭから）読み出されたりＦＰＧＡに書き込まれたりし得る。そうして、個別のメモリセルの集合的な状態がＦＰＧＡの機能を決める。
【００１６】
別の種類のＰＬＤは、コンプレックスプログラマブルロジックデバイス、すなわちＣＰＬＤである。ＣＰＬＤは、共に接続されるとともに、インターコネクトスイッチマトリックスによって入力／出力（「Ｉ／Ｏ」）リソースに接続された２つ以上の「機能ブロック」を含む。ＣＰＬＤの各々の機能ブロックは、プログラマブルロジックアレイ（「ＰＬＡ」）およびプログラマブルアレイロジック（「ＰＡＬ」）デバイスで用いられるものと同様の２レベルＡＮＤ／ＯＲ構造を含む。ＣＰＬＤにおいて、コンフィギュレーションデータは典型的に不揮発性メモリ内のチップ上に記憶される。いくつかのＣＰＬＤでは、コンフィギュレーションデータは不揮発性メモリ内のチップ上に記憶され、次に初期コンフィギュレーション（プログラミング）シーケンスの一部として揮発性メモリにダウンロードされる。
【００１７】
これらのプログラマブルロジックデバイス（「ＰＬＤ」）のすべてについて、デバイスの機能性は、その目的のためにデバイスに与えられるデータビットによって制御される。データビットは、揮発性メモリ（たとえばＦＰＧＡおよびいくつかのＣＰＬＤにおけるようなスタティックメモリセル）、不揮発性メモリ（たとえばいくつかのＣＰＬＤにおけるようなＦＬＡＳＨメモリ）、またはいずれの他の種類のメモリセルにも記憶可能である。
【００１８】
他のＰＬＤは、デバイス上のさまざまな素子をプログラマブルに相互接続する金属層などの処理層を適用することによってプログラムされる。これらのＰＬＤはマスクプログラマブルデバイスとして公知である。ＰＬＤは、たとえば、ヒューズまたはアンチヒューズ技術を用いる他のやり方で実現することもできる。「ＰＬＤ」および「プログラマブルロジックデバイス」という用語はこれらの例示的なデバイスを含むがこれらに限定されるものではなく、部分的にしかプログラマブルでないデバイスも包含する。たとえば、１つの種類のＰＬＤは、ハードコードされたトランジスタロジックとハードコードされたトランジスタロジックをプログラマブルに相互接続するプログラマブルスイッチファブリックとの組合せを含む。
【００１９】
上述のように、高度なＦＰＧＡは、アレイ内のいくつかの異なる種類のプログラマブルロジックブロックを含み得る。たとえば、図１は、マルチギガビットトランシーバ（「ＭＧＴ」）１０１、コンフィギュラブルロジックブロック（「ＣＬＢ」）１０２、ランダムアクセスメモリブロック（「ＢＲＡＭ」）１０３、入力／出力ブロック（「ＩＯＢ」）１０４、コンフィギュレーションおよびクロッキングロジック（「ＣＯＮＦＩＧ／ＣＬＯＣＫＳ」）１０５、デジタル信号処理ブロック（「ＤＳＰ」）１０６、専用入力／出力ブロック（「Ｉ／Ｏ」）１０７（たとえばコンフィギュレーションポートおよびクロックポート）、ならびにデジタルクロックマネージャ、アナログ−デジタル変換器、システムモニタロジックなどの他のプログラマブルロジック１０８を含む多数の異なるプログラマブルタイルを含むＦＰＧＡアーキテクチャ１００を示す。いくつかのＦＰＧＡは専用プロセッサブロック（「ＰＲＯＣ」）１１０も含む。
【００２０】
いくつかのＦＰＧＡにおいて、各々のプログラマブルタイルは、各々の隣接するタイル中の対応のインターコネクト素子へのおよびそれからの標準化された接続部を有するプログラマブルインターコネクト素子（「ＩＮＴ」）１１１を含む。したがって、プログラマブルインターコネクト素子は、図示されるＦＰＧＡのためのプログラマブルインターコネクト構造を共に実現する。プログラマブルインターコネクト素子１１１は、図１の上部に含まれる例によって示されるように、同じタイル内にプログラマブルロジック素子へのおよびそれからの接続部も含む。
【００２１】
たとえば、ＣＬＢ１０２は、ユーザロジックを実現するようにプログラム可能なコンフィギュラブルロジック素子（「ＣＬＥ」）１１２の他に単一のプログラマブルインターコネクト素子（「ＩＮＴ」）１１１を含み得る。ＢＲＡＭ１０３は、１つ以上のプログラマブルインターコネクト素子に加えてＢＲＡＭロジック素子（「ＢＲＬ」）１１３を含み得る。典型的に、タイルに含まれるインターコネクト素子の数はタイルの高さに依存する。図示される実施形態では、ＢＲＡＭタイルは５つのＣＬＢと同じ高さを有するが、他の数（たとえば４つ）を用いることも可能である。ＤＳＰタイル１０６は適切な数のプログラマブルインターコネクト素子に加えてＤＳＰロジック素子（「ＤＳＰＬ」）１１４を含み得る。ＩＯＢ１０４は、たとえば、プログラマブルインターコネクト素子１１１の１つのインスタンスに加えて入力／出力ロジック素子（「ＩＯＬ」）１１５の２つのインスタンスを含み得る。当業者には明らかなように、たとえばＩ／Ｏロジック素子１１５に接続される実際のＩ／Ｏパッドは典型的に、入力／出力ロジック素子１１５の領域に閉じ込められていない。
【００２２】
図示される実施形態では、（図１に示される）ダイの中央近くの水平方向の領域がコンフィギュレーション、クロックおよび他の制御ロジックのために用いられる。この水平方向の領域または列から延在する垂直方向の列１０９は、ＦＰＧＡの幅に亘ってクロックおよびコンフィギュレーション信号を分配するのに用いられる。
【００２３】
図１に図示されるアーキテクチャを利用するいくつかのＦＰＧＡは、ＦＰＧＡの大きな部分を構成する規則的な列状構造を分断する付加的なロジックブロックを含む。付加的なロジックブロックはプログラマブルブロックおよび／または専用ロジックであり得る。たとえば、プロセッサブロック１１０は、ＣＬＢおよびＢＲＡＭのいくつかの列に跨っている。
【００２４】
なお、図１は例示的なＦＰＧＡアーキテクチャのみを図示することが意図されている。たとえば、１行の中のロジックブロックの数、行の相対的な幅、行の数および順番、行に含まれるロジックブロックの種類、ロジックブロックの相対的なサイズ、ならびに図１の上部に含まれるインターコネクト／ロジック実現例は純粋に例示的なものである。たとえば、実際のＦＰＧＡでは、ＣＬＢの１つよりも多くの隣接する行は典型的にＣＬＢが現れる場所であればどこでも含まれて、ユーザロジックの効率的な実現を容易にするが、隣接するＣＬＢ行の数はＦＰＧＡの全体的なサイズと共に変化する。
【００２５】
以下の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット上の動作のアルゴリズムおよび記号表現の観点で提示される。これらのアルゴリズム的記述および表現は、データ処理技術の当業者が自身の作業の趣旨を他の当業者に最も効果的に伝えるために用いる手段である。アルゴリズムはここでは一般に、所望の結果をもたらすステップの自己一致シーケンスであると考えられる。ステップは、物理量の物理的操作を伴うステップである。通常、必ずしもそうではないが、これらの量は、記憶、転送、組合せ、比較、およ別の方法で操作可能な光学、電気または磁気信号の形態を取る。場合によっては、主に一般的な用法のために、これらの信号をビット、値、素子、符号、記号、項、数等と称することが便利であることが分かっている。
【００２６】
しかし、これらおよび同様の用語のすべては適切な物理量と関連付けられるものであり、これらの量に適用される便利なラベルに過ぎないことを念頭に置くべきである。以下の記述から明白であるように特に具体的な指定のない限り、説明全体にわたって、「処理する」または「算出する」または「計算する」または「決定する」または「表示する」などの用語を用いる記述は、コンピュータシステムのレジスタおよびメモリ内の物理（電子）量として表わされるデータを操作して、コンピュータシステムメモリまたはレジスタまたは他のそのような情報記憶装置、伝達もしくは表示装置内の物理量として同様に表わされる他のデータに変換するコンピュータシステム、または同様の電子コンピューティングデバイスの行為および処理を指すことが認識される。
【００２７】
本明細書に記載される概念は、装置、方法、システム、またはコンピュータプログラム製品として具体化され得る。したがって、そのような実施形態の１つ以上は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（とりわけファームウェア、常駐ソフトウェア、およびマイクロコードを含む）またはソフトウェアとハードウェアとを組合せた実施形態の形態を取り得、明確にするために、すべてのこれらの実施形態は一般に本明細書において「回路」、「モジュール」、「システム」、または他の好適な用語と称され得る。さらに、そのような実施形態は、コンピュータ使用可能なプログラムコードを有するコンピュータ使用可能な記憶媒体上のコンピュータプログラム製品の形態であり得る。
【００２８】
任意の好適なコンピュータ使用可能またはコンピュータ読取可能な媒体が利用され得る。コンピュータ使用可能またはコンピュータ読取可能な媒体は、たとえば、電子、磁気、光学、電磁、赤外、または半導体システム、装置、素子、または伝播媒体であり得るがこれらに限定されない。コンピュータ読取可能な媒体のより具体的な例（包括的でないリスト）は、１本以上の配線を有する電気接続部、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（「ＲＡＭ」）、読出専用メモリ（「ＲＯＭ」）、消去可能なプログラマブル読出専用メモリ（「ＥＰＲＯＭ」もしくはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読出専用メモリ（「ＣＤ−ＲＯＭ」）、光学記憶装置、インターネットもしくはイントラネットをサポートする媒体などの通信媒体、または磁気記憶装置を含む。コンピュータ使用可能またはコンピュータ読取可能な媒体はさらにはプログラムが印刷される紙または別の好適な媒体であってもよく、プログラムは、たとえば、当該紙または他の媒体の光学スキャンによって電子的に捕捉され、次に必要であれば好適な態様でコンパイル、解釈または他の方法で処理され、次にコンピュータメモリに記憶され得る。
【００２９】
本明細書に記載される概念に従って動作を実行するためのコンピュータプログラムコードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ（登録商標）、Ｃ＋＋（登録商標）などのオブジェクト指向プログラマブル言語で書かれ得る。しかし、そのような動作を実行するためのコンピュータプログラムコードは、「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の処理プログラミング言語で書かれていてもよい。プログラムコードは、完全にユーザのコンピュータ上で、一部がユーザのコンピュータ上で、スタンドアローンソフトウェアパッケージとして、一部がユーザのコンピュータ上で一部がリモートコンピュータ上で、または全体がリモートコンピュータもしくはサーバ上で実行され得る。後者のシナリオの場合、リモートコンピュータは、ローカルエリアネットワーク（「ＬＡＮ」）もしくはワイドエリアネットワーク（「ＷＡＮ」）を介してユーザのコンピュータに接続され得るか、または接続は（たとえばインターネットサービスプロバイダを用いるインターネットを介して）外部コンピュータに対してなされ得る。
【００３０】
本明細書に記載されるシステムおよび方法は、それと関連付けられる動作を実行するための装置に関連し得る。この装置は、特定される目的のために特別に構成され得るか、または汎用コンピュータに記憶されたコンピュータプログラムによって選択的に起動もしくは再構成される当該コンピュータを含み得る。
【００３１】
それにも係わらず、本明細書に提示されるアルゴリズムおよびディスプレイは、いずれの特定のコンピュータまたは他の装置にも本質的に関連していない。さまざまな汎用システムが本明細書中の教示に従うプログラムとともに用いられ得るか、または動作を実行するためのより専用の装置を構成することが便利であることが判明し得る。また、以下の説明はプログラミング言語を参照しているとしても、本明細書に記載される教示を実現するのにさまざまなプログラミング言語のいずれかが用いられ得ることを認識すべきである。
【００３２】
方法、（システムを含む）装置およびコンピュータプログラム製品のフローチャート図示および／またはブロック図を参照して１つ以上の例を以下に説明する。フローチャート図示および／またはブロック図の各ブロック、ならびにフローチャート図示および／またはブロック図のブロックの組合せがコンピュータプログラム命令によって実現され得ることが理解されるであろう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、またはマシンを生成する他のプログラマブルデータ処理装置のプロセッサに与えられ得、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャートおよび／またはブロック図ブロック内に特定された機能／行為を実現するための手段を生成する。これらのコンピュータプログラム命令はコンピュータ読取可能なメモリにも記憶され得、コンピュータ読取可能なメモリは、コンピュータ読取可能なメモリに記憶された命令がフローチャートおよび／またはブロック図ブロック内に特定された機能／行為を実現する命令手段を含む製品を生成するように、コンピュータまたは他のプログラマブルデータ処理装置を特定の態様で機能するように導き得る。コンピュータプログラム命令はさらに、コンピュータまたは他のプログラマブルデータ処理装置上にロードされて、コンピュータまたは他のプログラマブル装置上で実行される命令がフローチャートおよび／またはブロック図ブロック内に特定された機能／行為を実現するためのステップを提供するように、一連の動作ステップをコンピュータまたは他のプログラマブル装置上で実行させてコンピュータ実現処理を生成し得る。
【００３３】
図中のフローチャートおよびブロック図は、さまざまな実施形態に係る（システムを含む）装置、方法およびコンピュータプログラム製品の可能な実現例のアーキテクチャ、機能性、および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、特定された論理機能を実現するための１つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表わし得る。いくつかの代替実現例では、ブロック内に示される機能は図に示される順序以外で起こり得ることにも留意すべきである。たとえば、連続して示される２つのブロックは、実際は、実質的に同時に実行されてもよいし、当該ブロックは時には、伴う機能に応じて逆の順序で実行されてもよい。ブロック図および／またはフローチャート図示の各ブロック、ならびにブロック図および／またはフローチャート図示のブロックの組合せは、特定された機能もしくは行為を実行する専用ハードウェアベースシステム、または専用ハードウェアとコンピュータ命令との組合せによって実現され得ることにも留意すべきである。
【００３４】
本明細書に与えられるフローチャートは動作の特定の順序を示しているが、これらの動作の順序は示されるものとは異なり得ることを理解すべきである。また、２つ以上の動作が同時にまたは部分的な同時発生を伴って行われてもよい。そのような変形は、選択されるソフトウェアおよびハードウェアシステムに、かつ設計者の選択に依存する。そのようなすべての変形は開示の範囲内にあることが理解される。同様に、ソフトウェアおよびウェブ実現例は、さまざまなデータベース検索動作、相関動作、比較動作および決定動作を達成するルールベースロジックおよび他のロジックを有する標準的なプログラミング技術を用いて達成され得る。本明細書で用いられる「構成要素」という語は、１行以上のソフトウェアコード、および／またはハードウェア実現例、および／または手入力を受信するための機器を用いる実現例を包含することが意図されていることも理解すべきである。
【００３５】
図２は例示的なオフセット較正フロー２００を示すフロー図である。２０１において、レシーバへの非同期入力と関連付けられる波形エッジが得られる。そのような波形エッジは調整範囲にわたって密に分布し得る。調整範囲は、そのようなレシーバに与えられるデータサンプルと関連付けられる入力ビットの単位区間（「ＵＩ」）であり得る。そのようなレシーバ（「ＲＸ」）は位相補間器を有し得、このＲＸ位相補間器は単位区間の分数である分解能を有し得る。たとえば、ＲＸ位相補間器は、１６分の１、３２分の１、６４分の１、または他のより小さいＵＩ分数分解能を有し得る。ゆえに、波形エッジは、以下により詳細に説明されるように、たとえばＵＩの１６分の１以下の分数だけ間隔が空けられて密な分布を提供し得る。
【００３６】
図３は例示的なトランシーバ３００を示すブロック図である。一例として限定せずに明確にするために、図４は、図３のレシーバ３０１に与えられる同期データ入力３１１についての複数の例示的な波形信号対４００を示す信号図である。図３および図４を同時に参照して、トランシーバ３００をその動作とともにさらに説明する。
【００３７】
トランシーバ３００は、レシーバ３０１およびトランスミッタ３０７を含む。レシーバ３０１は位相補間器（「ＰＩ」）３０４、クロックデータリカバリ（「ＣＤＲ」）モジュール３０３、およびアイスキャン回路３０２を含む。アイスキャン回路３０２は、設定された数のデータサンプルが得られるか停止されるまで、選択されたアイスキャンサンプル位置におけるデータサンプルを得て、エラーが起こったか否かを判断し、エラーカウントおよびサンプルカウントを出力するように構成され得る。アイスキャン回路３０２は、１つの位置で得られたデータサンプルを別の位置で得られた別のデータサンプルと比較して、サンプリングサイクルにエラーが起こったか否かを判断するように構成され得る。トランスミッタ（「ＴＸ」）３０７はＰＩ３０９を含む。実現され得るトランシーバ３００の例は、２０１３年４月２２日付の「７  Ｓｅｒｉｅｓ  ＦＰＧＡｓ  ＧＴＸ／ＧＴＨ  Ｔｒａｎｓｃｅｉｖｅｒｓ  Ｕｓｅｒ  Ｇｕｉｄｅ」、ＵＧ４７６（ｖ１．９．１）（「ＵＧ４７６」）に詳細に記載されている。より特定的には、ＵＧ４７６は２０６〜２１０頁においてＲＸマージン分析およびアイスキャン理論についての情報、ならびにアイスキャンをサポートするＲＸ  ＰＭＡおよびＰＣＳアーキテクチャについて述べている。一例として限定せずに明確にするために、トランシーバ３００はＵＧ４７６に記載されているようなＦＰＧＡのものと仮定するが、他のレシーバまたはトランシーバが実現されてもよく、アイスキャンサポートを有するこのトランシーバは便利な例に過ぎない。
【００３８】
レシーバ３０１は、非同期または同期データであり得るとともに高速シリアルデータであり得るデータ入力３１１を受信するように結合され得る。レシーバ３０１は、リカバリデータ３１３およびリカバリクロック３１５を与えるように構成され得る。リカバリデータ３１３はノード３１７でタップされ得る。ＣＤＲモジュール３０３がホールド制御信号（「ｈｏｌｄ」）３０５を受信するように結合され得る。２０１で得られた波形エッジのそのような密な分布は、レシーバ３０１にデータ入力３１１として与えられる非同期入力とともに、ＣＤＲモジュール３０３がロックすることまたはロックしようと試みることさえも防止するためにそのようなＣＤＲモジュール３０３をアンロックするためにホールド３０５をアサートすることによって提供され得る。レシーバ３０１のＣＤＲモジュール３０３についてホールド信号をアサートしてそのようなモジュールまたは他のクロックリカバリ回路をアンロックすることによって、これは一般に、以下により詳細に説明されるように、波形の反復される重なりを提供し得る。
【００３９】
アイスキャン回路３０２は実際上、アイスキャンのためのデータを測定するか他の方法で得るためのものであり得る。その点に沿って、アイスキャン回路３０２は、１つ以上のアイスキャン制御信号３２２を受信するように構成され得る。そのような１つ以上のアイスキャン制御信号３２２の例は、アイスキャン位置についての水平方向のオフセット、アイスキャン位置についての垂直方向のオフセット、および選択ビットエラーレート（「ＢＥＲ」）などの得るべきサンプルの数を含み得る。
【００４０】
改めて図２を、引続き図３および図４を参照して、オフセット較正フロー２００をさらに説明する。非同期入力が２０１において、データ入力３１１として直接、または１００万分の１のわずかな差（「ＰＰＭ」）を引起こすＴＸ  ＰＩ３０９、もしくは非同期入力を与える別の形態を用いることによって同期データ入力３１１を生成するのに用いられるローカル基準クロックと基準クロックとのクロック周波数のそのようなわずかな差を引起こすことによって与えられ得る。
【００４１】
２０２において、たとえばアイスキャンサンプル位置などの第２のサンプル種類の複数のサンプル位置の各々について、たとえばデータサンプル位置におけるデータサンプルなどの、第１のサンプル種類の第１のサンプル位置におけるサンプルを求めて調整範囲にわたってスキャンがなされて、複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントが得られ得る。ゆえに、多数のサンプルまたはサンプルカウントについて、エラーカウントが求められ得る。たとえば、データサンプル位置で得られたデータサンプルがアイスキャンサンプル位置で得られたデータサンプルと等しくない場合は、この差はエラーになる。これらのデータサンプルの対が多数のサンプリングサイクル、すなわちＢＥＲと関連付けられるサンプルカウントについて取られると、そのような２つの位置におけるそのような数のサンプリングサイクルについての関連付けられるエラーカウントが求められ得る。２つのサンプリング位置について取られた多数のサンプルにわたってデータサンプルが等しくないインスタンスの合計が、そのような２つのサンプリング位置についてのＢＥＲである。このサンプリングは、１つのサンプリング位置を固定して保持し、別のサンプリング位置をそのような調整範囲にわたって順次動かすことによって行われ得、同じサンプルカウントについてのエラーカウントがそのような範囲にわたって各々のそのような位置で取られ得る。したがって、この情報を用いて、たとえば固定された第１のサンプル位置に対するそのような第２のサンプル位置の中で最小ＢＥＲを有する調整範囲にわたるそのような複数の第２のサンプル位置の中の第２のサンプル位置が特定され得る。実際上、複数のＢＥＲが、すなわち固定された第１の位置に対する調整範囲にわたる各々の第２のサンプリング位置について１つのＢＥＲが生成され得、そこから最小ＢＥＲが見つけられ得る。これは、調整範囲内の各々の可能性のある値を必ずしも対象として含むことなくそのような第２の位置を動かしてＢＥＲを最小化することによって動的に行われ得る。その線に沿って、調整範囲にわたるスキャンは、調整範囲全体またはその一部のみにわたるスキャンを伴い得る。
【００４２】
上記の例を続けて、複数のアイスキャンサンプル位置の各々においてデータサンプル位置におけるデータサンプルのための調整範囲にわたってそのようなスキャンを行ってそのような複数のアイスキャンサンプル位置の各々についてサンプルカウントについてのエラーカウントを得ることによって、そのようなエラーカウントを、かつ随意にそのようなエラーカウントと関連付けられるサンプルカウントを出力することが可能になる。ゆえに、あるスキャンについてサンプルカウントに達すると、そのようなサンプルカウントに達するまで別のスキャンが別のサンプル位置について開始され得、以下同様である。第１の位置に対するそのような第２の位置の各々についてのＢＥＲのこの出力は、アイスキャン回路３０２からのアイスキャンデータ出力３２０であり得る。アイスキャン制御信号３２２およびアイスキャンデータ出力３２０は、図３にアイスキャンモジュール３５０として概略的に示されるアイスキャンハードウェア、ファームウェアを含むソフトウェア、またはその組合せからおよびそれに与えられ得る。そのような制御信号３２２を用いて、固定されたデータサンプリング位置に対する複数のアイスキャンサンプリング位置の各々についてスキャンカウントが設定され得る。さらに、そのような制御信号３２２を用いてアイスキャンサンプリング位置がインクリメントされ得、これを用いて水平方向の調整範囲の少なくとも一部にわたって、すなわちＵＩの少なくとも一部にわたってスキャンが行なわれ得る。
【００４３】
別の実現例では、２０２におけるそのようなスキャンは、複数のデータサンプル位置の各々についてのアイスキャンサンプルのための調整範囲にわたるものであり、複数のデータサンプル位置の各々についてサンプルカウントについてのエラーカウントが得られ得る。ゆえに、たとえば、アイスキャンサンプル位置はそのような第１のサンプル位置であり得、データサンプル位置はそのような第２のサンプル位置であり得、そのような複数のサンプル位置はデータサンプル位置であり得、サンプルオフセットはデータサンプル位置−アイスキャンサンプル位置オフセットであり得る。
【００４４】
しかし、明確にするために、そのようなスキャンはアイスキャン位置を動かすためであると仮定し、そのような調整範囲は単位区間であり、ゆえに一般に横時間軸または位相軸と関連付けられるとさらに仮定する。しかし、調整範囲は、たとえば差動高速シリアル信号などの信号のための電圧振幅範囲であり得、ゆえに一般に縦電圧軸と関連付けられ得る。たとえば、オフセット較正は、ｘおよびｙグリッド上の位置を求めるなどのために、横時間軸または範囲および縦電圧軸または範囲に対して共に行なわれ得る。しかし、一例として限定せずに明確にするために、時間または位相の正または負の方向におけるたとえばアイスキャン制御信号３２２を介するなどした水平方向のオフセットが、固定された垂直位置またはそのような位置変化について０でオフセットされたアイスキャンサンプリング位置４１３について提供され得る。
【００４５】
この例では、信号４１１および４１２の３つの信号対があり、そのような対がアイまたはデータアイ４２５を形成している。この例では、アイ４２５は「開いて」いる。アイスキャンは時間または位相と関連付けられる横軸４０１と、信号電圧振幅などの振幅と関連付けられる縦軸４０２とを有し得る。この例では、アイスキャンサンプリング位置または点４１３、すなわちアイスキャンサンプルが取られる位置は、軸４０１および４０２の（０，０）にある。そのようなサンプリング位置は、そうである必要はないが、（０，０）にある。
【００４６】
この例では、データサンプリング位置または点４１４は、カウントまたはＵＩの分数のティックの数などの水平方向の距離４２３だけアイスキャンサンプリング位置４１３から水平方向に間隔が空けられており、電圧振幅などの垂直方向の距離４２４だけアイスキャンサンプリング位置４１３から垂直方向に間隔が空けられている。アイスキャンサンプリング位置は、時間のためであるか電圧のためであるかなどに係わらず、どこにマージンが割当てられるべきかに依存してアプリケーション毎に異なり得るアイ４２５に対してセンタリングされてもされなくてもよい。ゆえに、アイスキャンの垂直方向には電圧差におけるサンプルオフセットがあり得、アイスキャンの水平方向には時間または位相差における別のサンプルオフセットがあり得る。したがって、調整範囲は電圧振幅範囲または時間もしくは位相差調整範囲であり得、後者はカウントで表わされ得る。
【００４７】
限定せずに明確にするために、アイ４２５のエッジに対してセンタリングされるデータサンプリング時間を有することが用いられると仮定する。アイスキャンおよびデータサンプリング位置が等しくない場合、すなわち時間および電圧において同じ点に配置されていない場合、スキャンエラーが生じ得る。時間および位相のエラーに関して、位置４１３および４１４は軸４０１上の同じ水平座標になく、電圧のエラーに関して、位置４１３および４１４は軸４０２上の同じ垂直座標にない。
【００４８】
一般に、たとえば２つのクロックラッチなどの２つのサンプラが、サブサンプリング、サンプリング、またはオーバーサンプリングを含むサンプルのために用いられ得、すなわち一方がアイスキャンサンプルを得るために、他方がデータサンプルを得るために用いられる。そのようなサンプラの一方は実際上、基準として固定され得、そのようなサンプラの他方は、以下により詳細に説明されるように、一致を見つけるためにそのような固定サンプラに対して動かされ得る。限定せずに明確にするために、以下の説明は、固定されたデータサンプリング位置に対してアイスキャンサンプリング位置を動かす観点であるが、別の例では、アイスキャンサンプリング位置が固定基準位置であってもよく、データサンプリング位置が動かされてもよい。その線に沿って、アイスキャンサンプリング位置についての水平方向または垂直方向のオフセットが設定されるか別の方法で調整され得る。一般に、位置４１３および４１４が互いに離れるにつれて、アイを包絡する信号対４１１および４１２のより多くのエッジがそのような位置同士の間に配置される可能性が高くなるため、エラーレートが増加する。逆に、上述のように、一致している位置４１３および４１４については、ＢＥＲは最小になる。
【００４９】
ゆえに、位置４１３と４１４とが一致しない場合にエラーが生じ得る。再び、限定せずに明確にするために、水平方向のエラー較正を以下により詳細に説明し、垂直方向のエラー較正は以下の説明から同様に理解され得る。したがって、以下の説明は概してデータサンプル時間と（０，０）アイスキャンサンプル時間との間のオフセットを較正して除外する（calibrate out）ことに向けられる。もちろん、この種類の較正は、そのようなサンプリング時間内のエラーの測定の粒度に限定され得る。ゆえに、そのような複数のアイスキャンサンプル位置はすべて、ゼロのアイスキャン垂直位置についてのものであり得る。
【００５０】
再び、一例として限定せずに明確にするために、図５は、上述のような、非同期データ入力３１１についての複数の波形信号対５００を示す信号図である。この例では、信号４１１および４１２の多数の信号対があり、そのような対は十分密に互いに重なっているため、図４のアイ４２５は「閉じて」いる。ゆえに、各アイ４２５はエッジの密な分布で実質的に充填され得る。換言すれば、アイ４２５は、波形５００に「ボケ」または重なり効果を事実上提供するために互いに重なっている。たとえば、波形エッジは単位区間の１６分の１以下の分数だけ間隔が空けられ得る。この分数は、レシーバの位相補間器または他の位相調整回路の分解能と関連付けられ得る。この例における位置４１３および４１４は、そのような波形信号対５００のたとえば下降エッジ５０１および上昇エッジ５０２などの１つ以上のエッジを自身同士の間に有し得る。
【００５１】
図２に戻って、２０３において、２０２で行なわれたスキャンから閾値ビットエラーレート（「ＢＥＲ」）が特定される。実際上、２０２で行なわれるスキャンは、固定されたデータサンプリング位置基準に対してアイスキャンサンプリング位置を動かして、そのようなそれぞれの位置の各々における２つずつのサンプリング位置同士の間に差があるか否かを判断するためである。アイスキャン表示画像について、これは、ゼロに設定されたアイスキャン垂直線画素を有していると考えられ得る。換言すれば、この接合点における「エラーレート」は、データサンプリング位置およびアイスキャンサンプリング位置で得られたデータサンプルの求められた差がある場合、当該差を指す。
【００５２】
２０３において、最小ＢＥＲであり得る閾値ＢＥＲの特定は、検索を呼出すことによって行なわれ得る。一例として限定せずに明確にするために、閾値ＢＥＲについての準最適閾値が用いられ得るが、そのような閾値ＢＥＲは最小ＢＥＲであると仮定する。ゆえに、最小を見つけるためのそのような検索は、すべての位置を順次確認すること（「ブルートフォース」）、勾配探索、シミュレーテッドアニール、または最小を見つける他の検索によって実行され得る。同期データについては、すなわちＣＤＲモジュール３０３がリカバリクロック信号３１５を生成するためにロックされている場合は、エラーは検出され得ない。ゆえに、ＣＤＲモジュール３０３をアンロックすることによって、エラーが検出され得る。
【００５３】
２０４において、２０３で特定された最小ＢＥＲについてのアイスキャンサンプル−データサンプルオフセットの量および方向が求められ得る。特定されたそのような最小ＢＥＲは、水平方向において一致しているアイスキャンサンプリング位置およびデータサンプリング位置についてのものであると仮定して、特定されたそのような最小ＢＥＲについてのそのような基準データサンプリング点とそのようなアイスキャンサンプリング点とのカウント差が得られ得る。これは単に、これら２つのサンプリング位置同士の間の水平方向の差またはカウント差である。
【００５４】
再び、限定せずに明確にするために、図６は例示的なアイスキャン−データサンプル水平オフセットプロット６００を示すグラフ図である。最小ＢＥＲが特定される場合は上述したように基準サンプリング点と別のサンプリング点とのカウント差を求めるためにそのようなプロットを行なう必要はないため、このプロットは理解を高めるために用いられる。
【００５５】
この例における横軸６０１はマイナスからプラス３２であり、つまり、ＵＩの６４分の−３２からそのようなＵＩの６４分の＋３２であり、すなわちＰＩは６４「カウント」分解能を有する。たとえば、データ入力３１１が１０ギガヘルツ（「ＧＨｚ」）で与えられる場合は、ビットのビット幅（たとえば１ビットを表わす差動またはシングルエンド信号の信号長）は約１００ピコ秒（「ｐｓ」）であり、したがって、そのような１００ｐｓは６４インクリメントまたはカウントに分解され得る（すなわち、この例におけるカウントは６４で除算された１００ｐｓである）。この例では、６４カウント分解能について、２カウントずつがアイ４２５の１／３２である。この例または他の例では、他のカウント分解能を用いてもよい。たとえば、ここではＲＸ  ＰＩは６４カウントの最小分解能を有するが、ＰＩの最小分解能よりも粗いまたは細かい分解能を用いてもよい。さらに、ＤＬＬまたはＰＬＬの変形を含む、ＵＩをパースするために用いられる他のデバイスを用いてもよいため、ＲＸ  ＰＩを用いる必要はない。
【００５６】
したがって、横軸６０１に沿った、すなわちアイスキャンカウント位置軸に沿ったカウント−３２からカウント＋３２の６４カウントと関連付けられる離散的なインスタンスにおいて、エラーカウントまたはＢＥＲと関連付けられる離散的なデータ点６０３があり、縦軸６０２は、この続けられる例では離散的なアイスキャンサンプリング時間である複数のアイスキャンサンプル位置の各々についてのＢＥＲまたはエラーカウントを表わす。複数のサンプル位置の各々についてのスキャンのためのサンプルカウントの数は、たとえば１０12（すなわち１Ｅ１２）ビットサンプル毎のエラーまたは他のＢＥＲターゲットなど、ＢＥＲターゲットについてのものであり得る。この比は、サンプル同士の差の数、または多くのサンプリングサイクルについてのものであり得る２つのサンプリング位置もしくはサンプルカウントで取られたサンプリングサイクルの合計数で除算されたエラーカウントである。この例では、ターゲットＢＥＲは１．Ｅ−１２として表現され得るが、他の例では別のターゲットＢＥＲを用いてもよい。この例では、最小ＢＥＲは位置６０４にあり、これはこの例では基準位置６０５から＋２の水平方向のカウントに対応する。この例では、基準位置６０５は中心位置、すなわちカウントゼロにあるが、他の実現例では中心位置を用いる必要はない。もちろん、他の例では、カウント差はプラスでもマイナスでもよく、水平方向のオフセットにおける２または他の整数差であってもよい。このカウント差がアイスキャンサンプル−データサンプルオフセットであり、またはこの例についてより特定的には、アイスキャンサンプル−データサンプル水平オフセットである。再び、正または負の電圧オフセットについてではあるが、上記の説明を用いて垂直方向の差も見つけることができる。
【００５７】
したがって、アイが非対称であり得るため、そのようなアイの片側のサンプリングマージンはそのようなアイの反対側よりも良好であり得る。しかし、サンプリング点をアイの中心の近くにまたは中心に動かすことによって、より大きい信号マージンが与えられ得る。ゆえに、そのようなサンプリングは、たとえばジッタまたは他の種類のノイズの影響をさらに受けなくて済む。
【００５８】
引続き図６を参照しつつ図２に戻って、２０５において、そのようなアイスキャンサンプル−データサンプルオフセットの量および方向に応答してサンプリング位置が調整されてそのようなアイスキャンサンプル−データサンプルオフセットが較正されて除外され得る。上記の例を続けて、アイスキャン水平サンプル位置が調整され得る。横時間軸に沿った＋２のサンプルオフセットの上記の例を続けて、水平方向のオフセットは−２に設定され得る。もちろん、オフセットが変化し得るにつれて他のカウントを用いてもよい。
【００５９】
しかし、より一般的には、場合に応じて、データサンプル位置またはアイスキャンサンプル位置が水平方向のオフセットまたは垂直方向のオフセットについて調整され得る。ゆえに、２０５におけるこの調整は、アイスキャンサンプル位置についての水平方向のオフセットを調整してそのようなアイスキャンサンプル位置−データサンプル位置オフセットを較正して除外するか少なくとも実質的に減少させることを含み得る。別の実現例では、そのようなサンプルオフセットはアイスキャンの垂直方向における電圧差であり得、したがって、垂直方向のオフセットが調整されてそのようなサンプルオフセットが少なくとも減少し得る。再び、求められるそのようなサンプルオフセットは時間または振幅などにおける水平方向または垂直方向のオフセットを単位とし得、ゆえに、そのようなオフセットを少なくとも減少させるそのような較正は、アイスキャン位置であれデータサンプル位置であれ、サンプル位置についての水平方向のオフセットまたは垂直方向のオフセットの一方または両方を調整することを伴い得る。
【００６０】
再び、限定せずに明確にするために、図７は、図２の２０５における調整の前後の上記の例についての例示的なＢＥＲ「バスタブ」プロット（「プロット」）７００を示すグラフ図である。オフセット調整を行うためにそのようなプロットを行なう必要はないため、このプロットは理解を高めるために用いられる。
【００６１】
プロット７００は、ＢＥＲ、またはより特定的にはエラー−サンプルカウント比の縦軸７０２に対する、上述のようなカウントについての横軸６０１のプロットである。プロット７００は、左湾曲部または「左エッジ」７０３−１、中心平坦部７０３−２、および水平方向のオフセット調整の前の右湾曲部または「右エッジ」７０３−３を有するバスタブ曲線７０３を含む。限定せずに明確にするために上記の例を続けて、負のカウント方向における２カウントの水平方向のオフセット調整がバスタブ曲線７０３に対してなされ、これによってバスタブ曲線７０３は、調整されたバスタブ曲線７０３Ａによって概略的に示されるように２カウント左に移動している。この調整は、たとえば、ハードウェア内のレジスタ値を設定することによって、またはソフトウェア内の変数に値を割当てることによって行われ得る。したがって、左湾曲部７０３−１、中心平坦部７０３−２、および右湾曲部７０３−３はすべて、調整された左湾曲部７０３−１Ａ、調整された中心平坦部７０３−２Ａ、および調整された右湾曲部７０３−３Ａによって概略的に示されるように左に２カウント移動している。ハードウェアまたはソフトウェアにおけるこの移動は減法として実現され得、右への移動は加法として実現され得る。この例では、明確にするためより太い黒線で示される調整されたバスタブ曲線７０３Ａは縦軸７０２の左側に２カウント延在し得、バスタブ曲線７０３Ａのこの部分は無視してもよい。
【００６２】
また、それぞれ点線７１３および７１４によって概略的に示されるように、高ＢＥＲ閾値レベルおよび低ＢＥＲ閾値レベルがあり得る。中心平坦部７０３−２Ａは、カットオフＢＥＲがある場所である。換言すれば、左右エッジ７０３−１Ａおよび７０３−３Ａは実際には中心平坦部７０３−２Ａの下に延在し得、漸近的に互いに接近し得る。しかし、そのような低いまたは小さいＢＥＲは有効範囲外であり得るため、そのようなカットオフは中心平坦部７０３−２Ａとして概略的に示される。
【００６３】
したがって、水平方向のオフセット調整の後、すべてのその後のアイスキャンサンプルは、登録されたか他の方法で設定された値を移動後のアイスキャンサンプル位置に有することによって、そのようなオフセット量だけオフセットされ得る。再び、垂直方向のオフセットも設定され得る。
【００６４】
実際上、（０，０）のアイスキャン位置がデータサンプル位置とアライメントされ得る。しかし、そのようなアイスキャン位置（０，０）はデータアイ内に対称に配置されない場合がある。したがって、較正されたアイを用いたとしても、調整されたバスタブ曲線７０３Ａはミスアライメントされ、すなわち、たとえばゼロカウント位置６０５に対してセンタリングされない場合がある。このミスアライメントは、レシーバ内のマージンを同様に減少させ得る。さらに、アイスキャン−データスキャン位置が通信レーンまたはチャネルについて比較的静的であり得るため、すなわち準静的であり得るため、水平方向または垂直方向のオフセットをリセットまたは少なくとも頻繁にリセットしなくてもよい場合、バスタブ曲線７０３Ａは、通信チャネル上のそのような同期データをリカバリするのに用いられるクロックに対して、同期データスルーイングを送信するのに用いられるクロックのために動き得る。したがって、以下により詳細に説明されるように、バスタブ曲線７０３Ａのエッジ７０３−１Ａおよび７０３−３Ａは、通信チャネルのこれらおよび他の変化に適応して変化するために動作時にトラックされ得る。
【００６５】
図２に戻って、２０５におけるいずれかの調整の後、２０６において別のサンプルオフセットを求めて調整する必要があるか否かが判断され得る。そのような他のオフセットは、処理された直後の通信チャネルについての垂直方向のオフセット、または別の通信チャネルについての水平方向のオフセットであり得る。２０６において別のオフセットを求めて調整すると判断された場合は、フロー２００は、２０１で、または通信チャネルに変更がない場合は随意に２０２で開始されて、そのような他のオフセットについて繰返され得る。しかし、２０６において他のオフセットを求めて調整しないと判断された場合は、２０７においてチャネル適応データサンプル位置決めフローが呼出され得る。
【００６６】
図８は、図２の２０７において呼出され得る例示的なチャネル適応データサンプル位置決めフロー８００を示すフロー図である。図３および図７をさらに参照して、図８のフロー８００をさらに説明する。
【００６７】
８０１において、リカバリデータ３１３がノード３１７においてタップされ得、リカバリデータ３１３が高速シリアルデータ３１１などのデータの同期入力のためにレシーバ３００から出力される。図２のフロー２００とは対照的に、フロー８００は、レシーバ３００の実際の動作時にリアルタイムで用いられ得る。換言すれば、高速シリアルデータ３１１はリカバリデータ３１３として出力される実際の顧客データであり得、そのようなリカバリデータ３１３はタップされてアイスキャンモジュール３５０に与えられ得る。このように、リカバリデータ３１３のバスタブ曲線７０３Ａの左エッジ７０３−１Ａおよび右エッジ７０３−３Ａの非破壊トラッキングが行なわれ得る。
【００６８】
８０２において、リカバリデータ３１３について、選択されたＢＥＲ範囲内の選択されたＢＥＲについて、左エッジ７０３−１Ａおよび右エッジ７０３−３Ａなどのアイエッジがトラックされて、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値が求められ得る。たとえば、高ＢＥＲ閾値レベル７１３と低ＢＥＲ閾値レベル７１４との間のＢＥＲについて左エッジ７０３−１Ａ位置７２１および右エッジ７０３−３Ａ位置７２２におけるリカバリデータ３１３のデータがトラックされ得る。トラッキングのためのＢＥＲの選択は、通信規格またはプロトコルに応じてデフォルトの予め定められた値であり得るか、または随意にユーザによって設定され得る。さらに、８０２におけるそのようなトラッキングは、そのようなエッジ毎に実行データ値を記憶することを含み得る。さらに、データ値のいくつかの初期サンプルは安定状態に達するまで無視してもよい。これは、選択されたＢＥＲについての測定がそのようなＢＥＲに落ち着き得るまでいくらか時間が掛かり得るためである。さらに、選択されたＢＥＲを保つために何らかの「ハンティング」があり得る。
【００６９】
８０３において、トラッキングから得られた右エッジ位置値と左エッジ位置値との間として平均値が求められ得る。たとえば、上記の例を続けて１．Ｅ−１２のＢＥＲにおける各々について左エッジ位置値が９であり右エッジ位置値が−５であったと仮定すると、そのような値の平均は２（すなわち｛９＋（−５）｝／２）となる。
【００７０】
８０４において、８０３で求められた平均値に応答して、調整されたバスタブ曲線７０３Ａが動かされ得る。この例では、明確にするために破線で示されるように、動かされた調整済みのバスタブ曲線７０３Ｍが、粒度および他の制限を受けて、ゼロカウント位置６０５まで左に全体的に中心に２カウント動かされる。概略的に示されるように、動かされた左エッジ７０３−１Ｍおよび動かされた右エッジ７０３−３Ｍ、および動かされた中心平坦部７０３−２Ｍは、左に２カウント動かされる。実際上、これによって、８０３で求められたそのような平均値だけデータサンプル位置が動く。この例では、正の平均値が左に動かされ、負の平均値が右に動かされる。
【００７１】
移動のタイミングは、実際のデータで行なわれ得るが、一度にデータの各ビットについて調整されない。たとえば、同期高速シリアルデータ入力３１１について１Ｅ１０ビット／秒のデータレートがあり、１Ｅ−１２のＢＥＲが選択される場合は、測定またはトラック値を得るために１００秒が経過し得、そこから平均が得られる。各エッジが並行してトラックされるのではなく順次トラックされる場合は、平均を求めるために両値を得るのに２００秒が経過し得る。
【００７２】
さらに、時間が許せば、通信チャネルについてのそのような左右エッジ値、またはその平均値が、１つよりも多い測定サイクルにわたって任意の移動パターンまたは複数の平均値のうちの１つの平均値またはカウントの累積移動が十分であるか否かを判断して、以前に動かされたバスタブ曲線７０３Ｍを再び位置決めするか否かを判断するために記憶され得る。したがって、トランスミッタはチャネル上でレシーバにデータを送信し得、そのようなトランスミッタまたは通信は送信されるそのようなデータのデータアイを移動させ得る。さらに、非対称のジッタ分布から、センタリングされていないデータアイが生じ得る。レシーバはそのような歪みを補正するトランスミッタに対する制御を有し得ないため、レシーバは、バスタブ曲線を動かしてミスアライメントされたデータアイを調整して通信チャネルのためのデータをリカバリするための信号マージンを増加させることによってデータサンプリング位置を移動させるように構成され得る。
【００７３】
８０５において、通信チャネルがインクリメントされ得、フロー８００は８０１で再び開始するループとして進行し得る。このように、一連の通信チャネルが自身のレシーバマージンを適応的に増加させ得る。
【００７４】
図９は例示的なレシーバ側通信システム９００を示すブロック図である。ホストパーソナルコンピュータ（「ＰＣ」）９０１がＦＰＧＡ１００に結合され得る。ＦＰＧＡ１００はエンベデッドプロセッサ９０２、アイスキャンモジュール３５０、および４チャネルトランシーバ（「トランシーバクワッド」）９０７を有し得る。アイスキャンモジュール３５０は、アイスキャンコード９０５が記憶されているファームウェアＲＡＭ９０４、ならびにステートマシンおよびメモリ９０６を含み得る。
【００７５】
トランシーバクワッド９０７は、本明細書において上述したように、アイスキャン回路３０２を含み得る。しかし、そのようなアイスキャン回路３０２はトランシーバクワッド９０７のデータフロー、すなわちスループットに干渉しないように位置決めされ得ることを理解すべきである。さらに、トランシーバ毎に別個のアイスキャン回路３０２があってもよいし、トランシーバがアイスキャン回路３０２を共有してもよい。
【００７６】
ステートマシンおよびメモリ９０６は、トランシーバクワッド９０７の通信レーン０から３にそれぞれ結合されるとともにエンベデッドプロセッサ９０２に結合されるトランシーバ／ＲＡＭアクセス制御ステートマシン９１６を含み得る。ステートマシンおよびメモリ９０６は、トランシーバ／ＲＡＭアクセス制御ステートマシン９１６に結合されているデータ記憶ＲＡＭ９１７を含み得る。トランシーバ／ＲＡＭアクセス制御ステートマシン９１６は、ＦＰＧＡ１００のプログラマブルリソースにおいてインスタンス化され得る。
【００７７】
エンベデッドプロセッサ９０２に結合されているファームウェアまたは他のプログラムＲＡＭ９０４は、エンベデッドプロセッサ９０２によって実行されるアイスキャンコード９０５を記憶し得る。コード９０５は、フロー２００または８００の少なくとも一方を実行するためであり得る。エンベデッドプロセッサ９０２は、ＪＴＡＧまたは他のバスなどのインターフェイス９０３を介してホストＰＣ９０１に結合され得る。ホストＰＣ９０１は、データアイまたは他の診断を表示するためであり得る。しかし、コード９０５の一部またはすべてがホストＰＣ９０１にポートされてもよいが、これは低速動作用である。そうでなければ、ホストＰＣ９０１は、アイスキャン動作のためのメンテナンスおよび診断プログラムを提供するように全体的にプログラムされてもよい。たとえば、データアイが徐々にドリフトしている場合、エンベデッドプロセッサ９０２はホストＰＣ９０１に警告を送信し得る。ゆえに、８０４における移動は、通信チャネルと関連付けられるようなリカバリデータのデータ位置を適応的に位置決めするためであり得る。
【００７８】
図１０は例示的なレシーバ側通信システム１０００を示すブロック図である。リモートホストＰＣ９０１がインターネット１００４を介してＦＰＧＡ１００に結合され得る。ＦＰＧＡ１００は、エンベデッドマイクロプロセッサ１００３、アイスキャンモジュールロジックおよびメモリ１００１、ならびに４チャネルトランシーバ９０７を有し得る。トランシーバクワッド９０７は、本明細書において上述したように、アイスキャン回路３０２を含み得る。図９のファームウェアＲＡＭ９０４は、この図では明確にするために示されていないがエンベデッドマイクロプロセッサ１００３に結合されてもよい。
【００７９】
ロジックおよびメモリ１００１は、ステートマシンおよびメモリ９０６としてのインスタンス化ロジックではなく、ハードマクロブロックであり得る。ロジックおよびメモリ１００１のロジックは、トランシーバクワッド９０７の通信レーン０から３にそれぞれ結合されるとともにマイクロプロセッサ１００３に結合され得る。ロジックおよびメモリ１００１はデータ記憶メモリを含み得、これはマイクロプロセッサ１００３に結合されたデュアルポートＲＡＭ１００２であり得る。
【００８０】
この構成によって遠隔診断が可能になる。たとえば、展開されたシステムが予想外に高いエラーレートを示す場合、受信シリアルリンク上のデータの性能が遠隔スキャンを行うことによって診断され得る。リモートホストＰＣ９０１は、マイクロプロセッサ１００３などのエンベデッドプロセッサを、スキャンを開始して結果をインターネット１００４を介してそのようなホストシステムに返すように促し得る。
【００８１】
図１１は例示的なコンピュータシステム１１００を示すブロック図である。コンピュータシステム１１００は、陰極線管（「ＣＲＴ」）ディスプレイ、プラズマディスプレイ、液晶ディスプレイ（「ＬＣＤ」）、プロジェクタなどの１つ以上の表示装置１１０１に、かつキーボードおよびカーソルポインティングデバイスなどの１つ以上の入力装置１１０６に結合されたプログラムドコンピュータ１１１０を含み得る。コンピュータシステムの他の公知の構成を用いてもよい。コンピュータシステム１１００は単独で、または１つ以上の他のコンピュータシステム１１００とネットワーク化されて、情報取扱システムを提供し得る。
【００８２】
プログラムドコンピュータ１１１０は、公知のプラットフォームの中でもとりわけ、Ｍａｃ  ＯＳ（登録商標）、Ｊａｖａ（登録商標）仮想マシン、リアルタイムＯＳ  Ｌｉｎｕｘ（登録商標）、Ｓｏｌａｒｉｓ（登録商標）、ｉＯＳ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）ＬｉｎｕｘベースＯＳ、Ｕｎｉｘ（登録商標）、またはＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムであり得る公知のオペレーティングシステムでプログラムされ得る。プログラムドコンピュータ１１１０は、中央処理装置（ＣＰＵ）１１０４、メモリ１１０５、および入力／出力（「Ｉ／Ｏ」）インターフェイス１１０２を含む。ＣＰＵ１１０４は、たとえばＩＢＭ社、Ｉｎｔｅｌ社、ＡＲＭ社、またはＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ社から入手可能な、当該技術において公知のマイクロプロセッサの一種であり得る。サポート回路（図示せず）は、キャッシュ、電源、クロック回路、データレジスタ等を含み得る。メモリ１１０５はＣＰＵ１１０４に直接結合され得るか、またはＩ／Ｏインターフェイス１１０２を介して結合され得る。オペレーティングシステムの少なくとも一部はメモリ１１０５内に配置され得る。メモリ１１０５は、フラッシュメモリ、ダイナミックランダムアクセスメモリを含むランダムアクセスメモリ、読出専用メモリ、磁気抵抗読出／書込メモリ、光学読出／書込メモリ、キャッシュメモリ、磁気読出／書込メモリなど、および以下に記載されるような他の非一時的な信号ベアリング媒体の１つ以上を含み得る。
【００８３】
Ｉ／Ｏインターフェイス１１０２は、公知の回路の中でもとりわけ、チップセットチップ、グラフィックプロセッサ、および／またはドーターカードを含み得る。ドーターカードの例には、公知の回路の中でもとりわけ、ネットワークインターフェイスカード（「ＮＩＣ」）、ディスプレイインターフェイスカード、モデムカード、およびユニバーサルシリアルバス（「ＵＳＢ」）インターフェイスカードが含まれ得る。ゆえに、Ｉ／Ｏインターフェイス１１０２は、データファイルなどのデータを送受信するように適合された従来のキーボード、ネットワーク、マウス、ディスプレイ、プリンタ、およびインターフェイス回路に結合され得る。プログラムドコンピュータ１１１０は、たとえば会社のイントラネットおよび／またはインターネットなどの従来のネットワークインフラストラクチャを介して多数のクライアントコンピュータ、サーバコンピュータ、またはそのいずれかの組合せに結合され、インターフェイス生成の分配使用を可能にし得る。
【００８４】
メモリ１１０５は、本明細書の１つ以上の実施形態に従う処理を実現してプログラム製品１１２０を提供する１つ以上のプログラムまたはデータのすべてまたは一部を記憶し得る。ゆえに、たとえば、プログラムドコンピュータ１１１０はプログラム製品１１２０においてフロー２００および８００の一方または両方でプログラムされ、汎用コンピュータを専用プログラムドコンピュータ１１１０に変換し得る。たとえば、汎用コンピュータはロジックアナライザであるようにプログラムされ得、フロー２００および８００の一方または両方がそのアイスキャンモジュールである。また、当業者は、本明細書の１つ以上の実施形態がハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せにおいて実現され得ることを認識するであろう。そのような実現例は、さまざまなプログラムおよび専用ハードウェアまたはプログラマブルハードウェアを独立して実行する多数のプロセッサまたはプロセッサコアを含み得る。
【００８５】
プログラム製品１１２０の１つ以上のプログラム、およびその文書は、本明細書の実施形態の機能を規定し得、（ｉ）書込不可能な記憶媒体（たとえばＣＤ−ＲＯＭドライブもしくはＤＶＤドライブによって読取可能なＣＤ−ＲＯＭもしくはＤＶＤ−ＲＯＭディスクなどのコンピュータ内の読出専用メモリデバイス）上に永続的に記憶された情報、または（ii）書込可能な記憶媒体（たとえばディスケットドライブもしくはフラッシュドライブ（内部ハードドライブもしくは外部サムドライブ／メモリスティック）もしくはハードディスクドライブもしくは読出／書込可能なＣＤもしくは読出／書込可能なＤＶＤ内のフロッピーディスク）上に記憶された変更可能な情報を含むがこれらに限定されないコードを有するコンピュータ読取可能な媒体などのさまざまな非一時的な信号ベアリング媒体上に含まれ得る。上記の実施形態は具体的には、インターネットおよび他のネットワークからダウンロードされた情報を含む。そのような非一時的な信号ベアリング媒体は、本明細書の機能を指示するコンピュータ読取可能な命令を搬送する際に、本明細書の実施形態を表わす。
【００８６】
例示的な方法は概してサンプルオフセット調整に関する。そのような方法では、非同期入力と関連付けられる波形エッジがレシーバに与えられる。波形エッジは調整範囲にわたって密に分布している。第１の種類とは異なる第２の種類の複数のサンプル位置の各々について第１の種類の第１のサンプル位置における波形エッジの密な分布からのサンプルを求めて調整範囲の少なくとも一部がスキャンされて、調整範囲の少なくとも一部にわたる複数のサンプル位置の各々についてサンプルカウントのためのエラーカウントが得られる。第１のサンプル位置は固定されており、複数のサンプル位置からの第２のサンプル位置は調整範囲の少なくとも一部にわたって動かされる。スキャンするステップは、複数のサンプル位置の各々でサンプルカウントのための複数のサンプリングサイクルを実行するステップを含む。スキャンするステップから閾値ビットエラーレート（「ＢＥＲ」）が特定される。基準位置から閾値ＢＥＲにおけるサンプルオフセットの量および方向が求められる。サンプルオフセットの量および方向に応答して第１のサンプル位置または第２のサンプル位置が調整されてサンプルオフセットが少なくとも減少する。
【００８７】
そのような方法では、以下の１つ以上が当てはまり得る。調整範囲は単位区間であり得る。調整範囲は時間または位相を単位とし得る。波形エッジは、単位区間の１６分の１以下の分数だけ間隔が空けられ得る。分数は、レシーバの位相補間器の分解能と関連付けられ得る。第１の種類の第１のサンプル位置はデータサンプル位置であり得、第２の種類の第２のサンプル位置はアイスキャンサンプル位置であり得、複数のサンプル位置はアイスキャンサンプル位置であり得、サンプルオフセットはアイスキャンサンプル位置−データサンプル位置オフセットであり得る。調整するステップは、アイスキャンサンプル位置について水平方向のオフセットを調整してアイスキャンサンプル位置−データサンプル位置オフセットを較正して除外するステップを含み得る。特定するステップは、複数のサンプル位置の各々で実行される複数のサンプリングサイクルについて複数のＢＥＲから最小ＢＥＲを見つけるための検索を実行するステップを含み得る。複数のサンプル位置はすべて、ゼロのアイスキャン垂直位置についてのものであり得る。複数のサンプル位置の各々についてのスキャンのためのサンプルカウントは、ＢＥＲターゲットについてのものであり得る。方法はさらに、レシーバのクロックデータリカバリ（「ＣＤＲ」）モジュール用のホールド信号をアサートしてＣＤＲモジュールをアンロックするステップを含み得る。第１の種類の第１の位置はアイスキャンサンプル位置であり得、第２の種類の第２の位置はデータサンプル位置であり得、複数のサンプル位置はデータサンプル位置であり得、サンプルオフセットはデータサンプル位置−アイスキャンサンプル位置オフセットであり得る。サンプルオフセットは、アイスキャンの垂直方向における電圧差であり得る。調整範囲は電圧振幅範囲であり得る。方法はさらに、レシーバに与えられる同期入力についてレシーバからリカバリデータを得るステップと、リカバリデータについて選択されたＢＥＲについてアイエッジをトラックして、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値を求めるステップと、右エッジ位置値と左エッジ位置値との間として平均値を求めるステップと、平均値に応答して第１のサンプル位置を動かすステップとを含み得る。
【００８８】
別の例示的な方法は概してデータサンプル位置調整に関する。そのような方法では、レシーバに与えられる同期入力についてレシーバからリカバリデータが得られる。リカバリデータについて選択されたビットエラーレートについてアイエッジがトラックされて、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値が求められる。右エッジ位置値と左エッジ位置値との間として平均値が求められる。平均値に応答してデータサンプル位置が動かされる。
【００８９】
例示的な装置は概してサンプルオフセット調整に関する。レシーバは、非同期入力についての波形エッジの密な分布をレシーバに与えるクロックデータリカバリモジュールを含む。波形エッジは調整範囲にわたって密に分布している。レシーバは、第１のサンプル位置および第２のサンプル位置における波形エッジの密な分布からのサンプルを求めて、サンプルのサンプルカウントについてのエラーカウントを与えるアイスキャン回路を含む。アイスキャンモジュールがレシーバに結合され、第１の種類とは異なる第２の種類の複数のサンプル位置の各々について第１の種類の第１のサンプル位置におけるサンプルを求めて調整範囲の少なくとも一部をスキャンして、複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントを得るように構成される。第１のサンプル位置は固定されている。アイスキャン回路は、調整範囲の少なくとも一部にわたる移動について複数のサンプル位置からの第２のサンプル位置をインクリメントするアイスキャンモジュールに結合されている。アイスキャン回路は、複数のサンプル位置の各々でサンプルカウントのための複数のサンプルを取るアイスキャンモジュールに結合されている。アイスキャンモジュールはさらに、スキャンから閾値ビットエラーレート（ＢＥＲ）を特定し、基準位置から閾値ＢＥＲにおけるサンプルオフセットの量および方向を求め、サンプルオフセットの量および方向に応答して第１のサンプル位置または第２のサンプル位置を調整してサンプルオフセットを少なくとも減少させるように構成される。
【００９０】
そのような装置では、以下の１つ以上が当てはまり得る。第１の種類の第１のサンプル位置はデータサンプル位置であり得、第２の種類の第２のサンプル位置はアイスキャンサンプル位置であり得、複数のサンプル位置はアイスキャンサンプル位置であり得、サンプルオフセットはアイスキャンサンプル位置−データサンプル位置オフセットであり得る。第１の種類の第１の位置はアイスキャンサンプル位置であり得、第２の種類の第２の位置はデータサンプル位置であり得、複数のサンプル位置はデータサンプル位置であり得、サンプルオフセットはデータサンプル位置−アイスキャンサンプル位置オフセットであり得る。アイスキャンモジュールは、同期入力についてレシーバからリカバリデータを得るようにレシーバに結合され得、アイスキャンモジュールは、リカバリデータについて選択されたＢＥＲについてアイエッジをトラックして右エッジ位置値および左エッジ位置値を求め、右エッジ位置値と左エッジ位置値との間として平均値を求め、平均値に応答して第１のサンプル位置を動かすように構成され得る。
【００９１】
上記では例示的な装置および／または方法を説明しているが、本明細書に記載される１つ以上の局面に従う他の例およびさらなる例が、以下の特許請求の範囲およびその均等物によって決定される本明細書の範囲から逸脱することなく考案され得る。ステップを列挙している特許請求の範囲はステップのいずれの順序も示唆していない。商標はそれぞれの所有者の財産である。
【図１】
2016529840.tif 000003
【図２】
2016529840.tif 000004
【図３】
2016529840.tif 000005
【図４】
2016529840.tif 000006
【図５】
2016529840.tif 000007
【図６】
2016529840.tif 000008
【図７】
2016529840.tif 000009
【図８】
2016529840.tif 000010
【図９】
2016529840.tif 000011
【図１０】
2016529840.tif 000012
【図１１】
2016529840.tif 000013
【手続補正書】
【提出日】平成26年9月19日(2014.9.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
非同期入力と関連付けられる波形エッジをレシーバに与えるステップを備える方法であって、
前記波形エッジは調整範囲にわたって分布しており、前記方法はさらに、
前記調整範囲の少なくとも一部をスキャンして、第１の種類とは異なる第２の種類の複数のサンプル位置の各々について前記第１の種類の第１のサンプル位置における波形エッジの前記分布からのサンプルを得て、前記調整範囲の少なくとも前記一部にわたる前記複数のサンプル位置の各々についてエラーカウントを得るステップを備え、
前記調整範囲は入力ビットの単位区間であり、
前記波形エッジは、前記単位区間の１６分の１以下の分数だけ間隔が空けられて自身の前記分布を提供し、
前記第１の種類の前記第１のサンプル位置はデータサンプル位置であり、
前記第２の種類の第２のサンプル位置はアイスキャンサンプル位置であり、
前記複数のサンプル位置はアイスキャンサンプル位置であり、
前記サンプルオフセットはアイスキャンサンプル位置−データサンプル位置オフセットであり、
前記第１のサンプル位置は固定されており、
前記複数のサンプル位置からの前記第２のサンプル位置は、前記調整範囲の少なくとも前記一部にわたって動かされ、
前記スキャンするステップは、前記複数のサンプル位置の各々でサンプルカウントに対応する複数のサンプリングサイクルを実行するステップを含み、前記方法はさらに、
前記スキャンするステップから閾値ビットエラーレート（「ＢＥＲ」）を特定するステップと、
基準位置から前記閾値ＢＥＲへの前記サンプルオフセットの量および方向を求めるステップと、
前記サンプルオフセットの前記量および前記方向に応答して前記第１のサンプル位置または前記第２のサンプル位置を調整して前記サンプルオフセットを少なくとも減少させるステップとを備える、方法。
【請求項２】
前記調整範囲は時間または位相を単位とする、請求項１に記載の方法。
【請求項３】
前記分数は、前記レシーバの位相補間器の分解能と関連付けられている、請求項１または２に記載の方法。
【請求項４】
前記調整するステップは、前記アイスキャンサンプル位置について水平方向のオフセットを調整して前記アイスキャンサンプル位置−データサンプル位置オフセットを較正して除外するステップを含む、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記特定するステップは、前記複数のサンプル位置の各々で実行される前記複数のサンプリングサイクルについて複数のＢＥＲから最小ＢＥＲを見つけるための検索を実行するステップを備える、請求項４に記載の方法。
【請求項６】
前記レシーバのクロックデータリカバリ（「ＣＤＲ」）モジュール用のホールド信号をアサートして前記ＣＤＲモジュールをアンロックするステップをさらに備える、請求項４または５に記載の方法。
【請求項７】
前記レシーバに与えられる同期入力について前記レシーバからリカバリデータを得るステップと、
前記リカバリデータについて選択されたＢＥＲについてアイエッジをトラックして、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値を求めるステップと、
前記右エッジ位置値と前記左エッジ位置値との間として平均値を求めるステップと、
前記平均値に応答して前記第１のサンプル位置を動かすステップとをさらに備える、請求項１から６のいずれか１項に記載の方法。
【国際調査報告】
2016529840.tif 000014
2016529840.tif 000015
2016529840.tif 000016