図面 (/)

技術 オフセット較正および適応チャネルデータサンプル位置決め

出願人 ザイリンクスインコーポレイテッド
発明者 ジェンキンス,マイケル・オーシェイ,チェン-シアン
出願日 2014年4月9日 (6年8ヶ月経過) 出願番号 2016-538909
公開日 2016年9月23日 (4年3ヶ月経過) 公開番号 2016-529840
状態 特許登録済
技術分野 デジタル伝送方式における同期
主要キーワード 固定基準位置 低速動作用 スルーイング 基準サンプリング 一致シーケンス カウント差 プログラマブルハードウェア コンプレックスプログラマブルロジックデバイス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年9月23日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (12)

課題・解決手段

サンプルオフセット調整の方法は、非同期入力と関連付けられるエッジレシーバに与えるステップ(201)を含む。波形エッジ調整範囲にわたって密に分布している。サンプルを求めて調整範囲の少なくとも一部がスキャンされてエラーカウントが得られる(202)。第1のサンプル位置は固定されており、第2のサンプル位置は調整範囲の少なくとも一部にわたって動かされる。スキャンするステップから閾値ビットエラーレート(「BER」)が特定される(203)。基準位置から閾値BERにおけるサンプルオフセットの量および方向が求められる(204)。サンプルオフセットの量および方向に応答して第1のサンプル位置または第2のサンプル位置が調整され、サンプルオフセットが少なくとも減少する(205)。

概要

背景

背景
マルチギガビットシリアルデータトランシーバの従来のクロックデータリカバリ(「CDR」)モジュールは、等化後波形エッジの中間位置にクロックアライメントし得る。データは、ビット期間の半分などの、この中間位置がクロックにアライメントされた後の固定時間サンプリングされ得る。しかし、このサンプル点は、(a)エッジサンプラデータサンプラとの間のクロック分配の変動によって、データサンプル点が等化波形に対して予測不能に動き得る、かつ(b)通信チャネルの特性またはエッジ分布の等化スキューが予測不能に変化して、そのようなスキュー分配ロングテール上に低確率ビットエラー引起こし得る、の1つ以上により、最善ではない場合がある。

したがって、データをリカバリするためのマージンを増加させるサンプリングを提供することが望ましく、有用である。

概要

サンプルオフセット調整の方法は、非同期入力と関連付けられるエッジをレシーバに与えるステップ(201)を含む。波形エッジ調整範囲にわたって密に分布している。サンプルを求めて調整範囲の少なくとも一部がスキャンされてエラーカウントが得られる(202)。第1のサンプル位置は固定されており、第2のサンプル位置は調整範囲の少なくとも一部にわたって動かされる。スキャンするステップから閾値ビットエラーレート(「BER」)が特定される(203)。基準位置から閾値BERにおけるサンプルオフセットの量および方向が求められる(204)。サンプルオフセットの量および方向に応答して第1のサンプル位置または第2のサンプル位置が調整され、サンプルオフセットが少なくとも減少する(205)。

目的

したがって、データをリカバリするためのマージンを増加させるサンプリングを提供する

効果

実績

技術文献被引用数
1件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

非同期入力と関連付けられる波形エッジレシーバに与えるステップを備える方法であって、前記波形エッジは調整範囲にわたって密に分布しており、前記方法はさらに、第1の種類とは異なる第2の種類の複数のサンプル位置の各々について前記第1の種類の第1のサンプル位置における波形エッジの密な前記分布からのサンプルを求めて前記調整範囲の少なくとも一部をスキャンして、前記調整範囲の少なくとも前記一部にわたる前記複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントを得るステップを備え、前記第1のサンプル位置は固定されており、前記複数のサンプル位置からの第2のサンプル位置は、前記調整範囲の少なくとも前記一部にわたって動かされ、前記スキャンするステップは、前記複数のサンプル位置の各々で前記サンプルカウントのための複数のサンプリングサイクルを実行するステップを含み、前記方法はさらに、前記スキャンするステップから閾値ビットエラーレート(「BER」)を特定するステップと、基準位置から前記閾値BERにおけるサンプルオフセットの量および方向を求めるステップと、前記サンプルオフセットの前記量および前記方向に応答して前記第1のサンプル位置または前記第2のサンプル位置を調整して前記サンプルオフセットを少なくとも減少させるステップとを備える、方法。

請求項2

前記調整範囲は単位区間である、請求項1に記載の方法。

請求項3

前記調整範囲は時間または位相を単位とする、請求項1に記載の方法。

請求項4

前記波形エッジは、前記単位区間の16分の1以下の分数だけ間隔が空けられている、請求項2に記載の方法。

請求項5

前記分数は、前記レシーバの位相補間器分解能と関連付けられている、請求項1から4のいずれか1項に記載の方法。

請求項6

前記第1の種類の前記第1のサンプル位置はデータサンプル位置であり、前記第2の種類の前記第2のサンプル位置はアイスキャンサンプル位置であり、前記複数のサンプル位置はアイスキャンサンプル位置であり、前記サンプルオフセットはアイスキャンサンプル位置−データサンプル位置オフセットである、請求項1から5のいずれか1項に記載の方法。

請求項7

前記調整するステップは、前記アイスキャンサンプル位置について水平方向のオフセットを調整して前記アイスキャンサンプル位置−データサンプル位置オフセットを較正して除外するステップを含む、請求項6に記載の方法。

請求項8

前記特定するステップは、前記複数のサンプル位置の各々で実行される前記複数のサンプリングサイクルについて複数のBERから最小BERを見つけるための検索を実行するステップを備える、請求項6または7に記載の方法。

請求項9

前記複数のサンプル位置はすべて、ゼロのアイスキャン垂直位置についてのものである、請求項6から8のいずれか1項に記載の方法。

請求項10

前記複数のサンプル位置の各々についての前記スキャンのための前記サンプルカウントは、BERターゲットについてのものである、請求項6から9のいずれか1項に記載の方法。

請求項11

前記レシーバのクロックデータリカバリ(「CDR」)モジュール用のホールド信号アサートして前記CDRモジュールをアンロックするステップをさらに備える、請求項6から10のいずれか1項に記載の方法。

請求項12

前記第1の種類の前記第1の位置はアイスキャンサンプル位置であり、前記第2の種類の前記第2の位置はデータサンプル位置であり、前記複数のサンプル位置はデータサンプル位置であり、前記サンプルオフセットはデータサンプル位置−アイスキャンサンプル位置オフセットである、請求項1から5のいずれか1項に記載の方法。

請求項13

前記サンプルオフセットは、アイスキャンの垂直方向における電圧差である、請求項1から5のいずれか1項に記載の方法。

請求項14

前記調整範囲は電圧振幅範囲である、請求項1に記載の方法。

請求項15

前記レシーバに与えられる同期入力について前記レシーバからリカバリデータを得るステップと、前記リカバリデータについて選択されたBERについてアイエッジトラックして、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値を求めるステップと、前記右エッジ位置値と前記左エッジ位置値との間として平均値を求めるステップと、前記平均値に応答して前記第1のサンプル位置を動かすステップとをさらに備える、請求項1から14のいずれか1項に記載の方法。

技術分野

0001

以下の説明は集積回路装置(「IC」)に関する。より特定的には、以下の説明は、通信チャネルに結合されたICについてのオフセット較正および適応チャネルデータサンプル位置決めに関する。

背景技術

0002

背景
マルチギガビットシリアルデータトランシーバの従来のクロックデータリカバリ(「CDR」)モジュールは、等化後波形エッジの中間位置にクロックアライメントし得る。データは、ビット期間の半分などの、この中間位置がクロックにアライメントされた後の固定時間サンプリングされ得る。しかし、このサンプル点は、(a)エッジサンプラデータサンプラとの間のクロック分配の変動によって、データサンプル点が等化波形に対して予測不能に動き得る、かつ(b)通信チャネルの特性またはエッジ分布の等化スキューが予測不能に変化して、そのようなスキュー分配ロングテール上に低確率ビットエラー引起こし得る、の1つ以上により、最善ではない場合がある。

0003

したがって、データをリカバリするためのマージンを増加させるサンプリングを提供することが望ましく、有用である。

課題を解決するための手段

0004

概要
方法は概してサンプルオフセット調整に関する。そのような方法では、非同期入力と関連付けられる波形エッジレシーバに与えられる。波形エッジは調整範囲にわたって密に分布している。第1の種類とは異なる第2の種類の複数のサンプル位置の各々について第1の種類の第1のサンプル位置における波形エッジの密な分布からのサンプルを求めて調整範囲の少なくとも一部がスキャンされて、調整範囲の少なくとも一部にわたる複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントが得られる。第1のサンプル位置は固定されており、複数のサンプル位置からの第2のサンプル位置は調整範囲の少なくとも一部にわたって動かされる。スキャンするステップは、複数のサンプル位置の各々でサンプルカウントのための複数のサンプリングサイクルを実行するステップを含む。スキャンするステップから閾値ビットエラーレート(「BER」)が特定される。基準位置から閾値BERにおけるサンプルオフセットの量および方向が求められる。サンプルオフセットの量および方向に応答して第1のサンプル位置または第2のサンプル位置が調整され、サンプルオフセットが少なくとも減少する。

