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: 
Newbie s6jin
Newbie
12,891 Views
Registered: ‎11-30-2012

[SYNCHK-74] Recursive functions are not supported: recursion found in the following functions

Hello, 

 

I'm working on sorting algorithm using Vivado 2012.2. 

 

I got an error message below, 

@E [SYNCHK-74] Recursive functions are not supported: recursion found in the following functions 

 

It seems Vivado doesn't support recursive functions which hardly found in these days programs.

How do I fix it? 

 

 

Here is my source code:

void qs (int *a, int n) {
if (n < 2)
return;
int p = a[n / 2];
int *l = a;
int *r = a + n - 1;
while (l <= r) {
if (*l < p) {
l++;
continue;
}
if (*r > p) {
r--;
continue;
}
int t = *l;
*l++ = *r;
*r-- = t;
}
qs (a, r - a + 1);
qs (l, a + n - l);
}

 

 

Thanks in advance. 

 

 

0 Kudos
1 Reply
Explorer
Explorer
12,861 Views
Registered: ‎09-06-2012

Re: [SYNCHK-74] Recursive functions are not supported: recursion found in the following functions

hi 

 

Recursive functions cannot be synthesized. This applies to functions which can form endless

recursion,

have a look at this user guide to know about this:

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2012_3/ug902-vivado-high-level-synthesis.pdf  (page 257)

 

0 Kudos