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
9.2. MSI-X メモリースペース
MSI-X テーブルと PBA メモリーは、レジスター・アドレス・スペースの 2 番目の MB 空間にマップされます。割り当てられたメモリースペースは、関数に対して最大 2048 の MSI-X 割り込みをサポートできます。実際のメモリー量は、PCI Express コンフィグレーションのマルチチャネル DMA IP によって異なります。
MSI-X テーブル
各エントリー (ベクトル) は 16 バイト (4 DWORD) であり、下図に示すように、メッセージアドレス、データ、およびマスク (ベクトル制御) フィールドに分割されます。 2048 の割り込みをサポートするには、MSI-X テーブルに関数ごとに 32 KB のスペースが必要です。ただし、512 KB のスペースにマップされます。
図 52. MSI-X テーブルの構造
MSI-X PBA
MSI-X PBA (Pending Bit Array) メモリースペースは、512 KB の領域にマップされます。実際のメモリー量は、IP コンフィグレーションによって異なります。保留ビット配列には、MSI-X テーブルエントリーごとに 1 つの保留ビットが QWORD (64 ビット) の配列で含まれます。 PBA フォーマットを以下に示します。
図 53. MSI-X PBAの構造
各 DMA チャネルには、4 つの MSI-X ベクトルが割り当てられます。
- 2’b00: H2D DMA Vector
- 2’b01: H2D Event Interrupt
- 2’b10: D2H DMA Vector
- 2’b11: D2H Event Interrupt