0005

別の方法は概してデータサンプル位置調整に関する。そのような方法では、レシーバに与えられる同期入力についてレシーバからリカバリデータが得られる。リカバリデータについて選択されたビットエラーレートについてアイエッジがトラックされて、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値が求められる。右エッジ位置値と左エッジ位置値との間として平均値が求められる。平均値に応答してデータサンプル位置が動かされる。

0006

装置は概してサンプルオフセット調整に関する。レシーバは、非同期入力についての波形エッジの密な分布をレシーバに与えるクロックデータリカバリモジュールを含む。波形エッジは調整範囲にわたって密に分布している。レシーバは、第1のサンプル位置および第2のサンプル位置における波形エッジの密な分布からのサンプルを求めて、サンプルのサンプルカウントについてのエラーカウントを提供するアイスキャン回路を含む。アイスキャンモジュールはレシーバに結合され、第1の種類とは異なる第2の種類の複数のサンプル位置の各々について第1の種類の第1のサンプル位置におけるサンプルを求めて調整範囲の少なくとも一部をスキャンして、複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントを得るように構成される。第1のサンプル位置は固定されている。アイスキャン回路は、調整範囲の少なくとも一部にわたる移動について複数のサンプル位置からの第2のサンプル位置をインクリメントするアイスキャンモジュールに結合されている。アイスキャン回路は、複数のサンプル位置の各々でサンプルカウントのための複数のサンプルを取るアイスキャンモジュールに結合されている。アイスキャンモジュールはさらに、スキャンから閾値ビットエラーレート(BER)を特定し、基準位置から閾値BERにおけるサンプルオフセットの量および方向を求め、サンプルオフセットの量および方向に応答して第1のサンプル位置または第2のサンプル位置を調整してサンプルオフセットを少なくとも減少させるように構成される。

0007

添付の図面は例示的な装置および/または方法を示す。しかし、添付の図面は特許請求の範囲を限定すると解釈すべきでなく、説明および理解のために過ぎない。

図面の簡単な説明

0008

例示的な列状フィールドプログラマブルゲートアレイ(「FPGA」)アーキテクチャを示す簡略化されたブロック図である。
例示的なオフセット較正フローを示すフロー図である。
例示的なトランシーバを示すブロック図である。
図3のレシーバに与えられる同期データ入力についての複数の例示的な波形信号対を示す信号図である。
図3のレシーバに与えられる非同期データ入力についての複数の例示的な波形信号対を示す信号図である。
例示的なアイスキャン−データサンプル水平オフセットプロットを示すグラフ図である。
オフセット調整の前後の図6の例についての例示的な「バスタブ」プロットを示すグラフ図である。
例示的なチャネル適応データサンプル位置決めフローを示すフロー図である。
例示的なレシーバ側通信ステムを示すブロック図である。
別の例示的なレシーバ側通信システムを示すブロック図である。
例示的なコンピュータシステムを示すブロック図である。

実施例

0009

詳細な説明
以下の説明では、本明細書に記載される具体例のより完全な説明を与えるために多数の具体的詳細が示される。しかし、当業者にとっては、これらの例の1つ以上の他の例および/または変形が以下に与えられるすべての具体的詳細がなくても実践され得ることが明らかになるはずである。他の例では、本明細書中の例の説明を曖昧にするのを避けるために周知の特徴は詳細に記載されていない。図示を簡単にするために、同じ項目を指すのに異なる図において同じ番号ラベルを用いているが、代替例では項目は異なり得る。

0010

いくつかの図で例示的に図示する例を説明する前に、一般的な導入部がさらなる理解のために与えられる。一般に、通信チャネルまたはレーンを介して与えられるデータと関連付けられるジッタまたはノイズは、データアイ内のそのようなデータのリカバリのためのマージンに影響し得る。アイスキャンを用いて、そのようなデータアイに対するデータの相対的な位置が求められ得る。しかし、アイスキャンサンプル位置とデータサンプル位置との間の水平平行または垂直方向のオフセットを説明するために、オフセット調整がなされ得る。以下により詳細に説明されるように、そのようなオフセットを少なくとも減少させてエラーレートを減少させるオフセット較正フローが用いられ得る。さらに、データドリフトは、オフセット較正の後であっても、データリカバリのためのマージンを高めるようにデータアイが位置決めされない原因となり得る。以下により詳細に説明されるように、そのようなマージンを高めるチャネル適応データサンプル位置決めフローが用いられ得る。データアイの中間エッジ位置とその中のデータサンプルとの間の良好に制御された間隔を有することは、データサンプル位置を最適に調整するように、またはそのようなデータアイ内のマージンを少なくとも増加させるように適応的に求められるデータアイエッジ分布の低確率テールを有することによって提供され得る。

0011

上記の一般的な理解を念頭に置いて、オフセット較正フローおよびチャネル適応データサンプル位置決めフローについてのさまざまな構成を以下に概略的に説明する。

0012

上述の例の1つ以上が特定の種類のICを用いて本明細書に記載されているため、そのようなICの詳細な説明が以下に与えられる。しかし、他の種類のICも本明細書に記載される技術の1つ以上から利益を受け得ることを理解すべきである。

0013

プログラマブルロジックデバイス(「PLD」)は、特定された論理機能を実行するようにプログラム可能な周知の種類の集積回路である。PLDの一種であるフィールドプログラマブルゲートアレイ(「FPGA」)は典型的に、プログラマブルタイルアレイを含む。これらのプログラマブルタイルは、たとえば、入力/出力ブロック(「IOB」)、コンフィギュラブルロジックブロック(「CLB」)、専用ランダムアクセスメモリブロック(「BRAM」)、乗算器デジタル信号処理ブロック(「DSP」)、プロセッサクロックマネージャ遅延ロックループ(「DLL」)などを含み得る。本明細書で用いられる「含む」および「含んで」は限定されずに含むことを意味する。

0014

各々のプログラマブルタイルは典型的に、プログラマブルインターコネクトおよびプログラマブルロジックの両者を含む。プログラマブルインターコネクトは典型的に、プログラマブルインターコネクトポイント(「PIP」)によって相互接続された異なる長さの多数のインターコネクト配線を含む。プログラマブルロジックは、たとえば、関数生成器レジスタ、算術論理などを含み得るプログラマブル素子を用いてユーザ設計ロジックを実現する。

0015

プログラマブルインターコネクトおよびプログラマブルロジックは典型的に、プログラマブル素子がどのように構成されるかを規定する内部構成メモリセルコンフィギュレーションデータストリームをロードすることによってプログラムされる。コンフィギュレーションデータは外部デバイスによりメモリから(たとえば外部PROMから)読み出されたりFPGAに書き込まれたりし得る。そうして、個別のメモリセル集合的な状態がFPGAの機能を決める。

0016

別の種類のPLDは、コンプレックスプログラマブルロジックデバイス、すなわちCPLDである。CPLDは、共に接続されるとともに、インターコネクトスイッチマトリックスによって入力/出力(「I/O」)リソースに接続された2つ以上の「機能ブロック」を含む。CPLDの各々の機能ブロックは、プログラマブルロジックアレイ(「PLA」)およびプログラマブルアレイロジック(「PAL」)デバイスで用いられるものと同様の2レベルAND/OR構造を含む。CPLDにおいて、コンフィギュレーションデータは典型的に不揮発性メモリ内チップ上に記憶される。いくつかのCPLDでは、コンフィギュレーションデータは不揮発性メモリ内のチップ上に記憶され、次に初期コンフィギュレーションプログラミングシーケンスの一部として揮発性メモリダウンロードされる。

0017

これらのプログラマブルロジックデバイス(「PLD」)のすべてについて、デバイスの機能性は、その目的のためにデバイスに与えられるデータビットによって制御される。データビットは、揮発性メモリ(たとえばFPGAおよびいくつかのCPLDにおけるようなスタティックメモリセル)、不揮発性メモリ(たとえばいくつかのCPLDにおけるようなFLASHメモリ)、またはいずれの他の種類のメモリセルにも記憶可能である。

0018

他のPLDは、デバイス上のさまざまな素子をプログラマブルに相互接続する金属層などの処理層を適用することによってプログラムされる。これらのPLDはマスクプログラマブルデバイスとして公知である。PLDは、たとえば、ヒューズまたはアンチヒューズ技術を用いる他のやり方で実現することもできる。「PLD」および「プログラマブルロジックデバイス」という用語はこれらの例示的なデバイスを含むがこれらに限定されるものではなく、部分的にしかプログラマブルでないデバイスも包含する。たとえば、1つの種類のPLDは、ハードコードされたトランジスタロジックとハードコードされたトランジスタロジックをプログラマブルに相互接続するプログラマブルスイッチファブリックとの組合せを含む。

0019

上述のように、高度なFPGAは、アレイ内のいくつかの異なる種類のプログラマブルロジックブロックを含み得る。たとえば、図1は、マルチギガビットトランシーバ(「MGT」)101、コンフィギュラブルロジックブロック(「CLB」)102、ランダムアクセスメモリブロック(「BRAM」)103、入力/出力ブロック(「IOB」)104、コンフィギュレーションおよびクロッキングロジック(「CONFIG/CLOCKS」)105、デジタル信号処理ブロック(「DSP」)106、専用入力/出力ブロック(「I/O」)107(たとえばコンフィギュレーションポートおよびクロックポート)、ならびにデジタルクロックマネージャ、アナログ−デジタル変換器システムモニタロジックなどの他のプログラマブルロジック108を含む多数の異なるプログラマブルタイルを含むFPGAアーキテクチャ100を示す。いくつかのFPGAは専用プロセッサブロック(「PROC」)110も含む。

