The Composable Video Pipeline
To demonstrate the benefits of the composable overlay, we are providing a composable video pipeline that you can use out-of-the-box. An overview of the composable video pipeline is shown in the image below.
This version implements several standard vision functions. The most common
functions are implemented in the static region, these account for 6 functions.
The composable overlay also provides 12 dynamic functions implemented across
4 DFX regions, note that pr_0
and pr_1
provide pairs of functions.
Static IP |
---|
colorthresholding |
filter2d |
gray2rgb |
lut |
rgb2gray |
rgb2hsv |
Dynamic IP |
DFX Region |
---|---|
absdiff |
pr_join |
add |
pr_join |
bitwise_add |
pr_join |
cornerHarris |
pr_1 |
dilate |
pr_0 & pr_1 |
duplicate |
pr_fork |
erode |
pr_0 & pr_1 |
fast |
pr_0 |
fifo |
pr_0 & pr_1 |
filter2d |
pr_0 |
rgb2xyz |
pr_fork |
subtract |
pr_join |
Rebuild Composable Video Pipeline
To rebuild the composable video pipeline, you will have to clone the repository recursively (to pull submodules).
git clone https://github.com/Xilinx/PYNQ_Composable_Pipeline --recursive
You also need Vitis and Vivado 2020.2.2
installed.
Then to rebuild the video pipeline you can run make
in the
boards/Pynq-Z2
folder.
You can also rebuild the composable overlay for the
Pynq-ZU
and
Kria KV260
The build process is scripted using a Makefile, when you run make
the build
process will do the following steps
Vision IP will be generated
PYNQ HLS IP will be generated
The Vivado project is created along with the IPI design
The bitstream generation is launched
The bitstreams and hwh files are copied to the
overlay
folderA cached dictionary is created
Files are versioned
Note that you do not need to rebuild the project to use the composable
video pipeline, we provide a pre-built design. This is deliver when you
install the pynq_composable
package on your board, please refer to
Get the Composable Video Pipeline.
If you are interested in building your own composable overlay, check out the tutorial Create Composable Overlays (hw)
The Composable Video Pipeline also uses the following python modules:
pynq_composable.libs
- Drivers to control the vision IP cores.
pynq_composable.video
- Drivers to control video sources and sinks.
pynq_composable.apps
- API for higher level applications and pre-configured applications.