PCI Expressのマルチチャネル DMA インテル® FPGA IPユーザー ガイド

ID 683821
日付 4/20/2022
Public
ドキュメント目次

3.1.2.1. D2H ディスクリプター・フェッチ

AVST モードで単一ポートを介して複数のチャネルを有効にすると、MCDMA IP はアクティブにできるチャネルの数を制限したり、データ移動用のディスクリプターをプリフェッチしたりして、すべてのチャネルのディスクリプターを同時に保持するために大きなメモリーを実装することを回避します。

ディスクリプター FIFO は、定義された数のチャネルのディスクリプターのみを保持するように設計されています。データがユーザー・インターフェイス (AVST ポート) で受信されると、MCDMA IP を介してホスト SW とユーザーロジックの間でハンドシェイクが行われず、ディスクリプター・フェッチの順序や複数チャネルのデータ移動が制御されません。複数チャネルのディスクリプターに簡単にアクセスできるようにするために、MCDMA IP はディスクリプター FIFO のセグメンテーションを実装しています。

以下は、ユーザー・プログラマビリティーを提供するために定義された 2 つの IP パラメーターです。
  • D2H Prefetch Channels: D2H ディスクリプター・メモリーは複数のセグメントに配置され、ユーザーが選択できる数のプリフェッチ・キュー (Active Queuesとも呼ばれます) をサポートします。
  • Maximum Descriptor Fetch: 各プリフェッチ・チャネルでフェッチできる D2H ディスクリプターの最大数。

MCDMA IPはNプリフェッチ・チャネルのみを実装するため、プリフェッチされていないチャネルで受信したユーザー AVST データを処理できます。D2H データムーバーが、ディスクリプターがプリフェッチされていないチャネルの AVST でデータを受信すると、D2HDM はそのチャネルの記述子をフェッチするように要求します。

すべてのセグメントが占有されており、D2HDM がディスクリプターがプリフェッチされていないチャネルのデータを受信すると、この新しいチャネル用にフェッチされたディスクリプターに対応するために、使用頻度が最も低いセグメントがクリアされます。 D2HDM が対応するチャネルのデータを受信するたびに、クリアされた最も使用頻度の低いセグメントのディスクリプターが再取得されます。