0020

いくつかのFPGAにおいて、各々のプログラマブルタイルは、各々の隣接するタイル中の対応のインターコネクト素子へのおよびそれからの標準化された接続部を有するプログラマブルインターコネクト素子(「INT」)111を含む。したがって、プログラマブルインターコネクト素子は、図示されるFPGAのためのプログラマブルインターコネクト構造を共に実現する。プログラマブルインターコネクト素子111は、図1の上部に含まれる例によって示されるように、同じタイル内にプログラマブルロジック素子へのおよびそれからの接続部も含む。

0021

たとえば、CLB102は、ユーザロジックを実現するようにプログラム可能なコンフィギュラブルロジック素子(「CLE」)112の他に単一のプログラマブルインターコネクト素子(「INT」)111を含み得る。BRAM103は、1つ以上のプログラマブルインターコネクト素子に加えてBRAMロジック素子(「BRL」)113を含み得る。典型的に、タイルに含まれるインターコネクト素子の数はタイルの高さに依存する。図示される実施形態では、BRAMタイルは5つのCLBと同じ高さを有するが、他の数(たとえば4つ)を用いることも可能である。DSPタイル106は適切な数のプログラマブルインターコネクト素子に加えてDSPロジック素子(「DSPL」)114を含み得る。IOB104は、たとえば、プログラマブルインターコネクト素子111の1つのインスタンスに加えて入力/出力ロジック素子(「IOL」)115の2つのインスタンスを含み得る。当業者には明らかなように、たとえばI/Oロジック素子115に接続される実際のI/Oパッドは典型的に、入力/出力ロジック素子115の領域に閉じ込められていない。

0022

図示される実施形態では、(図1に示される)ダイの中央近くの水平方向の領域がコンフィギュレーション、クロックおよび他の制御ロジックのために用いられる。この水平方向の領域または列から延在する垂直方向の列109は、FPGAの幅に亘ってクロックおよびコンフィギュレーション信号を分配するのに用いられる。

0023

図1に図示されるアーキテクチャを利用するいくつかのFPGAは、FPGAの大きな部分を構成する規則的な列状構造を分断する付加的なロジックブロックを含む。付加的なロジックブロックはプログラマブルブロックおよび/または専用ロジックであり得る。たとえば、プロセッサブロック110は、CLBおよびBRAMのいくつかの列に跨っている。

0024

なお、図1は例示的なFPGAアーキテクチャのみを図示することが意図されている。たとえば、1行の中のロジックブロックの数、行の相対的な幅、行の数および順番、行に含まれるロジックブロックの種類、ロジックブロックの相対的なサイズ、ならびに図1の上部に含まれるインターコネクト/ロジック実現例は純粋に例示的なものである。たとえば、実際のFPGAでは、CLBの1つよりも多くの隣接する行は典型的にCLBが現れる場所であればどこでも含まれて、ユーザロジックの効率的な実現を容易にするが、隣接するCLB行の数はFPGAの全体的なサイズと共に変化する。

0025

以下の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット上の動作のアルゴリズムおよび記号表現の観点で提示される。これらのアルゴリズム的記述および表現は、データ処理技術の当業者が自身の作業の趣旨を他の当業者に最も効果的に伝えるために用いる手段である。アルゴリズムはここでは一般に、所望の結果をもたらすステップの自己一致シーケンスであると考えられる。ステップは、物理量の物理的操作を伴うステップである。通常、必ずしもそうではないが、これらの量は、記憶、転送、組合せ、比較、およ別の方法で操作可能な光学電気または磁気信号の形態を取る。場合によっては、主に一般的な用法のために、これらの信号をビット、値、素子、符号、記号、項、数等と称することが便利であることが分かっている。

0026

しかし、これらおよび同様の用語のすべては適切な物理量と関連付けられるものであり、これらの量に適用される便利なラベルに過ぎないことを念頭に置くべきである。以下の記述から明白であるように特に具体的な指定のない限り、説明全体にわたって、「処理する」または「算出する」または「計算する」または「決定する」または「表示する」などの用語を用いる記述は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表わされるデータを操作して、コンピュータシステムメモリまたはレジスタまたは他のそのような情報記憶装置、伝達もしくは表示装置内の物理量として同様に表わされる他のデータに変換するコンピュータシステム、または同様の電子コンピューティングデバイスの行為および処理を指すことが認識される。

0027

本明細書に記載される概念は、装置、方法、システム、またはコンピュータプログラム製品として具体化され得る。したがって、そのような実施形態の1つ以上は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(とりわけファームウェア常駐ソフトウェア、およびマイクロコードを含む)またはソフトウェアとハードウェアとを組合せた実施形態の形態を取り得、明確にするために、すべてのこれらの実施形態は一般に本明細書において「回路」、「モジュール」、「システム」、または他の好適な用語と称され得る。さらに、そのような実施形態は、コンピュータ使用可能なプログラムコードを有するコンピュータ使用可能な記憶媒体上のコンピュータプログラム製品の形態であり得る。

0028

任意の好適なコンピュータ使用可能またはコンピュータ読取可能な媒体が利用され得る。コンピュータ使用可能またはコンピュータ読取可能な媒体は、たとえば、電子、磁気、光学、電磁赤外、または半導体システム、装置、素子、または伝播媒体であり得るがこれらに限定されない。コンピュータ読取可能な媒体のより具体的な例(包括的でないリスト)は、1本以上の配線を有する電気接続部ポータブルコンピュータディスケットハードディスク、ランダムアクセスメモリ(「RAM」)、読出専用メモリ(「ROM」)、消去可能なプログラマブル読出専用メモリ(「EPROM」もしくはフラッシュメモリ)、光ファイバポータブルコンパクトディスク読出専用メモリ(「CD−ROM」)、光学記憶装置インターネットもしくはイントラネットサポートする媒体などの通信媒体、または磁気記憶装置を含む。コンピュータ使用可能またはコンピュータ読取可能な媒体はさらにはプログラムが印刷される紙または別の好適な媒体であってもよく、プログラムは、たとえば、当該紙または他の媒体の光学スキャンによって電子的に捕捉され、次に必要であれば好適な態様でコンパイル、解釈または他の方法で処理され、次にコンピュータメモリに記憶され得る。

0029

本明細書に記載される概念に従って動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk(登録商標)、C++(登録商標)などのオブジェクト指向プログラマブル言語で書かれ得る。しかし、そのような動作を実行するためのコンピュータプログラムコードは、「C」プログラミング言語または同様のプログラミング言語などの従来の処理プログラミング言語で書かれていてもよい。プログラムコードは、完全にユーザのコンピュータ上で、一部がユーザのコンピュータ上で、スタンドアローンソフトウェアパッケージとして、一部がユーザのコンピュータ上で一部がリモートコンピュータ上で、または全体がリモートコンピュータもしくはサーバ上で実行され得る。後者のシナリオの場合、リモートコンピュータは、ローカルエリアネットワーク(「LAN」)もしくはワイドエリアネットワーク(「WAN」)を介してユーザのコンピュータに接続され得るか、または接続は(たとえばインターネットサービスプロバイダを用いるインターネットを介して)外部コンピュータに対してなされ得る。

0030

本明細書に記載されるシステムおよび方法は、それと関連付けられる動作を実行するための装置に関連し得る。この装置は、特定される目的のために特別に構成され得るか、または汎用コンピュータに記憶されたコンピュータプログラムによって選択的に起動もしくは再構成される当該コンピュータを含み得る。

0031

それにも係わらず、本明細書に提示されるアルゴリズムおよびディスプレイは、いずれの特定のコンピュータまたは他の装置にも本質的に関連していない。さまざまな汎用システムが本明細書中の教示に従うプログラムとともに用いられ得るか、または動作を実行するためのより専用の装置を構成することが便利であることが判明し得る。また、以下の説明はプログラミング言語を参照しているとしても、本明細書に記載される教示を実現するのにさまざまなプログラミング言語のいずれかが用いられ得ることを認識すべきである。

0032

方法、(システムを含む)装置およびコンピュータプログラム製品のフローチャート図示および/またはブロック図を参照して1つ以上の例を以下に説明する。フローチャート図示および/またはブロック図の各ブロック、ならびにフローチャート図示および/またはブロック図のブロックの組合せがコンピュータプログラム命令によって実現され得ることが理解されるであろう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、またはマシンを生成する他のプログラマブルデータ処理装置のプロセッサに与えられ得、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャートおよび/またはブロック図ブロック内に特定された機能/行為を実現するための手段を生成する。これらのコンピュータプログラム命令はコンピュータ読取可能なメモリにも記憶され得、コンピュータ読取可能なメモリは、コンピュータ読取可能なメモリに記憶された命令がフローチャートおよび/またはブロック図ブロック内に特定された機能/行為を実現する命令手段を含む製品を生成するように、コンピュータまたは他のプログラマブルデータ処理装置を特定の態様で機能するように導き得る。コンピュータプログラム命令はさらに、コンピュータまたは他のプログラマブルデータ処理装置上にロードされて、コンピュータまたは他のプログラマブル装置上で実行される命令がフローチャートおよび/またはブロック図ブロック内に特定された機能/行為を実現するためのステップを提供するように、一連動作ステップをコンピュータまたは他のプログラマブル装置上で実行させてコンピュータ実現処理を生成し得る。

0033

図中のフローチャートおよびブロック図は、さまざまな実施形態に係る(システムを含む)装置、方法およびコンピュータプログラム製品の可能な実現例のアーキテクチャ、機能性、および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、特定された論理機能を実現するための1つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表わし得る。いくつかの代替実現例では、ブロック内に示される機能は図に示される順序以外で起こり得ることにも留意すべきである。たとえば、連続して示される2つのブロックは、実際は、実質的に同時に実行されてもよいし、当該ブロックは時には、伴う機能に応じて逆の順序で実行されてもよい。ブロック図および/またはフローチャート図示の各ブロック、ならびにブロック図および/またはフローチャート図示のブロックの組合せは、特定された機能もしくは行為を実行する専用ハードウェアベースシステム、または専用ハードウェアとコンピュータ命令との組合せによって実現され得ることにも留意すべきである。

0034

本明細書に与えられるフローチャートは動作の特定の順序を示しているが、これらの動作の順序は示されるものとは異なり得ることを理解すべきである。また、2つ以上の動作が同時にまたは部分的な同時発生を伴って行われてもよい。そのような変形は、選択されるソフトウェアおよびハードウェアシステムに、かつ設計者の選択に依存する。そのようなすべての変形は開示の範囲内にあることが理解される。同様に、ソフトウェアおよびウェブ実現例は、さまざまなデータベース検索動作、相関動作、比較動作および決定動作を達成するルールベースロジックおよび他のロジックを有する標準的なプログラミング技術を用いて達成され得る。本明細書で用いられる「構成要素」という語は、1行以上のソフトウェアコード、および/またはハードウェア実現例、および/または手入力を受信するための機器を用いる実現例を包含することが意図されていることも理解すべきである。

0035

図2は例示的なオフセット較正フロー200を示すフロー図である。201において、レシーバへの非同期入力と関連付けられる波形エッジが得られる。そのような波形エッジは調整範囲にわたって密に分布し得る。調整範囲は、そのようなレシーバに与えられるデータサンプルと関連付けられる入力ビット単位区間(「UI」)であり得る。そのようなレシーバ(「RX」)は位相補間器を有し得、このRX位相補間器は単位区間の分数である分解能を有し得る。たとえば、RX位相補間器は、16分の1、32分の1、64分の1、または他のより小さいUI分数分解能を有し得る。ゆえに、波形エッジは、以下により詳細に説明されるように、たとえばUIの16分の1以下の分数だけ間隔が空けられて密な分布を提供し得る。

0036

図3は例示的なトランシーバ300を示すブロック図である。一例として限定せずに明確にするために、図4は、図3のレシーバ301に与えられる同期データ入力311についての複数の例示的な波形信号対400を示す信号図である。図3および図4を同時に参照して、トランシーバ300をその動作とともにさらに説明する。

0037

トランシーバ300は、レシーバ301およびトランスミッタ307を含む。レシーバ301は位相補間器(「PI」)304、クロックデータリカバリ(「CDR」)モジュール303、およびアイスキャン回路302を含む。アイスキャン回路302は、設定された数のデータサンプルが得られるか停止されるまで、選択されたアイスキャンサンプル位置におけるデータサンプルを得て、エラーが起こったか否かを判断し、エラーカウントおよびサンプルカウントを出力するように構成され得る。アイスキャン回路302は、1つの位置で得られたデータサンプルを別の位置で得られた別のデータサンプルと比較して、サンプリングサイクルにエラーが起こったか否かを判断するように構成され得る。トランスミッタ(「TX」)307はPI309を含む。実現され得るトランシーバ300の例は、2013年4月22日付の「7 SeriesFPGAsGTX/GTH Transceivers User Guide」、UG476(v1.9.1)(「UG476」)に詳細に記載されている。より特定的には、UG476は206〜210頁においてRXマージン分析およびアイスキャン理論についての情報、ならびにアイスキャンをサポートするRX PMAおよびPCSアーキテクチャについて述べている。一例として限定せずに明確にするために、トランシーバ300はUG476に記載されているようなFPGAのものと仮定するが、他のレシーバまたはトランシーバが実現されてもよく、アイスキャンサポートを有するこのトランシーバは便利な例に過ぎない。

0038

レシーバ301は、非同期または同期データであり得るとともに高速シリアルデータであり得るデータ入力311を受信するように結合され得る。レシーバ301は、リカバリデータ313およびリカバリクロック315を与えるように構成され得る。リカバリデータ313はノード317でタップされ得る。CDRモジュール303がホールド制御信号(「hold」)305を受信するように結合され得る。201で得られた波形エッジのそのような密な分布は、レシーバ301にデータ入力311として与えられる非同期入力とともに、CDRモジュール303がロックすることまたはロックしようと試みることさえも防止するためにそのようなCDRモジュール303をアンロックするためにホールド305をアサートすることによって提供され得る。レシーバ301のCDRモジュール303についてホールド信号をアサートしてそのようなモジュールまたは他のクロックリカバリ回路をアンロックすることによって、これは一般に、以下により詳細に説明されるように、波形の反復される重なりを提供し得る。

0039

アイスキャン回路302は実際上、アイスキャンのためのデータを測定するか他の方法で得るためのものであり得る。その点に沿って、アイスキャン回路302は、1つ以上のアイスキャン制御信号322を受信するように構成され得る。そのような1つ以上のアイスキャン制御信号322の例は、アイスキャン位置についての水平方向のオフセット、アイスキャン位置についての垂直方向のオフセット、および選択ビットエラーレート(「BER」)などの得るべきサンプルの数を含み得る。

0040

改めて図2を、引続き図3および図4を参照して、オフセット較正フロー200をさらに説明する。非同期入力が201において、データ入力311として直接、または100万分の1のわずかな差(「PPM」)を引起こすTX PI309、もしくは非同期入力を与える別の形態を用いることによって同期データ入力311を生成するのに用いられるローカル基準クロックと基準クロックとのクロック周波数のそのようなわずかな差を引起こすことによって与えられ得る。

0041

202において、たとえばアイスキャンサンプル位置などの第2のサンプル種類の複数のサンプル位置の各々について、たとえばデータサンプル位置におけるデータサンプルなどの、第1のサンプル種類の第1のサンプル位置におけるサンプルを求めて調整範囲にわたってスキャンがなされて、複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントが得られ得る。ゆえに、多数のサンプルまたはサンプルカウントについて、エラーカウントが求められ得る。たとえば、データサンプル位置で得られたデータサンプルがアイスキャンサンプル位置で得られたデータサンプルと等しくない場合は、この差はエラーになる。これらのデータサンプルの対が多数のサンプリングサイクル、すなわちBERと関連付けられるサンプルカウントについて取られると、そのような2つの位置におけるそのような数のサンプリングサイクルについての関連付けられるエラーカウントが求められ得る。2つのサンプリング位置について取られた多数のサンプルにわたってデータサンプルが等しくないインスタンスの合計が、そのような2つのサンプリング位置についてのBERである。このサンプリングは、1つのサンプリング位置を固定して保持し、別のサンプリング位置をそのような調整範囲にわたって順次動かすことによって行われ得、同じサンプルカウントについてのエラーカウントがそのような範囲にわたって各々のそのような位置で取られ得る。したがって、この情報を用いて、たとえば固定された第1のサンプル位置に対するそのような第2のサンプル位置の中で最小BERを有する調整範囲にわたるそのような複数の第2のサンプル位置の中の第2のサンプル位置が特定され得る。実際上、複数のBERが、すなわち固定された第1の位置に対する調整範囲にわたる各々の第2のサンプリング位置について1つのBERが生成され得、そこから最小BERが見つけられ得る。これは、調整範囲内の各々の可能性のある値を必ずしも対象として含むことなくそのような第2の位置を動かしてBERを最小化することによって動的に行われ得る。その線に沿って、調整範囲にわたるスキャンは、調整範囲全体またはその一部のみにわたるスキャンを伴い得る。

0042

上記の例を続けて、複数のアイスキャンサンプル位置の各々においてデータサンプル位置におけるデータサンプルのための調整範囲にわたってそのようなスキャンを行ってそのような複数のアイスキャンサンプル位置の各々についてサンプルカウントについてのエラーカウントを得ることによって、そのようなエラーカウントを、かつ随意にそのようなエラーカウントと関連付けられるサンプルカウントを出力することが可能になる。ゆえに、あるスキャンについてサンプルカウントに達すると、そのようなサンプルカウントに達するまで別のスキャンが別のサンプル位置について開始され得、以下同様である。第1の位置に対するそのような第2の位置の各々についてのBERのこの出力は、アイスキャン回路302からのアイスキャンデータ出力320であり得る。アイスキャン制御信号322およびアイスキャンデータ出力320は、図3にアイスキャンモジュール350として概略的に示されるアイスキャンハードウェア、ファームウェアを含むソフトウェア、またはその組合せからおよびそれに与えられ得る。そのような制御信号322を用いて、固定されたデータサンプリング位置に対する複数のアイスキャンサンプリング位置の各々についてスキャンカウントが設定され得る。さらに、そのような制御信号322を用いてアイスキャンサンプリング位置がインクリメントされ得、これを用いて水平方向の調整範囲の少なくとも一部にわたって、すなわちUIの少なくとも一部にわたってスキャンが行なわれ得る。

