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.hshows 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
PLIOobjectsclip_inandclip_outare added. These are to hook up to thepolar_clipRTL 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_202510_1/xilinx_vck190_base_202510_1.xpfm aie/graph.cpp
or
make aie