仿真报错日志:
In file included from D:/Xilinx/Vivado/2018.3/include/hls_video.h:49:0,
from ../../../tb/stereoBM.h:3,
from ../../../tb/stereoBM_tb.cpp:1:
D:/Xilinx/Vivado/2018.3/include/hls_math.h:1197:17: error: redefinition of 'template<int W, int I> ap_fixed<_AP_W2, _AP_I2> hls::sqrt(ap_fixed<_AP_W2, _AP_I2>)'
ap_fixed<W,I> sqrt(ap_fixed<W,I> x){
^~~~
In file included from D:/Xilinx/Vivado/2018.3/include/hls_video.h:49:0,
from ../../../tb/stereoBM.h:3,
from ../../../tb/stereoBM_tb.cpp:1:
D:/Xilinx/Vivado/2018.3/include/hls_math.h:824:18: note: 'template<int W, int I> ap_fixed<_AP_W2, _AP_I2> hls::sqrt(ap_fixed<_AP_W2, _AP_I2>)' previously declared here
ap_fixed<W,I> sqrt(ap_fixed<W,I> x){
^~~~
In file included from D:/Xilinx/Vivado/2018.3/include/hls_video.h:49:0,
from ../../../tb/stereoBM.h:3,
from ../../../tb/stereoBM_tb.cpp:1:
D:/Xilinx/Vivado/2018.3/include/hls_math.h:1201:18: error: redefinition of 'template<int W, int I> ap_ufixed<_AP_W2, _AP_I2> hls::sqrt(ap_ufixed<_AP_W2, _AP_I2>)'
ap_ufixed<W,I> sqrt(ap_ufixed<W,I> x){
^~~~
In file included from D:/Xilinx/Vivado/2018.3/include/hls_video.h:49:0,
from ../../../tb/stereoBM.h:3,
from ../../../tb/stereoBM_tb.cpp:1:
D:/Xilinx/Vivado/2018.3/include/hls_math.h:828:19: note: 'template<int W, int I> ap_ufixed<_AP_W2, _AP_I2> hls::sqrt(ap_ufixed<_AP_W2, _AP_I2>)' previously declared here
ap_ufixed<W,I> sqrt(ap_ufixed<W,I> x){
^~~~
In file included from D:/Xilinx/Vivado/2018.3/include/hls_video.h:49:0,
from ../../../tb/stereoBM.h:3,
from ../../../tb/stereoBM_tb.cpp:1:
D:/Xilinx/Vivado/2018.3/include/hls_math.h:1205:13: error: redefinition of 'template<int I> ap_int<_AP_W2> hls::sqrt(ap_int<_AP_W2>)'
ap_int<I> sqrt(ap_int<I> x){
^~~~
In file included from D:/Xilinx/Vivado/2018.3/include/hls_video.h:49:0,
from ../../../tb/stereoBM.h:3,
from ../../../tb/stereoBM_tb.cpp:1:
D:/Xilinx/Vivado/2018.3/include/hls_math.h:832:14: note: 'template<int I> ap_int<_AP_W2> hls::sqrt(ap_int<_AP_W2>)' previously declared here
ap_int<I> sqrt(ap_int<I> x){
^~~~
In file included from D:/Xilinx/Vivado/2018.3/include/hls_video.h:49:0,
from ../../../tb/stereoBM.h:3,
from ../../../tb/stereoBM_tb.cpp:1:
D:/Xilinx/Vivado/2018.3/include/hls_math.h:1209:14: error: redefinition of 'template<int I> ap_uint<_AP_W2> hls::sqrt(ap_uint<_AP_W2>)'
ap_uint<I> sqrt(ap_uint<I> x){
^~~~
In file included from D:/Xilinx/Vivado/2018.3/include/hls_video.h:49:0,
from ../../../tb/stereoBM.h:3,
from ../../../tb/stereoBM_tb.cpp:1:
D:/Xilinx/Vivado/2018.3/include/hls_math.h:836:15: note: 'template<int I> ap_uint<_AP_W2> hls::sqrt(ap_uint<_AP_W2>)' previously declared here
ap_uint<I> sqrt(ap_uint<I> x){
^~~~
make: *** [obj/stereoBM_tb.o] Error 1
ERR: [SIM 100] 'csim_design' failed: compilation error(s).
INFO: [SIM 3] *************** CSIM finish ***************
去hls_math.h中注释掉这几行就可以了