• Stars
    star
    1,975
  • Rank 23,472 (Top 0.5 %)
  • Language
    Jupyter Notebook
  • License
    BSD 3-Clause "New...
  • Created almost 9 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python Productivity for ZYNQ

pynq_logo

python

PYNQ is an open-source project from Xilinx that makes it easy to design embedded systems with 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

See the PYNQ webpage for an overview of the project, and find documentation on ReadTheDocs to get started.

Precompiled Image

The project currently supports multiple boards.

You can download a precompiled image, write the image to a micro SD card, and boot the board from the micro SD card.

Quick Start

See the Quickstart guide for details on writing the image to an SD card, and getting started with a PYNQ-enabled board.

Python Source Code

All Python code for the pynq package can be found in the /pynq folder. This folder can be found on the board after the board boots with the precompiled image.

To update your PYNQ SD card to the latest pynq package, you can run the following command from a terminal connected to your board:

sudo pip3 install --upgrade --upgrade-strategy only-if-needed pynq

The --upgrade-strategy only-if-needed option will upgrade dependencies only in case they do not satisfy the requirements, which will speed-up the installation process and also avoid possible upgrade errors.

SDK software projects and Python-C source codes are also stored along with the Python source code. After installing the pynq package, the compiled target files will be saved automatically into the pynq package.

Board Files and Overlays

All board related files including Vivado projects, bitstreams, and example notebooks, can be found in the /boards folder.

In Linux, you can rebuild the overlay by running make in the corresponding overlay folder (e.g. /boards/Pynq-Z1/base). In Windows, you need to source the appropriate tcl files in the corresponding overlay folder.

Alveo support

Starting from PYNQ version 2.5.1, Alveo support has also been introduced. It is now possible to use PYNQ to tap into the potential of hardware acceleration in the data center space.

To get PYNQ on an Alveo-enabled system, simply install it through PIP:

pip install pynq

For Alveo cards, PYNQ currently requires a Xilinx Runtime (XRT) version above or equal to 2.3 to be installed in the system. In terms of Operating System, any XRT-supported version of either RedHat/CentOS or Ubuntu can be used.

For more information, please see the Alveo getting started guide.

Contribute

Contributions to this repository are welcomed. Please refer to CONTRIBUTING.md for how to improve PYNQ.

Support

Please ask questions on the PYNQ support forum.

Licenses

PYNQ License: BSD 3-Clause License

Xilinx Embedded SW License: Multiple License File

Digilent IP License: MIT License

SDBuild Open Source Components

License and Copyrights Info TAR/GZIP

Open Components Source Code TAR/GZIP

More Repositories

1

Vitis-AI

Vitis AI is Xilinx’s development stack for AI inference on Xilinx hardware platforms, including both edge devices and Alveo cards.
Python
1,475
star
2

linux-xlnx

The official Linux kernel from Xilinx
C
1,205
star
3

brevitas

Brevitas: neural network quantization in PyTorch
Python
1,158
star
4

Vitis-Tutorials

Vitis In-Depth Tutorials
C
891
star
5

Vitis_Libraries

Vitis Libraries
C++
853
star
6

embeddedsw

Xilinx Embedded Software (embeddedsw) Development
HTML
766
star
7

finn

Dataflow compiler for QNN inference on FPGAs
Python
715
star
8

BNN-PYNQ

Quantized Neural Networks (QNNs) on PYNQ
Jupyter Notebook
661
star
9

XRT

Run Time for AIE and FPGA based platforms
C++
553
star
10

u-boot-xlnx

The official Xilinx u-boot repository
C
531
star
11

Vitis_Accel_Examples

Vitis_Accel_Examples
Makefile
503
star
12

Vitis-HLS-Introductory-Examples

C++
420
star
13

dma_ip_drivers

Xilinx QDMA IP Drivers
C
400
star
14

HLS

Vitis HLS LLVM source code and examples
378
star
15

Vitis-AI-Tutorials

362
star
16

PYNQ_Workshop

