PS DMA support

Hi folks,

The mmio module can do transfers from PS memory to PL memory mapped devices, sending a numpy buffer type to memory. This write (write_mm) loops over the buffer and writes the data 32-bit at a time. In my application, I’d like to use PS DMA to move the data (LPD or FPD DMA) for a faster transfer. Do you have any pointers how to implement this in PYNQ? Is there any implementation like this that you know of?

Thanks in advance,
-Pat

There isn’t direct support in PYNQ for the PS DMA.
You may find this post on the Zynq US+ PS DMA useful.

In PYNQ we provide support for DMAs in the programmable logic. In general you should get better performance with a dedicated PL DMA.

See here for info:
https://pynq.readthedocs.io/en/v2.7.0/pynq_libraries/dma.html
Cathal

1 Like