03-04-2015 08:24 AM
Dear All,
I am trying to use the Zynq internal DMA to transfer data from an AXI-full custom IP block to OCM through a GP master port. I have to transfer just 16 bytes (4 32-bit registers) but I need to do it as fast as possible. I configure the DMA to transfer data in burst mode. The maxim performance I obtained is to have data available on OCM after 750 ns I started the transfer request.
Do you think it is an reasonable time or am I doing something wrong? I expected a far smaller time. I know GP is not an high performance port but its nominal throughput should be 600 MB/s using DMA.
Do you think would I obtain substantial improvement using an AXI DMA through the ACP port?
Thank you very much
03-24-2015 02:35 AM
I finally checked the performance of an ACP memory write for small amount of data. To transfer 32 bytes (4x64-bit registers) it takes less then 300 ns. So the overhead is less compared to DMA trough GP.
03-04-2015 10:41 AM
03-05-2015 01:36 AM
Thanks for your replay. My PL clock is now set to 100 MHz. I just tried to increase the data to transfer and the throughput increase accordantly. However in my application I have to transfer few data with as less latency as possible. Do you think the use of the ACP port ensure less latency? Or do you have any other suggestion about how to transfer a couple of bytes from PL to PS with very small latency?
Thanks
03-05-2015 06:08 AM
I will try SG mode for DMA (Scatter-Gather). In this mode you can preconfigure DMA engine in advance and eliminate some overhead.
03-24-2015 02:35 AM
I finally checked the performance of an ACP memory write for small amount of data. To transfer 32 bytes (4x64-bit registers) it takes less then 300 ns. So the overhead is less compared to DMA trough GP.
03-24-2015 06:25 AM