PYNQ: PYTHON PRODUCTIVITY ON ZYNQ
PYNQ-Z1PYNQ-Z2ZCU104
DeviceZynq Z7020Zynq Z7020Zynq Ultrascale+ XCZU7EV
Memory512MB DDR3512MB DDR32GB DDR4
PL DDR4 SODIMM connector
StorageMicroSDMicroSDMicroSD
VideoHDMI In & OutHDMI In & OutHDMI In & Out
Display Port
AudioPDM integrated Mic, 3.5 mm PWM audio jackADAU1761 codec with HP + Mic, Line in
Network10/100/1000 Ethernet10/100/1000 Ethernet10/100/1000 Ethernet
ExpansionUSB host (PS)USB host (PS)USB2/3 host (PS)
GPIO1x Arduino Header1x Arduino HeaderLPC FMC
2x Pmod2x Pmod*3x Pmod (2x PL)
16x GPIO pins1x RaspberryPi header*
Other I/O6x user LEDs6x user LEDs4x user LEDs
4x Pushbuttons4x Pushbuttons4x Pushbuttons
2x Dip switches2x Dip switches4x Dip switches
Dimensions3.44” x 4.81” (87mm x 122mm)3.44” x 5.51” (87mm x 140mm)
WebpageDigilent PYNQ-Z1 webpageTUL PYNQ-Z2 webpageZCU104 webpage

*PYNQ-Z2 RaspberryPi header shares 8 pins with 1 Pmod

PYNQ-Z1 and PYNQ-Z2 Board FAQ

 

The PYNQ-Z2, the second Zynq board officially supported by PYNQ, is now available.

 

What are the differences between the PYNQ-Z1 and PYNQ-Z2 boards?

 

The PYNQ-Z1 and PYNQ-Z2 boards share a number of similarities. They both have a Zynq 7020, 512MB DDR, 10/100/1000 Ethernet, USB, SD card boot. 

The main differences are the expansion headers, and the audio systems. 

The PYNQ-Z1 has 2 Pmods, an Arduino header, and ChipKit header. The PYNQ-Z2 also has 2 Pmods, and an Arduino header, but replaces the ChipKit header with a 40-pin Raspberry Pi header. (Note the Raspberry Pi header has 26 data pins connected to the PL. 8 of these pins are shared with Pmod A). 

The PYNQ-Z1 has an integrated MIC with PWM input, and mono PDM audio out. The PYNQ-Z2 has a full ADI audio codec with Headphones out, Mic, and line in.

The boards also have slightly different dimensions.

 

Can I use the same PYNQ image with the PYNQ-Z1 and PYNQ-Z2?

 

The two boards are broadly pin compatible (other than the specific differences listed above) which means both boards should boot from the same PYNQ image. However, separate images are provided for the PYNQ-Z1 and PYNQ-Z2 due to the physical differences between the available audio subsystems on each board, and the addition of the Raspberry Pi header. The base overlay for each board is different, and different audio driver files, and other drivers are included in the image for each boards. 

 

Some Overlays may check the board that is being used at runtime, or during installation. If an overlay for the PYNQ-Z1 does a runtime check for 'Pynq-Z1' it won't install/run on the PYNQ-Z2.

E.g.

if (os.environ['BOARD'] == 'Pynq-Z1'):

 

If the overlay does not use audio, it should be possible to run it on the PYNQ-Z2. 

 

The board check can be modified as follows to add support for the PYNQ-Z2. Depending on where the check is carried out, this may need to be modified in the setup.py for the Overlay, or in the main Python code for the overlay:

 

if (os.environ['BOARD'] in ['Pynq-Z1', 'Pynq-Z2']):

 

Can I use the same overlays on the PYNQ-Z1 and PYNQ-Z2?

 

The two boards are broadly pin compatible, so unless an overlay makes use of the audio subsystem, or the RaspberryPi/ChipKit pins, it *should* work on either board. Overlay developers are encouraged to check the target board during overlay installation for compatibility. 

 

Where can I buy the boards?

The PYNQ-Z1 is available from Digilent, and the PYNQ-Z2 is available from TUL. Digilent and TUL have a number of distributors around the world which can be found from the Digilent and TUL websites respectively.  

Development  Boards

 

There are currently three Zynq boards officially supported by PYNQ: Pynq-Z1 from Digilent, Pynq-Z2 from TUL and ZCU104 from Xilinx. 

 

Downloadable PYNQ images

 

Images for supported boards are available via the links below. The image includes board specific example overlays and Jupyter notebooks.

Community boards

 

The Avnet Ultra96 (Zynq UltraScale+) also supports PYNQ. A PYNQ image and documentation for the Ultra96 are available from Avnet:

Other boards

 

PYNQ can also be built for other Zynq boards. For details on building the PYNQ image for other boards, see the PYNQ image build guide

 

The following files can be used for rebuilding an image for a custom board:

 

Board comparison