Xilinx Zynq-7000 series is a family of SoC based on Arm Cortex A9 processor coupled with FPGA fabric, and since the introduction in 2012, we’ve seen may board based on the entry-level Zynq-7010 or Zynq-7020 SoCs.
Digilent PYNQ-Z1 is another Xilinx Zynq board from the company, but it does not differentiate itself by its hardware features, and instead the software part is the most interesting. The board is designed to be used with PYNQ, a new open-source framework that enables embedded programmers to exploit the capabilities of Xilinx Zynq SoCs without having to design programmable logic circuits, relying instead on Python programming.
Digilent PYNQ-Z1 hardware specifications:
- SoC – Xilinx Zynq-7020 (XC7Z020-1CLG400C) dual core Arm Cortex-A9 processor with FPGA with 1.3 M reconfigurable gates
- System Memory – 512MB DDR3
- Storage – Micro SD card slot, 16MB QSPI Flash with factory programmed globally unique identifier (48-bit EUI-48/64 compatible).
- Video – HDMI In and HDMI Out
- Audio – Mic in, Line Out
- Networking – Gigabit Ethernet
- USB – 1x USB Host connected to Arm processor, 1x micro USB port for programming/power
- Expansion headers
- 1x Arduino Header with 49 GPIOs
- 2x Pmod with 16 GPIOs
- Misc – 6x user LEDs, 4x push buttons, 2x switches
- Power Supply – 5V via micro USB port, or 7V to 15V power source
- Dimensions – 122 x 87mm
The board is exclusively designed to work with PYNQ project from Xilinx, and using Python language and libraries, designers can create high performance embedded applications with parallel hardware execution, high frame-rate video processing, hardware accelerated algorithms, real-time signal processing, high bandwidth IO, and low latency control. All resource including a getting started guide, PYNQ-Z1 firmware image, link to source code on Github, and complete reference documentation can be found on pynq.io website.
PYNQ-Z1 FPGA Python board can be purchased on Digilent for $199, but there’s also an academic price as the board is sold for 128.02 Euros on Trenz. If you’re not going to use the PYNQ framework, Digilent recommends Arty Z7-20 board instead.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
5 Replies to “Xilinx Zynq-7020 based PYNQ-Z1 Arm + FPGA Board is Meant to be Programmed with Python”
It required considerable digging to discover which major version of Python is used by PYNQ, because there are significant differences between Python 2 (usually Python 2.7) and Python 3 (probably 3.5 being most prominent at the moment, but moving on to 3.6).
The answer is buried in the FAQ on pynq.readthedocs.io
The PYNQ v2.0 release, is based on Python 3.6
No attempts have been made to ensure backward compatibility with Python 2.7.
Therefore users of PNYQ must be prepared to work with Python 3.6, and some may have to overcome their inhibitions about Python 3.
Is there anything unique about the board that makes it python programmable? For example, Bunnie targets an Artix-7 in this post on Vivado vs LiteX (Migen/MiSoC)
Xilinx FPGA Keynote at Linaro Connect Hong Kong 2018
There should not be anything specific hardware-wise, it’s just Xilinx likely tested their PYNQ framework on that board, so it should be better supported.
Does anybody really wan’t to program a FPGA with python?
Does a nice coat of pink can cover the gigantic void of non existants IP ?
Looking at the package, its the usual suspects; MicroBlaze and a few pipelines, (yeah you can change HDMI colorspace) , no real practical use, but you can certainly blink a led in pink