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
Participant eldrick
Participant
667 Views
Registered: ‎07-24-2018

AXI DMA Stall (Zynq Ultrascale+)

Jump to solution

I've set up a cyclic DMA transfer of around 64k bytes on the ZCU102. My DMA is connected to a MIG PL DDR module and is clocked at 300 MHz on MM2S and SG. The resulting data stream is fed into a FIFO which then feeds into a JESD204B TX core. 

 

My DAC output shows multiple stall periods that last for about 200-300 ns and the source seems to be the AXI DMA core. I've set up an ILA between the DMA and the FIFO which shows that MM2S_TVALID will go low for about 200-300ns at random intervals. I've attached corresponding screenshots of the DAC output and ILA waveform below. 

 

What could be causing TVALID to de-assert for such a long period of time? And during normal DMA operation, is TVALID supposed to be asserted continuously? 

 

 

scope_0.png
axistall.png
0 Kudos
1 Solution

Accepted Solutions
Participant eldrick
Participant
599 Views
Registered: ‎07-24-2018

Re: AXI DMA Stall (Zynq Ultrascale+)

Jump to solution

It turns out the stall is due to bus contention between the scatter gather BDs and the data itself on PL DRAM.

I'd highly recommend moving both your BDs and the DMA data to block memory if it fits. This should eliminate your stalls.

0 Kudos
1 Reply
Participant eldrick
Participant
600 Views
Registered: ‎07-24-2018

Re: AXI DMA Stall (Zynq Ultrascale+)

Jump to solution

It turns out the stall is due to bus contention between the scatter gather BDs and the data itself on PL DRAM.

I'd highly recommend moving both your BDs and the DMA data to block memory if it fits. This should eliminate your stalls.

0 Kudos