From 3aea9cca79e2cfd4536f546f22aadc14449c08f1 Mon Sep 17 00:00:00 2001 From: Alain Dargelas Date: Mon, 4 Nov 2024 18:03:51 -0800 Subject: [PATCH] off by 1 bug --- passes/cmds/activity.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/passes/cmds/activity.cc b/passes/cmds/activity.cc index 2449f37c4..592dffa89 100644 --- a/passes/cmds/activity.cc +++ b/passes/cmds/activity.cc @@ -71,16 +71,18 @@ struct ActivityProp { // $ACKT: 0.1 0.2 .... (Each bit in a bus has its own activity, index 0 of the bus is left most) std::string act = wire->get_string_attribute("$ACKT"); std::string duty = wire->get_string_attribute("$DUTY"); + //std::cout << "WIRE: " << wire->name.c_str() << " act: " << act << std::endl; // Split the activity lists std::vector activities = tokenize(act, " ", true); std::vector duties = tokenize(duty, " ", true); // Assign them to each SigBit (1 signal bit) for (int i = 0; i < GetSize(sig); i++) { SigBit bit(sig[i]); - if (i < activities.size() -1) { + if (i <= activities.size() -1) { ActivityMap.emplace(bit, activities[i]); DutyMap.emplace(bit, duties[i]); } else { + log_warning("Zeroing out activity for module: %s, wire: %s, wiresize: %d, actisize: %d", module->name.c_str(), wire->name.c_str(), GetSize(sig), activities.size()); ActivityMap.emplace(bit, "0.0"); DutyMap.emplace(bit, "0.0"); }