From 0c6c3d3d35ca2c1a103702652ddb9ddba54347a8 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Thu, 29 Jan 2026 19:44:18 -0700 Subject: [PATCH 1/3] leakage power if uncond, ignore cell power resolves #373 Signed-off-by: James Cherry --- power/Power.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/power/Power.cc b/power/Power.cc index c5297b33..ef1f2fa4 100644 --- a/power/Power.cc +++ b/power/Power.cc @@ -1331,12 +1331,15 @@ Power::findLeakagePower(const Instance *inst, cell_leakage *= duty; } // Ignore unconditional leakage unless there are no conditional leakage groups. - if (found_cond) + if (found_cond) { leakage = cond_leakage; + if (cell_leakage_exists) + leakage += cell_leakage; + } else if (found_uncond) leakage = uncond_leakage; - if (cell_leakage_exists) - leakage += cell_leakage; + else if (cell_leakage_exists) + leakage = cell_leakage; debugPrint(debug_, "power", 2, "leakage %s %.3e", cell->name(), leakage); From 87ea907884c5d52a479313be1e580733ca84b069 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Tue, 3 Feb 2026 08:18:41 -0700 Subject: [PATCH 2/3] defineScalingFactorVisitors min_pulse_width resolves #376 Signed-off-by: James Cherry --- liberty/LibertyReader.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/liberty/LibertyReader.cc b/liberty/LibertyReader.cc index bb24b5fe..990ddd78 100644 --- a/liberty/LibertyReader.cc +++ b/liberty/LibertyReader.cc @@ -600,8 +600,8 @@ LibertyReader::defineScalingFactorVisitors() string attr_name; stringPrint(attr_name, "k_%s_%s_%s", pvt_name, - tr_name, - type_name); + type_name, + tr_name); defineAttrVisitor(attr_name.c_str(),&LibertyReader::visitScaleFactorHiLow); } } From 3136871ecd7c7f13cc8e71184a9c4e7ba2fdd59f Mon Sep 17 00:00:00 2001 From: James Cherry Date: Tue, 3 Feb 2026 08:33:46 -0700 Subject: [PATCH 3/3] LibertyCell::isClockGateLatchNegedge resolves #375 Signed-off-by: James Cherry --- liberty/Liberty.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/liberty/Liberty.cc b/liberty/Liberty.cc index 3cf867f2..ec922176 100644 --- a/liberty/Liberty.cc +++ b/liberty/Liberty.cc @@ -1132,7 +1132,7 @@ LibertyCell::isClockGateLatchPosedge() const bool LibertyCell::isClockGateLatchNegedge() const { - return clock_gate_type_ == ClockGateType::latch_posedge; + return clock_gate_type_ == ClockGateType::latch_negedge; } bool