internal power umr

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2021-12-28 16:05:04 -08:00
parent 8bcb0eb27b
commit eaa6523869
2 changed files with 9 additions and 7 deletions

View File

@ -36,11 +36,11 @@ InternalPowerAttrs::~InternalPowerAttrs()
void
InternalPowerAttrs::deleteContents()
{
for (auto tr_index : RiseFall::rangeIndex()) {
InternalPowerModel *model = models_[tr_index];
if (model)
delete model;
}
InternalPowerModel *rise_model = models_[RiseFall::riseIndex()];
InternalPowerModel *fall_model = models_[RiseFall::fallIndex()];
delete rise_model;
if (fall_model != rise_model)
delete fall_model;
if (when_)
when_->deleteSubexprs();
stringDelete(related_pg_pin_);

View File

@ -4543,8 +4543,10 @@ LibertyReader::endPower(LibertyGroup *)
{
if (table_) {
TableModel *table_model = new TableModel(table_, scale_factor_type_, rf_);
internal_power_->setModel(RiseFall::rise(), new InternalPowerModel(table_model));
internal_power_->setModel(RiseFall::fall(), new InternalPowerModel(table_model));
// Share the model for rise/fall.
InternalPowerModel *power_model = new InternalPowerModel(table_model);
internal_power_->setModel(RiseFall::rise(), power_model);
internal_power_->setModel(RiseFall::fall(), power_model);
}
endTableModel();
}