cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
fole_name
Observer
Observer
668 Views
Registered: ‎12-17-2019

Why this tripcount doesn't work?

Jump to solution
I have put a tripcount in the innest for cycle layer,but there are still some "?" in systhesis result. Can anybody help me? The following is the code: for(int l = 2; l <= 512; l=l<<1){ int m = l / 2; for(int i = 0;i<512;i+=l) { for(int j = 0; j < m; j++){ #pragma HLS LOOP_TRIPCOUNT min=1 max=256 real_tempt = omg.real[512 / l * j] * a->real[i+j+m] - omg.imag[512 / l * j] * a->imag[i+j+m]; imag_tempt = omg.imag[512 / l * j] * a->real[i+j+m] + omg.real[512 / l * j] * a->imag[i+j+m]; a->real[i+j+m] = a->real[i+j] - real_tempt; a->imag[i+j+m] = a->imag[i+j] - imag_tempt; a->real[i+j] = a->real[i+j] + real_tempt; a->imag[i+j] = a->imag[i+j] + imag_tempt; } } }
0 Kudos
1 Solution

Accepted Solutions
u4223374
Advisor
Advisor
567 Views
Registered: ‎04-26-2015

As far as I can tell, you've got a triple-nested loop, and you've only specified a tripcount on the inner loop. You need to specify it on the other two as well. In addition to that, I suspect that you're using floating-point operations here. These may not have fixed latency.

View solution in original post

3 Replies
viswanad
Xilinx Employee
Xilinx Employee
618 Views
Registered: ‎05-16-2018

can you please share complete code to easily reproduce? Which version of Vivado HLs you are trying?

Regards
Viswanadh

0 Kudos
u4223374
Advisor
Advisor
568 Views
Registered: ‎04-26-2015

As far as I can tell, you've got a triple-nested loop, and you've only specified a tripcount on the inner loop. You need to specify it on the other two as well. In addition to that, I suspect that you're using floating-point operations here. These may not have fixed latency.

View solution in original post

fole_name
Observer
Observer
534 Views
Registered: ‎12-17-2019

Yeah, you are quite right. I specified it on the middle loop ,then it works. Thanks

0 Kudos