Using PYNQ for DMA over PCIe on UltraScale+ MPSoC

Hello, I’ve been using PYNQ 2.6 on a MicroZed, with plans to build my actual image processing application on a Zynq ZCU106.

After pre-processing an image with PYNQ computer vision overlays, I would like to offload some tasks from my Zynq ZCU106 to an external board (GPU) by transferring data via DMA-over-PCIe. The Zynq would be a PCIe root complex, and GPU is an endpoint.

I was wondering if PYNQ supports this. I’ve seen the DMA IP docs along with tutorials. This feature seems to be for PS ↔ PL data transfer.

Is there a recommended way to adapt this to DMA for external PCIe devices? Our team has very limited FPGA design experience with Vivado, so implementing this in software would be ideal.

1 Like