Direct Memory Access (DMA) is a type of FIFO-based data transfer between an FPGA target and host processor.
DMA communication consists of two DMA FIFOs: one FIFO on the host computer, and the other FIFO on the FPGA target.
DMA communication provides the following benefits:
-
Efficient separation of processing tasks between the FPGA target and host processor, so the host processor remains free to perform operations during data transfer
-
FPGA resource savings when transferring arrays of data
-
FPGA resource savings by limiting the number of panel controls and indicators shared between a target and host
-
Automatic synchronization for data transfers between the host and the FPGA target
You can use DMA communication for the following tasks:
-
Transferring waveform data between the FPGA target and host
-
Transferring large sets of data
-
Data logging in systems where the target and host are continually connected, such as embedded systems
-
Running algorithms, like digital signal processing, that the FPGA target processes more efficiently than the host computer