マルチ・チャネル DMA PCI Express* 用インテル FPGA IP ユーザー・ガイド

ID 683821
日付 10/06/2023
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

3.1.2.1. D2H記述子のフェッチ

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

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

以下は、ユーザーによるプログラム可能性を提供するために定義された 2 つの IP パラメーターです。
  • D2H プリフェッチ チャネル: D2H 記述子メモリは、ユーザーが選択できる数のプリフェッチ キュー (アクティブ キューとも呼ばれます) をサポートするために複数のセグメントに配置されています。
  • 最大記述子フェッチ: 各プリフェッチ チャネルでフェッチできる D2H 記述子の最大数。

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

AVST モードでは、ホストからのテール ポインター (TID) 更新がないチャネルのデータを受信すると、SOF から EOF までの対応する AVST パケットがドロップされます。

注: D2H は、現在の IP バージョンで無効になっているチャネルでのテール ポインターの更新をサポートしていません。 ホスト ソフトウェアは、テール ポインターの更新を行う前に、チャネルが有効になっていることを確認する必要があります。

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