AR# 52028

Zynq-7000 SoC、GigE - 受信リソース エラーが多く生成されると受信パスがロックされることがある

説明

小さなサイズのイーサネット フレーム (約 64 バイト) のトラフィックが激しく、コントローラーにリソース エラーが多く発生すると、受信ロジックにより受信パスが完全にロックされるという稀な状態が発生します。

受信ロジックをフラッシュさせリセットすると、コントローラーで再びフレームを受信できるようになります。

ソリューション

受信ロジックをフラッシュさせリセットすると、コントローラーで再びフレームを受信できるようになります。
影響:
深刻な問題ではありません。稀に発生する問題で、チャネルをリセットさせる回避策があります。
回避策:
ソフトウェアで受信チャネルにアクティビティがないことを監視して、コントローラーをリセットできます。回避策の詳細を参照してください。
対象となる構成:
イーサネット コントローラーを使用するシステム。この問題は 1 ギガビット イーサネット モードで再現できますが、理論的には 3 つのスピードすべてで発生する可能性があります。
対象となるデバイス リビジョン:すべて修正予定なし(Xilinx Answer 47916) - アンサー「Zynq-7000 SoC デバイス - シリコン リビジョン間の相違点」を参照してください。
 
 
回避策の詳細:
プログラミングの手順:
 
  1. リソース エラー (受信バッファーが使用できないエラー) があるたびに、できる限り早く受信チャネルからのパケットをフラッシュする必要があります。これには、gem.net_ctrl [18] レジスタ ビットに 1 を 1 つ書き込みます。
    これで、リソース エラーが生成されるスピードが低減されます。
     
  2. ソフトウェアで、受信パスにアクティビティがないことを確認するため受信チャネルを監視し、随時コントローラーをリセットできます。
    タイマーを使用して統計レジスタ gem.frames_rx を定期的に (通常は 10 0ms ごと) チェックし、問題なく受信されたフレームの数を確認します。
     
  3. 2 つの連続する読み出しの間、統計カウンターがインクリメントしない場合は、受信パスにはアクティビティがないものとして、ソフトウェアで受信チャネルをリセットする必要があります。これには、gem.net_ctrl [2] レジスタ ビットにまず 0 を 1 つ書き込み、その次に 1 を 1 つ書き込みます。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47916 Zynq-7000 SoC デバイス - シリコン リビジョン間の相違点 N/A N/A
AR# 52028
日付 05/25/2018
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス