Raw data often needs to be moved between the PL and the PS.
By formatting the raw data into an AXI-Stream interface, the axi_dma core can be used to convert the streaming data to AXI4 data.
Either the PS DDR or PS OCM can be targeted by changing the destination/source address written to the DMA controller.
This design contains a simple axi-stream generator/terminator which is connected to the streaming interfaces on the axi_DMA core.
The DMA has been configured as simple DMA so no descriptors are required.
The AXI4 master interfaces of the axi_dma have been connected to the HP0 port of the PS.
This connection could be easily changed to the PS ACP port.
If the design is changed to the ACP port, make sure that the option 'Use slave driven AxUSER values' is not checked in the ACP configuration window.
This way, the PS wrapper will drive the AxUSER and AxCACHE signals appropriately to enable cache coherency.
The example software has been written to simply move one packet of data in each direction between the generator and DDR.
ChipScope is used to monitor the axi-stream and axi4 interfaces and the ChipScope VIO core is used to control the generator enable and to control the flow-control signals on the axi_dma master AXI-Stream interface.
A complete design is attached to this article.
The readme file describes creating and using the design.