外部メモリー・インターフェイス Agilex™ 7 FシリーズおよびIシリーズFPGA IPユーザーガイド

ID 683216
日付 3/29/2024
Public
ドキュメント目次

11.8.1. デフォルトのトラフィック・ジェネレーターのステータスの読み取り

トラフィック・ジェネレーター (TG) の全体的なステータスを確認するには、トップレベル信号 (traffic_gen_passtraffic_gen_failtraffic_gen_timeout) を、LEDに接続している外部ピン、またはオシロスコープによる監視のためのテストポイントにルーティングする必要があります。 もしくは、In-System Sources and Probes (ISSP) をデザインで有効にすることも可能です。その場合は、Signal Tap、システムコンソール、またはキャリブレーション・デバッグ・ツールキットを使用して読み取ることができます。

以下に説明するように、トラフィック・ジェネレーターは詳細な障害情報を提供します。

Pass-Not-Fail (PNF) ビット

pnf_per_bitバスの幅は、Avalonコントロール・インターフェイスのデータ幅と同じです。各PNFビットは、各データビットのステータスを表します。このステータスは、特定のアドレスに書き込まれたデータと、同じアドレスからの読み出し応答との比較から収集されます。

pnf_per_bit[x] は、ビットxで書き込みと読み出しの不一致が発生しない限りHighです。PNFビットは永続的です。つまり、データの不一致がありビットがLowに設定されると、次のTGリセットまでLowの状態で維持されます。

PNFビットは、コントロール・インターフェイスのデータビットに1:1でマッピングされます。メモリー側のデータピンへのマッピングを理解するため、32ビットのDDR4、クォーターレート・インターフェイスを例にして説明します。このインターフェイスのコントロール・データ幅は256です。この場合は、次の内容が当てはまります。

  • pnf[0] は、BL8メモリー読み出し操作の最初のビート (プリアンブルの直後) のdq[0] にマッピングされます。
  • pnf[1] は、BL8メモリー読み出し操作の最初のビート (プリアンブルの直後) のdq[1] にマッピングされます。
  • ...
  • pnf[31] は、BL8メモリー読み出し操作の最初のビート (プリアンブルの直後) のdq[31] にマッピングされます。
  • pnf[32] は、BL8メモリー読み出し操作の2番目のビートのdq[0] にマッピングされます。
  • ...
  • pnf[64] は、BL8メモリー読み出し操作の3番目のビートのdq[0] にマッピングされます。
  • ...
  • pnf[96] は、BL8メモリー読み出し操作の4番目のビートのdq[0] にマッピングされます。
  • ...
  • pnf[128] は、BL8メモリー読み出し操作の5番目のビートのdq[0] にマッピングされます。
  • pnf[160] は、BL8メモリー読み出し操作の6番目のビートのdq[0] にマッピングされます。
  • ...
  • pnf[192] は、BL8メモリー読み出し操作の7番目のビートのdq[0] にマッピングされます。
  • ...
  • pnf[224] は、BL8メモリー読み出し操作の最終ビート (ポストアンブルの直前) のdq[0] にマッピングされます。

同様のマッピングアプローチが、サポートされている他のインターフェイス・メモリー・バス幅にも適用されます。

最初に観察された障害に関する情報

トラフィック・ジェネレーターには、最初のデータ不一致のアドレス、想定されるデータ、読み出しデータなどを格納するレジスターがあります。これらのレジスターは、ISSPを介して、またはそれらをSignal Tapの波形に追加することによって読み取ることができます。デザイン例に存在するすべてのISSPの詳細な説明については、ISSPタブを参照してください。

Write-Once-Read-Many (WORM) モード

WORMモードを有効にすると、トラフィック・ジェネレーターは、障害が発生したアドレスから追加で読み出しを実行することにより、障害に関する情報を提供します。そのため、TGステータスレジスターを読み取り、それに応じて結果を解析することができます。

  • 両方の読み出しで同じreaddataの値を得ている場合は、エラーは書き込みパスにある可能性があります。
  • 読み出しごとに異なるreaddataの値を得ている場合は、エラーは読み出しパスにある可能性があります。

WORMモードを有効にするには、WORM ISSPをHIGHに設定します。WORMビットがHIGHに設定されている際にTGがリセットされると、TGはWORMモードで実行されます。デザイン例に存在するISSPのリストについては、ISSPタブを参照してください。これらのISSPは、TGがこのモードで実行されている間に観測されたデータを保存します。