Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.

17.1.1 Iteration Interval

Honored Contributor II

I recently moved from 17.0.1 to 17.1.1. I've noticed that the loop analysis section of the report file now shows the ii preceded by a "~". For example, 17.0.1 reported an ii of "1" and a "yes" under Pipelined. In 17.1.1 it still reports "yes" for pipelined but "~1" for the ii and the details column says that "ii is an approximation". I have other loops that report an ii of "~4", pipelined "yes" and bottleneck "ii" - but the detail section doesn't say the ii is an approximation. 


If ii is an approximation when the report is generated - how do I know what the actual ii is after everything is compiled? If I have a loop that is critical for throughput, I need a way to know that it has been pipelined and what the ii is. How likely is the ii to go up/down after compilation? I'm hoping the only way isn't to run some throughput tests in HW after the second stage compilation. Given how long compiles take that would create a MAJOR development bottleneck when trying to improve loop performance.
0 Kudos
1 Reply
Honored Contributor II

if you have load or store to non-stall-free memory, like global memory or channel, 

the report will show "~", because the compiler can not know if stall will affect ii. 


if you get ii = ~1, just make sure the bandwidth will not be bottleneck.