Multi Channel DMA Intel® FPGA IP for PCI Express* デザイン例のユーザーガイド

ID 683517
日付 10/06/2023
Public
ドキュメント目次

3.5.2.3.3. リファレンス・アプリケーション例の実行

  1. リファレンス・アプリケーションを構築します。
    $ cd software/user/cli/perfq_app/
    $ make clean && make all
    $ ./perfq_app -h
  2. このコマンドは、次の図に示すように、アプリケーションで利用可能なオプションを表示します。

    詳細は、software/user/cli/perfq_app ディレクトリーにあるREADMEファイルを参照してください。

  3. PIOテストを実行し、設定が正しいかを確認します。成功すると、アプリケーションは次の図のように「合格」ステータスを表示します。

    ここでは、システムの正しいBDFとともに -b オプションが提供されます。

  4. IPリセットを行います。

    このステップでは、IPリセットを実行します。このステップは、それぞれの実行前に行うことができます。

    devmemユーティリティーを構築します。
    $ cd software/user/cli/devmem
    $ make clean all
    $ ./devmem 0000:01:00.0 0 0x00200120 0x1
  5. チャネルID VF PF検証の場合、チャネルID、VF、およびPF情報がAVSTデータパターンに挿入されます。適切なチャネルとVFでdmaをテストするには、次のようにテストします。

    AVST LBの場合: software/user/common/mk/common.mk ファイルで、CID _PAT を有効にします。

    例えば、次のとおりです。
    __cflags += -DCID_PAT

    データ検証モードがサポートされます。パフォーマンス・モードは無効になっています。

    __cflags += -DPERFQ_LOAD_DATA \ 
    __cflags += -UPERFQ_PERF

    サポートされる方向: 該当する双方向 (-i) のみ

    AVST PKT GENの場合: 次のコンフィグレーションを software/user/common/mk/common.mk で行います。

    CID_PATIFC_PROG_DATA_EN を有効にします。

    __cflags += -DCID_PAT
    __cflags += -DIFC_PROG_DATA_EN
    DIFC_PROG_DATA_EN

    検証モードでは、DPERFQ_LOAD_DATA フラグを有効にし、PERFQ_PERF フラグを無効にします。

    __cflags += 
    -DPERFQ_LOAD_DATA
     __cflags += -UPERFQ_PERF

    サポートされる方向: 双方向 (-Z)、Tx (-t)、およびRx (-r)

  6. 次のコンフィグレーションでループバック・デザインをテストする場合の例
    コマンド
    $ ./perfq_app -b 0000:01:00.0 -p 32768 -l 5 -i -c 2 -d 2 -a 4

    コンフィグレーション

    1. bdf (-b 0000:01:00.0)
    2. 2チャネル (-c 2)
    3. ループバック (-i)
    4. 各記述子のペイロード長は32,768バイト (-p 32768)
    5. 時間制限 (-l 5)
    6. デバッグログは有効 (-d 2)
    7. 各キューに1つのスレッド (-a 4)
    注: このハードウェア・テストは、 インテル® Stratix® 10 GX HタイルPCIe Gen3 x16のコンフィグレーションで実行しています。
    注: このハードウェア・テストは、 Intel Agilex® 7 PタイルPCIe Gen4x16のコンフィグレーションで実行しています。
    図 31. カスタムAVST DMA Gen4 x16: Pタイル・ハードウェア・テストの結果
    注: Rx/Txテストの場合
    1. AVMMでは、-i ではなく -u を使用します。
    2. -i は、AVSTループバックの場合に使用します。
    3. -z は、AVST PKTの場合に使用します。
  7. AVMM DMA での検証例
    user/common/include/ifc_libmqdma.h ファイルで次のマイクロを変更します。
    #define PCIe_SLOT 0 /* 0 - x16, 1 - x8 */
    コマンド
    $ ./perfq_app -b 0000:01:00.0 -p 32768 -l 5 -u -c 2 -d 2 -a 4

    コンフィグレーション

    1. bdf (-b 0000:01:00.0)
    2. 2チャネル (-c 2)
    3. 双方向DMA転送 (-u)
    4. 各記述子のペイロード長は32768バイト (-p 32768)
    5. 時間制限は5に設定 (-l 5)
    6. デバッグログは有効 (-d 2)
    7. 各キューに1つのスレッド (-a 4)
    注: データの有効性をテストするには、H2Dの動作を行い、その後D2Hの動作を行う必要があります。
    図 32. カスタムAVMM DMA Gen4 x16: Pタイル・ハードウェア・テストの結果
注: MSIXの場合は次のコマンドを実行します。
$ulimit -n 8192
-vオプションを使用してデータの検証を有効にするには、user/common/mk/common.mk でソフトウェア・フラグを次のように設定します。
cflags += -UPERFQ_PERF
cflags += -DPERFQ_LOAD_DATA