Skip to content

byuccl/BYU_PYNQ_PR_Video_Pipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BYU Pynq PR Video Pipeline

This is a BYU fork of the PYNQ project (https://github.com/Xilinx/PYNQ)

As presented at FCCM 2018

alt tag

PYNQ is an open-source project from Xilinx that makes it easy to design embedded systems with Zynq All Programmable Systems on Chips (APSoCs). Using the Python language and libraries, designers can exploit the benefits of programmable logic and microprocessors in Zynq to build more capable and exciting embedded systems. PYNQ users can now create high performance embedded applications with

  • parallel hardware execution
  • high frame-rate video processing
  • hardware accelerated algorithms
  • real-time signal processing
  • high bandwidth IO
  • low latency control

See the PYNQ webpage for an overview of the project, and find documentation on ReadTheDocs to get started.

Overview

This demo utilizes 11 different partial reconfigurable regions that are connected to an AXI-Stream switch. This Video Pipeline connects both to the raw HDMI ports as well the VDMA. This allows for configurable combinations of different hardware video filters with very little latency (<600 clock cycles) at 1080p 60fps. The Filters are:

  • ASCII text overlay
  • Dilate
  • Emboss
  • Erode
  • Grayscale
  • Green Screen
  • Image Overlay
  • Invert
  • Japanese Hiragana text overlay
  • Custom 3x3 Kernel
  • Line overlay
  • Mirror
  • RGB filter
  • Sobel
  • Threshold

Source code will be available in coming months with the potential to use High-Level Synthesis to design custom filters. Go from a C file to a Partial Bit file in 20 to 30 mins.

Quick Start

In order to install it your PYNQ, connect to the board, open a terminal and type:

# (on PYNQ v2.1)
sudo pip3.6 install git+https://github.com/byuccl/BYU_PYNQ_PR_Video_Pipeline.git

Just run the the Demos in the notebooks. The best video source is the HDMI output on a laptop. If the kernel crashes, try again.

About

The Demo that was presented at FCCM.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages