libert internal_power power group for rise/fall

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2021-12-28 15:28:20 -07:00
parent 445f935c16
commit 8bcb0eb27b
2 changed files with 15 additions and 0 deletions

View File

@ -403,6 +403,9 @@ LibertyReader::defineVisitors()
&LibertyReader::endLeakagePower);
defineGroupVisitor("internal_power", &LibertyReader::beginInternalPower,
&LibertyReader::endInternalPower);
// power group for both rise/fall
defineGroupVisitor("power", &LibertyReader::beginRisePower,
&LibertyReader::endPower);
defineGroupVisitor("fall_power", &LibertyReader::beginFallPower,
&LibertyReader::endRiseFallPower);
defineGroupVisitor("rise_power", &LibertyReader::beginRisePower,
@ -4535,6 +4538,17 @@ LibertyReader::endRiseFallPower(LibertyGroup *)
endTableModel();
}
void
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));
}
endTableModel();
}
void
LibertyReader::visitRelatedGroundPin(LibertyAttr *attr)
{

View File

@ -367,6 +367,7 @@ public:
virtual void beginFallPower(LibertyGroup *group);
virtual void beginRisePower(LibertyGroup *group);
virtual void endRiseFallPower(LibertyGroup *group);
virtual void endPower(LibertyGroup *group);
virtual void visitRelatedGroundPin(LibertyAttr *attr);
virtual void visitRelatedPowerPin(LibertyAttr *attr);
virtual void visitRelatedPgPin(LibertyAttr *attr);