Skip to content

error when generating Vitis HLS in 2020.1: declaration of 'resize_accel' has a different language linkage #25

@jancumps

Description

@jancumps

I get errors when making the Vitis HLS project, with the 2020.1 toolchain:
https://github.com/Xilinx/PYNQ-HelloWorld/blob/master/boards/ip/hls/resize/Makefile

ERROR: [HLS 207-2542] declaration of 'resize_accel' has a different language linkage: xf_resize_accel.cpp:68:53

The function is declared as C in the cpp file:
extern "C" {
void resize_accel ...

When I try to declare it the same in xf_config_params.h, I get different issues:

INFO: [HLS 214-178] Inlining function 'xf::cv::Mat<9, 2160, 3840, 1>::read(int)' into 'void resizeNNBilinear<9, 2160, 3840, 1, 1080, 1920, 1, 2>(xf::cv::Mat<9, 2160, 3840, 1>&, xf::cv::Mat<9, 1080, 1920, 1>&)' (../vitis_lib/vision/L1/include\imgproc/xf_resize_nn_bilinear.hpp:277:0)
INFO: [HLS 214-178] Inlining function 'xf::cv::Mat<9, 1080, 1920, 1>::write(int, ap_uint<24>)' into 'void resizeNNBilinear<9, 2160, 3840, 1, 1080, 1920, 1, 2>(xf::cv::Mat<9, 2160, 3840, 1>&, xf::cv::Mat<9, 1080, 1920, 1>&)' (../vitis_lib/vision/L1/include\imgproc/xf_resize_nn_bilinear.hpp:277:0)
ERROR: [HLS 214-194] in function 'resize_accel': Undefined function xf::cv::_ssdm_op_alloc (../vitis_lib/vision/L1/include\common/xf_structs.hpp:527:9)
ERROR: [HLS 214-134] in function 'axis2xfMat(axis_t*, xf::cv::Mat<9, 2160, 3840, 1>&, int, int)': Pointer to pointer is not supported
ERROR: [HLS 214-134] in function 'void resizeNNBilinear<9, 2160, 3840, 1, 1080, 1920, 1, 2>(xf::cv::Mat<9, 2160, 3840, 1>&, xf::cv::Mat<9, 1080, 1920, 1>&)': Pointer to pointer is not supported
ERROR: [HLS 214-134] in function 'xfMat2axis(xf::cv::Mat<9, 1080, 1920, 1>&, axis_t*, int, int)': Pointer to pointer is not supported
ERROR: [HLS 214-135] Syn check fail!
Pre-synthesis failed.
    while executing
"source D:/users/jancu/git_pynq/PYNQ-HelloWorld/boards/ip/hls/resize/resize/solution1/csynth.tcl"
    invoked from within
"hls::main D:/users/jancu/git_pynq/PYNQ-HelloWorld/boards/ip/hls/resize/resize/solution1/csynth.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel 1 hls::main {*}$args"
    (procedure "hls_proc" line 5)
    invoked from within
"hls_proc $argv"

I used this command to check out the GIT rep:
git clone --recursive https://github.com/Xilinx/PYNQ-HelloWorld.git

Then created the Vivado project using the resize.tcl script.
Then created the Vitis HCL project using the make script PYNQ-HelloWorld/blob/master/boards/ip/hls/resize/Makefile

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions