Merge remote-tracking branch 'parallax/master'

This commit is contained in:
Matt Liberty 2026-02-04 07:51:04 +00:00
commit ec62b3a5b9
3 changed files with 9 additions and 6 deletions

View File

@ -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

View File

@ -602,8 +602,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);
}
}

View File

@ -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);