From bc743f477fcf882a7e9e6e19112f198bac21e68f Mon Sep 17 00:00:00 2001 From: James Cherry Date: Sun, 4 Dec 2022 11:18:02 -0800 Subject: [PATCH] unify property names Signed-off-by: James Cherry --- doc/OpenSTA.odt | Bin 84417 -> 86473 bytes include/sta/Sta.hh | 2 + search/Property.cc | 147 +++++++++++++++++++++++++++++++++++---------- search/Sta.cc | 18 +++++- 4 files changed, 135 insertions(+), 32 deletions(-) diff --git a/doc/OpenSTA.odt b/doc/OpenSTA.odt index b84d3b883bc49bae243141c7f9651550d8187797..ddadb2cb1273bdcb60e70dfa67a7675876bd6937 100644 GIT binary patch delta 65131 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 LVZ;?dD+c?2MV68Y delta 63140 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 diff --git a/include/sta/Sta.hh b/include/sta/Sta.hh index 41470a9f..d083177b 100644 --- a/include/sta/Sta.hh +++ b/include/sta/Sta.hh @@ -1056,6 +1056,8 @@ public: Slew vertexSlew(Vertex *vertex, const RiseFall *rf, const MinMax *min_max); + Slew vertexSlew(Vertex *vertex, + const MinMax *min_max); ArcDelay arcDelay(Edge *edge, TimingArc *arc, const DcalcAnalysisPt *dcalc_ap); diff --git a/search/Property.cc b/search/Property.cc index bad74605..15a5f5d5 100644 --- a/search/Property.cc +++ b/search/Property.cc @@ -38,22 +38,38 @@ namespace sta { using std::string; using std::max; +static PropertyValue +pinSlewProperty(const Pin *pin, + const MinMax *min_max, + Sta *sta); static PropertyValue pinSlewProperty(const Pin *pin, const RiseFall *rf, const MinMax *min_max, Sta *sta); static PropertyValue +pinSlackProperty(const Pin *pin, + const MinMax *min_max, + Sta *sta); +static PropertyValue pinSlackProperty(const Pin *pin, const RiseFall *rf, const MinMax *min_max, Sta *sta); static PropertyValue +portSlewProperty(const Port *port, + const MinMax *min_max, + Sta *sta); +static PropertyValue portSlewProperty(const Port *port, const RiseFall *rf, const MinMax *min_max, Sta *sta); static PropertyValue +portSlackProperty(const Port *port, + const MinMax *min_max, + Sta *sta); +static PropertyValue portSlackProperty(const Port *port, const RiseFall *rf, const MinMax *min_max, @@ -659,28 +675,47 @@ getProperty(const Port *port, return PropertyValue(&activity); } - else if (stringEqual(property, "actual_fall_transition_min")) - return portSlewProperty(port, RiseFall::fall(), MinMax::min(), sta); - else if (stringEqual(property, "actual_fall_transition_max")) - return portSlewProperty(port, RiseFall::fall(), MinMax::max(), sta); - else if (stringEqual(property, "actual_rise_transition_min")) - return portSlewProperty(port, RiseFall::rise(), MinMax::min(), sta); - else if (stringEqual(property, "actual_rise_transition_max")) - return portSlewProperty(port, RiseFall::rise(), MinMax::max(), sta); - - else if (stringEqual(property, "min_fall_slack")) - return portSlackProperty(port, RiseFall::fall(), MinMax::min(), sta); - else if (stringEqual(property, "max_fall_slack")) + else if (stringEqual(property, "slack_max")) + return portSlackProperty(port, MinMax::max(), sta); + else if (stringEqual(property, "slack_max_fall")) return portSlackProperty(port, RiseFall::fall(), MinMax::max(), sta); - else if (stringEqual(property, "min_rise_slack")) - return portSlackProperty(port, RiseFall::rise(), MinMax::min(), sta); - else if (stringEqual(property, "max_rise_slack")) + else if (stringEqual(property, "slack_max_rise")) return portSlackProperty(port, RiseFall::rise(), MinMax::max(), sta); + else if (stringEqual(property, "slack_min")) + return portSlackProperty(port, MinMax::min(), sta); + else if (stringEqual(property, "slack_min_fall")) + return portSlackProperty(port, RiseFall::fall(), MinMax::min(), sta); + else if (stringEqual(property, "slack_min_rise")) + return portSlackProperty(port, RiseFall::rise(), MinMax::min(), sta); + + else if (stringEqual(property, "slew_max")) + return portSlewProperty(port, MinMax::max(), sta); + else if (stringEqual(property, "slew_max_fall")) + return portSlewProperty(port, RiseFall::fall(), MinMax::max(), sta); + else if (stringEqual(property, "slew_max_rise")) + return portSlewProperty(port, RiseFall::rise(), MinMax::max(), sta); + else if (stringEqual(property, "slew_min")) + return portSlewProperty(port, MinMax::min(), sta); + else if (stringEqual(property, "slew_min_rise")) + return portSlewProperty(port, RiseFall::rise(), MinMax::min(), sta); + else if (stringEqual(property, "slew_min_fall")) + return portSlewProperty(port, RiseFall::fall(), MinMax::min(), sta); else throw PropertyUnknown("port", property); } +static PropertyValue +portSlewProperty(const Port *port, + const MinMax *min_max, + Sta *sta) +{ + auto network = sta->cmdNetwork(); + Instance *top_inst = network->topInstance(); + Pin *pin = network->findPin(top_inst, port); + return pinSlewProperty(pin, min_max, sta); +} + static PropertyValue portSlewProperty(const Port *port, const RiseFall *rf, @@ -693,6 +728,17 @@ portSlewProperty(const Port *port, return pinSlewProperty(pin, rf, min_max, sta); } +static PropertyValue +portSlackProperty(const Port *port, + const MinMax *min_max, + Sta *sta) +{ + auto network = sta->cmdNetwork(); + Instance *top_inst = network->topInstance(); + Pin *pin = network->findPin(top_inst, port); + return pinSlackProperty(pin, min_max, sta); +} + static PropertyValue portSlackProperty(const Port *port, const RiseFall *rf, @@ -729,19 +775,19 @@ getProperty(const LibertyPort *port, float res = port->driveResistance(); return resistancePropertyValue(res, sta); } - else if (stringEqual(property, "drive_resistance_rise_min")) { + else if (stringEqual(property, "drive_resistance_min_rise")) { float res = port->driveResistance(RiseFall::rise(), MinMax::min()); return resistancePropertyValue(res, sta); } - else if (stringEqual(property, "drive_resistance_rise_max")) { + else if (stringEqual(property, "drive_resistance_max_rise")) { float res = port->driveResistance(RiseFall::rise(), MinMax::max()); return resistancePropertyValue(res, sta); } - else if (stringEqual(property, "drive_resistance_fall_min")) { + else if (stringEqual(property, "drive_resistance_min_fall")) { float res = port->driveResistance(RiseFall::fall(), MinMax::min()); return resistancePropertyValue(res, sta); } - else if (stringEqual(property, "drive_resistance_fall_max")) { + else if (stringEqual(property, "drive_resistance_max_fall")) { float res = port->driveResistance(RiseFall::fall(), MinMax::max()); return resistancePropertyValue(res, sta); } @@ -750,22 +796,22 @@ getProperty(const LibertyPort *port, ArcDelay delay = port->intrinsicDelay(sta); return delayPropertyValue(delay, sta); } - else if (stringEqual(property, "intrinsic_delay_rise_min")) { + else if (stringEqual(property, "intrinsic_delay_min_rise")) { ArcDelay delay = port->intrinsicDelay(RiseFall::rise(), MinMax::min(), sta); return delayPropertyValue(delay, sta); } - else if (stringEqual(property, "intrinsic_delay_rise_max")) { + else if (stringEqual(property, "intrinsic_delay_max_rise")) { ArcDelay delay = port->intrinsicDelay(RiseFall::rise(), MinMax::max(), sta); return delayPropertyValue(delay, sta); } - else if (stringEqual(property, "intrinsic_delay_fall_min")) { + else if (stringEqual(property, "intrinsic_delay_min_fall")) { ArcDelay delay = port->intrinsicDelay(RiseFall::fall(), MinMax::min(), sta); return delayPropertyValue(delay, sta); } - else if (stringEqual(property, "intrinsic_delay_fall_max")) { + else if (stringEqual(property, "intrinsic_delay_max_fall")) { ArcDelay delay = port->intrinsicDelay(RiseFall::fall(), MinMax::max(), sta); return delayPropertyValue(delay, sta); @@ -825,28 +871,45 @@ getProperty(const Pin *pin, return PropertyValue(&activity); } - else if (stringEqual(property, "max_fall_slack")) + else if (stringEqual(property, "slack_max")) + return pinSlackProperty(pin, MinMax::max(), sta); + else if (stringEqual(property, "slack_max_fall")) return pinSlackProperty(pin, RiseFall::fall(), MinMax::max(), sta); - else if (stringEqual(property, "max_rise_slack")) + else if (stringEqual(property, "slack_max_rise")) return pinSlackProperty(pin, RiseFall::rise(), MinMax::max(), sta); - else if (stringEqual(property, "min_fall_slack")) + else if (stringEqual(property, "slack_min")) + return pinSlackProperty(pin, MinMax::min(), sta); + else if (stringEqual(property, "slack_min_fall")) return pinSlackProperty(pin, RiseFall::fall(), MinMax::min(), sta); - else if (stringEqual(property, "min_rise_slack")) + else if (stringEqual(property, "slack_min_rise")) return pinSlackProperty(pin, RiseFall::rise(), MinMax::min(), sta); - else if (stringEqual(property, "actual_fall_transition_max")) + else if (stringEqual(property, "slew_max")) + return pinSlewProperty(pin, MinMax::max(), sta); + else if (stringEqual(property, "slew_max_fall")) return pinSlewProperty(pin, RiseFall::fall(), MinMax::max(), sta); - else if (stringEqual(property, "actual_rise_transition_max")) + else if (stringEqual(property, "slew_max_rise")) return pinSlewProperty(pin, RiseFall::rise(), MinMax::max(), sta); - else if (stringEqual(property, "actual_rise_transition_min")) + else if (stringEqual(property, "slew_min")) + return pinSlewProperty(pin, MinMax::min(), sta); + else if (stringEqual(property, "slew_min_rise")) return pinSlewProperty(pin, RiseFall::rise(), MinMax::min(), sta); - else if (stringEqual(property, "actual_fall_transition_min")) + else if (stringEqual(property, "slew_min_fall")) return pinSlewProperty(pin, RiseFall::fall(), MinMax::min(), sta); else throw PropertyUnknown("pin", property); } +static PropertyValue +pinSlackProperty(const Pin *pin, + const MinMax *min_max, + Sta *sta) +{ + Slack slack = sta->pinSlack(pin, min_max); + return PropertyValue(delayPropertyValue(slack, sta)); +} + static PropertyValue pinSlackProperty(const Pin *pin, const RiseFall *rf, @@ -857,6 +920,28 @@ pinSlackProperty(const Pin *pin, return PropertyValue(delayPropertyValue(slack, sta)); } +static PropertyValue +pinSlewProperty(const Pin *pin, + const MinMax *min_max, + Sta *sta) +{ + auto graph = sta->ensureGraph(); + Vertex *vertex, *bidirect_drvr_vertex; + graph->pinVertices(pin, vertex, bidirect_drvr_vertex); + Slew slew = min_max->initValue(); + if (vertex) { + Slew vertex_slew = sta->vertexSlew(vertex, min_max); + if (delayGreater(vertex_slew, slew, min_max, sta)) + slew = vertex_slew; + } + if (bidirect_drvr_vertex) { + Slew vertex_slew = sta->vertexSlew(bidirect_drvr_vertex, min_max); + if (delayGreater(vertex_slew, slew, min_max, sta)) + slew = vertex_slew; + } + return delayPropertyValue(slew, sta); +} + static PropertyValue pinSlewProperty(const Pin *pin, const RiseFall *rf, diff --git a/search/Sta.cc b/search/Sta.cc index 8efd3ea6..7bdac94b 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -3360,7 +3360,7 @@ Sta::vertexSlew(Vertex *vertex, { findDelays(vertex); Slew mm_slew = min_max->initValue(); - for (DcalcAnalysisPt *dcalc_ap : corners_->dcalcAnalysisPts()) { + for (const DcalcAnalysisPt *dcalc_ap : corners_->dcalcAnalysisPts()) { Slew slew = graph_->slew(vertex, rf, dcalc_ap->index()); if (delayGreater(slew, mm_slew, min_max, this)) mm_slew = slew; @@ -3368,6 +3368,22 @@ Sta::vertexSlew(Vertex *vertex, return mm_slew; } +Slew +Sta::vertexSlew(Vertex *vertex, + const MinMax *min_max) +{ + findDelays(vertex); + Slew mm_slew = min_max->initValue(); + for (const DcalcAnalysisPt *dcalc_ap : corners_->dcalcAnalysisPts()) { + for (const RiseFall *rf : RiseFall::range()) { + Slew slew = graph_->slew(vertex, rf, dcalc_ap->index()); + if (delayGreater(slew, mm_slew, min_max, this)) + mm_slew = slew; + } + } + return mm_slew; +} + //////////////////////////////////////////////////////////////// Graph *