Xilinx Zynq-7020 based PYNQ-Z1 Arm + FPGA Board is Meant to be Programmed with Python

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.

PYNQ Z1
Click to Enlarge

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
FPGA Python Development Board
Click to Enlarge

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.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

5
Leave a Reply

avatar
4 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
Patrick PoirierJeroencnxsoftbenFrank Septic Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Frank Septic
Guest
Frank Septic

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

QUOTE

The PYNQ v2.0 release, is based on Python 3.6

No attempts have been made to ensure backward compatibility with Python 2.7.

UNQUOTE

Therefore users of PNYQ must be prepared to work with Python 3.6, and some may have to overcome their inhibitions about Python 3.

ben
Guest
ben

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)
https://www.bunniestudios.com/blog/?p=5018

Xilinx FPGA Keynote at Linaro Connect Hong Kong 2018

Jeroen
Guest
Jeroen

Does anybody really wan’t to program a FPGA with python?

Patrick Poirier
Guest
Patrick Poirier

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