Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend power.tcl to check the power reporting procedure for acceptable numbers #2163

Open
oharboe opened this issue Jul 19, 2024 · 5 comments
Assignees
Labels
sta Static Timing Analysis

Comments

@oharboe
Copy link
Collaborator

oharboe commented Jul 19, 2024

Description

Start simple, define some smoke-test level criterea for "it worked" and create a PR to update https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/master/flow/designs/asap7/mock-array/power.tcl with that check(print error and exit 1).

Perahaps require some factor of difference for the relevant cases below. Is there an OpenSTA .tcl interface that can be used? Didn't find anything in the manual...

Later on as usage and understanding becomes more sophisticated, the regression tests can be refined.

To run:

make DESIGN_CONFIG=designs/asap7/mock-array/config.mk final simulate power

At the end make power outputs something like:

Found 1288 unannotated drivers.
Found 7560 partially unannotated drivers.
Group                  Internal  Switching    Leakage      Total
                          Power      Power      Power      Power (Watts)
----------------------------------------------------------------
Sequential             4.14e-01   1.16e-01   6.43e-06   5.30e-01  59.1%
Combinational          1.24e-01   1.00e-01   4.57e-06   2.25e-01  25.0%
Clock                  6.87e-02   7.36e-02   6.51e-07   1.42e-01  15.9%
Macro                  0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.0%
Pad                    0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.0%
----------------------------------------------------------------
Total                  6.07e-01   2.90e-01   1.16e-05   8.97e-01 100.0%
                          67.7%      32.3%       0.0%
Annotated 217546 pin activities.
Group                  Internal  Switching    Leakage      Total
                          Power      Power      Power      Power (Watts)
----------------------------------------------------------------
Sequential             1.70e+00   7.59e-01   6.46e-06   2.46e+00  60.0%
Combinational          8.28e-01   6.65e-01   4.75e-06   1.49e+00  36.5%
Clock                  6.87e-02   7.36e-02   6.51e-07   1.42e-01   3.5%
Macro                  0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.0%
Pad                    0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.0%
----------------------------------------------------------------
Total                  2.59e+00   1.50e+00   1.19e-05   4.09e+00 100.0%
                          63.4%      36.6%       0.0%

Suggested Solution

Print error and exit 1 on unacceptable result in power.tcl

Additional Context

No response

@oharboe oharboe changed the title Extend power.tcl so that checks the power for acceptable numbers Extend power.tcl to check the power reporting procedure for acceptable numbers Jul 19, 2024
@maliberty
Copy link
Member

I don't see anything either so I'll open a request to sta

@socclosure
Copy link

@tspyrou / @maliberty

Do you want me to look into this issue for my first contribution to open Road project?

@maliberty
Copy link
Member

@socclosure I don't think this is a good candidate as the problem is in sta itself. We do label good first issues. Perhaps The-OpenROAD-Project/OpenROAD#4041 ?

@socclosure
Copy link

@maliberty Make sense. Thanks for information. I will look into Good first issues to start the contribution.

@akashlevy
Copy link

akashlevy commented Aug 13, 2024

Try sta::design_power [sta::cmd_corner]. You can replace sta::cmd_corner with sta::find_corner <corner> for a particular corner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sta Static Timing Analysis
Projects
None yet
Development

No branches or pull requests

5 participants