The-OpenROAD-Project / OpenSTA

OpenSTA engine
GNU General Public License v3.0
388 stars 168 forks source link

OpenSTA unnecessarily ignores output pin activity factor annotations #108

Closed taylor-bsg closed 1 year ago

taylor-bsg commented 1 year ago

https://github.com/The-OpenROAD-Project/OpenSTA/blob/12022edc37acf0370f3686eb4ce05c3490b4a7ce/tcl/Power.tcl#L244

taylor-bsg commented 1 year ago

Thanks for your reply!

I am generating set_power_activity commands using a SAIF-> OpenSTA set_power_activity converter that I wrote (see https://github.com/bsg-external/cppSaif/blob/master/src/set_power_activity.cpp).

OpenSTA successfully annotates duty and activity factors for the inputs of the gates; but it silently ignores the attempts to annotate the outputs.

I found just by deleting this one line of code I get vastly more accurate power numbers, since it is using real data for output pins instead of propagated values.

jjcherry56 commented 1 year ago

Ya, I was thinking of output PORTS, not PINs. I pushed the change.