override
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
7399126d5a
commit
84586335f7
158
dcalc/DmpCeff.cc
158
dcalc/DmpCeff.cc
|
|
@ -695,37 +695,37 @@ class DmpCap : public DmpAlg
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DmpCap(StaState *sta);
|
DmpCap(StaState *sta);
|
||||||
virtual const char *name() { return "cap"; }
|
const char *name() override { return "cap"; }
|
||||||
virtual void init(const LibertyLibrary *library,
|
void init(const LibertyLibrary *library,
|
||||||
const LibertyCell *drvr_cell,
|
const LibertyCell *drvr_cell,
|
||||||
const Pvt *pvt,
|
const Pvt *pvt,
|
||||||
const GateTableModel *gate_model,
|
const GateTableModel *gate_model,
|
||||||
const RiseFall *rf,
|
const RiseFall *rf,
|
||||||
double rd,
|
double rd,
|
||||||
double in_slew,
|
double in_slew,
|
||||||
double c2,
|
double c2,
|
||||||
double rpi,
|
double rpi,
|
||||||
double c1);
|
double c1) override;
|
||||||
virtual void gateDelaySlew(// Return values.
|
void gateDelaySlew(// Return values.
|
||||||
double &delay,
|
double &delay,
|
||||||
double &slew);
|
double &slew) override;
|
||||||
virtual void loadDelaySlew(const Pin *,
|
void loadDelaySlew(const Pin *,
|
||||||
double elmore,
|
double elmore,
|
||||||
// Return values.
|
// Return values.
|
||||||
ArcDelay &delay,
|
ArcDelay &delay,
|
||||||
Slew &slew);
|
Slew &slew) override;
|
||||||
virtual void evalDmpEqns();
|
void evalDmpEqns() override;
|
||||||
virtual double voCrossingUpperBound();
|
double voCrossingUpperBound() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void V0(double t,
|
void V0(double t,
|
||||||
// Return values.
|
// Return values.
|
||||||
double &vo,
|
double &vo,
|
||||||
double &dvo_dt);
|
double &dvo_dt) override;
|
||||||
virtual void Vl0(double t,
|
void Vl0(double t,
|
||||||
// Return values.
|
// Return values.
|
||||||
double &vl,
|
double &vl,
|
||||||
double &dvl_dt);
|
double &dvl_dt) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
DmpCap::DmpCap(StaState *sta):
|
DmpCap::DmpCap(StaState *sta):
|
||||||
|
|
@ -810,22 +810,22 @@ class DmpPi : public DmpAlg
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DmpPi(StaState *sta);
|
DmpPi(StaState *sta);
|
||||||
virtual const char *name() { return "Pi"; }
|
const char *name() override { return "Pi"; }
|
||||||
virtual void init(const LibertyLibrary *library,
|
void init(const LibertyLibrary *library,
|
||||||
const LibertyCell *drvr_cell,
|
const LibertyCell *drvr_cell,
|
||||||
const Pvt *pvt,
|
const Pvt *pvt,
|
||||||
const GateTableModel *gate_model,
|
const GateTableModel *gate_model,
|
||||||
const RiseFall *rf,
|
const RiseFall *rf,
|
||||||
double rd,
|
double rd,
|
||||||
double in_slew,
|
double in_slew,
|
||||||
double c2,
|
double c2,
|
||||||
double rpi,
|
double rpi,
|
||||||
double c1);
|
double c1) override;
|
||||||
virtual void gateDelaySlew(// Return values.
|
void gateDelaySlew(// Return values.
|
||||||
double &delay,
|
double &delay,
|
||||||
double &slew);
|
double &slew) override;
|
||||||
virtual void evalDmpEqns();
|
void evalDmpEqns() override;
|
||||||
virtual double voCrossingUpperBound();
|
double voCrossingUpperBound() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void findDriverParamsPi();
|
void findDriverParamsPi();
|
||||||
|
|
@ -833,14 +833,14 @@ private:
|
||||||
double dt,
|
double dt,
|
||||||
double ceff_time,
|
double ceff_time,
|
||||||
double ceff);
|
double ceff);
|
||||||
virtual void V0(double t,
|
void V0(double t,
|
||||||
// Return values.
|
// Return values.
|
||||||
double &vo,
|
double &vo,
|
||||||
double &dvo_dt);
|
double &dvo_dt) override;
|
||||||
virtual void Vl0(double t,
|
void Vl0(double t,
|
||||||
// Return values.
|
// Return values.
|
||||||
double &vl,
|
double &vl,
|
||||||
double &dvl_dt);
|
double &dvl_dt) override;
|
||||||
|
|
||||||
// Poles/zero.
|
// Poles/zero.
|
||||||
double p1_;
|
double p1_;
|
||||||
|
|
@ -1087,8 +1087,8 @@ class DmpOnePole : public DmpAlg
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DmpOnePole(StaState *sta);
|
DmpOnePole(StaState *sta);
|
||||||
virtual void evalDmpEqns();
|
void evalDmpEqns() override;
|
||||||
virtual double voCrossingUpperBound();
|
double voCrossingUpperBound() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
DmpOnePole::DmpOnePole(StaState *sta) :
|
DmpOnePole::DmpOnePole(StaState *sta) :
|
||||||
|
|
@ -1145,31 +1145,31 @@ class DmpZeroC2 : public DmpOnePole
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DmpZeroC2(StaState *sta);
|
DmpZeroC2(StaState *sta);
|
||||||
virtual const char *name() { return "c2=0"; }
|
const char *name() override { return "c2=0"; }
|
||||||
virtual void init(const LibertyLibrary *drvr_library,
|
void init(const LibertyLibrary *drvr_library,
|
||||||
const LibertyCell *drvr_cell,
|
const LibertyCell *drvr_cell,
|
||||||
const Pvt *pvt,
|
const Pvt *pvt,
|
||||||
const GateTableModel *gate_model,
|
const GateTableModel *gate_model,
|
||||||
const RiseFall *rf,
|
const RiseFall *rf,
|
||||||
double rd,
|
double rd,
|
||||||
double in_slew,
|
double in_slew,
|
||||||
double c2,
|
double c2,
|
||||||
double rpi,
|
double rpi,
|
||||||
double c1);
|
double c1) override;
|
||||||
virtual void gateDelaySlew(// Return values.
|
void gateDelaySlew(// Return values.
|
||||||
double &delay,
|
double &delay,
|
||||||
double &slew);
|
double &slew) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void V0(double t,
|
void V0(double t,
|
||||||
// Return values.
|
// Return values.
|
||||||
double &vo,
|
double &vo,
|
||||||
double &dvo_dt);
|
double &dvo_dt) override;
|
||||||
virtual void Vl0(double t,
|
void Vl0(double t,
|
||||||
// Return values.
|
// Return values.
|
||||||
double &vl,
|
double &vl,
|
||||||
double &dvl_dt);
|
double &dvl_dt) override;
|
||||||
virtual double voCrossingUpperBound();
|
double voCrossingUpperBound() override;
|
||||||
|
|
||||||
// Pole/zero.
|
// Pole/zero.
|
||||||
double p1_;
|
double p1_;
|
||||||
|
|
@ -1353,7 +1353,7 @@ luDecomp(double **a,
|
||||||
a[i][j] = sum;
|
a[i][j] = sum;
|
||||||
}
|
}
|
||||||
// Run down jth subdiag to form the residuals after the elimination
|
// Run down jth subdiag to form the residuals after the elimination
|
||||||
// of the first j-1 subdiags. These residuals divided by the
|
// of the first j-1 subdiags. These residuals diviyded by the
|
||||||
// appropriate diagonal term will become the multipliers in the
|
// appropriate diagonal term will become the multipliers in the
|
||||||
// elimination of the jth. subdiag. Find index of largest scaled
|
// elimination of the jth. subdiag. Find index of largest scaled
|
||||||
// term in imax.
|
// term in imax.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue