sarpadi
-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Gallery
Posts posted by sarpadi
-
-
Hi guys,
I am trying to bring up the HLS edge detection design using Vitis HLS 2022.2 on ubuntu 22.04.02. I saw that there are some issues regarding the newer versions of HLS.
So far I believe I managed to synthesize the edge_detect core. I believe the vision library was added correctly with CFLAG (although I haven't tested it on an FPGA) but I keep having trouble with the simulation part. I tried using opencv 4.4.0 and 3.4.16 an I keep getting the same errors
INFO: [SIM 2] *************** CSIM start *************** INFO: [SIM 4] CSIM will launch GCC as the compiler. Compiling ../../../edge_d_test.cpp in debug mode Compiling ../../../edge_detect.cpp in debug mode Generating csim.exe /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: obj/edge_d_test.o: in function `main': /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:11: undefined reference to `cv::imread(cv::String const&, int)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:12: undefined reference to `cv::Mat::Mat(cv::Mat const&)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:16: undefined reference to `cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:17: undefined reference to `cv::Sobel(cv::_InputArray const&, cv::_OutputArray const&, int, int, int, int, double, double, int)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:18: undefined reference to `cv::Sobel(cv::_InputArray const&, cv::_OutputArray const&, int, int, int, int, double, double, int)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:19: undefined reference to `cv::convertScaleAbs(cv::_InputArray const&, cv::_OutputArray const&, double, double)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:20: undefined reference to `cv::convertScaleAbs(cv::_InputArray const&, cv::_OutputArray const&, double, double)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:21: undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:22: undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:38: undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:41: undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: obj/edge_d_test.o:/media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:12: more undefined references to `cv::Mat::~Mat()' follow /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: obj/edge_d_test.o: in function `cv::String::String(char const*)': /usr/local/include/opencv2/core/cvstd.hpp:602: undefined reference to `cv::String::allocate(unsigned long)' /emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: obj/edge_d_test.o: in function `cv::String::~String()': /usr/local/include/opencv2/core/cvstd.hpp:648: undefined reference to `cv::String::deallocate()' collect2: error: ld returned 1 exit status make: *** [Makefile.rules:323: csim.exe] Error 1 ERR: [SIM 100] 'csim_design' failed: compilation error(s). INFO: [SIM 3] *************** CSIM finish ***************
Has anybody seen these error before? Did anyone manage to run the simulation on the core? Any help would be useful at this point.
thanks,
Sergiu
HLS fox simulation
in FPGA
Posted
Hi @Niță Eduard,
Thank you for your help
In the end the problem was in the way we were running the Xilinx instructions on how to build Opencv. The tools changed a lot since vitis came along and it seems I underestimated the impact.
~Sergiu