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

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

2.5. Avalon-ST Device-side Packet Loopback

図 6. Avalon-ST、Device-side Packet Loopback

このデザイン例では、デバイス側のAvalon-STストリーミング・インターフェイスを介してH2DおよびD2HのマルチチャネルDMAを実行します。デバイス側のパケット・ループバックでは、ホストからデバイス (H2D) のデータストリームが外部FIFOを介してホストにループバック (D2H) されます。

H2Dのストリーミングでは、マルチチャネルDMAは4つのAvalon-STソースポートを介してデータをAvalon-STループバックFIFOに送信します。D2Hのストリーミングでは、マルチチャネルDMAはAvalon-STシンクポートを介してデータをAvalon-STループバックFIFOから受信します。

このデバイス側のループバックの例では、ホストはまずホストメモリー内にメモリー位置を設定します。その後、ホストメモリーからのデータは、デバイス側のメモリーに送信されます。これは、Multi Channel DMA for PCI Express IPによってH2D DMAの操作を介して行われます。最後に、IPはD2H DMAの操作を使用してこのデータをホストメモリーにループバックします。

さらに、このデザイン例では、Avalon-MM PIOマスターを有効にしてDMAパスをバイパスします。これにより、アプリケーションではオンチップメモリー・ブロックで単一の非バーストレジスター読み出し/書き込み操作を実行できるようになります。

このデザイン例には、指定したパラメーターを備えるMulti Channel DMA for PCI Express IPコアと次のコンポーネントが含まれています。
  • resetIP – リセットリリースIPで、FPGAファブリック全体がユーザーモードになるまでマルチチャネルDMAをリセット状態に保ちます。
  • GEN_CHK - MCDMAに向けたパケット・ジェネレーターとチェッカーです。DUT Avalon Streaming H2D/D2Hインターフェイス (h2d_st_0d2h_st_0) とインターフェイスして、DMA操作を行います。DUT AVMM PIOマスター (rx_pio_master) は、CSRおよびオンチップメモリーに対する読み出しおよび書き込み操作を行います。
  • PIO_INTERPRETER - MAP_PF、MAP_VF、MAP_BARなどのパラメーター設定に基づきDUT AVMM PIOマスターアドレス幅をAVMMスレーブ側のアドレスにマッピングします。
テスト・アプリケーション・ソフトウェア (perfq_app) コマンドラインでサポートされる転送モードオプション
  • PIOテスト: -o
  • DMAテスト: -i (パフォーマンス・ループバック操作で、TxとRxが2つの異なるスレッドで実行されます)。-v (データ検証を有効にして、データ整合性チェックを実行します)。
    • -i-v フラグなしで使用すると、チャネルごとのスループットが表示されます。

このデザイン例で使用するドライバーに関しては、ドライバーのサポート を参照してください。

注: メタデータのサポートは、AVST、Device-side Packet Loopbackのデザイン例で利用可能です。