インテルのみ表示可能 — GUID: iga1401397403770
Ixiasoft
インテルのみ表示可能 — GUID: iga1401397403770
Ixiasoft
31.3.1. 機能ブロックとコンフィグレーション
記述子プロセッサー
記述子プロセッサーは、 Avalon® Memory-Mapped (MM) 読み出しマスターポートを介して記述子リストから記述子を読み出し、DMA読み出しブロックおよびDMA書き込みブロックのコマンドFIFOにコマンドをプッシュします。各コマンドには次のフィールドが含まれ、転送を指定します。
- 送信元アドレス
- 送信先アドレス
- 転送するバイト数
- それぞれの転送後の読み出しアドレスのインクリメント
- それぞれの転送後の書き込みアドレスのインクリメント
- Start of Packet (SOP) およびEnd of Packet (EOP) の生成
DMA読み出しブロックまたは書き込みブロックで各コマンドが処理されると、転送の情報 (実際に書き込まれたバイト数など) を含むステータストークンが記述子プロセッサーに返され、記述子の各フィールドに書き込まれます。
DMA読み出しブロック
DMA読み出しブロックは、Memory-to-MemoryおよびMemory-to-Streamのコンフィグレーションで使用されます。このブロックは、次の操作を実行します。
- 入力コマンドFIFOからコマンドを読み出します。
- それぞれのコマンドに対して、 Avalon® -MM読み出しマスターポートを介してメモリーブロックを読み出します。
- データをデータFIFOにプッシュします。
バースト転送が有効になっている場合は、最大読み出しバーストサイズの2倍の深さを備える内部読み出しFIFOがインスタンス化されます。DMA読み出しブロックは、読み出しFIFOに完全なバーストをバッファーする十分なスペースがある場合にのみバースト読み出しを開始します。
DMA書き込みブロック
DMA書き込みブロックは、Memory-to-MemoryおよびStream-to-Memoryのコンフィグレーションで使用されます。ブロックは、入力コマンドFIFOからコマンドを読み出します。それぞれのコマンドに対して、DMA書き込みブロックは Avalon® -STシンクポートからデータを読み出し、それを Avalon® -MMマスターポートに書き込みます。
バースト転送が有効になっている場合は、最大書き込みバーストサイズの2倍の深さを備える内部書き込みFIFOがインスタンス化されます。各バースト書き込みでは、最後のバーストを除いて、書き込みバーストサイズに等しい固定量のデータが転送されます。最後のバーストでは、データ量が書き込みバーストサイズに満たない場合でも、残りのデータが転送されます。
Memory-to-Memoryのコンフィグレーション
Memory-to-Memoryのコンフィグレーションには、記述子プロセッサー、DMA読み出し、DMA書き込みの3つのブロックがすべて含まれます。内部FIFOも含まれているため、DMA読み出しブロックと書き込みブロックの間で転送されるデータのバッファーとフロー制御が提供されます。
次の図は、内部 Nios® IIプロセッサーと記述子リストを備えるMemory-to-Memoryコンフィグレーションの1例を示しています。
Memory-to-Streamのコンフィグレーション
Memory-to-Streamのコンフィグレーションには、記述子プロセッサー・ブロックとDMA読み出しブロックが含まれます。
この例では、 Nios® IIプロセッサーと記述子テーブルはFPGAにあります。外部DDR2 SDRAMからのデータはSG-DMAコントローラーによって読み出され、オンチップ・ストリーミング・ペリフェラルに書き込まれます。
Stream-to-Memoryのコンフィグレーション
Stream-to-Memoryのコンフィグレーションには、記述子プロセッサー・ブロックとDMA書き込みブロックが含まれます。次の図で表されているとおり、このコンフィグレーションはMemory-to-Streamのコンフィグレーションに類似しています。