diff --git a/include/sta/Sdc.hh b/include/sta/Sdc.hh index 9ef70ee4..539ec14e 100644 --- a/include/sta/Sdc.hh +++ b/include/sta/Sdc.hh @@ -184,6 +184,7 @@ public: ~Sdc(); // Note that Search may reference a Filter exception removed by clear(). void clear(); + void makeCornersBefore(); void makeCornersAfter(Corners *corners); // Return true if pin is referenced by any constraint. bool isConstrained(const Pin *pin) const; diff --git a/sdc/Sdc.cc b/sdc/Sdc.cc index 73bc3811..c358dec8 100644 --- a/sdc/Sdc.cc +++ b/sdc/Sdc.cc @@ -368,11 +368,16 @@ Sdc::deleteNetBefore(const Net *net) } } +void +Sdc::makeCornersBefore() +{ + removeNetLoadCaps(); +} + void Sdc::makeCornersAfter(Corners *corners) { corners_ = corners; - removeNetLoadCaps(); port_ext_cap_maps_.resize(corners_->count(), PortExtCapMap(PortIdLess(network_))); net_wire_cap_maps_.resize(corners_->count(), NetWireCapMap(NetIdLess(network_))); drvr_pin_wire_cap_maps_.resize(corners_->count(), PinWireCapMap(PinIdLess(network_))); diff --git a/search/Sta.cc b/search/Sta.cc index 0831cdb2..e7fb9e01 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -2412,6 +2412,7 @@ Sta::makeCorners() void Sta::makeCorners(StringSet *corner_names) { + sdc_->makeCornersBefore(); parasitics_->deleteParasitics(); corners_->makeCorners(corner_names); makeParasiticAnalysisPts();