write_timing_model ignore set_timing_derate
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
1af03c8d0f
commit
2a2b5cd59f
BIN
doc/OpenSTA.odt
BIN
doc/OpenSTA.odt
Binary file not shown.
BIN
doc/OpenSTA.pdf
BIN
doc/OpenSTA.pdf
Binary file not shown.
|
|
@ -224,6 +224,9 @@ public:
|
||||||
const RiseFall *rf,
|
const RiseFall *rf,
|
||||||
const EarlyLate *early_late) const;
|
const EarlyLate *early_late) const;
|
||||||
void unsetTimingDerate();
|
void unsetTimingDerate();
|
||||||
|
static void moveDeratingFactors(Sdc *from,
|
||||||
|
Sdc *to);
|
||||||
|
|
||||||
void setInputSlew(Port *port, const RiseFallBoth *rf,
|
void setInputSlew(Port *port, const RiseFallBoth *rf,
|
||||||
const MinMaxAll *min_max, float slew);
|
const MinMaxAll *min_max, float slew);
|
||||||
// Set the rise/fall drive resistance on design port.
|
// Set the rise/fall drive resistance on design port.
|
||||||
|
|
|
||||||
22
sdc/Sdc.cc
22
sdc/Sdc.cc
|
|
@ -686,6 +686,28 @@ Sdc::unsetTimingDerate()
|
||||||
deleteDeratingFactors();
|
deleteDeratingFactors();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Sdc::moveDeratingFactors(Sdc *from,
|
||||||
|
Sdc *to)
|
||||||
|
{
|
||||||
|
if (from->derating_factors_) {
|
||||||
|
to->derating_factors_ = from->derating_factors_;
|
||||||
|
from->derating_factors_ = nullptr;
|
||||||
|
}
|
||||||
|
if (from->net_derating_factors_) {
|
||||||
|
to->net_derating_factors_ = from->net_derating_factors_;
|
||||||
|
from->net_derating_factors_ = nullptr;
|
||||||
|
}
|
||||||
|
if (from->inst_derating_factors_) {
|
||||||
|
to->inst_derating_factors_ = from->inst_derating_factors_;
|
||||||
|
from->inst_derating_factors_ = nullptr;
|
||||||
|
}
|
||||||
|
if (from->cell_derating_factors_) {
|
||||||
|
to->cell_derating_factors_ = from->cell_derating_factors_;
|
||||||
|
from->cell_derating_factors_ = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Sdc::deleteDeratingFactors()
|
Sdc::deleteDeratingFactors()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -93,6 +93,7 @@ MakeTimingModel::saveSdc()
|
||||||
sdc_backup_ = new Sdc(this);
|
sdc_backup_ = new Sdc(this);
|
||||||
Sdc::movePortDelays(sdc_, sdc_backup_);
|
Sdc::movePortDelays(sdc_, sdc_backup_);
|
||||||
Sdc::movePortExtCaps(sdc_, sdc_backup_);
|
Sdc::movePortExtCaps(sdc_, sdc_backup_);
|
||||||
|
Sdc::moveDeratingFactors(sdc_, sdc_backup_);
|
||||||
sta_->delaysInvalid();
|
sta_->delaysInvalid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -101,6 +102,7 @@ MakeTimingModel::restoreSdc()
|
||||||
{
|
{
|
||||||
Sdc::movePortDelays(sdc_backup_, sdc_);
|
Sdc::movePortDelays(sdc_backup_, sdc_);
|
||||||
Sdc::movePortExtCaps(sdc_backup_, sdc_);
|
Sdc::movePortExtCaps(sdc_backup_, sdc_);
|
||||||
|
Sdc::moveDeratingFactors(sdc_backup_, sdc_);
|
||||||
sta_->delaysInvalid();
|
sta_->delaysInvalid();
|
||||||
delete sdc_backup_;
|
delete sdc_backup_;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue