cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
8,691 Views
Registered: ‎03-04-2015

Zynq DMA transfer Performance

Jump to solution

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

0 Kudos
Reply
1 Solution

Accepted Solutions
Visitor
Visitor
13,268 Views
Registered: ‎03-04-2015

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.

View solution in original post

0 Kudos
Reply
5 Replies
Explorer
Explorer
8,668 Views
Registered: ‎02-16-2014
That is your PL clock frequency? <1uS sounds like a reasonable overhead to me to configure DMA engine and get data read. Try to send larger data block - like 4Megabyes and measure the speed - you should get ~600MB/s.
0 Kudos
Reply
Visitor
Visitor
8,650 Views
Registered: ‎03-04-2015

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

0 Kudos
Reply
Explorer
Explorer
8,639 Views
Registered: ‎02-16-2014

I will try SG mode for DMA (Scatter-Gather). In this mode you can preconfigure DMA engine in advance and eliminate some overhead.

 

0 Kudos
Reply
Visitor
Visitor
13,269 Views
Registered: ‎03-04-2015

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.

View solution in original post

0 Kudos
Reply
Explorer
Explorer
7,958 Views
Registered: ‎02-16-2014
Did you check HP port performance?
0 Kudos
Reply