Skip to content

Latest commit

 

History

History
70 lines (47 loc) · 4.64 KB

README.md

File metadata and controls

70 lines (47 loc) · 4.64 KB

PYNQ-ZU_Tutorial

This repository (repo.) provides you the materials to getting started with FPGA application development using PYNQ-ZU board - an AMD (Xilinx before) Zynq Ultrascale+ development board.

PYNQ-ZU Block Diagram

img

Terms

  • FPGA: Field Programmable Gate Arrays
  • MPSoC: Short of Xilinx® Zynq® UltraScale+™ MultiProcessor System on a Chip (MPSoC)
  • PS: Processing System, indicates Arm Cortex-A53 Based Application Processing Unit (APU), and Dual-core Arm Cortex-R5F Based Real-Time Processing Unit (RPU) on MPSoC.
  • PL: Programmable Logic, means FPGA resources in an MPSoC device.
  • Soft-core: A sub processor in an heterogeneous system. These processors are usually synthesized and implemented on an FPGA.
  • MicroBlaze: A soft-microprocessor which is built as a sub-system for I/O control in MPSoC platforms.
  • Vitis Libraries: A library contains an extensive set of open-source, performance-optimized libraries that offer out-of-the-box acceleration with minimal to zero-code changes to your existing applications.
  • DPU: Short of Deep Learning Processor Unit - A special soft-core which is designed, synthesized and implemented on AMD FPGAs to accelerate deep learning models.
  • Vitis AI: A comprehensive AI inference development solution for AMD devices, boards, and Alveo™ data center acceleration cards. It consists of a rich set of AI models, optimized deep learning processor unit (DPU) cores, tools, libraries, and example designs for AI at the edge and in the data center.
  • ROS: Robot Operating System is an open-source robotics middleware suite. It contains a set of software libraries and tools that help you build robot applications.

How to use this repo.

  • 1_OpenCV-PS: Examine software-based application using ARM processors inside the MPSoC.
  • 2_OpenCV-PL: Examine accelerated application using FPGA resources inside the MPSoC.
  • 3_PMOD: Examine I/O control via PMOD interfaces with Microblaze Subsystems.
  • 4_ROS: How to install ROS and exploit the ROS-based application development.
  • 5_AI-Models-Zoo: Develop application using pre-trained deep learning models from Vitis AI model zoo.
  • 0_Auxiliary: Several tips and code snippets to use PYNQ-ZU with ease.

PYNQ-ZU Toolchain Version Compatibility Matrix

PYNQ Vivado/Vitis Vitis-AI DPU-PYNQ ROS
2.7 (Austin) <= 2020.2 1.4.1 1.4.0 ✔️ noetic
3.0 (Belfast) <= 2022.1 2.5 2.5.1 humble

Note

  • After installing Vitis_HLS/Vivado/Vitis, follow this instruction to patch an Y2K22 fix.
  • Installing ROS2 humble on PYNQ 3.0 (Belfast) is facing unresolved issue: APT's unmet dependencies.

Reference

[1] PYNQ-ZU Documentation

[2] PYNQ-ZU distributed by E-Elements

[3] PYNQ-ZU designed by TUL Embedded

[4] Zynq UltraScale+ MPSoC

[5] Vitis™ Accelerated Libraries

[6] Vitis™ Libraries Github repo.

[7] PYNQ documentation

[8] PYNQ Frequently Asked Questions (FAQs)

[9] PYNQ embedded community projects

[10] PYNQ forum

[11] DPU for Convolutional Neural Network

[12] DPU on PYNQ

[13] Vitis™ AI

[14] Vitis™ AI Github repo.

[15] Xilinx Wiki

[16] ROS - Robot Operating System