To set up the ADF graph to interface with the polar_clip
RTL kernel and the mm2s
and s2mm
HLS kernels, you must add connections to PLIOs that represent the respective PL kernels.
The following
graph.h
shows how to connect to the RTL kernel.adf::source(interpolator) = "kernels/interpolators/hb27_2i.cc"; adf::source(classify) = "kernels/classifiers/classify.cc"; //Input PLIO object that specifies the file containing input data in = adf::input_plio::create("DataIn1", adf::plio_32_bits,"data/input.txt"); clip_out = adf::input_plio::create("clip_out", adf::plio_32_bits,"data/input2.txt"); //Output PLIO object that specifies the file containing output data out = adf::output_plio::create("DataOut1",adf::plio_32_bits, "data/output.txt"); clip_in = adf::output_plio::create("clip_in",adf::plio_32_bits, "data/output1.txt"); connect(in.out[0], interpolator.in[0]); connect(interpolator.out[0], clip_in.in[0]); connect(clip_out.out[0], classify.in[0]); connect(classify.out[0],out.in[0]);
Note the following:
Two additional
PLIO
objectsclip_in
andclip_out
are added. These are to hook up to thepolar_clip
RTL kernel.There are additional net objects to hook up the RTL kernel to the rest of the platform object.
For more information on RTL kernels in the AI Engine see: Design Flow Using RTL Programmable Logic.
Compile the graph using the following command:
v++ --mode aie -c --target=hw --include="/include" --include="./aie" --include="./data" --include="./aie/kernels" --include="./" --aie.workdir=./Work --platform=${XILINX_VITIS}/base_platforms/xilinx_vck190_base_202420_1/xilinx_vck190_base_202420_1.xpfm aie/graph.cpp
or
make aie