ArcDelayCalc::reduceSupported()
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
d408599b2d
commit
828616fc12
|
|
@ -36,7 +36,7 @@ public:
|
|||
virtual ~CcsCeffDelayCalc();
|
||||
ArcDelayCalc *copy() override;
|
||||
const char *name() const override { return "ccs_ceff"; }
|
||||
|
||||
bool reduceSupported() const override { return true; }
|
||||
ArcDcalcResult gateDelay(const Pin *drvr_pin,
|
||||
const TimingArc *arc,
|
||||
const Slew &in_slew,
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ public:
|
|||
Parasitic *findParasitic(const Pin *drvr_pin,
|
||||
const RiseFall *rf,
|
||||
const DcalcAnalysisPt *dcalc_ap) override;
|
||||
bool reduceSupported() const override { return false; }
|
||||
Parasitic *reduceParasitic(const Parasitic *parasitic_network,
|
||||
const Pin *drvr_pin,
|
||||
const RiseFall *rf,
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ class DmpCeffDelayCalc : public LumpedCapDelayCalc
|
|||
public:
|
||||
DmpCeffDelayCalc(StaState *sta);
|
||||
virtual ~DmpCeffDelayCalc();
|
||||
bool reduceSupported() const override { return true; }
|
||||
ArcDcalcResult gateDelay(const Pin *drvr_pin,
|
||||
const TimingArc *arc,
|
||||
const Slew &in_slew,
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ public:
|
|||
Parasitic *findParasitic(const Pin *drvr_pin,
|
||||
const RiseFall *rf,
|
||||
const DcalcAnalysisPt *dcalc_ap) override;
|
||||
bool reduceSupported() const override { return true; }
|
||||
Parasitic *reduceParasitic(const Parasitic *parasitic_network,
|
||||
const Pin *drvr_pin,
|
||||
const RiseFall *rf,
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ public:
|
|||
Parasitic *findParasitic(const Pin *drvr_pin,
|
||||
const RiseFall *rf,
|
||||
const DcalcAnalysisPt *dcalc_ap) override;
|
||||
bool reduceSupported() const override { return false; }
|
||||
Parasitic *reduceParasitic(const Parasitic *parasitic_network,
|
||||
const Pin *drvr_pin,
|
||||
const RiseFall *rf,
|
||||
|
|
|
|||
|
|
@ -166,6 +166,7 @@ public:
|
|||
virtual Parasitic *findParasitic(const Pin *drvr_pin,
|
||||
const RiseFall *rf,
|
||||
const DcalcAnalysisPt *dcalc_ap) = 0;
|
||||
virtual bool reduceSupported() const = 0;
|
||||
// Reduce parasitic_network to a representation acceptable to the delay calculator.
|
||||
virtual Parasitic *reduceParasitic(const Parasitic *parasitic_network,
|
||||
const Pin *drvr_pin,
|
||||
|
|
|
|||
|
|
@ -55,6 +55,12 @@ readSpefFile(const char *filename,
|
|||
StaState *sta)
|
||||
{
|
||||
bool success = false;
|
||||
const ArcDelayCalc *arc_delay_calc = sta->arcDelayCalc();
|
||||
if (reduce && !arc_delay_calc->reduceSupported()) {
|
||||
sta->report()->warn(1658, "Delay calculator %s does not support reduction.",
|
||||
arc_delay_calc->name());
|
||||
reduce = false;
|
||||
}
|
||||
// Use zlib to uncompress gzip'd files automagically.
|
||||
gzFile stream = gzopen(filename, "rb");
|
||||
if (stream) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue