network edits invalidate power resolves #371

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2026-01-28 12:06:40 -07:00
parent 08acc67c05
commit 25ea7a3795
3 changed files with 11 additions and 15 deletions

View File

@ -1595,15 +1595,7 @@ Power::clockMinPeriod()
}
void
Power::deleteInstanceBefore(const Instance *)
{
activities_valid_ = false;
instance_powers_.clear();
corner_ = nullptr;
}
void
Power::deletePinBefore(const Pin *)
Power::powerInvalid()
{
activities_valid_ = false;
instance_powers_.clear();

View File

@ -108,8 +108,7 @@ public:
float clockMinPeriod();
InstanceSeq highestPowerInstances(size_t count,
const Corner *corner);
void deleteInstanceBefore(const Instance *inst);
void deletePinBefore(const Pin *pin);
void powerInvalid();
protected:
PwrActivity &activity(const Pin *pin);

View File

@ -4245,6 +4245,7 @@ Sta::makeInstanceAfter(const Instance *inst)
}
}
graph_->makeInstanceEdges(inst);
power_->powerInvalid();
}
}
}
@ -4311,6 +4312,8 @@ Sta::replaceEquivCellAfter(const Instance *inst)
parasitics_->loadPinCapacitanceChanged(pin);
}
delete pin_iter;
clk_skews_->clear();
power_->powerInvalid();
}
}
@ -4381,7 +4384,6 @@ Sta::replaceCellBefore(const Instance *inst,
}
}
delete pin_iter;
clk_skews_->clear();
}
}
@ -4447,6 +4449,7 @@ Sta::connectPinAfter(const Pin *pin)
sdc_->connectPinAfter(pin);
sim_->connectPinAfter(pin);
clk_skews_->clear();
power_->powerInvalid();
}
void
@ -4538,6 +4541,7 @@ Sta::disconnectPinBefore(const Pin *pin)
}
}
clk_skews_->clear();
power_->powerInvalid();
}
}
@ -4582,6 +4586,8 @@ Sta::deleteNetBefore(const Net *net)
delete pin_iter;
}
sdc_->deleteNetBefore(net);
clk_skews_->clear();
power_->powerInvalid();
}
void
@ -4609,7 +4615,8 @@ Sta::deleteLeafInstanceBefore(const Instance *inst)
{
sim_->deleteInstanceBefore(inst);
sdc_->deleteInstanceBefore(inst);
power_->deleteInstanceBefore(inst);
clk_skews_->clear();
power_->powerInvalid();
}
void
@ -4687,8 +4694,6 @@ Sta::deletePinBefore(const Pin *pin)
sdc_->deletePinBefore(pin);
sim_->deletePinBefore(pin);
clk_network_->deletePinBefore(pin);
power_->deletePinBefore(pin);
clk_skews_->clear();
}
void