インテル® Stratix® 10 LタイルおよびHタイル・トランシーバーPHYユーザーガイド

ID 683621
日付 3/03/2020
Public
ドキュメント目次

2.4.3.1.2. FIFOレイテンシーの計算

FIFOを介したレイテンシー (PCモードの場合) は、リセットごとに異なる場合があります。適切なFIFOレイテンシー計算ロジックを使用して、その変動を判断できます。位相測定技術は、読み出しカウンターと書き込みカウンターの間の距離を測定します。位相測定回路は、位相補償FIFOの場合と、読み出しポインターおよび書き込みポインターの比率が正確に2:1である位相補償FIFOの場合に機能するようにデザインされています。

FIFOのフルネスを測定するには、パラレルクロックと等しくないレートでサンプリング・クロックを実行します。サンプリング・クロックを計算するためのガイドラインは、サンプリング・クロックがパラレルクロックに対してさまざまな位相関係をスイープすることです。単純なカウンターを使用して、結果のパルスが1対0の頻度を決定する必要があります。この実装は、以下で参照されているFIFOレイテンシー計算ロジックにあります。

図 83. 位相測定FIFO

以下は、FIFOレイテンシー計算ロジックの実装例です。位相補償モードの各FIFOには、PCS-Coreインターフェイスで使用可能なレイテンシー測定ポート (読み出し専用) があります。各レイテンシー測定ポートは、デューティー・サイクルがFIFOレイテンシーに依存するレイテンシー・パルスを供給します。このレイテンシー・パルスは、FPGAファブリックでさらに処理され、FIFOレイテンシーが計算されます。4つのFIFOには4つの同様のパルスがあり、それらすべてに対して個別にレイテンシー計算を実行する必要があります。次の図に示されているIPは、レイテンシー計算を実行するFPGAファブリックのロジックを表しています。このIPはネイティブPHY IPコアの一部ではないため、排他的にインスタンス化する必要があります。IPの出力は、Total FIFO countバスです。このバスは、FIFOレイテンシー計算の結果を生成します。この結果は、計算が完了したときにのみ読み出すことができ、IPから出てくる result_ready 信号で示されます。図 87 を参照してください。

図 84. FIFOレイテンシーの計算

result_ready がアサートされると、Total FIFO countバス上のデータを読み出し、次の式を使用してレイテンシー時間を計算できます。

図 85. FIFOレイテンシーの式

FIFOのレイテンシー測定ポートで使用可能なレイテンシー・パルスは、以下のように表示されます。パルスのデューティー・サイクルは、特定の瞬間の読み出しポインターと書き込みポインターの差によって異なります。パルスのデューティー・サイクルは、読み出しポインターおよび書き込みポインターの両方が移動するにつれて時間とともに変化します。FIFOを介した実際のレイテンシーを見つけるために、IPブロックは適切な期間のレイテンシー・パルスのデューティー・サイクルの平均を計算します。

下の図に示すように、サンプリング・クロック (LATENCY_SCLK) がパルスをサンプリングします。サンプリング期間の後、1のすべてのサンプルが蓄積され、Total FIFO count出力バスに表示されます。これは、図 85 でレイテンシー (ナノ秒単位) を計算するために使用されます。Number of pulsesパラメーターは、レイテンシー計算ロジックが実行されるレイテンシー・パルスの実際の数です。このパラメーターは、レイテンシー計算ロジックの実行時間を定義します。以下で参照されるデザインファイルは、FIFOレイテンシーを計算するためにデフォルトで128レイテンシー・パルスに設定されています。ハードウェアの制限により、サンプリング・クロックは260 MHzを超えることはできません。

図 86. FIFOレイテンシー測定ポート Number of pulsesおよびその LATENCY_SCLK 期間は、特定の実装によって異なります。
図 87. FIFOレイテンシーの計算ロジック
表 91.  FIFOレイテンシーの計算IP信号
シンボル 入力/出力 説明
latency_sclk 入力 レイテンシー計算ロジックに必要なサンプリング・クロック
start_calc 入力 レイテンシー計算を開始するためのコントロール信号
fifo_latency_pulse 入力 レイテンシー・パルス
total_fifo_count 出力 レイテンシー計算ロジックの結果
result_ready 出力 レイテンシー計算ロジックの完了を示すステータス信号
図 88. 4つのFIFOのFIFOレイテンシー計算ロジックポイントAは start_calc 信号のアサーションであり、ポイントBは result_ready 信号のアサーションです。total_fifo_count 信号は、result_ready がアサートされた後に有効になります。
図 89. すべてのFIFOのFIFOレイテンシー式

latency_sclk に適した周波数については、これらのガイドラインに従ってください。

  • latency_sclk が260 MHz以下である必要があります。
  • パラレルクロックと latency_sclk の比率は、最も低い用語で表現した場合、分母は少なくとも50、できれば100を超える必要があります。理想的な結果の latency_sclk は、200 MHzから260 MHzである必要があります。
  • tx_clkout の倍数である latency_sclk 周波数を使用しないでください。
  • 例は次のとおりです。
    表 92.  パラレルクロックと latency_sclk の比率シナリオ
    tx_clkout 周波数 正しい latency_sclk 周波数 不正な latency_sclk 周波数
    150 MHz 209 MHz 160 MHz
    245 MHz 247 MHz 250 MHz
    300 MHz 247 MHz 260 MHz

IOPLLまたは外部リファレンス・クロックを使用して、latency_sclk を作成できます。