get_property activity w/o report_power

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2022-08-19 15:16:22 -07:00
parent cbf6370597
commit 3fb40f963c
5 changed files with 13 additions and 11 deletions

View File

@ -1266,6 +1266,7 @@ public:
const Corner *corner,
// Return values.
PowerResult &result);
PwrActivity findClkedActivity(const Pin *pin);
void writeTimingModel(const char *cell_name,
const char *filename,

View File

@ -204,7 +204,7 @@ Power::power(const Corner *corner,
macro.clear();
pad.clear();
preamble();
ensureActivities();
LeafInstanceIterator *inst_iter = network_->leafInstanceIterator();
while (inst_iter->hasNext()) {
Instance *inst = inst_iter->next();
@ -235,7 +235,7 @@ Power::power(const Instance *inst,
{
LibertyCell *cell = network_->libertyCell(inst);
if (cell) {
preamble();
ensureActivities();
power(inst, cell, corner, result);
}
}
@ -470,12 +470,6 @@ Power::evalActivity(FuncExpr *expr,
////////////////////////////////////////////////////////////////
void
Power::preamble()
{
ensureActivities();
}
void
Power::ensureActivities()
{
@ -1018,6 +1012,7 @@ Power::findClkedActivity(const Pin *pin)
{
const Instance *inst = network_->instance(pin);
const Clock *inst_clk = findInstClk(inst);
ensureActivities();
return findClkedActivity(pin, inst_clk);
}

View File

@ -85,7 +85,6 @@ public:
PwrActivity findClkedActivity(const Pin *pin);
protected:
void preamble();
void ensureActivities();
bool hasUserActivity(const Pin *pin);
PwrActivity &userActivity(const Pin *pin);

View File

@ -655,7 +655,7 @@ getProperty(const Port *port,
else if (stringEqual(property, "activity")) {
const Instance *top_inst = network->topInstance();
const Pin *pin = network->findPin(top_inst, port);
PwrActivity activity = sta->power()->findClkedActivity(pin);
PwrActivity activity = sta->findClkedActivity(pin);
return PropertyValue(&activity);
}
@ -821,7 +821,7 @@ getProperty(const Pin *pin,
return PropertyValue(&clks);
}
else if (stringEqual(property, "activity")) {
PwrActivity activity = sta->power()->findClkedActivity(pin);
PwrActivity activity = sta->findClkedActivity(pin);
return PropertyValue(&activity);
}

View File

@ -5610,6 +5610,13 @@ Sta::power(const Instance *inst,
power_->power(inst, corner, result);
}
PwrActivity
Sta::findClkedActivity(const Pin *pin)
{
powerPreamble();
return power_->findClkedActivity(pin);
}
////////////////////////////////////////////////////////////////
void