Jupyter Notebook
354
star
17

SDAccel_Examples

SDAccel Examples
C++
350
star
18

ml-suite

Getting Started with Xilinx ML Suite
Jupyter Notebook
334
star
19

CHaiDNN

HLS based Deep Neural Network Accelerator Library for Xilinx Ultrascale+ MPSoCs
C++
322
star
20

xfopencv

C++
313
star
21

XilinxTclStore

Xilinx Tcl Store
Tcl
310
star
22

mlir-aie

An MLIR-based toolchain for AMD AI Engine-enabled devices.
MLIR
300
star
23

XilinxBoardStore

Python
251
star
24

RapidWright

Build Customized FPGA Implementations for Vivado
Java
248
star
25

QNN-MO-PYNQ

Jupyter Notebook
236
star
26

libsystemctlm-soc

SystemC/TLM-2.0 Co-simulation framework
Verilog
210
star
27

qemu

Xilinx's fork of Quick EMUlator (QEMU) with improved support and modelling for the Xilinx platforms.
C
200
star
28

DPU-PYNQ

DPU on PYNQ
Tcl
198
star
29

device-tree-xlnx

Linux device tree generator for the Xilinx SDK (Vivado > 2014.1)
Tcl
181
star
30

finn-examples

Dataflow QNN inference accelerator examples on FPGAs
Python
174
star
31

PYNQ-ComputerVision

Computer Vision Overlays on Pynq
Jupyter Notebook
173
star
32

XilinxVirtualCable

Xilinx Virtual Cable (XVC) is a TCP/IP-based protocol that acts like a JTAG cable and provides a means to access and debug your FPGA or SoC design without using a physical cable.
C
172
star
33

finn-hlslib

Vitis HLS Library for FINN
C++
172
star
34

graffitist

Graph Transforms to Quantize and Retrain Deep Neural Nets in TensorFlow
Python
169
star
35

open-nic

AMD OpenNIC Project Overview
Shell
166
star
36

SDSoC-Tutorials

SDSoCβ„’ (Software-Defined System-On-Chip) Environment Tutorials
C++
142
star
37

xilinx-tiny-cnn

C++
141
star
38

FPGA_as_a_Service

Go
136
star
39

xup_vitis_network_example

VNx: Vitis Network Examples
Jupyter Notebook
133
star
40

meta-xilinx

Collection of Yocto Project layers to enable AMD Xilinx products
C
123
star
41

systemctlm-cosim-demo

QEMU libsystemctlm-soc co-simulation demos.
C++
114
star
42

Vitis-In-Depth-Tutorial

C++
113
star
43

Vitis_Embedded_Platform_Source

Tcl
105
star
44

llvm-aie

Fork of LLVM to support AMD AIEngine processors
LLVM
104
star
45

SDAccel-Tutorials

SDAccel Development Environment Tutorials
C++
101
star
46

nanotube

LLVM
101
star
47

Embedded-Design-Tutorials

100
star
48

RecoNIC

RecoNIC is a software/hardware shell used to enable network-attached processing within an RDMA-featured SmartNIC for scale-out computing.
SystemVerilog
94
star
49

RFNoC-HLS-NeuralNet

CMake
92
star
50

PYNQ-DL

Xilinx Deep Learning IP
VHDL
91
star
51

Kria-PYNQ

PYNQ support and examples for Kria SOMs
Jupyter Notebook
90
star
52

PYNQ-HelloWorld

This repository contains a "Hello World" introduction application to the Xilinx PYNQ framework.
Jupyter Notebook
90
star
53

LSTM-PYNQ

C++
86
star
54

kria-vitis-platforms

Kria Vitis platforms and overlays
SystemVerilog
86
star
55

meta-petalinux

meta-petalinux distro layer supporting Xilinx Tools
BitBake
84
star
56

Vivado-Design-Tutorials

Tcl
83
star
57

SDSoC_Examples

C++
82
star
58

ACCL

Alveo Collective Communication Library: MPI-like communication operations for Xilinx Alveo accelerators
C++
81
star
59

