Skip to content

A Tutorial on Putting High-Level Synthesis cores in PYNQ

License

Notifications You must be signed in to change notification settings

Huissan/PYNQ-HLS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PYNQ-HLS Tutorial

This repository is a tutorial for using High-Level Synthesis cores in PYNQ. It can be used as a three-part lab curriculum, or as a standalone tutorial for PYNQ.

To install this repository, simply run the following commands on your PYNQ board:

git clone https://github.com/drichmond/PYNQ-HLS ~/PYNQ-HLS
sudo -H pip3.6 install ~/PYNQ-HLS

This will clone and install the tutorials to your PYNQ board.

This repository has three topics:

  1. Streaming HLS Cores
  2. Shared-Memory HLS Cores
  3. Real-Time IO HLS Cores

Streaming HLS Cores

This tutorial teaches a reader how to use an HLS core with AXI-Streaming interfaces in PYNQ. The completed demonstration notebook for this tutorial can be found in <Jupyter Home>/HLS-Demo/streaming. The tutorial notebooks can be found inside the <Jupyter Home>/HLS-Tutorial/streaming

This topic is useful for image and signal processing applications.

Shared-Memory HLS Cores

This tutorial teaches a reader how to use an HLS core that interacts with memory shared between the ARM PS and FPGA PL. The completed demonstration notebook for this tutorial can be found in <Jupyter Home>/HLS-Demo/streaming. The tutorial notebooks can be found inside the <Jupyter Home>/HLS-Tutorial/streaming

This topic is useful for bulk data processing applications, such as matrix multiply.

Real-Time IO HLS Cores

This tutorial teaches a reader how to implement and use a Real-Time HLS core. The completed demonstration notebook for this tutorial can be found in <Jupyter Home>/HLS-Demo/streaming. The tutorial notebooks can be found inside the <Jupyter Home>/HLS-Tutorial/streaming

This topic is useful for general GPIO, and real-time motor controllers.

Feedback, pull requests, and suggestions greatly appreciated

About

A Tutorial on Putting High-Level Synthesis cores in PYNQ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 59.7%
  • Tcl 31.4%
  • Verilog 3.4%
  • C++ 2.2%
  • Python 2.0%
  • Makefile 1.3%