インテルのみ表示可能 — GUID: cbr1591741420267
Ixiasoft
4.1. ポートリスト
4.2. クロック
4.3. リセット
4.4. マルチ・チャネルDMA
4.5. バーストAvalon Master (BAM) インターフェイズ
4.6. バースト Avalon-MM スレーブ (BAS) インターフェイス
4.7. Config Slaveのインターフェイス (RP のみ)
4.8. ハードIPリコンフィグレーション・インターフェイス
4.9. Config TLのインターフェイス
4.10. Configuration Interceptのインターフェイス (EP のみ)
4.11. ユーザーのFunctional Level Reset (FLR)
4.12. ユーザー イベント MSI-X 要求インターフェイス
4.13. データ・ムーバー・インターフェイス
4.14. ハードIPステータス・インターフェイス
8.1.6.1. ifc_api_start
8.1.6.2. ifc_mcdma_port_by_name
8.1.6.3. ifc_qdma_device_get
8.1.6.4. ifc_num_channels_get
8.1.6.5. ifc_qdma_channel_get
8.1.6.6. ifc_qdma_acquire_channels
8.1.6.7. ifc_qdma_release_all_channels
8.1.6.8. ifc_qdma_device_put
8.1.6.9. ifc_qdma_channel_put
8.1.6.10. ifc_qdma_completion_poll
8.1.6.11. ifc_qdma_request_start
8.1.6.12. ifc_qdma_request_prepare
8.1.6.13. ifc_qdma_descq_queue_batch_load
8.1.6.14. ifc_qdma_request_submit
8.1.6.15. ifc_qdma_pio_read32
8.1.6.16. ifc_qdma_pio_write32
8.1.6.17. ifc_qdma_pio_read64
8.1.6.18. ifc_qdma_pio_write64
8.1.6.19. ifc_qdma_pio_read128
8.1.6.20. ifc_qdma_pio_write128
8.1.6.21. ifc_qdma_pio_read256
8.1.6.22. ifc_qdma_pio_write256
8.1.6.23. ifc_request_malloc
8.1.6.24. ifc_request_free
8.1.6.25. ifc_app_stop
8.1.6.26. ifc_qdma_poll_init
8.1.6.27. ifc_qdma_poll_add
8.1.6.28. ifc_qdma_poll_wait
8.1.6.29. ifc_mcdma_port_by_name
インテルのみ表示可能 — GUID: cbr1591741420267
Ixiasoft
3.1.2. D2Hデータムーバー
D2H Data Mover (D2HDM) は、デバイスメモリーからホストメモリーにデータを転送します。Avalon-MM Read Master / Avalon-ST Sink インターフェイスを介してユーザーロジックからデータを受信し、Mem Wr TLP を生成して、PCIe アドレス (宛先)、データサイズ、ホストメモリー内の受信バッファーにデータを送信するための MPS 値などのディスクリプター情報に基づいてデータをホストに移動します。
AVMM モードでは、D2HDM は、PCIe アドレス、MPS、および DMA 転送サイズに基づいて、マスター ポート経由で一連の AVMM 読み出しを送信します。 AVMM 読み出しは次のように生成されます。
- 64 バイトアドレス境界への最初の AVMM 読み出し。次の場合、最初の AVMM 読み出しで複数のバーストが読み取られます。
- AVMM アドレスは 64 バイトでアラインされている場合。
- ディスクリプターの合計ペイロード数は 64 バイトにアラインされており、サポートされている最大 MPS 未満である場合。
- サポートされている最大 MPS サイズで AVMM 読み出しを実行します。
- 残りのサイズの最後の AVMM 読み出し。
AVST モードでは、D2HDM AVST シンクは、ディスクリプターが使用できない場合にレディのアサートを解除します。
- ホストは、ポートのソフトウェア・ディスクリプターをセットアップします。最大ペイロード数は 1MB までです。ディスクリプターの SOF/EOF フィールドは、ホストによって設定されない場合があります。
- D2HDM はディスクリプター更新シーケンスを使用して、メモリー書き込み要求を通じてホスト位置のソフトウェア・ディスクリプターの SOF、EOF、Rx ペイロード・カウント・フィールドを更新します。
- AVST d2h_st_sof_i 信号アサートは、AVST フレームの開始をマークするために、D2HDM によるディスクリプター更新シーケンスをトリガーします。
- D2HDM は MWr を発行して、ディスクリプターに SOF フィールドを設定します。
- ディスクリプターに設定されている場合、WB/MSI-X が発行されます。
- AVST d2h_st_eof_i 信号アサーションは、AVST フレームの終了をマークするために、D2HDM によるディスクリプター更新シーケンスをトリガーします。ディスクリプターの更新シーケンスは次のとおりです。
- D2HDM はディスクリプターを次の場所で終了します。 d2h_st_eof_i ディスクリプター更新シーケンスを開始します。
- ディスクリプターの更新シーケンス中に、MWr が発行されてディスクリプターの EOF フィールドが設定され、転送された合計バイト数で Rx ペイロード・カウント・フィールドが更新されます。
- ディスクリプターに設定されている場合、WB/MSI-Xが発行されます。
- EOF シーケンスの直後のディスクリプターは、次の AVST データ フレームの開始と見なされ、SOF フィールドを設定するディスクリプター更新シーケンスを開始します。
注: ディスクリプター更新シーケンスは、グローバル WB/MSI-X が有効になっているかどうかに関係なく、SOF/EOF イベントで実行されます。
ディスクリプターが完了すると、つまり、ディスクリプターに対応するすべての DMA データがホストに送信されると、D2HDM は次のようなハウスキーピング・タスクを実行します。
- ディスクリプターで有効になっている場合は、完了したキューの MSI-X をスケジュールします。
- ディスクリプターで有効になっている場合は、完了したキューのライトバック消費ヘッド ポインターをスケジュールします。
- ソフトウェア ポーリング用の消費ヘッド ポインターの更新。
- MSI-X と Writeback は、D2HDM を介したホストへのメモリー書き込みであり、順不同の書き込みによる競合状態を回避します。
更新されたステータスに基づいて、ソフトウェアは受信バッファーの解放を続行し、ディスクリプター・リング エントリを再利用できます。