logicnets

Python
80
star
60

IIoT-EDDP

The repository contains the design database and documentation for Electric Drives Demonstration Platform
VHDL
79
star
61

mlir-air

C++
77
star
62

AI-Model-Zoo

75
star
63

Applications

C
71
star
64

open-nic-shell

AMD OpenNIC Shell includes the HDL source files
SystemVerilog
70
star
65

XilinxUnisimLibrary

Xilinx Unisim Library in Verilog
Verilog
66
star
66

PYNQ_Composable_Pipeline

PYNQ Composabe Overlays
Tcl
64
star
67

merlin-compiler

C++
57
star
68

PYNQ_RFSOC_Workshop

Open-sourcing the PYNQ & RFSoC workshop materials
Jupyter Notebook
56
star
69

gemx

Matrix Operation Library for FPGA https://xilinx.github.io/gemx/
C++
56
star
70

xup_high_level_synthesis_design_flow

AMD University Program HLS tutorial
Jupyter Notebook
54
star
71

meta-xilinx-tools

Yocto Project layer enables AMD Xilinx tools related metadata for MicroBlaze, Zynq, ZynqMP and Versal devices.
BitBake
54
star
72

RFSoC-PYNQ

Python productivity for RFSoC platforms
Jupyter Notebook
52
star
73

Alveo-PYNQ

Introductory examples for using PYNQ with Alveo
Jupyter Notebook
48
star
74

ResNet50-PYNQ

Quantized ResNet50 Dataflow Acceleration on Alveo, with PYNQ
C++
48
star
75

xup_compute_acceleration

Hands-on experience using the Vitis unified software platform with Xilinx FPGA hardware
C++
46
star
76

Vitis_Model_Composer

Vitis Model Composer Examples and Tutorials
C++
46
star
77

KRS

The Kria Robotics Stack (KRS) is a ROS 2 superset for industry, an integrated set of robot libraries and utilities to accelerate the development, maintenance and commercialization of industrial-grade robotic solutions while using adaptive computing.
HTML
46
star
78

Vitis-AWS-F1-Developer-Labs

C++
45
star
79

PYNQ_Bootcamp

PYNQ Bootcamp 2019-2022 teaching materials.
Jupyter Notebook
44
star
80

PYNQ-Networking

Networking Overlay on PYNQ
Tcl
44
star
81

HLS_packet_processing

C++
43
star
82

blockchainacceleration

Tcl
43
star
83

Get_Moving_With_Alveo

For publishing the source for UG1352 "Get Moving with Alveo"
C++
42
star
84

DSRL

42
star
85

pcie-model

PCI Express controller model
C
41
star
86

XilinxCEDStore

This store contains Configurable Example Designs.
Tcl
41
star
87

inference-server

C++
41
star
88

HLS_arbitrary_Precision_Types

C++
40
star
89

Xilinx_Kria_KV260_Workshop

40
star
90

vcu-ctrl-sw

C
38
star
91

VVAS

Vitis Video Analytics SDK
C
38
star
92

chipscopy

ChipScoPy (ChipScope Python API) is an open source Python API to the various ChipScope services provided by the TCF-based (Target Communication Framework) ChipScope Server (cs_server).
Jupyter Notebook
38
star
93

pyxir

Python
36
star
94

xup_aie_training

Hands-on experience programming AI Engines using Vitis Unified Software Platform
Jupyter Notebook
36
star
95

DSP-PYNQ

A PYNQ overlay demonstrating Pythonic DSP running on Zynq UltraScale+
Tcl
36
star
96

hdmi-modules

Xilinx Soft-IP HDMI Rx/Tx core Linux drivers
C
35
star
97

pytorch-ocr

Python
35
star
98

open-nic-driver

AMD OpenNIC driver includes the Linux kernel driver
C
33
star
99

bootgen

bootgen source code
C++
33
star
100

qemu-devicetrees

Device trees used by QEMU to describe the hardware
Makefile
32
star