UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor andreforme
Visitor
8,224 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
1 Solution

Accepted Solutions
Visitor andreforme
Visitor
12,801 Views
Registered: ‎03-04-2015

Re: Zynq DMA transfer Performance

Jump to solution

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.

0 Kudos
5 Replies
Explorer
Explorer
8,201 Views
Registered: ‎02-16-2014

Re: Zynq DMA transfer Performance

Jump to solution
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
Visitor andreforme
Visitor
8,183 Views
Registered: ‎03-04-2015

Re: Zynq DMA transfer Performance

Jump to solution

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
Explorer
Explorer
8,172 Views
Registered: ‎02-16-2014

Re: Zynq DMA transfer Performance

Jump to solution

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
Visitor andreforme
Visitor
12,802 Views
Registered: ‎03-04-2015

Re: Zynq DMA transfer Performance

Jump to solution

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.

0 Kudos
Explorer
Explorer
7,491 Views
Registered: ‎02-16-2014

Re: Zynq DMA transfer Performance

Jump to solution
Did you check HP port performance?
0 Kudos