set_power_activity -input applies to floating inputs

This commit is contained in:
James Cherry 2019-04-29 17:49:49 -07:00
parent d1a602cefc
commit e0dad2ea19
2 changed files with 11 additions and 16 deletions

Binary file not shown.

View File

@ -354,24 +354,19 @@ Power::ensureActivities()
void void
Power::seedActivities(BfsFwdIterator &bfs) Power::seedActivities(BfsFwdIterator &bfs)
{ {
Instance *top_inst = network_->topInstance(); for (auto vertex : levelize_->roots()) {
InstancePinIterator *pin_iter = network_->pinIterator(top_inst); const Pin *pin = vertex->pin();
while (pin_iter->hasNext()) { // Clock activities are baked in.
const Pin *pin = pin_iter->next(); if (!sdc_->isVertexPinClock(pin)) {
if (network_->direction(pin)->isAnyInput()) { PwrActivity &activity = pinActivity(pin);
// Clock activities are baked in. PwrActivityOrigin origin = activity.origin();
if (!sdc_->isClock(pin)) { // Default inputs without explicit activities to the input default.
PwrActivity &activity = pinActivity(pin); if (origin != PwrActivityOrigin::user)
PwrActivityOrigin origin = activity.origin(); setPinActivity(pin, input_activity_);
// Default inputs without explicit activities to the input default. Vertex *vertex = graph_->pinDrvrVertex(pin);
if (origin != PwrActivityOrigin::user) bfs.enqueueAdjacentVertices(vertex);
setPinActivity(pin, input_activity_);
Vertex *vertex = graph_->pinDrvrVertex(pin);
bfs.enqueueAdjacentVertices(vertex);
}
} }
} }
delete pin_iter;
} }
void void