インテル® Arria® 10 トランシーバーPHY ユーザーガイド

ID 683617
日付 4/20/2017
Public
ドキュメント目次

2.7.13. Gen3 データレートでのPCIe* (PIPE) 向けPHY IP コアのリンク・イコライゼーション

Gen3 モードは、データレート、チャネル特性、レシーバーデザイン、プロセスの多様性のためにTX およびRX リンク・イコライゼーションを必要とします。リンク・イコライゼーション処理により、エンドポイントおよびルートポートで、各レーンのTX とRX の設定を調整して信号品質を改善することができます。この処理により、Gen3 リンクのビットエラー・レート (BER) が10-12 未満になります。

4段階のリンク・イコライゼーションの8.0 GT/s データレートでの手順について詳しくは PCI Express* Base Specification、Rev 3.0 の4.2.3 項を参照してください。新しいLTSSM ステートであるRecovery.Equalization はフェーズ0~3 を有しており、Gen3 イコライゼーションを通して進行状況を反映します。リンク・イコライゼーションのフェーズ2 と3 はオプションです。ただし、調整が発生しない場合でも、各リンクは4 つのフェーズすべてを通して進行させる必要があります。フェーズ2 と3 をスキップすると、リンク・トレーニングの速度が上がりますが、リンクBER の最適化が犠牲になります。

フェーズ0

フェーズ0 の手順は以下の通りです。

  1. アップストリーム・コンポーネントはRecovery.Rcvrconfig 中にダウンストリーム・コンポーネントにEQ TS2 トレーニング・セットと開始プリセットを送信することにより、イコライゼーションのフェーズ0 に入ります。EQ TS2 トレーニング・セットは2.5 GT/s あるいは5 GT/s で送信することができます。
  2. ダウンストリーム・コンポーネントは、8 GT/s でRecovery.Speed を終了した後でイコライゼーションのフェーズに入ります。トレーニング・シーケンスから開始プリセットを受け取り、トランスミッタに適用します。アップストリーム・コンポーネントはこのときフェーズ1 に入っており、8 GT/s で動作しています。
  3. フェーズ1 に移るためには、レシーバーがBER <10-4 になっている必要があります。レシーバーは、連続したトレーニング・シーケンスを十分にデコードできるようになります。
  4. イコライゼーション・フェーズ1 に移動するためには、ダウンストリーム・コンポーネントが2'b01 にセットされたイコライゼーション・コントロール (EC) ビットを含むトレーニング・セットを検出する必要があります。

フェーズ1

イコライゼーション・プロセスのフェーズ1 の間に、リンクパートナーはフルスイング (FS) と低周波数 (LF) の情報を交換します。これらの値は、TX 係数の上限と下限を示します。レシーバーは、この情報を使用して次のトランスミッタ係数のセットを計算し要求します。

  1. アップストリーム・コンポーネントは、1’b0 にセットされたEC ビットを含むトレーニング・セットがすべてのレーンでキャプチャーされるとEQ フェーズ2 に移ります。また、EC=2'b10、開始プリカーソル、メインカーソル、およびポストカーソルの係数を送信します。
  2. ダウンストリーム・コンポーネントは、これらの新しいトレーニング・セットを検出した後でEQ フェーズ2 に移ります。
pipe_g3_txdeemph[17:0] ポートを使用してトランスミッタのディエンファシスを選択します。この18 ビットは以下の係数を指定します。
  • [5:0]:C-1
  • [11:6]:C0
  • [17:12]:C+1

プリセットとTX ディエンファシスとのマッピングについては、TX ディエンファシスのプリセットマッピングを参照してください。

フェーズ2 (オプション)

フェーズ2 の間に、エンドポイントはルートポートのTX 係数を調整します。エンドポイントが低い分解能に適したプリセットを使用するか、または高い分解能に適した係数を使用するかをTS1 Use Preset ビットで決定します。

PCI Express (PIPE) 向けPHY IP コアをルートポートとして使用している場合に、エンドポイントがルートポートのTX 係数を調整することができます。

調整シーケンスは以下の手順で進められます。

  1. エンドポイントは、ルートポートによって送信されたフェーズ2 トレーニング・セットから開始プリセットを受け取ります。
  2. エンドポイント・レシーバーの回路がBER を推量します。この回路はFS とLF を使用してトランスミッタ係数の次のセットを計算します。また、この情報をトレーニング・セットに埋め込み、リンクパートナーが自身のトランスミッタに適用するようにします。
    ルートポートは、これらの係数とプリセットをデコードし、トランスミッタ係数の3 つのルールへの適用性チェックを行い、トランスミッタに設定を適用し、また、それらをトレーニング・セットにして送ります。 インテル® デバイスが提供するデフォルトのフルスイング (FS) 値は60 で、低周波数 (LF) は20 です。トランスミッタ係数の3 つのルールは以下のとおりです。
    1. |C-1| <= Floor (FS/4)
    2. |C-1|+C0+|C+1| = FS
    3. C0-|C-1|-|C+1 |>= LF

    なお、ここではC0 とはメインカーソル (ブースト) であり、C-1 とはプリカーソル (プリシュート) であり、C+1 とはポストカーソル (ディエンファシス) です。

  3. このプロセスは、ダウンストリーム・コンポーネントのレシーバーのBER が < 10-12 になるまで繰り返されます。

フェーズ3 (オプション)

このフェーズの間に、ルートポートはエンドポイントのトランスミッタを調整します。このプロセスは、逆の方向に動作するほかはフェーズ2 と相似です。

フェーズ3 のチューニングが完了すると、ルートポートは、Recovery.RcvrLock に移行し、EC = 2'b00 と、フェーズ2 で決定された最終的な係数あるいはプリセットを送信します。エンドポイントはRecovery.RcvrLock に移行し、フェーズ3 で決定された最終的な係数あるいはプリセットを使用します。

リンク調整の推奨事項

レシーバーのBER を改善するために、インテルは、エンドポイント向けフェーズ2 イコライゼーション中に、またはルートポート向けフェーズ3 イコライゼーション中で、CTLE をtriggered モードでオンにすることを推奨します。

Gen3 プリセットに対応する係数を送信するのにpipe_g3_txdeemph[17:0] ポートを使用します。 インテル® は、A10 レシーバーがデータを正常に回復するためのプリセットP8 係数を送信することを推奨しています。pipe_g3_txdeemph は、イコライゼーション中にリンクパートナーのトランスミッタ・ディエンファシスを選択するために使用されます。

イコライゼーション・フェーズ中にCTLE をtriggered モードでオンにするには、pipe_g3_rxpresethint[2:0] ポートを使用します。

表 193.  Gen3 対応デザインのGen1/Gen2 スピード用のCTLE モードGen3 対応デザインのGen1/Gen2 スピードで動作する場合、以下の表を使用してpipe_g3_rxpresethint ポートを駆動し、CTLE をマニュアルモードに設定します。
Gen3 対応デザインのGen1/Gen2 スピードにおける動作 サポートされるCTLE:モードManual。CTLE をマニュアルモードで使用するための設定
パワーアップ
  • パワーアップ時に、pipe_g3_rxpresethint[2:0] = 3’b000 に設定する
  • Quartus によって設定されたデフォルトのCTLE 4S AC Gain を使用する。または、
  • QSF アサインメントを使用してマニュアルのCTLE 4S AC Gain を設定する
Gen1/Gen2 へのダウン・トレーニング (指示通りまたは指示なし) とその後のGen3 へのリエントリー
  • Gen1/2 に入るには、pipe_g3_rxpresethint[2:0] = 3’b000 に設定する
  • Quartus によって設定されたデフォルトのCTLE 4S AC Gain を使用する。または、
  • QSF アサインメントを使用してマニュアルのCTLE 4S AC Gain を設定する
Gen1/Gen2 へのダウン・トレーニング
  • Gen1/2 に入るには、pipe_g3_rxpresethint[2:0] = 3’b000 に設定する
  • Quartus によって設定されたデフォルトのCTLE 4S AC Gain を使用する。または、
  • QSF アサインメントを使用してマニュアルのCTLE 4S AC Gain を設定する
注: インテル® は、Gen1/Gen2 スピードでCTLE を適応モードで使用することをサポートしていません。CTLE をマニュアルモードで使用する必要があります。
表 194.  Gen3 対応デザインのGen3 スピード用のCTLE モードGen3 対応デザインでGen3 スピードで動作する場合、以下の表を使用してpipe_g3_rxpresethint ポートを駆動し、CTLE モードを適応モードに設定します。
Gen3 対応デザインのGen3 スピードにおける動作 サポートされるCTLE:モードTriggered adaptation。CTLE を適応モードで使用するための設定
1 回目のGen3 へのエントリー
  • EQ フェーズ2/3 では、遠端のTX プリセット/係数要求が完了した後、pipe_g3_rxpresethint = 3’b111 に設定する。リンクは、CTLE の適応のためには少なくとも12 ms の間Recovery に留まる必要がある
  • EQ フェーズで十分な時間がない場合は、EQ 後にRecovery.RcvrLock に遅延を挿入することができる
  • その後、pipe_g3_rxpresethint は、Recovery 中でもGen3 に対して3'b111 のままでなければならない
Gen3 におけるEQ のやり直し
  • pipe_g3_rxpresethint は、EQ フェーズ2/3 エントリーでは3'b000 に設定する必要がある
  • 初めてGen3 にリンクする場合と同じ手順に従う

Gen1/Gen2 へダウン・トレーニング (指示通りまたは指示なし) 後のGen3 へのリエントリー
  • その後のGen3 へのエントリーでは、有効なデータがある場合にpipe_g3_rxpresethint[2:0] = 3’b111 に設定し、CTLE の適応のためにRecovery 状態で12 ms の間待機する
注:

インテル® は、Gen3 スピードではCTLE を適応モードで使用することを推奨しています。Gen3 スピードでCTLE をマニュアルモードで使用する場合は、pipe_g3_rxpresethint[2:0] = 3’b000 に設定し、CTLE 4S AC Gain 値を設定する必要があります。

  • Quartus によって設定されたデフォルトのCTLE 4S AC Gain を使用する。または、
  • QSF アサインメントを使用してマニュアルのCTLE 4S AC Gain を設定する