UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 71421

Queue DMA subsystem for PCI Express (Vivado 2018.2) - 問題修正のための緊急パッチ

説明

問題の発生したバージョン: v2.0

修正バージョンおよびその他の既知の問題: (Xilinx Answer 70927)

このアンサーに添付されている緊急パッチは、Vivado 2018.2 の Queue DMA Subsystem for PCI Express での問題を修正するためのものです。修正の詳細は次のとおりです。

  1. ディスクリプター エンジンとプリフェッチ エンジンのデッドロック:
    QDMA は、tm_sts のバックプレッシャーが原因で、ディスクリプター エンジンがディスクリプターをフェッチしなくなるデッドロックに陥る可能性があります。
    フェッチ エンジンは、ディスクリプター エンジンからではないディスクリプターによってブロックされるため、tm_sts をこれ以上処理できなくなります。
    つまり、不正な VF が 1 つでもあると、QDMA のすべてのキューがハングする可能性があります。

  2. タイマーが完了しない問題:
    タイマー ベースのトリガー モードで実行しているキューが数多くあると、タイマーの一部が時間切れにならない可能性があります。
    そうすると、C2H キューがずっと停止状態になります。

  3. プリフェッチ ディスクリプターのエビクションの問題:
    プリフェッチがイネーブルになっていると、プリフェッチされたディスクリプターのエビクションが正しく実行されません。
    このため、データが破損します。

  4. クレジットが合体されない問題:
    フェッチ レートを高く維持するには、ディスクリプター エンジンへのクレジットを合体させる必要があります。
    修正なしのインプリメンテーションだと、最高 15 個の同時キューがサポートされますが、その数を超えるキューが細かくインターリーブされていると、小さいパケットに対しパフォーマンスは大きく低下します。

  5. C2H QID0 問題:
    ディスクリプター エンジンからプリフェッチ エンジンまでキューの検証が行われていなかったり、あるディスクリプター エラー イベントがレポートされると、実際の QID ではなく QID0 に対してエラーが記録される可能性があります。
    そうすると QID0 でパケットがドロップされます。

  6. ストリーミング H2C エンジンでの大量のデータ ベース リクエストが原因でスロットリングが発生:
    ストリーミング H2C エンジンに PCIe 側から大量の未処理データが送信されると、RQ ブロックのバッファーがいっぱいになり、C2H ストリームのパフォーマンスに影響が出る可能性があります。
    ストリーミング H2C エンジンで見られる未処理データのしきい値をプログラムするため、新しいソフトウェア レジスタが追加されています。
    このしきい値に達すると、ある程度のデータがユーザー ロジックに送信されるまで、ストリーミング H2C エンジンはこれ以上読み出しリクエストを送信しなくなります。これで未処理データ量を低減できます。
    このレジスタには、この機能をディスエーブルにする機能も含まれています。この新しいレジスタは 0xE24 にあり、次のフォーマットになっています。
     


  1. C2H 完了エンジンでのユーザー + タイマー + カウント トリガー モード:
    C2H 完了エンジンからの割り込みおよびステータスの書き込みを調整するため、新しいトリガー モードが追加されています。
    このモードは、ユーザー提供のトリガーに反応し、タイマーを時間切れにするだけでなく、C2H 完了リングでの読み出されていない完了の数を 0 に戻します。
    この新モードは、C2H 完了コンテキストにある trig_mode フィールドでプログラムでき、0x5 に設定します。

このパッチには、2018.2 のこれまでにリリースされている問題修正も含まれています。詳細は、 (Xilinx Answer 70927) を参照してください。



このアンサーは、PCI Express ソリューション センターの一部です。

(Xilinx Answer 34536)ザイリンクス PCI Express ソリューション センター

ソリューション

この問題は、このコアの次のバージョンで修正される予定です。

パッチ用 ZIP ファイルに含まれている README ファイルにある手順に従って Vivado 2018.2 にパッチをインストールしてください。

注記: [問題の発生したバージョン] 列には、問題が最初に見つかったバージョンを示しています。

問題はそれ以前のバージョンでも発生していた可能性がありますが、以前のバージョンではそれを検証するテストは実行されていません。

改訂履歴

2018/08/29 - 初版

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
AR71421_Vivado_2018_2_preliminary_rev1.zip 6 MB ZIP
AR# 71421
日付 08/29/2018
ステータス アクティブ
種類 既知の問題
IP
このページをブックマークに追加