0043

別の実現例では、202におけるそのようなスキャンは、複数のデータサンプル位置の各々についてのアイスキャンサンプルのための調整範囲にわたるものであり、複数のデータサンプル位置の各々についてサンプルカウントについてのエラーカウントが得られ得る。ゆえに、たとえば、アイスキャンサンプル位置はそのような第1のサンプル位置であり得、データサンプル位置はそのような第2のサンプル位置であり得、そのような複数のサンプル位置はデータサンプル位置であり得、サンプルオフセットはデータサンプル位置−アイスキャンサンプル位置オフセットであり得る。

0044

しかし、明確にするために、そのようなスキャンはアイスキャン位置を動かすためであると仮定し、そのような調整範囲は単位区間であり、ゆえに一般に横時間軸または位相軸と関連付けられるとさらに仮定する。しかし、調整範囲は、たとえば差動高速シリアル信号などの信号のための電圧振幅範囲であり得、ゆえに一般に縦電圧軸と関連付けられ得る。たとえば、オフセット較正は、xおよびyグリッド上の位置を求めるなどのために、横時間軸または範囲および縦電圧軸または範囲に対して共に行なわれ得る。しかし、一例として限定せずに明確にするために、時間または位相の正または負の方向におけるたとえばアイスキャン制御信号322を介するなどした水平方向のオフセットが、固定された垂直位置またはそのような位置変化について0でオフセットされたアイスキャンサンプリング位置413について提供され得る。

0045

この例では、信号411および412の3つの信号対があり、そのような対がアイまたはデータアイ425を形成している。この例では、アイ425は「開いて」いる。アイスキャンは時間または位相と関連付けられる横軸401と、信号電圧振幅などの振幅と関連付けられる縦軸402とを有し得る。この例では、アイスキャンサンプリング位置または点413、すなわちアイスキャンサンプルが取られる位置は、軸401および402の(0,0)にある。そのようなサンプリング位置は、そうである必要はないが、(0,0)にある。

0046

この例では、データサンプリング位置または点414は、カウントまたはUIの分数のティックの数などの水平方向の距離423だけアイスキャンサンプリング位置413から水平方向に間隔が空けられており、電圧振幅などの垂直方向の距離424だけアイスキャンサンプリング位置413から垂直方向に間隔が空けられている。アイスキャンサンプリング位置は、時間のためであるか電圧のためであるかなどに係わらず、どこにマージンが割当てられるべきかに依存してアプリケーション毎に異なり得るアイ425に対してセンタリングされてもされなくてもよい。ゆえに、アイスキャンの垂直方向には電圧差におけるサンプルオフセットがあり得、アイスキャンの水平方向には時間または位相差における別のサンプルオフセットがあり得る。したがって、調整範囲は電圧振幅範囲または時間もしくは位相差調整範囲であり得、後者はカウントで表わされ得る。

0047

限定せずに明確にするために、アイ425のエッジに対してセンタリングされるデータサンプリング時間を有することが用いられると仮定する。アイスキャンおよびデータサンプリング位置が等しくない場合、すなわち時間および電圧において同じ点に配置されていない場合、スキャンエラーが生じ得る。時間および位相のエラーに関して、位置413および414は軸401上の同じ水平座標になく、電圧のエラーに関して、位置413および414は軸402上の同じ垂直座標にない。

0048

一般に、たとえば2つのクロックラッチなどの2つのサンプラが、サブサンプリング、サンプリング、またはオーバーサンプリングを含むサンプルのために用いられ得、すなわち一方がアイスキャンサンプルを得るために、他方がデータサンプルを得るために用いられる。そのようなサンプラの一方は実際上、基準として固定され得、そのようなサンプラの他方は、以下により詳細に説明されるように、一致を見つけるためにそのような固定サンプラに対して動かされ得る。限定せずに明確にするために、以下の説明は、固定されたデータサンプリング位置に対してアイスキャンサンプリング位置を動かす観点であるが、別の例では、アイスキャンサンプリング位置が固定基準位置であってもよく、データサンプリング位置が動かされてもよい。その線に沿って、アイスキャンサンプリング位置についての水平方向または垂直方向のオフセットが設定されるか別の方法で調整され得る。一般に、位置413および414が互いに離れるにつれて、アイを包絡する信号対411および412のより多くのエッジがそのような位置同士の間に配置される可能性が高くなるため、エラーレートが増加する。逆に、上述のように、一致している位置413および414については、BERは最小になる。

0049

ゆえに、位置413と414とが一致しない場合にエラーが生じ得る。再び、限定せずに明確にするために、水平方向のエラー較正を以下により詳細に説明し、垂直方向のエラー較正は以下の説明から同様に理解され得る。したがって、以下の説明は概してデータサンプル時間と(0,0)アイスキャンサンプル時間との間のオフセットを較正して除外する(calibrate out)ことに向けられる。もちろん、この種類の較正は、そのようなサンプリング時間内のエラーの測定の粒度に限定され得る。ゆえに、そのような複数のアイスキャンサンプル位置はすべて、ゼロのアイスキャン垂直位置についてのものであり得る。

0050

再び、一例として限定せずに明確にするために、図5は、上述のような、非同期データ入力311についての複数の波形信号対500を示す信号図である。この例では、信号411および412の多数の信号対があり、そのような対は十分密に互いに重なっているため、図4のアイ425は「閉じて」いる。ゆえに、各アイ425はエッジの密な分布で実質的に充填され得る。換言すれば、アイ425は、波形500に「ボケ」または重なり効果を事実上提供するために互いに重なっている。たとえば、波形エッジは単位区間の16分の1以下の分数だけ間隔が空けられ得る。この分数は、レシーバの位相補間器または他の位相調整回路の分解能と関連付けられ得る。この例における位置413および414は、そのような波形信号対500のたとえば下降エッジ501および上昇エッジ502などの1つ以上のエッジを自身同士の間に有し得る。

0051

図2に戻って、203において、202で行なわれたスキャンから閾値ビットエラーレート(「BER」)が特定される。実際上、202で行なわれるスキャンは、固定されたデータサンプリング位置基準に対してアイスキャンサンプリング位置を動かして、そのようなそれぞれの位置の各々における2つずつのサンプリング位置同士の間に差があるか否かを判断するためである。アイスキャン表示画像について、これは、ゼロに設定されたアイスキャン垂直線画素を有していると考えられ得る。換言すれば、この接合点における「エラーレート」は、データサンプリング位置およびアイスキャンサンプリング位置で得られたデータサンプルの求められた差がある場合、当該差を指す。

0052

203において、最小BERであり得る閾値BERの特定は、検索呼出すことによって行なわれ得る。一例として限定せずに明確にするために、閾値BERについての準最適閾値が用いられ得るが、そのような閾値BERは最小BERであると仮定する。ゆえに、最小を見つけるためのそのような検索は、すべての位置を順次確認すること(「ブルートフォース」)、勾配探索、シミュレテッドアニール、または最小を見つける他の検索によって実行され得る。同期データについては、すなわちCDRモジュール303がリカバリクロック信号315を生成するためにロックされている場合は、エラーは検出され得ない。ゆえに、CDRモジュール303をアンロックすることによって、エラーが検出され得る。

0053

204において、203で特定された最小BERについてのアイスキャンサンプル−データサンプルオフセットの量および方向が求められ得る。特定されたそのような最小BERは、水平方向において一致しているアイスキャンサンプリング位置およびデータサンプリング位置についてのものであると仮定して、特定されたそのような最小BERについてのそのような基準データサンプリング点とそのようなアイスキャンサンプリング点とのカウント差が得られ得る。これは単に、これら2つのサンプリング位置同士の間の水平方向の差またはカウント差である。

0054

再び、限定せずに明確にするために、図6は例示的なアイスキャン−データサンプル水平オフセットプロット600を示すグラフ図である。最小BERが特定される場合は上述したように基準サンプリング点と別のサンプリング点とのカウント差を求めるためにそのようなプロットを行なう必要はないため、このプロットは理解を高めるために用いられる。

0055

この例における横軸601はマイナスからプラス32であり、つまり、UIの64分の−32からそのようなUIの64分の+32であり、すなわちPIは64「カウント」分解能を有する。たとえば、データ入力311が10ギガヘルツ(「GHz」)で与えられる場合は、ビットのビット幅(たとえば1ビットを表わす差動またはシングルエンド信号信号長)は約100ピコ秒(「ps」)であり、したがって、そのような100psは64インクリメントまたはカウントに分解され得る(すなわち、この例におけるカウントは64で除算された100psである)。この例では、64カウント分解能について、2カウントずつがアイ425の1/32である。この例または他の例では、他のカウント分解能を用いてもよい。たとえば、ここではRX PIは64カウントの最小分解能を有するが、PIの最小分解能よりも粗いまたは細かい分解能を用いてもよい。さらに、DLLまたはPLLの変形を含む、UIをパースするために用いられる他のデバイスを用いてもよいため、RX PIを用いる必要はない。

