インテルのみ表示可能 — GUID: zhw1500497748546
Ixiasoft
インテルのみ表示可能 — GUID: zhw1500497748546
Ixiasoft
2.4.3.1.2. FIFOレイテンシーの計算
FIFOを介したレイテンシー (PCモードの場合) は、リセットごとに異なる場合があります。適切なFIFOレイテンシー計算ロジックを使用して、その変動を判断できます。位相測定技術は、読み出しカウンターと書き込みカウンターの間の距離を測定します。位相測定回路は、位相補償FIFOの場合と、読み出しポインターおよび書き込みポインターの比率が正確に2:1である位相補償FIFOの場合に機能するようにデザインされています。
FIFOのフルネスを測定するには、パラレルクロックと等しくないレートでサンプリング・クロックを実行します。サンプリング・クロックを計算するためのガイドラインは、サンプリング・クロックがパラレルクロックに対してさまざまな位相関係をスイープすることです。単純なカウンターを使用して、結果のパルスが1対0の頻度を決定する必要があります。この実装は、以下で参照されている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 を参照してください。
result_ready がアサートされると、Total FIFO countバス上のデータを読み出し、次の式を使用してレイテンシー時間を計算できます。
FIFOのレイテンシー測定ポートで使用可能なレイテンシー・パルスは、以下のように表示されます。パルスのデューティー・サイクルは、特定の瞬間の読み出しポインターと書き込みポインターの差によって異なります。パルスのデューティー・サイクルは、読み出しポインターおよび書き込みポインターの両方が移動するにつれて時間とともに変化します。FIFOを介した実際のレイテンシーを見つけるために、IPブロックは適切な期間のレイテンシー・パルスのデューティー・サイクルの平均を計算します。
下の図に示すように、サンプリング・クロック (LATENCY_SCLK) がパルスをサンプリングします。サンプリング期間の後、1のすべてのサンプルが蓄積され、Total FIFO count出力バスに表示されます。これは、図 85 でレイテンシー (ナノ秒単位) を計算するために使用されます。Number of pulsesパラメーターは、レイテンシー計算ロジックが実行されるレイテンシー・パルスの実際の数です。このパラメーターは、レイテンシー計算ロジックの実行時間を定義します。以下で参照されるデザインファイルは、FIFOレイテンシーを計算するためにデフォルトで128レイテンシー・パルスに設定されています。ハードウェアの制限により、サンプリング・クロックは260 MHzを超えることはできません。
シンボル | 入力/出力 | 説明 |
---|---|---|
latency_sclk | 入力 | レイテンシー計算ロジックに必要なサンプリング・クロック |
start_calc | 入力 | レイテンシー計算を開始するためのコントロール信号 |
fifo_latency_pulse | 入力 | レイテンシー・パルス |
total_fifo_count | 出力 | レイテンシー計算ロジックの結果 |
result_ready | 出力 | レイテンシー計算ロジックの完了を示すステータス信号 |

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 を作成できます。