The-OpenROAD-Project / OpenSTA

OpenSTA engine
GNU General Public License v3.0
404 stars 173 forks source link

How to set path groups in OpenSTA and find top 10 critical paths #170

Closed prathiksha97 closed 1 month ago

prathiksha97 commented 1 year ago

Heyy,

So basically I want to set path groups i2o, flop2o and i2flop. The code given is a multiplier code

For which I made changes in the SDC file i.e; added this group_path -name i2o -from ma_input -to mv_output group_path -name flop2o -from {14271 14270} -to {mv_output} group_path -name i2flop -from {ma_inputs_in1} -to {07066}

{_14271 _14270} - are the numbering of the flip flop which was obtained in synthesised verilog in Openlane

But then when I read the SDC file and use report_checks any changes in sdc is not reflecting. ( That is when i2o or anything else is commented or removed and when we read the sdc again it is still showing i20 in the output)

It would be helpful if anyone can guide me if this is the right way to find path group, or correct me.

Also I want to know to to get the top 10 critical paths in the design using STA

jjcherry56 commented 1 year ago

It isn’t possible to distinguish a driver error from a bug with no tests case. The path groups should show up in the report if there are actually paths through the timing points. You can verify the paths with report_checks -from -through -to.

As far as “the top 10 critical paths”, it depends on what you mean. Use -group_count to see more paths in each path group or -endpoint_count to see more paths to each endpoint or -sort_by_slack.

maliberty commented 1 month ago

Issues or PRs should be filed with https://github.com/parallaxsw/OpenSTA if still relevant. This is effectively a fork (though not strictly for historical reasons).