leakage power if uncond, ignore cell power resolves #373

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2026-01-29 19:44:18 -07:00
parent 25ea7a3795
commit 0c6c3d3d35
1 changed files with 6 additions and 3 deletions

View File

@ -1331,12 +1331,15 @@ Power::findLeakagePower(const Instance *inst,
cell_leakage *= duty; cell_leakage *= duty;
} }
// Ignore unconditional leakage unless there are no conditional leakage groups. // Ignore unconditional leakage unless there are no conditional leakage groups.
if (found_cond) if (found_cond) {
leakage = cond_leakage; leakage = cond_leakage;
if (cell_leakage_exists)
leakage += cell_leakage;
}
else if (found_uncond) else if (found_uncond)
leakage = uncond_leakage; leakage = uncond_leakage;
if (cell_leakage_exists) else if (cell_leakage_exists)
leakage += cell_leakage; leakage = cell_leakage;
debugPrint(debug_, "power", 2, "leakage %s %.3e", debugPrint(debug_, "power", 2, "leakage %s %.3e",
cell->name(), cell->name(),
leakage); leakage);