UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor double.j
Visitor
6,212 Views
Registered: ‎10-27-2012

Vivado HLS c++ csynth_design error

Hi,

 

I get this error:

@E [HLS-70] Harris.cpp: In function 'void Harris(ap_uint<24> (*)[256], ap_uint<24> (*)[256][256], bool)':
Harris.cpp:4: error: no matching function for call to 'aesl_keep_name_class::aesl_keep_name_class_ap_uint_output<24>::aesl_keep_name_ap_uint_output(ap_uint<24> [256][256])'
Harris.cpp:33: note: candidates are: static void aesl_keep_name_class::aesl_keep_name_class_ap_uint_output<_AP_W>::aesl_keep_name_ap_uint_output(ap_uint<24>*) [with int _AP_W = 24]
Compilation of the preprocessed source 'Harris.g' failed
while executing
"csynth_design"

 and all I know is that there is something wrong with the interface for that function.

What is wrong and how do I fix it?
Or where can I find the basic rules to avoid this?

 

Thanks

0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
6,180 Views
Registered: ‎11-11-2012

Re: Vivado HLS c++ csynth_design error

Can you post your C code here? It would be much helpful to figure out the problems.

 

Thanks

0 Kudos
Highlighted
Visitor double.j
Visitor
6,169 Views
Registered: ‎10-27-2012

Re: Vivado HLS c++ csynth_design error

I have fixed it now. I was changing the interface because the program did not know wich of the variables was the output. I was probably confused with pointers and references so I made some mistake.
Now It has a two array interface:

void Harris(ap_uint<24> input[MAX_HEIGHT][MAX_WIDTH],ap_uint<24> output[MAX_HEIGHT][MAX_WIDTH])

 

and the testbench goes like this:

ap_uint<24> (*input)[MAX_WIDTH] = new (ap_uint<24>[MAX_HEIGHT][MAX_WIDTH]);
ap_uint<24> (*output)[MAX_WIDTH] = new (ap_uint<24>[MAX_HEIGHT][MAX_WIDTH]);

//generating input
Harris(input,output);

 

0 Kudos