AR# 65875

Zynq UltraScale+ MPSoC - PS-GTR: PCIe のマルチレーン リンク アライメントに複数の SKP 順序集合が必要な場合がある

説明

マルチレーン リンク アライメント中に、PS-GTR ブロックでデータの 2 バイトが繰り返されるか欠落し、PCIe のコントローラーでデータ破損が発生することがあります。 

次の SKP 順序集合 (OS) が受信されるまで、破損したままになります。PCIe プロトコルでは、接続されているデバイスで受信されていないパケットを再送信することにより、このようなエラーに対処できます。 

回避策は不要です。PCIe のパフォーマンスには影響ありません。

PCIe プロトコルではマルチレーン リンクがサポートされます。RX 方向では、すべてのレーンがお互いに揃っている必要があります。このアライメントの実行中に、一部のデータ (2 バイト) が 1 サイクル分欠落するか、繰り返されることがあります。 

この 1 サイクル分の繰り返し/欠落により、PCIe コントローラーのデスクランブラーが接続されているデバイスのスクランブラーと同期しなくなります。その結果、その後のパケットがすべて破損します。このデータ破損は、次の SKP OS が受信されるまで続きます。 

PCIe では、1536 シンボル (または 768 サイクル) ごとに SKP OS が送信されることを要件としています。リンク アップの最初の 768 サイクルでパケットが受信された場合、パケットが破損する可能性があります。パケットが破損した場合、PCIe ブロックにより ACK 信号が接続されているデバイスに送信されません。接続されいるデバイスは、その再生タイマーに基づいて、パケットを再送信します。この時点までに、データ破損はなくなっています。パケットのトランスミッター (接続されているコンポーネント) ではこの再試行を修正可能なエラーとして記録し、ソフトウェアにレポートします (イネーブルの場合)。その結果、ホストでこのイベントが認識されます。

このバグのもう 1 つの悪影響は、FTS 順序集合の文字列が受信された直後 (L0s からのウェークアップ時) に SKP OS が受信されることです。この破損した SKP OS はデスクランブラーにも同じ影響を及ぼし、パケット破損が発生します。この状況も、次の SKP OS が受信されたとき (768 サイクル以内) に修正されます。

ソリューション

影響:
深刻な問題ではありません。このエラーは、初期リンク形成中またはリンクの再トレーニング イベント中に発生します。
この問題は PCIe のパフォーマンスには影響せず、リンク アップした後の PCIe IP の通常動作にも影響しません。
回避策:PCIe プロトコルでは、接続されているデバイスで受信されていないパケットを再送信することにより、このようなエラーに対処できるので、回避策は必要ありません。
エラッタ回避策のサマリは、(Xilinx Answer 68750) を参照してください。
対象となる構成:PS-GTR を PCIe で使用する場合。
対象となるデバイス リビジョン:すべての Zynq UltraScale+ MPSoC
AR# 65875
日付 06/22/2017
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス