get_property activity w/o report_power
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
cbf6370597
commit
3fb40f963c
|
|
@ -1266,6 +1266,7 @@ public:
|
||||||
const Corner *corner,
|
const Corner *corner,
|
||||||
// Return values.
|
// Return values.
|
||||||
PowerResult &result);
|
PowerResult &result);
|
||||||
|
PwrActivity findClkedActivity(const Pin *pin);
|
||||||
|
|
||||||
void writeTimingModel(const char *cell_name,
|
void writeTimingModel(const char *cell_name,
|
||||||
const char *filename,
|
const char *filename,
|
||||||
|
|
|
||||||
|
|
@ -204,7 +204,7 @@ Power::power(const Corner *corner,
|
||||||
macro.clear();
|
macro.clear();
|
||||||
pad.clear();
|
pad.clear();
|
||||||
|
|
||||||
preamble();
|
ensureActivities();
|
||||||
LeafInstanceIterator *inst_iter = network_->leafInstanceIterator();
|
LeafInstanceIterator *inst_iter = network_->leafInstanceIterator();
|
||||||
while (inst_iter->hasNext()) {
|
while (inst_iter->hasNext()) {
|
||||||
Instance *inst = inst_iter->next();
|
Instance *inst = inst_iter->next();
|
||||||
|
|
@ -235,7 +235,7 @@ Power::power(const Instance *inst,
|
||||||
{
|
{
|
||||||
LibertyCell *cell = network_->libertyCell(inst);
|
LibertyCell *cell = network_->libertyCell(inst);
|
||||||
if (cell) {
|
if (cell) {
|
||||||
preamble();
|
ensureActivities();
|
||||||
power(inst, cell, corner, result);
|
power(inst, cell, corner, result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -470,12 +470,6 @@ Power::evalActivity(FuncExpr *expr,
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
void
|
|
||||||
Power::preamble()
|
|
||||||
{
|
|
||||||
ensureActivities();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Power::ensureActivities()
|
Power::ensureActivities()
|
||||||
{
|
{
|
||||||
|
|
@ -1018,6 +1012,7 @@ Power::findClkedActivity(const Pin *pin)
|
||||||
{
|
{
|
||||||
const Instance *inst = network_->instance(pin);
|
const Instance *inst = network_->instance(pin);
|
||||||
const Clock *inst_clk = findInstClk(inst);
|
const Clock *inst_clk = findInstClk(inst);
|
||||||
|
ensureActivities();
|
||||||
return findClkedActivity(pin, inst_clk);
|
return findClkedActivity(pin, inst_clk);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,6 @@ public:
|
||||||
PwrActivity findClkedActivity(const Pin *pin);
|
PwrActivity findClkedActivity(const Pin *pin);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void preamble();
|
|
||||||
void ensureActivities();
|
void ensureActivities();
|
||||||
bool hasUserActivity(const Pin *pin);
|
bool hasUserActivity(const Pin *pin);
|
||||||
PwrActivity &userActivity(const Pin *pin);
|
PwrActivity &userActivity(const Pin *pin);
|
||||||
|
|
|
||||||
|
|
@ -655,7 +655,7 @@ getProperty(const Port *port,
|
||||||
else if (stringEqual(property, "activity")) {
|
else if (stringEqual(property, "activity")) {
|
||||||
const Instance *top_inst = network->topInstance();
|
const Instance *top_inst = network->topInstance();
|
||||||
const Pin *pin = network->findPin(top_inst, port);
|
const Pin *pin = network->findPin(top_inst, port);
|
||||||
PwrActivity activity = sta->power()->findClkedActivity(pin);
|
PwrActivity activity = sta->findClkedActivity(pin);
|
||||||
return PropertyValue(&activity);
|
return PropertyValue(&activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -821,7 +821,7 @@ getProperty(const Pin *pin,
|
||||||
return PropertyValue(&clks);
|
return PropertyValue(&clks);
|
||||||
}
|
}
|
||||||
else if (stringEqual(property, "activity")) {
|
else if (stringEqual(property, "activity")) {
|
||||||
PwrActivity activity = sta->power()->findClkedActivity(pin);
|
PwrActivity activity = sta->findClkedActivity(pin);
|
||||||
return PropertyValue(&activity);
|
return PropertyValue(&activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5610,6 +5610,13 @@ Sta::power(const Instance *inst,
|
||||||
power_->power(inst, corner, result);
|
power_->power(inst, corner, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PwrActivity
|
||||||
|
Sta::findClkedActivity(const Pin *pin)
|
||||||
|
{
|
||||||
|
powerPreamble();
|
||||||
|
return power_->findClkedActivity(pin);
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue