From 9eb9edb0b37e58cdb4114a8e8bf83b374f09be4c Mon Sep 17 00:00:00 2001 From: James Cherry Date: Tue, 31 Mar 2026 14:20:50 -0700 Subject: [PATCH] GateTableModel::gateDelay do not clip delays Signed-off-by: James Cherry --- liberty/TableModel.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/liberty/TableModel.cc b/liberty/TableModel.cc index 09f80ee8..676d29af 100644 --- a/liberty/TableModel.cc +++ b/liberty/TableModel.cc @@ -108,19 +108,18 @@ GateTableModel::gateDelay(const Pvt *pvt, float &gate_delay, float &drvr_slew) const { - if (delay_models_) + if (delay_models_ && delay_models_->model()) gate_delay = findValue(pvt, delay_models_->model(), in_slew, load_cap, 0.0); else gate_delay = 0.0; - if (slew_models_) + if (slew_models_ && slew_models_->model()) { drvr_slew = findValue(pvt, slew_models_->model(), in_slew, load_cap, 0.0); + // Clip negative slews to zero. + if (drvr_slew < 0.0) + drvr_slew = 0.0; + } else drvr_slew = 0.0; - // Clip negative delays and slews to zero. - if (gate_delay < 0.0) - gate_delay = 0.0; - if (drvr_slew < 0.0) - drvr_slew = 0.0; } void