Workshop
Xilinx PYNQ Workshop
Tuesday, 6 June 2017, Time: TBD, Room: ID 1/103
Link to the course
Conference participants: 25,00 EUR (extra fee)
*Please register at the conference registration site!
NON-conference participants: 50,00 EUR
*Please use mca@ei.rub.de for registration!
Please bring your own laptops - with one USB + Ethernet ports, or 2x USB ports
PYNQ is an open-source framework that enables programmers who want to use embedded systems to exploit the capabilities of Xilinx Zynq All Programmable SoCs (APSoC). It allows users to exploit custom hardware in the programmable logic without having to use ASIC-style CAD tools. Instead the APSoC is programmed in Python and the code is developed and tested directly on the embedded system. The programmable logic circuits are imported as hardware libraries and programmed through their APIs, in essentially the same way that software libraries are imported and programmed.
The framework combines four main elements:
- the use of a high-level productivity language, Python in this case;
- Python-callable hardware libraries based on FPGA overlays;
- a web-based architecture incorporating the open-source Jupyter Notebook infrastructure served from Zynq's embedded processors;
- Jupyter Notebook's client-side, web apps;
The result is a web-centric programming environment that enables software programmers to work at higher levels of design abstraction and to re-use both software and hardware libraries.
This tutorial will give a hands-on introduction to PYNQ framework. It will feature the latest version of PYNQ with Python 3.6 and Asyncio support for processor and fabric interrupts. Several new overlays will be introduced along with examples of overlay creation and binding into the PYNQ framework.
Program:
9:00 - 10:30
Introduction to the PYNQ project Labs:
Getting started with Jupyter notebooks and exploring the PYNQ-Z1
10:30 - 11:00 Coffee break
11:00 - 12:30
Introduction to PYNQ overlays
Labs: Using peripherals with the base overlay
12:30 - 13:30 Lunch
13:30 - 15:00
Introduction to Pynq IOPs
Labs: Asyncio and Python C Foreign Function Interface
15:00 - 15:30 Coffee break
15:30 - 17:00
PYNQ overlay development methodology
Labs: PYNQ data movement
Copyright 2017 Ruhr-University Bochum, DE