0056

したがって、横軸601に沿った、すなわちアイスキャンカウント位置軸に沿ったカウント−32からカウント+32の64カウントと関連付けられる離散的なインスタンスにおいて、エラーカウントまたはBERと関連付けられる離散的なデータ点603があり、縦軸602は、この続けられる例では離散的なアイスキャンサンプリング時間である複数のアイスキャンサンプル位置の各々についてのBERまたはエラーカウントを表わす。複数のサンプル位置の各々についてのスキャンのためのサンプルカウントの数は、たとえば1012(すなわち1E12)ビットサンプル毎のエラーまたは他のBERターゲットなど、BERターゲットについてのものであり得る。この比は、サンプル同士の差の数、または多くのサンプリングサイクルについてのものであり得る2つのサンプリング位置もしくはサンプルカウントで取られたサンプリングサイクルの合計数で除算されたエラーカウントである。この例では、ターゲットBERは1.E−12として表現され得るが、他の例では別のターゲットBERを用いてもよい。この例では、最小BERは位置604にあり、これはこの例では基準位置605から+2の水平方向のカウントに対応する。この例では、基準位置605は中心位置、すなわちカウントゼロにあるが、他の実現例では中心位置を用いる必要はない。もちろん、他の例では、カウント差はプラスでもマイナスでもよく、水平方向のオフセットにおける2または他の整数差であってもよい。このカウント差がアイスキャンサンプル−データサンプルオフセットであり、またはこの例についてより特定的には、アイスキャンサンプル−データサンプル水平オフセットである。再び、正または負の電圧オフセットについてではあるが、上記の説明を用いて垂直方向の差も見つけることができる。

0057

したがって、アイが非対称であり得るため、そのようなアイの片側のサンプリングマージンはそのようなアイの反対側よりも良好であり得る。しかし、サンプリング点をアイの中心の近くにまたは中心に動かすことによって、より大きい信号マージンが与えられ得る。ゆえに、そのようなサンプリングは、たとえばジッタまたは他の種類のノイズの影響をさらに受けなくて済む。

0058

引続き図6を参照しつつ図2に戻って、205において、そのようなアイスキャンサンプル−データサンプルオフセットの量および方向に応答してサンプリング位置が調整されてそのようなアイスキャンサンプル−データサンプルオフセットが較正されて除外され得る。上記の例を続けて、アイスキャン水平サンプル位置が調整され得る。横時間軸に沿った+2のサンプルオフセットの上記の例を続けて、水平方向のオフセットは−2に設定され得る。もちろん、オフセットが変化し得るにつれて他のカウントを用いてもよい。

0059

しかし、より一般的には、場合に応じて、データサンプル位置またはアイスキャンサンプル位置が水平方向のオフセットまたは垂直方向のオフセットについて調整され得る。ゆえに、205におけるこの調整は、アイスキャンサンプル位置についての水平方向のオフセットを調整してそのようなアイスキャンサンプル位置−データサンプル位置オフセットを較正して除外するか少なくとも実質的に減少させることを含み得る。別の実現例では、そのようなサンプルオフセットはアイスキャンの垂直方向における電圧差であり得、したがって、垂直方向のオフセットが調整されてそのようなサンプルオフセットが少なくとも減少し得る。再び、求められるそのようなサンプルオフセットは時間または振幅などにおける水平方向または垂直方向のオフセットを単位とし得、ゆえに、そのようなオフセットを少なくとも減少させるそのような較正は、アイスキャン位置であれデータサンプル位置であれ、サンプル位置についての水平方向のオフセットまたは垂直方向のオフセットの一方または両方を調整することを伴い得る。

0060

再び、限定せずに明確にするために、図7は、図2の205における調整の前後の上記の例についての例示的なBER「バスタブ」プロット(「プロット」)700を示すグラフ図である。オフセット調整を行うためにそのようなプロットを行なう必要はないため、このプロットは理解を高めるために用いられる。

0061

プロット700は、BER、またはより特定的にはエラー−サンプルカウント比の縦軸702に対する、上述のようなカウントについての横軸601のプロットである。プロット700は、左湾曲部または「左エッジ」703−1、中心平坦部703−2、および水平方向のオフセット調整の前の右湾曲部または「右エッジ」703−3を有するバスタブ曲線703を含む。限定せずに明確にするために上記の例を続けて、負のカウント方向における2カウントの水平方向のオフセット調整がバスタブ曲線703に対してなされ、これによってバスタブ曲線703は、調整されたバスタブ曲線703Aによって概略的に示されるように2カウント左に移動している。この調整は、たとえば、ハードウェア内のレジスタ値を設定することによって、またはソフトウェア内の変数に値を割当てることによって行われ得る。したがって、左湾曲部703−1、中心平坦部703−2、および右湾曲部703−3はすべて、調整された左湾曲部703−1A、調整された中心平坦部703−2A、および調整された右湾曲部703−3Aによって概略的に示されるように左に2カウント移動している。ハードウェアまたはソフトウェアにおけるこの移動は減法として実現され得、右への移動は加法として実現され得る。この例では、明確にするためより太い黒線で示される調整されたバスタブ曲線703Aは縦軸702の左側に2カウント延在し得、バスタブ曲線703Aのこの部分は無視してもよい。

0062

また、それぞれ点線713および714によって概略的に示されるように、高BER閾値レベルおよび低BER閾値レベルがあり得る。中心平坦部703−2Aは、カットオフBERがある場所である。換言すれば、左右エッジ703−1Aおよび703−3Aは実際には中心平坦部703−2Aの下に延在し得、漸近的に互いに接近し得る。しかし、そのような低いまたは小さいBERは有効範囲外であり得るため、そのようなカットオフは中心平坦部703−2Aとして概略的に示される。

0063

したがって、水平方向のオフセット調整の後、すべてのその後のアイスキャンサンプルは、登録されたか他の方法で設定された値を移動後のアイスキャンサンプル位置に有することによって、そのようなオフセット量だけオフセットされ得る。再び、垂直方向のオフセットも設定され得る。

0064

実際上、(0,0)のアイスキャン位置がデータサンプル位置とアライメントされ得る。しかし、そのようなアイスキャン位置(0,0)はデータアイ内に対称に配置されない場合がある。したがって、較正されたアイを用いたとしても、調整されたバスタブ曲線703Aはミスアライメントされ、すなわち、たとえばゼロカウント位置605に対してセンタリングされない場合がある。このミスアライメントは、レシーバ内のマージンを同様に減少させ得る。さらに、アイスキャン−データスキャン位置が通信レーンまたはチャネルについて比較的静的であり得るため、すなわち準静的であり得るため、水平方向または垂直方向のオフセットをリセットまたは少なくとも頻繁にリセットしなくてもよい場合、バスタブ曲線703Aは、通信チャネル上のそのような同期データをリカバリするのに用いられるクロックに対して、同期データスルーイングを送信するのに用いられるクロックのために動き得る。したがって、以下により詳細に説明されるように、バスタブ曲線703Aのエッジ703−1Aおよび703−3Aは、通信チャネルのこれらおよび他の変化に適応して変化するために動作時にトラックされ得る。

0065

図2に戻って、205におけるいずれかの調整の後、206において別のサンプルオフセットを求めて調整する必要があるか否かが判断され得る。そのような他のオフセットは、処理された直後の通信チャネルについての垂直方向のオフセット、または別の通信チャネルについての水平方向のオフセットであり得る。206において別のオフセットを求めて調整すると判断された場合は、フロー200は、201で、または通信チャネルに変更がない場合は随意に202で開始されて、そのような他のオフセットについて繰返され得る。しかし、206において他のオフセットを求めて調整しないと判断された場合は、207においてチャネル適応データサンプル位置決めフローが呼出され得る。

0066

図8は、図2の207において呼出され得る例示的なチャネル適応データサンプル位置決めフロー800を示すフロー図である。図3および図7をさらに参照して、図8のフロー800をさらに説明する。

0067

801において、リカバリデータ313がノード317においてタップされ得、リカバリデータ313が高速シリアルデータ311などのデータの同期入力のためにレシーバ300から出力される。図2のフロー200とは対照的に、フロー800は、レシーバ300の実際の動作時にリアルタイムで用いられ得る。換言すれば、高速シリアルデータ311はリカバリデータ313として出力される実際の顧客データであり得、そのようなリカバリデータ313はタップされてアイスキャンモジュール350に与えられ得る。このように、リカバリデータ313のバスタブ曲線703Aの左エッジ703−1Aおよび右エッジ703−3Aの非破壊トラッキングが行なわれ得る。

0068

