prima non-ccs report dcalc resolves #418
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
49d0ba2cfc
commit
12c59878ee
|
|
@ -987,10 +987,14 @@ PrimaDelayCalc::reportGateDelay(const Pin *drvr_pin,
|
|||
dcalc_args.emplace_back(nullptr, drvr_pin, nullptr, arc, in_slew,
|
||||
load_cap, parasitic);
|
||||
bool arg_fail = checkArgs(dcalc_args, scene, min_max);
|
||||
if (arg_fail)
|
||||
if (arg_fail) {
|
||||
const RiseFall *rf = arc->toEdge()->asRiseFall();
|
||||
const Parasitic *reduced = table_dcalc_->findParasitic(drvr_pin, rf,
|
||||
scene, min_max);
|
||||
return table_dcalc_->reportGateDelay(drvr_pin, arc, in_slew, load_cap,
|
||||
parasitic, load_pin_index_map, scene,
|
||||
reduced, load_pin_index_map, scene,
|
||||
min_max, digits);
|
||||
}
|
||||
else {
|
||||
GateTimingModel *model = arc->gateModel(scene, min_max);
|
||||
// Delay calc to find ceff.
|
||||
|
|
|
|||
|
|
@ -975,7 +975,10 @@ ConcreteParasitics::piModel(const Parasitic *parasitic,
|
|||
float &c1) const
|
||||
{
|
||||
const ConcreteParasitic *cparasitic = static_cast<const ConcreteParasitic*>(parasitic);
|
||||
cparasitic->piModel(c2, rpi, c1);
|
||||
if (cparasitic->isPiModel())
|
||||
cparasitic->piModel(c2, rpi, c1);
|
||||
else
|
||||
criticalError(2700, "piModel called on non-PiElmore parasitic.");
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -985,7 +988,10 @@ ConcreteParasitics::setPiModel(Parasitic *parasitic,
|
|||
float c1)
|
||||
{
|
||||
ConcreteParasitic *cparasitic = static_cast<ConcreteParasitic*>(parasitic);
|
||||
cparasitic->setPiModel(c2, rpi, c1);
|
||||
if (cparasitic->isPiModel())
|
||||
cparasitic->setPiModel(c2, rpi, c1);
|
||||
else
|
||||
criticalError(2701, "setPiModel called on non-PiElmore parasitic.");
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
|
|
|||
Loading…
Reference in New Issue