This repository is a full step-by-step guide for creating a video processing hardware overlay. All pojects are made in Vivado 2016.2 and tested on PYNQ V2.1 image. All the projects are explained in detail in report.pdf. The user should be able to recreate the projects with this information.
- http://www.pynq.io
- http://adiuvoengineering.com/microzed-chronicles/
- https://yangtavares.com/2017/07/31/creating-a-simple-overlay-for-pynq-z1-board-from-vivado-hlx/
- http://www.wiki.xilinx.com/HLS+Video+Library
- https://github.com/Xilinx/HLx_Examples
- https://www.xilinx.com/support/documentation/sw_manuals/xilinx2015_4/ug902-vivado-high-level-synthesis.pdf
Each project is documented in report.pdf. All the HLS, bit, tcl and notebook files can be found in the sub-directory. These can be easily imported onto your own PYNQ device.
All projects are explained in <report.pdf>. and chapter number is in the title.
Rebuilds the vivado base overlay, keeping only components neccesary for the video stream. All projects make use of this overlay. Project inlcudes:
- Full vivdado base overlay
- Bit & tcl file
- test notebook
Create and implement a simple Adder overlay
Project inlcudes:
- hls code
- Bit & tcl file
- Adder notebook
Project output:
- 3 + 5 = 8
Create and implement a simple video processing overlay: screen splitter
Project inlcudes:
- hls code
- Bit & tcl file
- Notebook
Project Input and Output:
Running the C simulator in HLS with image input and output
Objective: create a test bench that can read an image, pass it through our IP, and save the image.
Project inlcudes:
- HLS code + testbench
Project Input and Output:
Create and implement a simple video processing overlay: screen splitter 2
Objective: performing operations on input stream: RGB to Gray
Project inlcudes:
- hls code
- Bit & tcl file
- Notebook
Project Input and Output:
Create and implement a simple video filter: sobel x or y
Objective: Sobel edge detection horizontally or vertically
Project inlcudes:
- hls code
- Bit & tcl file
- Notebook
Project Input and Output:
Create and implement an IP which can split the screen in half en perform Sobel operations.
Project inlcudes:
- hls code
- Bit & tcl file
- Notebook
Project Input and Outputs:
Create and implement an IP which can sharpen a video signal.
Project inlcudes:
- hls code
- Bit & tcl file
- Notebook
Project Input and Outputs: