do not check slew limits on ideal clk nets
This commit is contained in:
parent
9cacb0cfd9
commit
1dbae09fb7
|
|
@ -101,6 +101,7 @@ public:
|
||||||
virtual float ceff(Edge *edge,
|
virtual float ceff(Edge *edge,
|
||||||
TimingArc *arc,
|
TimingArc *arc,
|
||||||
const DcalcAnalysisPt *dcalc_ap);
|
const DcalcAnalysisPt *dcalc_ap);
|
||||||
|
virtual bool isIdealClk(const Vertex *vertex) = 0;
|
||||||
// Precedence:
|
// Precedence:
|
||||||
// SDF annotation
|
// SDF annotation
|
||||||
// Liberty library
|
// Liberty library
|
||||||
|
|
|
||||||
|
|
@ -197,7 +197,7 @@ protected:
|
||||||
bool setIdealClks(const Vertex *vertex,
|
bool setIdealClks(const Vertex *vertex,
|
||||||
ClockSet *clks);
|
ClockSet *clks);
|
||||||
ClockSet *idealClks(const Vertex *vertex);
|
ClockSet *idealClks(const Vertex *vertex);
|
||||||
bool isIdealClk(const Vertex *vertex);
|
virtual bool isIdealClk(const Vertex *vertex);
|
||||||
Slew idealClkSlew(const Vertex *vertex,
|
Slew idealClkSlew(const Vertex *vertex,
|
||||||
const RiseFall *rf,
|
const RiseFall *rf,
|
||||||
const MinMax *min_max);
|
const MinMax *min_max);
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
#include "StaState.hh"
|
#include "StaState.hh"
|
||||||
#include "DcalcAnalysisPt.hh"
|
#include "DcalcAnalysisPt.hh"
|
||||||
#include "Corner.hh"
|
#include "Corner.hh"
|
||||||
|
#include "GraphDelayCalc.hh"
|
||||||
#include "PathVertex.hh"
|
#include "PathVertex.hh"
|
||||||
#include "Search.hh"
|
#include "Search.hh"
|
||||||
#include "CheckSlewLimits.hh"
|
#include "CheckSlewLimits.hh"
|
||||||
|
|
@ -173,9 +174,9 @@ CheckSlewLimits::findLimit(const Pin *pin,
|
||||||
// Return values.
|
// Return values.
|
||||||
float &limit,
|
float &limit,
|
||||||
bool &exists) const
|
bool &exists) const
|
||||||
|
|
||||||
{
|
{
|
||||||
exists = false;
|
exists = false;
|
||||||
|
if (!sta_->graphDelayCalc()->isIdealClk(vertex)) {
|
||||||
const Network *network = sta_->network();
|
const Network *network = sta_->network();
|
||||||
Sdc *sdc = sta_->sdc();
|
Sdc *sdc = sta_->sdc();
|
||||||
bool is_clk = sta_->search()->isClock(vertex);
|
bool is_clk = sta_->search()->isClock(vertex);
|
||||||
|
|
@ -244,6 +245,7 @@ CheckSlewLimits::findLimit(const Pin *pin,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CheckSlewLimits::clockDomains(const Vertex *vertex,
|
CheckSlewLimits::clockDomains(const Vertex *vertex,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue