PYNQ: PYTHON PRODUCTIVITY 

What is PYNQ?

 

Key technologies

 

Jupyter notebook runs in a web browser. Only a compatible web browser is needed to start programming PYNQ with Python. 

 

For higher performance, you can also use C/C++ with Python and PYNQ. The Xilinx Vitis software development environment is available for free. 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 free WebPACK version of Xilinx Vivado can be used with a wide range of Zynq boards

Vitis and Vitis open-source Accelerated Libraries are free, and can be used for Alveo/AWS-F1.

What software do I need?

Who is PYNQ for?

 

PYNQ is an open-source project from AMD® that makes it easier to use Adaptive Computing platforms.

Using the Python language and libraries, designers can exploit the benefits of programmable logic and microprocessors to build more capable and exciting electronic systems.

PYNQ can be used with Zynq, Zynq UltraScale+, Zynq RFSoCAlveo accelerator boards and AWS-F1 to create high performance applications with:

  • parallel hardware execution
  • high frame-rate video processing
  • hardware accelerated algorithms
  • real-time signal processing
  • high bandwidth IO
  • low latency control

 

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 Adaptive Computing platforms without having to use ASIC-style design tools to design hardware.
  • System architects who want an easy software interface and framework for rapid prototyping and development of their Zynq, Alveo and AWS-F1 design.
  • Hardware designers who want their designs to be used by the widest possible audience.

Jupyter Notebook is 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. 

 

A PYNQ enabled board 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 a Zynq or Alveo board, and customize the hardware platform and interfaces. 

 

PYNQ can be delivered in two ways; as a bootable Linux image for a Zynq board, which includes the pynq Python package, and other open-source packages, or as a Python package for Kria, or an Alveo or AWS-F1 host computer. 

How do I get started with PYNQ?

Find out about supported boards

Get involved

 

The full source code for the PYNQ project is available the PYNQ GitHub.

If you would like to get involved or contact the PYNQ team, you can post a message on the PYNQ support forum

Check the PYNQ Getting Started guide 

 

You can find the Pynq documentation on http://pynq.readthedocs.io