802において、リカバリデータ313について、選択されたBER範囲内の選択されたBERについて、左エッジ703−1Aおよび右エッジ703−3Aなどのアイエッジがトラックされて、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値が求められ得る。たとえば、高BER閾値レベル713と低BER閾値レベル714との間のBERについて左エッジ703−1A位置721および右エッジ703−3A位置722におけるリカバリデータ313のデータがトラックされ得る。トラッキングのためのBERの選択は、通信規格またはプロトコルに応じてデフォルトの予め定められた値であり得るか、または随意にユーザによって設定され得る。さらに、802におけるそのようなトラッキングは、そのようなエッジ毎実行データ値を記憶することを含み得る。さらに、データ値のいくつかの初期サンプル安定状態に達するまで無視してもよい。これは、選択されたBERについての測定がそのようなBERに落ち着き得るまでいくらか時間が掛かり得るためである。さらに、選択されたBERを保つために何らかの「ハンティング」があり得る。

0069

803において、トラッキングから得られた右エッジ位置値と左エッジ位置値との間として平均値が求められ得る。たとえば、上記の例を続けて1.E−12のBERにおける各々について左エッジ位置値が9であり右エッジ位置値が−5であったと仮定すると、そのような値の平均は2(すなわち{9+(−5)}/2)となる。

0070

804において、803で求められた平均値に応答して、調整されたバスタブ曲線703Aが動かされ得る。この例では、明確にするために破線で示されるように、動かされた調整済みのバスタブ曲線703Mが、粒度および他の制限を受けて、ゼロカウント位置605まで左に全体的に中心に2カウント動かされる。概略的に示されるように、動かされた左エッジ703−1Mおよび動かされた右エッジ703−3M、および動かされた中心平坦部703−2Mは、左に2カウント動かされる。実際上、これによって、803で求められたそのような平均値だけデータサンプル位置が動く。この例では、正の平均値が左に動かされ、負の平均値が右に動かされる。

0071

移動のタイミングは、実際のデータで行なわれ得るが、一度にデータの各ビットについて調整されない。たとえば、同期高速シリアルデータ入力311について1E10ビット/秒のデータレートがあり、1E−12のBERが選択される場合は、測定またはトラック値を得るために100秒が経過し得、そこから平均が得られる。各エッジが並行してトラックされるのではなく順次トラックされる場合は、平均を求めるために両値を得るのに200秒が経過し得る。

0072

さらに、時間が許せば、通信チャネルについてのそのような左右エッジ値、またはその平均値が、1つよりも多い測定サイクルにわたって任意の移動パターンまたは複数の平均値のうちの1つの平均値またはカウントの累積移動が十分であるか否かを判断して、以前に動かされたバスタブ曲線703Mを再び位置決めするか否かを判断するために記憶され得る。したがって、トランスミッタはチャネル上でレシーバにデータを送信し得、そのようなトランスミッタまたは通信は送信されるそのようなデータのデータアイを移動させ得る。さらに、非対称のジッタ分布から、センタリングされていないデータアイが生じ得る。レシーバはそのような歪みを補正するトランスミッタに対する制御を有し得ないため、レシーバは、バスタブ曲線を動かしてミスアライメントされたデータアイを調整して通信チャネルのためのデータをリカバリするための信号マージンを増加させることによってデータサンプリング位置を移動させるように構成され得る。

0073

805において、通信チャネルがインクリメントされ得、フロー800は801で再び開始するループとして進行し得る。このように、一連の通信チャネルが自身のレシーバマージンを適応的に増加させ得る。

0074

図9は例示的なレシーバ側通信システム900を示すブロック図である。ホストパーナルコピュータ(「PC」)901がFPGA100に結合され得る。FPGA100はエンベデッドプロセッサ902、アイスキャンモジュール350、および4チャネルトランシーバ(「トランシーバクワッド」)907を有し得る。アイスキャンモジュール350は、アイスキャンコード905が記憶されているファームウェアRAM904、ならびにステートマシンおよびメモリ906を含み得る。

0075

トランシーバクワッド907は、本明細書において上述したように、アイスキャン回路302を含み得る。しかし、そのようなアイスキャン回路302はトランシーバクワッド907のデータフロー、すなわちスループット干渉しないように位置決めされ得ることを理解すべきである。さらに、トランシーバ毎に別個のアイスキャン回路302があってもよいし、トランシーバがアイスキャン回路302を共有してもよい。

0076

ステートマシンおよびメモリ906は、トランシーバクワッド907の通信レーン0から3にそれぞれ結合されるとともにエンベデッドプロセッサ902に結合されるトランシーバ/RAMアクセス制御ステートマシン916を含み得る。ステートマシンおよびメモリ906は、トランシーバ/RAMアクセス制御ステートマシン916に結合されているデータ記憶RAM917を含み得る。トランシーバ/RAMアクセス制御ステートマシン916は、FPGA100のプログラマブルリソースにおいてインスタンス化され得る。

0077

エンベデッドプロセッサ902に結合されているファームウェアまたは他のプログラムRAM904は、エンベデッドプロセッサ902によって実行されるアイスキャンコード905を記憶し得る。コード905は、フロー200または800の少なくとも一方を実行するためであり得る。エンベデッドプロセッサ902は、JTAGまたは他のバスなどのインターフェイス903を介してホストPC901に結合され得る。ホストPC901は、データアイまたは他の診断を表示するためであり得る。しかし、コード905の一部またはすべてがホストPC901にポートされてもよいが、これは低速動作用である。そうでなければ、ホストPC901は、アイスキャン動作のためのメンテナンスおよび診断プログラムを提供するように全体的にプログラムされてもよい。たとえば、データアイが徐々にドリフトしている場合、エンベデッドプロセッサ902はホストPC901に警告を送信し得る。ゆえに、804における移動は、通信チャネルと関連付けられるようなリカバリデータのデータ位置を適応的に位置決めするためであり得る。

0078

図10は例示的なレシーバ側通信システム1000を示すブロック図である。リモートホストPC901がインターネット1004を介してFPGA100に結合され得る。FPGA100は、エンベデッドマイクロプロセッサ1003、アイスキャンモジュールロジックおよびメモリ1001、ならびに4チャネルトランシーバ907を有し得る。トランシーバクワッド907は、本明細書において上述したように、アイスキャン回路302を含み得る。図9のファームウェアRAM904は、この図では明確にするために示されていないがエンベデッドマイクロプロセッサ1003に結合されてもよい。

0079

ロジックおよびメモリ1001は、ステートマシンおよびメモリ906としてのインスタンス化ロジックではなく、ハードマクロブロックであり得る。ロジックおよびメモリ1001のロジックは、トランシーバクワッド907の通信レーン0から3にそれぞれ結合されるとともにマイクロプロセッサ1003に結合され得る。ロジックおよびメモリ1001はデータ記憶メモリを含み得、これはマイクロプロセッサ1003に結合されたデュアルポートRAM1002であり得る。

0080

この構成によって遠隔診断が可能になる。たとえば、展開されたシステムが予想外に高いエラーレートを示す場合、受信シリアルリンク上のデータの性能が遠隔スキャンを行うことによって診断され得る。リモートホストPC901は、マイクロプロセッサ1003などのエンベデッドプロセッサを、スキャンを開始して結果をインターネット1004を介してそのようなホストシステムに返すように促し得る。

0081

図11は例示的なコンピュータシステム1100を示すブロック図である。コンピュータシステム1100は、陰極線管(「CRT」)ディスプレイ、プラズマディスプレイ液晶ディスプレイ(「LCD」)、プロジェクタなどの1つ以上の表示装置1101に、かつキーボードおよびカーソルポインティングデバイスなどの1つ以上の入力装置1106に結合されたプログラムドコンピュータ1110を含み得る。コンピュータシステムの他の公知の構成を用いてもよい。コンピュータシステム1100は単独で、または1つ以上の他のコンピュータシステム1100とネットワーク化されて、情報取扱システムを提供し得る。

0082

プログラムドコンピュータ1110は、公知のプラットフォームの中でもとりわけ、Mac OS(登録商標)、Java(登録商標)仮想マシンリアルタイムOSLinux(登録商標)、Solaris(登録商標)、iOS(登録商標)、Android(登録商標)LinuxベースOS、Unix(登録商標)、またはWindows(登録商標)オペレーティングシステムであり得る公知のオペレーティングシステムでプログラムされ得る。プログラムドコンピュータ1110は、中央処理装置(CPU)1104、メモリ1105、および入力/出力(「I/O」)インターフェイス1102を含む。CPU1104は、たとえばIBM社、Intel社、ARM社、またはAdvanced Micro Devices社から入手可能な、当該技術において公知のマイクロプロセッサの一種であり得る。サポート回路(図示せず)は、キャッシュ電源クロック回路データレジスタ等を含み得る。メモリ1105はCPU1104に直接結合され得るか、またはI/Oインターフェイス1102を介して結合され得る。オペレーティングシステムの少なくとも一部はメモリ1105内に配置され得る。メモリ1105は、フラッシュメモリ、ダイナミックランダムアクセスメモリを含むランダムアクセスメモリ、読出専用メモリ、磁気抵抗読出書込メモリ、光学読出/書込メモリ、キャッシュメモリ、磁気読出/書込メモリなど、および以下に記載されるような他の非一時的な信号ベアリング媒体の1つ以上を含み得る。

0083

