Hi All !
My first time posting on this forum. :)
I have created a perl script that extracts the Path information that RC prints in the log file as it is working, and summarizes it. I have been finding this really useful to get a sense of which paths RC is spending the most effort on, and which would be most useful for me to improve in the RTL. I have found this report to give better guidance for RTL edits than the list of the paths in the RC generated report file, which while detailed and timing accurate, can include paths that just haven't been optimized much so far.
I wanted to get some feedback on this script from the experts here. Is what I am doing a good / robust idea ? Is there already some simpler way to get this information ? Any thing that could be done to make things better ?
Here's some sample output to explain what I mean
> syn_paths -min 40 rc.log
Number of times RC worked on a particular path (only paths with count >= 40) :
------------------------------------------------------------------------------
49 : cnfg_mode_fo2_reg_N__CK --> def_mem_A[N]
60 : abc_calc_grad_N_flop_q_reg_N__CK --> abc_score_v_a_flop_q_reg_N__D
348 : xyz_fir2_mac_N_reg_N__CK --> xyz_fir2_fir_out_reg_N__D
--
960 : Total number of paths worked on by RC in full run.
--
-432.2 : Last WNS reported by RC.
From the output above, you could infer that the fir2 path is much more important to work on than the other paths, even if it is not first in the report.
Here's the full script source : https://github.com/sgauria/scripts/blob/master/syn_paths
Thanks!
Sameer