hlsKernel and aieGraph both speak varray, so you can chain them freely: front = vfs.aieGraph(input_file="front.cpp", include_paths="include/aie"); tile = vfs.hlsKernel(input_files="tile.cpp", hls_function="tile"); back = vfs.aieGraph(input_file="back.cpp", include_paths="include/aie"); s1 = front.run(inputs); s2 = tile.run(s1); out = back.run(s2);