01 PYNQ Workshop Introduction
01 PYNQ Workshop Introduction
˃ PYNQ Framework
˃ Technologies
˃ Community
Page 2
© Copyright 2019 Xilinx
ZYNQ and ZYNQ UltraSCALE+
Best-in-class, SoC and MPSoCs
ZYNQ 7000
>> 4
© Copyright 2019 Xilinx
PYNQ Vision
>> 5
© Copyright 2019 Xilinx
PYNQ framework
Jupyter web
server Hardware C-drivers wrapped
IPython kernel in Python packages
Ubuntu-based Overlays/designs
Linux
Most competitive, open
and advanced GUI ARM A9 / A53 ZU+ Fabric
>> 7
© Copyright 2019 Xilinx
Ubuntu-based Linux versus embedded Linux
Ubuntu-based Linux Optimized for developer productivity
All the Linux libraries and drivers you expect
PetaLinux ecosystem:
143,000 Google hits
>> 8
© Copyright 2019 Xilinx
PYNQ’s Ubuntu-based Linux
Package Ubuntu/
Dev Python
Manager/ Debian
Tools Packages
Repository Packages
PYNQ’s
Ubuntu Root File System Ubuntu-based Linux
Kernel, Bootloader
PYNQ uses the PetaLinux build flow and board support package:
• Access to all Xilinx kernel patches
• Works with any Xilinx supported board
• Configured with additional drivers for PS-PL interfaces
>> 9
© Copyright 2019 Xilinx
PYNQ provides Linux Drivers for PS-PL Interfaces …
Zynq
wrapped in Python Libraries
4
1 2 3 4 5
>> 10
© Copyright 2019 Xilinx
PYNQ provides Linux Drivers for PS-PL Interfaces …
wrapped in Python Libraries
Zynq
4
1 2 3 4 5
>> 11
© Copyright 2019 Xilinx
is a Framework
Linux kernel
fpga_manager sysgpio uio devmem
Drivers
xlnk
axi_intc
User designs
FPGA PYNQ overlays Bitstreams
PYNQ IPs
>> 12
© Copyright 2019 Xilinx
Vivado Design Metadata available from Python
˃ Creates a Python dictionary for the IP in the bitstream from the metadata file
Enables bitstream metadata to be queried and modified in Python at runtime
>> 13
© Copyright 2019 Xilinx
Hybrid Packages
˃ New hybrid packages are created by extending Python packages with additional
files:
Design Bitstream
Design metadata file
C drivers
Jupyter notebooks
˃ Use the Python package installer, PIP to install a hybrid package just like any
regular Python (software only) package
Delivers package’s files to target board
>> 14
© Copyright 2019 Xilinx
Software-style Packaging & Distribution of Designs
Enabled by new hybrid packages
pip3.6
QNN, M. Blott etinstall
al git+https://github.com/Xilinx/pynqDL.git
IIoT, C. Fritsch et al xDNN, A. Sirasao et al OpenCV, K. Denolf et al
>> 15
© Copyright 2019 Xilinx
PYNQ enabling technologies
Python is listed as an
embedded language
for the first time
https://spectrum.ieee.org/at-work/innovation/the-2018-top-programming-languages
https://stackoverflow.blog/2017/09/06/incredible-growth-python/
Python is the fastest growing language: driven by data science, AI, ML and academia
>> 17
© Copyright 2019 Xilinx
Python is increasingly the Language of Choice
Python is listed as an
embedded language
for the first time
https://spectrum.ieee.org/at-work/innovation/the-2018-top-programming-languages
https://stackoverflow.blog/2017/09/06/incredible-growth-python/
Python is the fastest growing language: driven by data science, AI, ML and academia
>> 18
© Copyright 2019 Xilinx
Ecosystem advantage: there’s a Python library for
that…
CPython is written in C … and most popular C/C++ frameworks have Python libraries
>> 19
© Copyright 2019 Xilinx
Jupyter Notebooks … the engine of data science
>> 20
© Copyright 2019 Xilinx
JupyterLab: web-based IDE incl. Notebooks
>> 24
© Copyright 2019 Xilinx
Benefits of PYNQ
˃ Network/Internet access
“apt-get” to install packages from Ubuntu
universe
Samba(Network drive)
Web services
˃ Git directly on board
˃ Compilers and other development
tools
Gcc,, MicroBlaze, RISC-V ….
˃ Python packages
“pip install”
PYNQ Community examples
>> 27
© Copyright 2019 Xilinx
Simplify downloading bitstreams to PL
Car
Plane
Bird
http://jupyter.org/widgets.html https://blog.dominodatalab.com/interactive-dashboards-in-jupyter/
>> 33
© Copyright 2019 Xilinx
Community
>> 36
© Copyright 2019 Xilinx
Summary
Page 37
© Copyright 2019 Xilinx
Adaptable.
Intelligent.