diff --git a/dcalc/GraphDelayCalc1.cc b/dcalc/GraphDelayCalc1.cc index 139e3df5..0da85599 100644 --- a/dcalc/GraphDelayCalc1.cc +++ b/dcalc/GraphDelayCalc1.cc @@ -73,7 +73,7 @@ public: float &pin_cap, float &wire_cap, float &fanout, - bool &has_set_load); + bool &has_net_load); void findCaps(const GraphDelayCalc1 *dcalc, const Sdc *sdc); @@ -162,7 +162,7 @@ MultiDrvrNet::netCaps(const RiseFall *drvr_rf, float &pin_cap, float &wire_cap, float &fanout, - bool &has_set_load) + bool &has_net_load) { int index = dcalc_ap->index() * RiseFall::index_count + drvr_rf->index(); @@ -170,7 +170,7 @@ MultiDrvrNet::netCaps(const RiseFall *drvr_rf, pin_cap = net_caps.pinCap(); wire_cap = net_caps.wireCap(); fanout = net_caps.fanout(); - has_set_load = net_caps.hasSetLoad(); + has_net_load = net_caps.hasSetLoad(); } void @@ -191,11 +191,11 @@ MultiDrvrNet::findCaps(const GraphDelayCalc1 *dcalc, int index = ap_index * RiseFall::index_count + drvr_rf_index; NetCaps &net_caps = net_caps_[index]; float pin_cap, wire_cap, fanout; - bool has_set_load; + bool has_net_load; // Find pin and external pin/wire capacitance. sdc->connectedCap(drvr_pin, drvr_rf, op_cond, corner, min_max, - pin_cap, wire_cap, fanout, has_set_load); - net_caps.init(pin_cap, wire_cap, fanout, has_set_load); + pin_cap, wire_cap, fanout, has_net_load); + net_caps.init(pin_cap, wire_cap, fanout, has_net_load); } } } @@ -1077,15 +1077,15 @@ GraphDelayCalc1::loadCap(const Pin *drvr_pin, const DcalcAnalysisPt *dcalc_ap) const { float pin_cap, wire_cap; - bool has_set_load; + bool has_net_load; float fanout; if (multi_drvr) multi_drvr->netCaps(rf, dcalc_ap, - pin_cap, wire_cap, fanout, has_set_load); + pin_cap, wire_cap, fanout, has_net_load); else netCaps(drvr_pin, rf, dcalc_ap, - pin_cap, wire_cap, fanout, has_set_load); - loadCap(drvr_parasitic, has_set_load, pin_cap, wire_cap); + pin_cap, wire_cap, fanout, has_net_load); + loadCap(drvr_parasitic, has_net_load, pin_cap, wire_cap); return wire_cap + pin_cap; } @@ -1098,23 +1098,23 @@ GraphDelayCalc1::loadCap(const Pin *drvr_pin, float &pin_cap, float &wire_cap) const { - bool has_set_load; + bool has_net_load; float fanout; // Find pin and external pin/wire capacitance. netCaps(drvr_pin, rf, dcalc_ap, - pin_cap, wire_cap, fanout, has_set_load); - loadCap(drvr_parasitic, has_set_load, pin_cap, wire_cap); + pin_cap, wire_cap, fanout, has_net_load); + loadCap(drvr_parasitic, has_net_load, pin_cap, wire_cap); } void GraphDelayCalc1::loadCap(Parasitic *drvr_parasitic, - bool has_set_load, + bool has_net_load, // Return values. float &pin_cap, float &wire_cap) const { - // set_load has precidence over parasitics. - if (!has_set_load && drvr_parasitic) { + // set_load net has precidence over parasitics. + if (!has_net_load && drvr_parasitic) { if (parasitics_->isParasiticNetwork(drvr_parasitic)) wire_cap += parasitics_->capacitance(drvr_parasitic); else { @@ -1138,7 +1138,7 @@ GraphDelayCalc1::netCaps(const Pin *drvr_pin, float &pin_cap, float &wire_cap, float &fanout, - bool &has_set_load) const + bool &has_net_load) const { MultiDrvrNet *multi_drvr = nullptr; if (graph_) { @@ -1147,14 +1147,14 @@ GraphDelayCalc1::netCaps(const Pin *drvr_pin, } if (multi_drvr) multi_drvr->netCaps(rf, dcalc_ap, - pin_cap, wire_cap, fanout, has_set_load); + pin_cap, wire_cap, fanout, has_net_load); else { const OperatingConditions *op_cond = dcalc_ap->operatingConditions(); const Corner *corner = dcalc_ap->corner(); const MinMax *min_max = dcalc_ap->constraintMinMax(); // Find pin and external pin/wire capacitance. sdc_->connectedCap(drvr_pin, rf, op_cond, corner, min_max, - pin_cap, wire_cap, fanout, has_set_load); + pin_cap, wire_cap, fanout, has_net_load); } } diff --git a/doc/OpenSTA.odt b/doc/OpenSTA.odt index 75ceca1e..68853303 100644 Binary files a/doc/OpenSTA.odt and b/doc/OpenSTA.odt differ diff --git a/doc/OpenSTA.pdf b/doc/OpenSTA.pdf index 0eefeb0b..a35bbbfa 100644 Binary files a/doc/OpenSTA.pdf and b/doc/OpenSTA.pdf differ diff --git a/include/sta/Sdc.hh b/include/sta/Sdc.hh index 539ec14e..a264d939 100644 --- a/include/sta/Sdc.hh +++ b/include/sta/Sdc.hh @@ -936,7 +936,7 @@ public: float &pin_cap, float &wire_cap, float &fanout, - bool &has_set_load) const; + bool &has_net_load) const; void portExtFanout(const Port *port, const Corner *corner, const MinMax *min_max, @@ -1222,8 +1222,7 @@ protected: const MinMax *min_max, float &pin_cap, float &wire_cap, - float &fanout, - bool &has_ext_cap) const; + float &fanout) const; void netCaps(const Pin *drvr_pin, const RiseFall *rf, const OperatingConditions *op_cond, @@ -1233,7 +1232,7 @@ protected: float &pin_cap, float &wire_cap, float &fanout, - bool &has_set_load) const; + bool &has_net_load) const; // connectedCap pin_cap. float connectedPinCap(const Pin *pin, const RiseFall *rf, diff --git a/include/sta/TableModel.hh b/include/sta/TableModel.hh index 67870ab5..39375eb7 100644 --- a/include/sta/TableModel.hh +++ b/include/sta/TableModel.hh @@ -253,7 +253,7 @@ protected: TableTemplate *tbl_template_; // ScaleFactorType gcc barfs if this is dcl'd. unsigned scale_factor_type_:scale_factor_bits; - unsigned tr_index_:RiseFall::index_bit_count; + unsigned rf_index_:RiseFall::index_bit_count; bool is_scaled_:1; }; diff --git a/liberty/TableModel.cc b/liberty/TableModel.cc index 62941067..1429e5ed 100644 --- a/liberty/TableModel.cc +++ b/liberty/TableModel.cc @@ -609,7 +609,7 @@ TableModel::TableModel(TablePtr table, table_(table), tbl_template_(tbl_template), scale_factor_type_(int(scale_factor_type)), - tr_index_(rf->index()), + rf_index_(rf->index()), is_scaled_(false) { } @@ -681,7 +681,7 @@ TableModel::scaleFactor(const LibertyLibrary *library, return 1.0F; else return library->scaleFactor(static_cast(scale_factor_type_), - tr_index_, cell, pvt); + rf_index_, cell, pvt); } void diff --git a/sdc/Sdc.cc b/sdc/Sdc.cc index c358dec8..f031ede9 100644 --- a/sdc/Sdc.cc +++ b/sdc/Sdc.cc @@ -3081,16 +3081,14 @@ Sdc::connectedCap(const Pin *pin, float &pin_cap, float &wire_cap, float &fanout, - bool &has_set_load) const + bool &has_net_load) const { netCaps(pin, rf, op_cond, corner, min_max, - pin_cap, wire_cap, fanout, has_set_load); + pin_cap, wire_cap, fanout, has_net_load); float net_wire_cap; - bool has_net_wire_cap; - drvrPinWireCap(pin, corner, min_max, net_wire_cap, has_net_wire_cap); - if (has_net_wire_cap) { + drvrPinWireCap(pin, corner, min_max, net_wire_cap, has_net_load); + if (has_net_load) { wire_cap += net_wire_cap; - has_set_load = true; } } @@ -3102,9 +3100,9 @@ Sdc::connectedPinCap(const Pin *pin, const MinMax *min_max) { float pin_cap, wire_cap, fanout; - bool has_set_load; + bool has_net_load; connectedCap(pin, rf, op_cond, corner, min_max, - pin_cap, wire_cap, fanout, has_set_load); + pin_cap, wire_cap, fanout, has_net_load); return pin_cap; } @@ -3118,7 +3116,7 @@ public: float &pin_cap, float &wire_cap, float &fanout, - bool &has_set_load, + bool &has_net_load, const Sdc *sdc); virtual void operator()(const Pin *pin); @@ -3130,7 +3128,7 @@ protected: float &pin_cap_; float &wire_cap_; float &fanout_; - bool &has_set_load_; + bool &has_net_load_; const Sdc *sdc_; }; @@ -3141,7 +3139,7 @@ FindNetCaps::FindNetCaps(const RiseFall *rf, float &pin_cap, float &wire_cap, float &fanout, - bool &has_set_load, + bool &has_net_load, const Sdc *sdc) : PinVisitor(), rf_(rf), @@ -3151,7 +3149,7 @@ FindNetCaps::FindNetCaps(const RiseFall *rf, pin_cap_(pin_cap), wire_cap_(wire_cap), fanout_(fanout), - has_set_load_(has_set_load), + has_net_load_(has_net_load), sdc_(sdc) { } @@ -3160,7 +3158,7 @@ void FindNetCaps::operator()(const Pin *pin) { sdc_->pinCaps(pin, rf_, op_cond_, corner_, min_max_, - pin_cap_, wire_cap_, fanout_, has_set_load_); + pin_cap_, wire_cap_, fanout_); } // Capacitances for all pins connected to drvr_pin's net. @@ -3174,14 +3172,14 @@ Sdc::netCaps(const Pin *drvr_pin, float &pin_cap, float &wire_cap, float &fanout, - bool &has_set_load) const + bool &has_net_load) const { pin_cap = 0.0; wire_cap = 0.0; fanout = 0.0; - has_set_load = false; + has_net_load = false; FindNetCaps visitor(rf, op_cond, corner, min_max, pin_cap, - wire_cap, fanout, has_set_load, this); + wire_cap, fanout, has_net_load, this); network_->visitConnectedPins(const_cast(drvr_pin), visitor); } @@ -3194,8 +3192,7 @@ Sdc::pinCaps(const Pin *pin, // Return values. float &pin_cap, float &wire_cap, - float &fanout, - bool &has_set_load) const + float &fanout) const { if (network_->isTopLevelPort(pin)) { Port *port = network_->port(pin); @@ -3217,7 +3214,6 @@ Sdc::pinCaps(const Pin *pin, // Output port counts as a fanout. fanout++; } - has_set_load |= has_pin_cap || has_wire_cap; } else { LibertyPort *port = network_->libertyPort(pin);