PYNQ is an open-source project from Xilinx®that makes it easy to design embedded systems with Xilinx Zynq® All Programmable Systems on Chips (APSoCs).
Using the Python language and libraries, designers can exploit the benefits of programmable logic and microprocessors in Zynq to build more capable and exciting embedded systems.
PYNQ users can now create high performance embedded applications with
parallel hardware execution
high frame-rate video processing
hardware accelerated algorithms
real-time signal processing
high bandwidth IO
low latency control
The PYNQ-Z1 is the first Zynq board to support PYNQ.
Jupyter Notebookis a browser based interactive computing environment. Jupyter notebook documents can be created that include live code, interactive widgets, plots, explanatory text, equations, images and video.
The PYNQ-Z1 can be easily programmed in Jupyter Notebook using Python.
Using Python, developers can use hardware libraries and overlays on the programmable logic. Hardware libraries, or overlays, can speed up software running on the PYNQ-Z1, and customize the hardware platform and interfaces.
The PYNQ image is a bootable Linux image, and includes the pynq Python package, and other open-source packages.
The Jupyter notebook interface is browser based. Only a compatible web browser is needed to start programming PYNQ with Python.
You can also use third party software development tools.
New hardware libraries and overlays can be created using standard Xilinx and third party hardware design tools. The PYNQ-Z1 is fully supported by the free WebPACK version of Xilinx Vivado.
What software do I need to start using PYNQ?
Processor: Dual-Core ARM® Cortex®-A9
FPGA: 1.3 M reconfigurable gates Memory: 512MB DDR3 / FLASH Storage: Micro SD card slot Video: HDMI In and HDMI Out Audio: Mic in, Line Out Network: 10/100/1000 Ethernet Expansion: USB Host connected to ARM PS Interfaces: 1x Arduino Header, 2x Pmod (49 GPIO) GPIO: 16 GPIO (65 in total with Arduino and Pmods)
Other I/O: 6x User LEDs, 4x Pushbuttons, 2x Switches
Dimensions: 3.44” x 4.81” (87mm x 122mm)
The PYNQ-Z1 Board
How do I get started with PYNQ?
Who is PYNQ for?
PYNQ is intended to be used by a wide range of designers and developers including:
Software developers who want to take advantage of the capabilities of Zynq and programmable hardware without having to use ASIC-style design tools to design hardware.
System architects who want an easy software interface and framework for their Zynq design.
Hardware designers who want their designs to be used by the widest possible audience.