Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17255 Discussions

TimeQuest: listing all paths within slack range

Altera_Forum
Honored Contributor II
1,365 Views

I'm using TimeQuest to analyse the timing of my design and have generated the slack histogram for a small -min_slack to -max_slack range. 

 

Now what I want to do is list all the paths within this slack range for further analysis. Does anyone know how this is done?  

 

The reason is that the slack histogram is largely bell-shaped, but with an enormous spike at a particular slack (well away from being critical) and I want to find out what these paths are, as the implication appears to be I'm over-pipelining here.
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
495 Views

Interesting idea. The only thing I can think of is run a "report_timing -detail summary -no_pairs -npaths# " where# is some huge number. (The -no_pairs tends to reduce the number of paths reported), and then scrolling down to where you want to look. (There are Tcl commands where you can probe the design and basically write your own customer "report_timing" like command, but I think that's more work than just scrolling down a list and ignoring the slacks in the beginning. 

I don't know your design well enough but: 

a) Would be concerned about reading too much into a particular spike. Non-critical paths may not be optimized too well, so they might be "spread out" more if the fitter were trying to optimize them, but it's not since they're not critical. 

b) Not sure how much pipelining you've done, but usually it's not too bad of a thing to be over pipelined(besides adding to latency). With a register after every LUT, you can't do too much logic without having a register available for free. Getting rid of a lot of them might reduce the size a little, but usually not too much.
0 Kudos
Reply