Hi,

I have made a simple design to run an FFT with xilinx IP block in vivado. You can see it here: design.pdf (91.8 KB)

I then try to load data into the FFT with this small snippit:

```
# setup buffers of both input and output
fft_in_buffer = xlnk.cma_array(shape=(N,),dtype=np.int32)
fft_out_buffer = xlnk.cma_array(shape=(N*2,),dtype=np.int16) # convert to 2 16 bit numbers for total of 2*N 16 bit numbers
# memcpy the input data into the buffer
np.copyto(fft_in_buffer, aud_data)
# trigger the dma transfers for send and receive, this will trigger the FFT too
fft_data.sendchannel.transfer(fft_in_buffer)
fft_data.recvchannel.transfer(fft_out_buffer)
fft_data.sendchannel.wait()
fft_data.recvchannel.wait()
```

however the wait statement always triggers “DMA channel not started”. trying to manually start the channel results in a hanging function call. The funny thing is there is data in the output buffer, its just completely non sensical.

I am running on a PYNQ-Z2 board.

Things I have tried the following things after reading the forums:

- disabled scatter engine
- added the interrupt controller
- added the fifo queues
- Tried fft throttle scheme real-time and non real-time on the FFT block

al result in the same situation. Its a bit frustrating and I’m running out of ideas. Can somebody help me?