From bb50746f72ab112819570abce352684f9114f624 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Mon, 22 Aug 2022 12:39:54 -0700 Subject: [PATCH] issue 107 xor activity Signed-off-by: James Cherry --- search/Power.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/search/Power.cc b/search/Power.cc index ee303c0e..eecb4086 100644 --- a/search/Power.cc +++ b/search/Power.cc @@ -433,8 +433,7 @@ Power::evalActivity(FuncExpr *expr, cofactor_port, cofactor_positive); float p1 = 1.0 - activity1.duty(); float p2 = 1.0 - activity2.duty(); - return PwrActivity(activity1.activity() * p2 - + activity2.activity() * p1, + return PwrActivity(activity1.activity() * p2 + activity2.activity() * p1, 1.0 - p1 * p2, PwrActivityOrigin::propagated); } @@ -454,9 +453,11 @@ Power::evalActivity(FuncExpr *expr, cofactor_port, cofactor_positive); PwrActivity activity2 = evalActivity(expr->right(), inst, cofactor_port, cofactor_positive); - float p1 = activity1.duty() * (1.0 - activity2.duty()); - float p2 = activity2.duty() * (1.0 - activity1.duty()); - return PwrActivity(activity1.activity() * p1 + activity2.activity() * p2, + float d1 = activity1.duty(); + float d2 = activity2.duty(); + float p1 = d1 * (1.0 - d2); + float p2 = (1.0 - d1) * d2; + return PwrActivity(activity1.activity() + activity2.activity(), p1 + p2, PwrActivityOrigin::propagated); }