3.5. DMA Considerations
3.5.1. Choosing a DMA Controller
Choose the DMA implementation best suited to your design
When DMA is required to improve system performance, you have the option to use the
DMA integrated into the HPS or a soft DMA module in the FPGA. When making the
choice of which option to use, you should consider the following:
•
HPS DMA: primarily used to move data to and from other slow-speed HPS
modules, such as SPI and I
2
C, as well as to do memcopy functions to and from
HPS memories.
•
Soft DMAs: primarily used to move data to and from peripherals in the FPGA.
3.5.2. Optimizing DMA Master Bandwidth through HPS Interconnect
FPGA DMA masters have access to HPS resources through the FPGA-to-HPS Bridge
and FPGA-to-SDRAM Interface, configurable in the HPS Platform Designer (Standard)
Component. The HPS SDRAM controller multi-port-front end (MPFE) provides
arbitration for these resources and enforce Quality of Service (QoS) settings. When
planning for and designing DMA masters and related buffering that access resources
through the HPS interconnect, study the architecture of the HPS interconnect and
consider the following guidance and resources available for optimizing bandwidth
through the interconnect.
GUIDELINE: Utilize the Cyclone V FPGA-to-HPS Bridge Design Example to
tune for performance
Cyclone V FPGA-to-HPS Bridge Design Example
is a useful platform for modeling
specific data traffic access patterns between the FPGA and HPS resources.
The example design includes a utility that can select the datapaths between
endpoints, select transaction characteristics (for example, burst lengths), and report
transfer bandwidth. This utility runs on the ARM Cortex* A-9 processor in the HPS.
3.5.3. Timing Closure for FPGA Accelerators
The HPS bridges and FPGA-to-SDRAM interfaces exposed to the FPGA are synchronous
and clock crossing is performed within the interface itself. As a result, you only need
to ensure that both the FPGA-facing logic and your user design close timing in Timing
Analyzer. Interrupts are considered asynchronous by the HPS, and as a result the HPS
logic resynchronizes them to the internal HPS clock domain so there is no need to
close timing for them.
Conduits carry signals that do not fit into any standard interface supported by
Platform Designer (Standard). Examples of these are HPS peripheral external
interfaces routed into the FPGA fabric or the HPS DMA peripheral request interfaces.
3. Design Guidelines for HPS portion of SoC FPGAs
AN-796 | 2018.06.18
AN 796: Cyclone V and Arria V SoC Device Design Guidelines
24