PYNQ: PYTHON PRODUCTIVITY FOR ZYNQ

Pynq Overlay without root privileges

Hi,
Is it possible to download the bitstream to the PL and use the MMIO without root privileges? If not, what is a suggested alternative way? can the PS see the PL as Linux device for example in /dev/… ?

Thanks !

PYNQ uses /dev/mem to access MMIO devices in the fabric and, given that you get unrestricted access to the memory of the system, requires root access. An alternative way is to use UIO devices which would offer a much more limited access to the register space of the chip but that’s not in PYNQ.

A broader issue is that any access to the PL is inherently unsafe as the fabric has unrestricted access to system memory so it is impossible to provide safe non-root reprogramming the MMIO access to the PL. For ZYNQ Ultrascale+ there is a system MMU that could be used to provide memory isolation to fabric but this requires the bitstream to be created in a certain way to ensure that isolation holds.

For these reasons it’s really not possible for PYNQ as it is currently designed to run as non-root in a safe manner so it’s not something we support.

Peter

2 Likes