PCI Express* 用のインテル® Stratix® 10 HタイルおよびLタイル Avalon® メモリー・マップド・ハードIPユーザーガイド

ID 683667
日付 6/03/2020
Public
ドキュメント目次

3.1. ディスクリプター・コントローラーが内部的にインスタンス化されている場合のAvalon-MM DMAインターフェイス

このコンフィグレーションは、コンポーネントGUI内で、Enable Avalon-MM DMAおよびInstantiate internal descriptor controllerの両方を選択した結果です。

次の図は、ソフトロジックで実装されたAvalon-MM DMAブリッジを示しています。Avalon-STインターフェイスを介してPCIeのハードIPにインターフェイス接続します。

次の図では、 Avalon-ST接続と、BAR0非バーストマスターからDescriptor Controllerスレーブへの接続は、内部接続となっています。黒い破線はそれらの内部接続を示しています。Descriptor Controller Masterと非バーストスレーブ間の接続、およびRead DMA Data MasterとDescriptor Table Slave間の接続は、プラットフォーム・デザイナー内で行われます。青い線はそれらの接続を示しています。

注: 次の図およびテキストの説明では、ReadおよびWriteという用語は、システムメモリーの観点から見たものです。したがって、Readトランザクションは、システムメモリーからデータを読み出し、それをAvalon-MMアドレス空間のローカルメモリーに書き込みます。Writeトランザクションは、Avalon-MMアドレス空間のローカルメモリーから読み出されたデータを、システムメモリーに書き込みます。
図 19. オプションの内部的なディスクリプター・コントローラーを備えたAvalon-MM DMAブリッジのブロック図 (DMA書き込みフローの表示)

この図の中の番号は、DMA書き込みフローにおける次の手順を示しています。

  1. CPUは、Descriptor Controller Slave内のレジスターに書き込み、DMAを開始します。
  2. Descriptor Controllerは、Read Data Moverにディスクリプター・テーブルをフェッチするように指示します。
  3. Read Data Moverは、ディスクリプター・テーブルをPCIe Write Descriptor Table Slaveに転送します。
  4. Descriptor Controllerは、Write Data Moverにデータを転送するように指示します。
  5. Write Data Moverは、FPGAからシステムメモリーにデータを転送します。
  6. Write Data Moverは、done ビットを使用して、Descriptor Controllerにデータ転送の完了を通知します。
  7. Descriptor Controller Masterは、システムメモリー内のディスクリプター・テーブルのステータスを更新します。
  8. Descriptor Controller Masterは、MSI割り込みをホストに送信します。
図 20. オプションの内部的なディスクリプター・コントローラーを備えたAvalon-MM DMAブリッジのブロック図 (DMA読み出しフローの表示)

この図の中の番号は、DMA読み出しフローにおける次の手順を示しています。

  1. CPUは、Descriptor Controller Slave内のレジスターに書き込み、DMAを開始します。
  2. Descriptor Controllerは、Read Data Moverにディスクリプター・テーブルをフェッチするように指示します。
  3. Read Data Moverは、ディスクリプター・テーブルをPCIe Read Descriptor Table Slaveに転送します。
  4. Descriptor Controllerは、Read Data Moverにデータを転送するように指示します。
  5. Read Data Moverは、FPGAからシステムメモリーにデータを転送します。
  6. Read Data Moverは、done ビットを使用して、Descriptor Controllerにデータ転送の完了を通知します。
  7. Descriptor Controller Masterは、システムメモリー内のディスクリプター・テーブルのステータスを更新します。
  8. Descriptor Controller Masterは、MSI割り込みをホストに送信します。

オプションのDescriptor Controllerがブリッジに含まれている場合、Avalon-MMブリッジには、DMA機能を実装するための次の Avalon® インターフェイスが含まれます。

  • PCIe Read DMA Data Master (rd_dma): これは256ビット幅の書き込み専用Avalon-MMマスター・インターフェイスで、rd_dma* プリフィクスで最大16サイクルのバーストをサポートします。Read Data Moverは、このインターフェイスを使用して、 PCIe* システムのメモリー空間から読み出したデータブロックを高スループットで書き込みます。このインターフェイスは、ディスクリプターをReadおよびWrite Descriptorテーブルスレーブと Avalon® -MMに接続されているその他のスレーブ・インターフェイスに書き込みます。
  • PCIe Write DMA Data Master (wr_dma): この読み出し専用インターフェイスは、データブロックをAvalon-MMドメインからPCIeシステムのメモリー空間に高スループットで転送します。バーストAvalon-MMマスター・インターフェイスで読み出しトランザクションを駆動します。また、Avalon-MM読み出しからのデータペイロードを使用して、PCIe Memory Write (Mwr) TLPを作成します。MWr TLPをハードIPに転送して、リンクで送信します。Write Data Moverモジュールは、転送を必要な数のAvalon-MMバースト読み出しトランザクションとPCIe MWr TLPに分解します。これは、wr_dma プリフィクスの256ビットのバーストAvalon-MMインターフェイスです。
  • PCIe Read Descriptor Table Slave (rd_dts): 最大16サイクルの書き込みバーストをサポートする256ビットのAvalon-MMスレーブ・インターフェイスです。PCIe Read DMA Data Masterは、このテーブルにディスクリプターを書き込みます。Read Data Moverは通常、他のAvalon-MMスレーブにも接続するため、この接続はDMAブリッジの外部で行われます。このインターフェイスのプリフィクスは rd_dts です。
  • PCIe Write Descriptor Table Slave (wr_dts): 最大16サイクルの書き込みバーストをサポートする256ビットのAvalon-MMスレーブ・インターフェイスです。PCIe Read DMA Data Masterは、このテーブルにディスクリプターを書き込みます。バースト・マスター・インターフェイスもPCIe Read Data Moverの送信先に接続する必要のある場合があるため、PCIe Read DMA Data Masterは、DMAブリッジの外部でこのインターフェイスに接続する必要があります。このインターフェイスのプリフィクスは wr_dts です。
  • Descriptor Controller Master (DCM): 書き込み専用機能を備えた32ビットの非バーストAvalon-MMマスター・インターフェイスです。単一のDWORD DMAステータス情報をホストに送信する非バーストAvalon-MMスレーブを制御します。このインターフェイスのプリフィクスは wr_dcm および rd_dcm です。
  • Descriptor Controller Slave (DCS): 読み出しおよび書き込みアクセスを備えた32ビットの非バーストAvalon-MMスレーブ・インターフェイスです。ホストは、Descriptor Controllerをプログラムするために、BAR0 Non-Bursting Avalon-MM Masterを介してこのインターフェイスにアクセスします。
    注: これは、Avalon-MM Bridgeのトップレベルのインターフェイスではありません。BAR0に接続するため、BAR0を使用して他のAvalon-MMスレーブ・インターフェイスにアクセスすることはできません。