PYNQ FPGA Development with Python Programming & VIVADO
3.4 (58 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
639 students enrolled

PYNQ FPGA Development with Python Programming & VIVADO

Learn Python Development with PYNQ FPGA: covers from Image Processing to Acceleration of Face Recognition Projects.
3.4 (58 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
639 students enrolled
Created by Digitronix Nepal
Last updated 6/2020
English [Auto]
Current price: $86.99 Original price: $124.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3.5 hours on-demand video
  • 5 articles
  • 14 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • PYNQ Development Flow
  • Implementing Face Recognition with PYNQ FPGA
  • Image and Video Processing with PYNQ FPGA and Python Library
  • Creating Custom Overlay for PYNQ on VIVADO
  • Machine Learning Algorithm Implementation on PYNQ
  • Installing Tensorflow on PYNQ and Implementing Neural Network on PYNQ
  • Python Programming with Jupyter Interface on Internet Browser
  • FPGA Design Basics
  • Basic of Python Programming
  • PYNQ FPGA Board
  • Eager to Learn Pynq Development with Python and VIVADO

PYNQ (Python+Zynq), An FPGA development platform from Xilinx is an Open Source FPGA development platform. This Course covers from the Architecture of PYNQ (Zynq 7000), PYNQ Development Flow, Basic GPIO interfacing with PYNQ FPGA, Image Processing with PYNQ, using PYNQ libraries as sci_pi, OpenCV, Installing Tensorflow on PYNQ,Machine Learning with Pynq, Neural Network Implementation on PYNQ, Creating Custom PYNQ Overlay on Xilinx VIVADO .

After completing this course you will also know about the Acceleration methodology on the PYNQ Development Platform. Another important section of this course is Implementation of Machine Learning Algorithms on Python for Image Processing and other projects. We will implement Artificial Neural Networks (ANN) algorithms as CNN, BNN and other Neural Networks for real time projects as Number Plate Recognition, Face Recognition etc

At the another section we will have sessions on "How to design Overlay system with VIVADO for PYNQ FPGA". This session is based on the VIVADO HLS & IP integrator for creating custom Overlay. 

Who this course is for:
  • Electrical Engineering
  • Computer Science
  • Hardware Design Enthusiast
Course content
Expand all 21 lectures 03:34:36
+ Introduction to PYNQ Architecture
4 lectures 35:03

This first Lecture is on "Introduction to PYNQ FPGA Architecture". PYNQ is an Zynq 7000 FPGA device from Xilinx. The main goal of PYNQ, Python Productivity for Zynq, is to make it easier for designers of embedded systems to exploit the unique benefits of APSoCs in their applications. PYNQ has specifically XC7Z020-1CLG400C FPGA Device which is Zynq 7000 device, this Zynq 7000 consists of two main block which are Programmable Logic (PL) and Processing System (PS). PL is an 7 series FPGA core (Logical Units, FF, MUX) and PS is dual core ARM Cortex A9.

This introductory session on PYNQ architecture has been included in this first Lecture.

Preview 13:54

This Lecture 2 of Section 1st is on Python Programming Interface, we have here a basics of Python, how it works on PYNQ and a small example of Python program. This session just widen the Python programming use with PYNQ, while we have complete Python programming session on Section 3.

Preview 11:52
Section 1 PYNQ Boards & Accessories [Demo]

PYNQ Z2 unboxing and demo session, we have presented what are the features of PYNQ-Z2 with respect to the PYNQ-Z1.

PYNQ-Z2 Unboxing and Demo [Optional]
+ PYNQ Development Methodologies
2 lectures 21:23

In this Section 2, we have how to download the PYNQ installation files (PYNQ OS), how to configure the PYNQ Board and how to write a basic Python program with Jupyter interface on your Browser.

PYNQ Development Methodologies Overview
PYNQ FPGA Board Setup & Basic Programming Demo
+ Section 3 PYNQ with Python_OpenCV for Image Processing & Video_processing
6 lectures 01:26:10

This session is on Python Programming Basics, PYNQ specific libraries, and Basic GPIO Programming with PYNQ.


This session is on Python Programming with PYNQ FPGA, we have included the conditional statements and loops with the GPIO based example of PYNQ FPGA. And we also have included the SciPy, MatPlotLib, NumPy and other Python Library with examples in this session.

Section3_1: Python Programming, Conditional Statements and Loops with PYNQ GPIO

This session includes the basics of OpenCV Library, image processing functions on OpenCV as transformation, smoothing, blurring functions. We also have included the Jupyter Notebook based LAB example on this session and those LAB project files (.ipnyb) files are attached with this lecture.

Section3_2: Python OpenCV Development with PYNQ FPGA Part I: OpenCV Basics

This session covers from OpenCV functions as: Image Gradient, Edge Detection, Feature Detection functions (Harris & Fast Corner), Haar Cascade algorithm, Face Detection with Haar, Face and Eye Detection with Haar Cascade algorith. All the LAB sources are attached with this video lecture , so you can download those and explore on your own Jupyter+ PYNQ environment.

Section3_2: Python OpenCV Development with PYNQ Part II: Face & Eye Detection

This Lab session is on showing the example project of PYNQ on Streaming the HDMI input to HDMI output and Processing the HDMI input with Grayscale function on Software Level and Hardware Level. The Software Level gives 3 Frame/Sec and Software+Hardware Level gives 8 frames/sec.

Python OpenCV HDMI Streaming & Processing

Localizing the license plate from the given image!

PYNQ-License Plate Localizer on Python OpenCV
+ Section 4: Installing Python Library in PYNQ
1 lecture 06:46

This session is on installing "Cryptography" python library on the PYNQ FPGA. We also explore the default project with this library in this session.

Installing Cryptography Python Library on PYNQ
+ Section 5 Machine Learning with Python in PYNQ
2 lectures 21:00

Overview of Machine Learning, Machine Learning Algorithms, Introduction to Neural Networks and Some Project Examples.

Machine Learning with Python

In this section we have explained the detail on "how to detect and recognize" the character from the given image. This character detection is part of our Vehicle Detection system.

Character Recognition with BNN on PYNQ FPGA
+ Section 6 Creating Custom Overlay (VIVADO Project) for PYNQ
2 lectures 23:06

This session is on Creating the custom Overlay using the VIVADO HLS, VIVADO IP integrator and the Jupyter interface. This session focus on the design flow of creating the custom overlay, so that you can accelerate other application on the HLS and create custom overlay.

Creating Custom Overlay on PYNQ: Addition & Multiplication Application

This Lecture will let you know the step by step tutorials and details for creating own custom Overlay (VIVADO based project for Jupyter) for PYNQ.

How to Create a Custom Overlay for the PYNQ FPGA
+ Section 8 TensorFlow Installation on Pynq FPGA
1 lecture 01:57

This session includes the steps for installing the TensorFlow on Pynq FPGA's Board. We step by step tutorial and the explore project on Tensorflow in Pynq Jupyter Notebook. Join the Course and Session and Explore with Tensorflow.

Tensorflow Installation on PYNQ FPGA Session
+ Section 9 Machine Learning with Xilinx Deep Learning (DPU) IP on PYNQ
1 lecture 01:38

This article is on highlighting the "Deep Learning with PYNQ OS", now this DPU based Machine Learning Acceleration is supported for MPSoC Boards as Ultra96/ZCU104/ZCU111 boards only.

DPU on PYNQ Boards: Ultra96/ZCU104/ZCU111
+ Bonus Lecture
1 lecture 00:32

This Session includes the bonus session and reference links after completing this course! We also have included the Ultra Low Cost coupons of our Other Course in this section.

What Next?