High Performance DMA Controller
UG0331 User Guide Revision 15.0
245
7.
For more information on HPDMA usage, the sample projects are available and can be generated, as
shown in the following figure.
Figure 128 •
HPDMA Examples
8.3.2
HPDMA Use Models
This section explains the use models and gives directions for using HPDMA in an application. The
SmartFusion2 soft memory controller fabric interface controller (SMC_FIC) is used to access external
bulk memories other than DDR through the FPGA fabric. The SMC_FIC can be used with a soft memory
controller for the MSS to access memories such as SDRAM, flash, and SRAM. MSS masters
communicate with the SMC_FIC through an MSS DDR bridge present in the MSS. Fore more
information on SMC_FIC, refer to the "Soft Memory Controller Fabric Interface Controller" chapter in the
UG0446: SmartFusion2 and IGLOO2 FPGA High Speed DDR Interfaces User Guide
.
8.3.2.1
Use Model 1: AHB Bus Matrix to MSS DDR Bridge/MSS DDR Bridge to AHB
Bus Matrix
1.
Enable HPDMA by using MDDR or configuring switch and MSSDDR bridge in Libero SoC.
2.
Initialize the HPDMA using MSS_HPDMA_init().
3.
Check HPDMAEDR register bits using MSS_HPDMA_get_transfer_state().
4.
Check Clear if any interrupts are pending MSS_HPDMA_clear_irq().
5.
Configure the descriptor transfer size, source address, destination address, transfer direction and
enable the valid HPDMA descriptor register using MSS_HPDMA_start().
6.
Check HPDMAEDR register bits using MSS_HPDMA_get_transfer_state().
7.
To pause the data transfers use MSS_HPDMA_pause().
8.
Get the pending transfer bytes using MSS_HPDMA_get_pending_counters().
9.
To resume the data transfers use MSS_HPDMA_pause().
10. To check the status of the transfer use MSS_HPDMA_get_transfer_state().