From c6db5eb0aef8f7bb9bc00c86b88b739569cb4e33 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Sat, 11 May 2019 07:11:27 -0600 Subject: [PATCH] power don't required related_pg_pin in internal_power --- doc/OpenSTA.odt | Bin 75411 -> 75433 bytes liberty/LibertyExpr.cc | 22 +++++++++++++++------- liberty/LibertyExpr.hh | 4 +++- search/Power.cc | 20 ++++++++++---------- search/Power.hh | 4 ++-- 5 files changed, 30 insertions(+), 20 deletions(-) diff --git a/doc/OpenSTA.odt b/doc/OpenSTA.odt index cf2d1fa64d31569c94f15e6b713d8609d02916f6..2079b261a49994a60a35a650a7035ea2fd67f063 100644 GIT binary patch delta 33855 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 WQcpEtm=#Y?Rb$j(d#MO?A_D*z*7-C5 delta 33776 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 diff --git a/liberty/LibertyExpr.cc b/liberty/LibertyExpr.cc index 645d2b22..fb69c6e9 100644 --- a/liberty/LibertyExpr.cc +++ b/liberty/LibertyExpr.cc @@ -29,7 +29,9 @@ namespace sta { LibExprParser *libexpr_parser; FuncExpr * -parseFuncExpr(const char *func, LibertyCell *cell, const char *error_msg, +parseFuncExpr(const char *func, + LibertyCell *cell, + const char *error_msg, Report *report) { if (func != nullptr && func[0] != '\0') { @@ -42,8 +44,10 @@ parseFuncExpr(const char *func, LibertyCell *cell, const char *error_msg, return nullptr; } -LibExprParser::LibExprParser(const char *func, LibertyCell *cell, - const char *error_msg, Report *report) : +LibExprParser::LibExprParser(const char *func, + LibertyCell *cell, + const char *error_msg, + Report *report) : func_(func), cell_(cell), error_msg_(error_msg), @@ -84,7 +88,8 @@ LibExprParser::makeFuncExprNot(FuncExpr *arg) } FuncExpr * -LibExprParser::makeFuncExprXor(FuncExpr *arg1, FuncExpr *arg2) +LibExprParser::makeFuncExprXor(FuncExpr *arg1, + FuncExpr *arg2) { if (arg1 && arg2) return FuncExpr::makeXor(arg1, arg2); @@ -93,7 +98,8 @@ LibExprParser::makeFuncExprXor(FuncExpr *arg1, FuncExpr *arg2) } FuncExpr * -LibExprParser::makeFuncExprAnd(FuncExpr *arg1, FuncExpr *arg2) +LibExprParser::makeFuncExprAnd(FuncExpr *arg1, + FuncExpr *arg2) { if (arg1 && arg2) return FuncExpr::makeAnd(arg1, arg2); @@ -102,7 +108,8 @@ LibExprParser::makeFuncExprAnd(FuncExpr *arg1, FuncExpr *arg2) } FuncExpr * -LibExprParser::makeFuncExprOr(FuncExpr *arg1, FuncExpr *arg2) +LibExprParser::makeFuncExprOr(FuncExpr *arg1, + FuncExpr *arg2) { if (arg1 && arg2) return FuncExpr::makeOr(arg1, arg2); @@ -117,7 +124,8 @@ LibExprParser::setResult(FuncExpr *result) } size_t -LibExprParser::copyInput(char *buf, size_t max_size) +LibExprParser::copyInput(char *buf, + size_t max_size) { size_t length = strlen(func_); if (length == 0) diff --git a/liberty/LibertyExpr.hh b/liberty/LibertyExpr.hh index e4faf497..7a2ae1dc 100644 --- a/liberty/LibertyExpr.hh +++ b/liberty/LibertyExpr.hh @@ -26,7 +26,9 @@ class LibertyCell; class FuncExpr; FuncExpr * -parseFuncExpr(const char *func, LibertyCell *cell, const char *error_msg, +parseFuncExpr(const char *func, + LibertyCell *cell, + const char *error_msg, Report *report); } // namespace diff --git a/search/Power.cc b/search/Power.cc index 335caa72..eec79f9f 100644 --- a/search/Power.cc +++ b/search/Power.cc @@ -505,8 +505,8 @@ Power::power(const Instance *inst, if (to_port->direction()->isAnyOutput()) findSwitchingPower(cell, to_port, activity, load_cap, dcalc_ap, result); - findInternalPower(to_port, inst, cell, activity, - inst_clk, load_cap, dcalc_ap, result); + findInternalPower(to_pin, to_port, inst, cell, activity, + load_cap, dcalc_ap, result); } delete pin_iter; findLeakagePower(inst, cell, result); @@ -528,11 +528,11 @@ Power::findInstClk(const Instance *inst) } void -Power::findInternalPower(const LibertyPort *to_port, +Power::findInternalPower(const Pin *to_pin, + const LibertyPort *to_port, const Instance *inst, LibertyCell *cell, PwrActivity &to_activity, - const Clock *inst_clk, float load_cap, const DcalcAnalysisPt *dcalc_ap, // Return values. @@ -554,10 +554,9 @@ Power::findInternalPower(const LibertyPort *to_port, if (pwr->port() == to_port) { const char *related_pg_pin = pwr->relatedPgPin(); const LibertyPort *from_port = pwr->relatedPort(); - if (from_port == nullptr) { + if (from_port == nullptr) // Input port internal power. from_port = to_port; - } FuncExpr *when = pwr->when(); // If all the "when" clauses exist VSS internal power is ignored. if ((when && internalPowerMissingWhen(cell, to_port, related_pg_pin)) @@ -570,9 +569,10 @@ Power::findInternalPower(const LibertyPort *to_port, else if (search_->isClock(from_vertex)) duty = 1.0; else { - PwrActivity from_activity = findClkedActivity(from_pin, inst_clk); - float duty1 = 1.0 - (input_duty_sum - from_activity.duty()); - duty = from_activity.activity() * duty1 / to_activity.activity(); + PwrActivity from_activity = findActivity(from_pin); + PwrActivity to_activity = findActivity(to_pin); + float duty1 = input_duty_sum - from_activity.duty(); + duty = from_activity.activity() * (1.0 - duty1) / to_activity.activity(); } float port_energy = 0.0; TransRiseFallIterator tr_iter; @@ -624,7 +624,7 @@ Power::internalPowerMissingWhen(LibertyCell *cell, auto when = pwr->when(); if (pwr->port() == to_port && pwr->relatedPort() == nullptr - && stringEq(pwr->relatedPgPin(), related_pg_pin) + && stringEqIf(pwr->relatedPgPin(), related_pg_pin) && when) { when_count++; when_input_count = funcExprPortCount(when); diff --git a/search/Power.hh b/search/Power.hh index 6c1513fe..8321ceb5 100644 --- a/search/Power.hh +++ b/search/Power.hh @@ -107,11 +107,11 @@ protected: const Corner *corner, // Return values. PowerResult &result); - void findInternalPower(const LibertyPort *to_port, + void findInternalPower(const Pin *to_pin, + const LibertyPort *to_port, const Instance *inst, LibertyCell *cell, PwrActivity &to_activity, - const Clock *inst_clk, float load_cap, const DcalcAnalysisPt *dcalc_ap, // Return values.