power enqueue regs in fanout of from user activities
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
ced5df610c
commit
8445cef834
|
|
@ -337,6 +337,8 @@ PropActivityVisitor::visit(Vertex *vertex)
|
||||||
vertex->name(network_),
|
vertex->name(network_),
|
||||||
activity.activity(),
|
activity.activity(),
|
||||||
activity.duty());
|
activity.duty());
|
||||||
|
if (!power_->hasActivity(pin))
|
||||||
|
input_without_activity = true;
|
||||||
power_->setActivity(pin, activity);
|
power_->setActivity(pin, activity);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
@ -567,12 +569,15 @@ Power::seedRegOutputActivities(const Instance *reg,
|
||||||
LibertyPort *output,
|
LibertyPort *output,
|
||||||
bool invert)
|
bool invert)
|
||||||
{
|
{
|
||||||
PwrActivity activity = evalActivity(seq->data(), reg);
|
const Pin *out_pin = network_->findPin(reg, output);
|
||||||
if (invert)
|
if (!hasUserActivity(out_pin)) {
|
||||||
activity.set(activity.activity(),
|
PwrActivity activity = evalActivity(seq->data(), reg);
|
||||||
1.0 - activity.duty(),
|
if (invert)
|
||||||
activity.origin());
|
activity.set(activity.activity(),
|
||||||
setSeqActivity(reg, output, activity);
|
1.0 - activity.duty(),
|
||||||
|
activity.origin());
|
||||||
|
setSeqActivity(reg, output, activity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue