efabless / caravel_user_project

https://caravel-user-project.readthedocs.io
Apache License 2.0
178 stars 330 forks source link

create script for generate summary report for caravel-timing for users. #203

Closed jeffdi closed 1 year ago

jeffdi commented 1 year ago

Please create a script generate a summary for timing using openSTA scripts for users.

Report should also provide a clear pass / fail status.

kareefardi commented 1 year ago

@jeffdi

f-max: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
s-max: max_cap(violated)    max_slew(violated)  hold(met)   setup(violated) spefs(incomplete)
t-max: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
f-min: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
s-min: max_cap(violated)    max_slew(violated)  hold(met)   setup(violated) spefs(incomplete)
t-min: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
f-nom: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
s-nom: max_cap(violated)    max_slew(violated)  hold(met)   setup(violated) spefs(incomplete)
t-nom: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
You can find results for all corners in /media/karim/Elements/work/caravel_user_project/signoff/caravel/openlane-signoff/timing/

would that be an acceptable output

jeffdi commented 1 year ago

Looks good. Can you add title and some banners above and below to make the text more visible at the end?

kareefardi commented 1 year ago

Something like that ?

=================================================Summary=================================================
f-max: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
s-max: max_cap(violated)    max_slew(violated)  hold(met)   setup(violated) spefs(incomplete)
t-max: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
f-min: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
s-min: max_cap(violated)    max_slew(violated)  hold(met)   setup(violated) spefs(incomplete)
t-min: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
f-nom: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
s-nom: max_cap(violated)    max_slew(violated)  hold(met)   setup(violated) spefs(incomplete)
t-nom: max_cap(violated)    max_slew(violated)  hold(met)   setup(met)  spefs(incomplete)
=========================================================================================================
You can find results for all corners in /media/karim/Elements/work/caravel_user_project/signoff/caravel/openlane-signoff/timing/
shalan commented 1 year ago

It is good to report the worst violator. For an example:

setup(violated, -2.05ns)

passant5 commented 1 year ago

done in PR #9