Visible to Intel only — GUID: ghk1637187138270
Ixiasoft
1. Before You Begin
2. Introduction
3. Functional Description
4. Interface Overview
5. Parameters (H-Tile)
6. Parameters (P-Tile) (F-Tile) (R-Tile)
7. Designing with the IP Core
8. Software Programming Model
9. Registers
10. Troubleshooting/Debugging
11. Multi Channel DMA Intel FPGA IP for PCI Express User Guide Archives
12. Revision History for the Multi Channel DMA Intel FPGA IP for PCI Express User Guide
3.1. Multi Channel DMA
3.2. Bursting Avalon-MM Master (BAM)
3.3. Bursting Avalon-MM Slave (BAS)
3.4. MSI Interrupt
3.5. Config Slave (CS)
3.6. Root Port Address Translation Table Enablement
3.7. Hard IP Reconfiguration Interface
3.8. Config TL Interface
3.9. Configuration Intercept Interface (EP Only)
3.10. Data Mover Only
4.1. Port List
4.2. Clocks
4.3. Resets
4.4. Multi Channel DMA
4.5. Bursting Avalon-MM Master (BAM) Interface
4.6. Bursting Avalon-MM Slave (BAS) Interface
4.7. Legacy Interrupt Interface
4.8. MSI Interface
4.9. Config Slave Interface (RP only)
4.10. Hard IP Reconfiguration Interface
4.11. Config TL Interface
4.12. Configuration Intercept Interface (EP Only)
4.13. Data Mover Interface
4.14. Hard IP Status Interface
4.15. Precision Time Management (PTM) Interface
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
Visible to Intel only — GUID: ghk1637187138270
Ixiasoft
3.10. Data Mover Only
Data Mover Only mode is one of the MCDMA IP user modes for Endpoint MCDMA R-Tile, P-Tile and F-Tile IPs. This mode supports external descriptor fetch based on external descriptor controller. In this mode, the MCDMA IP core becomes a PCIe Data Mover subsystem implementing the usual PCIe semantics, but it does not have any blocks related to DMA descriptor functionality.
Note: Data Mover with the External Descriptor Controller only supports data movement over AVMM interface to the user logic. AVST interface support to user logic may be added in future.
Note: Data Mover only mode is not available for any of the x4 topologies in P/F/R-Tile MCDMA IPs.
The figure below is the top-level block diagram of the MCDMA IP in Data Mover Only mode with user descriptor controller.
Figure 20. PCIe Data Mover Subsystem connected to External DMA Controller
Data mover subsystem supports the following functionality:
- HIP Interface: Adapts to various PCIe HIP variants (P-Tile/F-Tile/R-Tile) the Data Mover subsystem is interfacing to.
- Host to Device (H2D) Data Mover: Provides AVST source and sink interfaces to external descriptor controller for both descriptor fetch and data move operations
- Device to Host (D2H) Data Mover: Provides AVST source and sink interfaces to external descriptor controller to initiate data move operations through descriptors. Also, you can use the same AVST interface to send writeback/ MSIx interrupt by setting the appropriate fields in the descriptor.
Note: Data mover IP does not implement the MSI-X controller (including MSIx-table and PBA-table) internally. You must implement the MSI-X controller in your logic and use this interface to only send the MSIx interrupt to PCIe Host using descriptors.
- Bursting Avalon Master (BAM): Performs non-bursting PIO operations for register programming.
- Support for PCIe semantics
- Scheduler enforces PCIe ordering rules in both Tx and Rx direction leading to PCIe HIP
- TLP chunking at MPS size
- Check for the 4KB cross over and other error logging
- Completion re-ordering: Data Mover subsystem performs the re-ordering of the received completions before sending data to AVMM Write Master or sending the descriptor completion packets to external descriptor controller.