wireload for fanout=0 NaN

This commit is contained in:
James Cherry
2020-06-05 22:02:54 -07:00
parent 5fc4fc17b6
commit ff2e9d521a
4 changed files with 13 additions and 7 deletions
+7 -4
View File
@@ -1670,10 +1670,13 @@ ConcreteParasitics::estimatePiElmore(const Pin *drvr_pin,
c2, rpi, c1,
elmore_res, elmore_cap, elmore_use_load_cap);
return new ConcretePiElmoreEstimated(c2, rpi, c1, elmore_res, elmore_cap,
elmore_use_load_cap,
rf, op_cond, corner, min_max,
sdc_);
if (c1 > 0.0 || c2 > 0.0)
return new ConcretePiElmoreEstimated(c2, rpi, c1, elmore_res, elmore_cap,
elmore_use_load_cap,
rf, op_cond, corner, min_max,
sdc_);
else
return nullptr;
}
////////////////////////////////////////////////////////////////
+2 -1
View File
@@ -150,7 +150,8 @@ EstimateParasitics::estimatePiElmoreBalanced(const Pin *drvr_pin,
float &elmore_cap,
bool &elmore_use_load_cap)
{
if (wireload_res == 0.0) {
if (wireload_res == 0.0
|| fanout == 0) {
// No resistance, so load is capacitance only.
c2 = wireload_cap + net_pin_cap;
rpi = 0.0;