I/Oインターフェイス1102は、公知の回路の中でもとりわけ、チップセットチップ、グラフィックプロセッサ、および/またはドーターカードを含み得る。ドーターカードの例には、公知の回路の中でもとりわけ、ネットワークインターフェイスカード(「NIC」)、ディスプレイインターフェイスカードモデムカード、およびユニバーサルシリアルバス(「USB」)インターフェイスカードが含まれ得る。ゆえに、I/Oインターフェイス1102は、データファイルなどのデータを送受信するように適合された従来のキーボード、ネットワークマウス、ディスプレイ、プリンタ、およびインターフェイス回路に結合され得る。プログラムドコンピュータ1110は、たとえば会社のイントラネットおよび/またはインターネットなどの従来のネットワークインフラストラクチャを介して多数のクライアントコンピュータサーバコンピュータ、またはそのいずれかの組合せに結合され、インターフェイス生成の分配使用を可能にし得る。

0084

メモリ1105は、本明細書の1つ以上の実施形態に従う処理を実現してプログラム製品1120を提供する1つ以上のプログラムまたはデータのすべてまたは一部を記憶し得る。ゆえに、たとえば、プログラムドコンピュータ1110はプログラム製品1120においてフロー200および800の一方または両方でプログラムされ、汎用コンピュータを専用プログラムドコンピュータ1110に変換し得る。たとえば、汎用コンピュータはロジックアナライザであるようにプログラムされ得、フロー200および800の一方または両方がそのアイスキャンモジュールである。また、当業者は、本明細書の1つ以上の実施形態がハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せにおいて実現され得ることを認識するであろう。そのような実現例は、さまざまなプログラムおよび専用ハードウェアまたはプログラマブルハードウェアを独立して実行する多数のプロセッサまたはプロセッサコアを含み得る。

0085

プログラム製品1120の1つ以上のプログラム、およびその文書は、本明細書の実施形態の機能を規定し得、(i)書込不可能な記憶媒体(たとえばCD−ROMドライブもしくはDVDドライブによって読取可能なCD−ROMもしくはDVD−ROMディスクなどのコンピュータ内の読出専用メモリデバイス)上に永続的に記憶された情報、または(ii)書込可能な記憶媒体(たとえばディスケットドライブもしくはフラッシュドライブ(内部ハードドライブもしくは外部サムドライブ/メモリスティック)もしくはハードディスクドライブもしくは読出/書込可能なCDもしくは読出/書込可能なDVD内のフロッピーディスク)上に記憶された変更可能な情報を含むがこれらに限定されないコードを有するコンピュータ読取可能な媒体などのさまざまな非一時的な信号ベアリング媒体上に含まれ得る。上記の実施形態は具体的には、インターネットおよび他のネットワークからダウンロードされた情報を含む。そのような非一時的な信号ベアリング媒体は、本明細書の機能を指示するコンピュータ読取可能な命令を搬送する際に、本明細書の実施形態を表わす。

0086

例示的な方法は概してサンプルオフセット調整に関する。そのような方法では、非同期入力と関連付けられる波形エッジがレシーバに与えられる。波形エッジは調整範囲にわたって密に分布している。第1の種類とは異なる第2の種類の複数のサンプル位置の各々について第1の種類の第1のサンプル位置における波形エッジの密な分布からのサンプルを求めて調整範囲の少なくとも一部がスキャンされて、調整範囲の少なくとも一部にわたる複数のサンプル位置の各々についてサンプルカウントのためのエラーカウントが得られる。第1のサンプル位置は固定されており、複数のサンプル位置からの第2のサンプル位置は調整範囲の少なくとも一部にわたって動かされる。スキャンするステップは、複数のサンプル位置の各々でサンプルカウントのための複数のサンプリングサイクルを実行するステップを含む。スキャンするステップから閾値ビットエラーレート(「BER」)が特定される。基準位置から閾値BERにおけるサンプルオフセットの量および方向が求められる。サンプルオフセットの量および方向に応答して第1のサンプル位置または第2のサンプル位置が調整されてサンプルオフセットが少なくとも減少する。

0087

そのような方法では、以下の1つ以上が当てはまり得る。調整範囲は単位区間であり得る。調整範囲は時間または位相を単位とし得る。波形エッジは、単位区間の16分の1以下の分数だけ間隔が空けられ得る。分数は、レシーバの位相補間器の分解能と関連付けられ得る。第1の種類の第1のサンプル位置はデータサンプル位置であり得、第2の種類の第2のサンプル位置はアイスキャンサンプル位置であり得、複数のサンプル位置はアイスキャンサンプル位置であり得、サンプルオフセットはアイスキャンサンプル位置−データサンプル位置オフセットであり得る。調整するステップは、アイスキャンサンプル位置について水平方向のオフセットを調整してアイスキャンサンプル位置−データサンプル位置オフセットを較正して除外するステップを含み得る。特定するステップは、複数のサンプル位置の各々で実行される複数のサンプリングサイクルについて複数のBERから最小BERを見つけるための検索を実行するステップを含み得る。複数のサンプル位置はすべて、ゼロのアイスキャン垂直位置についてのものであり得る。複数のサンプル位置の各々についてのスキャンのためのサンプルカウントは、BERターゲットについてのものであり得る。方法はさらに、レシーバのクロックデータリカバリ(「CDR」)モジュール用のホールド信号をアサートしてCDRモジュールをアンロックするステップを含み得る。第1の種類の第1の位置はアイスキャンサンプル位置であり得、第2の種類の第2の位置はデータサンプル位置であり得、複数のサンプル位置はデータサンプル位置であり得、サンプルオフセットはデータサンプル位置−アイスキャンサンプル位置オフセットであり得る。サンプルオフセットは、アイスキャンの垂直方向における電圧差であり得る。調整範囲は電圧振幅範囲であり得る。方法はさらに、レシーバに与えられる同期入力についてレシーバからリカバリデータを得るステップと、リカバリデータについて選択されたBERについてアイエッジをトラックして、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値を求めるステップと、右エッジ位置値と左エッジ位置値との間として平均値を求めるステップと、平均値に応答して第1のサンプル位置を動かすステップとを含み得る。

0088

別の例示的な方法は概してデータサンプル位置調整に関する。そのような方法では、レシーバに与えられる同期入力についてレシーバからリカバリデータが得られる。リカバリデータについて選択されたビットエラーレートについてアイエッジがトラックされて、通信レーンと関連付けられる右エッジ位置値および左エッジ位置値が求められる。右エッジ位置値と左エッジ位置値との間として平均値が求められる。平均値に応答してデータサンプル位置が動かされる。

0089

例示的な装置は概してサンプルオフセット調整に関する。レシーバは、非同期入力についての波形エッジの密な分布をレシーバに与えるクロックデータリカバリモジュールを含む。波形エッジは調整範囲にわたって密に分布している。レシーバは、第1のサンプル位置および第2のサンプル位置における波形エッジの密な分布からのサンプルを求めて、サンプルのサンプルカウントについてのエラーカウントを与えるアイスキャン回路を含む。アイスキャンモジュールがレシーバに結合され、第1の種類とは異なる第2の種類の複数のサンプル位置の各々について第1の種類の第1のサンプル位置におけるサンプルを求めて調整範囲の少なくとも一部をスキャンして、複数のサンプル位置の各々についてサンプルカウントについてのエラーカウントを得るように構成される。第1のサンプル位置は固定されている。アイスキャン回路は、調整範囲の少なくとも一部にわたる移動について複数のサンプル位置からの第2のサンプル位置をインクリメントするアイスキャンモジュールに結合されている。アイスキャン回路は、複数のサンプル位置の各々でサンプルカウントのための複数のサンプルを取るアイスキャンモジュールに結合されている。アイスキャンモジュールはさらに、スキャンから閾値ビットエラーレート(BER)を特定し、基準位置から閾値BERにおけるサンプルオフセットの量および方向を求め、サンプルオフセットの量および方向に応答して第1のサンプル位置または第2のサンプル位置を調整してサンプルオフセットを少なくとも減少させるように構成される。

0090

そのような装置では、以下の1つ以上が当てはまり得る。第1の種類の第1のサンプル位置はデータサンプル位置であり得、第2の種類の第2のサンプル位置はアイスキャンサンプル位置であり得、複数のサンプル位置はアイスキャンサンプル位置であり得、サンプルオフセットはアイスキャンサンプル位置−データサンプル位置オフセットであり得る。第1の種類の第1の位置はアイスキャンサンプル位置であり得、第2の種類の第2の位置はデータサンプル位置であり得、複数のサンプル位置はデータサンプル位置であり得、サンプルオフセットはデータサンプル位置−アイスキャンサンプル位置オフセットであり得る。アイスキャンモジュールは、同期入力についてレシーバからリカバリデータを得るようにレシーバに結合され得、アイスキャンモジュールは、リカバリデータについて選択されたBERについてアイエッジをトラックして右エッジ位置値および左エッジ位置値を求め、右エッジ位置値と左エッジ位置値との間として平均値を求め、平均値に応答して第1のサンプル位置を動かすように構成され得る。

0091

上記では例示的な装置および/または方法を説明しているが、本明細書に記載される1つ以上の局面に従う他の例およびさらなる例が、以下の特許請求の範囲およびその均等物によって決定される本明細書の範囲から逸脱することなく考案され得る。ステップを列挙している特許請求の範囲はステップのいずれの順序も示唆していない。商標はそれぞれの所有者財産である。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