RuntimeError: DMA channel not idle

Hello,
I have had this error when I am trying to learn how to use transfer to and fro from DRAM via AXI-DMA. I am attaching my Jupyter notebook code and block diagram. I am using avnet ultra-96 v2 board. I have gone through the solution mentioned in

But could’ nt get it done.!

1 Like

Hi,

I suggest you use an AXI4-Stream Data FIFO. The tlast signal of the mm2s channel is not being used and this can be causing an error.

You can use this tutorial as a guideline

Mario

1 Like

Thanks Marioruiz,
I will try this solution and get back to you.

Hello Marioruiz,
I have corrected the mistake you have pointed out. I have created a tlast signal as shown in the diagram. After that, when I tried sending the data, My kernel ran for a long time but I couldn’t get any output. I have attached my modified block diagram.

1 Like

I suggest you use an AXI4-Stream Data FIFO.
The DMA also uses the keep signal. And this is missing in your design.

1 Like

Where is the keep signal in the AXI4-Stream Data FIFO.

I could not find it in the disabled ports as well when I opened the DMA IP.

@abdyoyo

From what i understand keep is only used when unaligned transfer.
If aligned TRX no reason to use keep signal.

ENJOY~

1 Like

Thanks Brian.

The TRX is aligned as we are getting the data in frames perfectly.