Welcome to the StreamBlocks examples repository. This repository contains a set of dataflow applications that you can use with the StreamBlocks dataflow compiler.
We assume you have a working Vivado/Vitis installtion (2019.2) and have gone through setting up streamblocks-platfroms.
We assume you have cloned streamblocks-platforms in some local directory such
as /home/mahyar/streamblocks/streamblocks-platforms. Then set the environment
variable STREAMBLOCKS_HOME to point to /home/mahyar/streamblocks.
> export STREAMBLOCKS_HOME=...And clone the this repository in ${STREAMBLOCKS_HOME}
> cd ${STREAMBLOCKS_HOME}
> git clone git@github.com:streamblocks/streamblocks-platforms.gitSome of the examples use the Streamblocks.cmake as a
helper fo building StreamBlocks projects. This script requires a valid
$STREAMBLOCKS_HOME environment variable. So make sure if you are trying to
build a project, you have the correct variable.
If you wish to generate heterogeneous code, ensure a working Vitis 2019.2
installation. Newer versions of Vitis may work, but are not supported right now
by streamblocks-platform. As usual, you need to source settings64.sh from
your Vitis installation directory and also have the environment variable XILINX_XRT
point to your XRT installation directory (e.g., export XILINX_XRT=/opt/xilinx/xrt)
Let's try compiling the RVC-MPEG4SP program.
> cd rvc-mpeg4sp
> cmake .. -DCMAKE_BUILD_TYPE=Release -DTARGET=hw -DXCF_CONFIG=configuration_0.xcf
> cmake --build .
This should take a while because we are generating an FPGA bitstream, if you just
want to quickly go through the example set -DTARGET=hw_emu to finish up compilation
faster.
There are various configuration files that place different actors on hardware,
feel free to give them a shot by changing the XCF_CONFIG option.
We encourage you to take a look at the corresponding
CMakeLists.txt file to get inspired on how you
can write your own.