Xilinx / xfopencv

Other
321 stars 144 forks source link

ERROR: [SYNCHK 200-71] function 'lround' has no function body. #52

Closed 3togo closed 5 years ago

3togo commented 5 years ago

Any hints to fix this error?

ERROR: [SYNCHK 200-71] ../xfopencv/xfopencv-2018.3_release/include/common/xf_structs.h:503: function 'lround' has no function body.

bgouthamb commented 5 years ago

@3togo 'lround' is a standard C++ function, which cannot be synthesized. The xf::Mat member function convertTo is meant to be used only on the host side. The synthesizable convertTo function is available at _include/imgproc/xf_convertbitdepth.hpp

3togo commented 5 years ago

do you mean that xf::Mat has two versions? One is for host side and the other is for the synthetic side.

3togo commented 5 years ago

How to do something similar to below xf::convertTo<XF_16UC1, XF_8UC1, src_rows, src_cols, XF_NPPC1> (dst16, dst, XF_CONVERT_16U_TO_8U, 0);

that can be synthesized?

bgouthamb commented 5 years ago

xf::convertTo<XF_16UC1, XF_8UC1, src_rows, src_cols, XF_NPPC1> (dst16, dst, XF_CONVERT_16U_TO_8U, 0);

This indeed is the synthesizable function. Are you getting the issue with 'lround' when synthesizing the above function? What is the SDx tool version you use?

3togo commented 5 years ago

I am using it in bare HLS. It is not synthesizable using Vivado 2019.1 and 2018.3

bgouthamb commented 5 years ago

@3togo Can you post the log file, along with the source file where you are calling this function?

3togo commented 5 years ago

better focus on 2019.1 version instead