Transferring Data Using Direct Memory Access (FPGA Module)

FlexRIO Help

Edition Date: November 2015

Part Number: 372614J-01

»View Product Info

»Download the Help in ZIP Format

Direct memory access (DMA) is a FIFO-based method of transferring data between an FPGA target and the host computer. DMA does not involve the host processor; therefore, it is the fastest available method for transferring large amounts of data between the FPGA target and the host.

DMA Communication Benefits

The following list highlights the benefits of using DMA communication to transfer data between an FPGA target and a host computer:

Consider using DMA if your application performs any of the following tasks:

  • Transferring waveform data between the FPGA target and the host
  • Transferring large sets of data
  • Data logging
  • Running algorithms that the FPGA target can process more efficiently than the host computer; for example, averaging or summing values from multiple input channels

Implementing DMA Communication in an Application

At a high level, implementing DMA communication in an FPGA application involves the following steps:

  1. Determine whether your FPGA target supports DMA communication
  2. Decide whether DMA is the best choice for your application. Weigh the benefits of DMA as well as other options for transferring data between an FPGA target and host computer.
  3. Understand how DMA works.
  4. Design and program the application while paying attention to the best practices:

Data Communication Methods Home


Not Helpful