write_timing_model ignore set_clock_latency -source
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
e5774502c9
commit
be82087bdf
|
|
@ -445,6 +445,8 @@ public:
|
||||||
float delay);
|
float delay);
|
||||||
void removeClockInsertion(const Clock *clk,
|
void removeClockInsertion(const Clock *clk,
|
||||||
const Pin *pin);
|
const Pin *pin);
|
||||||
|
static void moveClockInsertions(Sdc *from,
|
||||||
|
Sdc *to);
|
||||||
bool hasClockInsertion(const Pin *pin) const;
|
bool hasClockInsertion(const Pin *pin) const;
|
||||||
float clockInsertion(const Clock *clk,
|
float clockInsertion(const Clock *clk,
|
||||||
const RiseFall *rf,
|
const RiseFall *rf,
|
||||||
|
|
|
||||||
75
sdc/Sdc.cc
75
sdc/Sdc.cc
|
|
@ -668,17 +668,9 @@ Sdc::moveDeratingFactors(Sdc *from,
|
||||||
from->derating_factors_ = nullptr;
|
from->derating_factors_ = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
to->net_derating_factors_.deleteContents();
|
to->net_derating_factors_ = std::move(from->net_derating_factors_);
|
||||||
to->net_derating_factors_ = from->net_derating_factors_;
|
to->inst_derating_factors_ = std::move(from->inst_derating_factors_);
|
||||||
from->net_derating_factors_.clear();
|
to->cell_derating_factors_ = std::move(from->cell_derating_factors_);
|
||||||
|
|
||||||
to->inst_derating_factors_.deleteContents();
|
|
||||||
to->inst_derating_factors_ = from->inst_derating_factors_;
|
|
||||||
from->inst_derating_factors_.clear();
|
|
||||||
|
|
||||||
to->cell_derating_factors_.deleteContents();
|
|
||||||
to->cell_derating_factors_ = from->cell_derating_factors_;
|
|
||||||
from->cell_derating_factors_.clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -1740,6 +1732,13 @@ Sdc::removeClockInsertion(const Clock *clk,
|
||||||
deleteClockInsertion(insertion);
|
deleteClockInsertion(insertion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Sdc::moveClockInsertions(Sdc *from,
|
||||||
|
Sdc *to)
|
||||||
|
{
|
||||||
|
to->clk_insertions_ = std::move(from->clk_insertions_);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Sdc::deleteClockInsertion(ClockInsertion *insertion)
|
Sdc::deleteClockInsertion(ClockInsertion *insertion)
|
||||||
{
|
{
|
||||||
|
|
@ -2746,46 +2745,18 @@ void
|
||||||
Sdc::movePortDelays(Sdc *from,
|
Sdc::movePortDelays(Sdc *from,
|
||||||
Sdc *to)
|
Sdc *to)
|
||||||
{
|
{
|
||||||
to->input_delays_.deleteContents();
|
to->input_delays_ = std::move(from->input_delays_);
|
||||||
to->input_delays_ = from->input_delays_;
|
to->input_delay_pin_map_ = std::move(from->input_delay_pin_map_);
|
||||||
from->input_delays_.clear();
|
to->input_delay_ref_pin_map_ = std::move(from->input_delay_ref_pin_map_);
|
||||||
|
to->input_delay_leaf_pin_map_ = std::move(from->input_delay_leaf_pin_map_);
|
||||||
to->input_delay_pin_map_.deleteContents();
|
to->input_delay_internal_pin_map_ = std::move(from->input_delay_internal_pin_map_);
|
||||||
to->input_delay_pin_map_ = from->input_delay_pin_map_;
|
|
||||||
from->input_delay_pin_map_.clear();
|
|
||||||
|
|
||||||
to->input_delay_ref_pin_map_.deleteContents();
|
|
||||||
to->input_delay_ref_pin_map_ = from->input_delay_ref_pin_map_;
|
|
||||||
from->input_delay_ref_pin_map_.clear();
|
|
||||||
|
|
||||||
to->input_delay_leaf_pin_map_.deleteContents();
|
|
||||||
to->input_delay_leaf_pin_map_ = from->input_delay_leaf_pin_map_;
|
|
||||||
from->input_delay_leaf_pin_map_.clear();
|
|
||||||
|
|
||||||
to->input_delay_internal_pin_map_.deleteContents();
|
|
||||||
to->input_delay_internal_pin_map_ = from->input_delay_internal_pin_map_;
|
|
||||||
from->input_delay_internal_pin_map_.clear();
|
|
||||||
|
|
||||||
to->input_delay_index_ = from->input_delay_index_;
|
to->input_delay_index_ = from->input_delay_index_;
|
||||||
from->input_delay_index_ = 0;
|
from->input_delay_index_ = 0;
|
||||||
|
|
||||||
////////////////
|
to->output_delays_ = std::move(from->output_delays_);
|
||||||
|
to->output_delay_pin_map_ = std::move(from->output_delay_pin_map_);
|
||||||
to->output_delays_.deleteContents();
|
to->output_delay_ref_pin_map_ = std::move(from->output_delay_ref_pin_map_);
|
||||||
to->output_delays_ = from->output_delays_;
|
to->output_delay_leaf_pin_map_ = std::move(from->output_delay_leaf_pin_map_);
|
||||||
from->output_delays_.clear();
|
|
||||||
|
|
||||||
to->output_delay_pin_map_.deleteContents();
|
|
||||||
to->output_delay_pin_map_ = from->output_delay_pin_map_;
|
|
||||||
from->output_delay_pin_map_.clear();
|
|
||||||
|
|
||||||
to->output_delay_ref_pin_map_.deleteContents();
|
|
||||||
to->output_delay_ref_pin_map_ = from->output_delay_ref_pin_map_;
|
|
||||||
from->output_delay_ref_pin_map_.clear();
|
|
||||||
|
|
||||||
to->output_delay_leaf_pin_map_.deleteContents();
|
|
||||||
to->output_delay_leaf_pin_map_ = from->output_delay_leaf_pin_map_;
|
|
||||||
from->output_delay_leaf_pin_map_.clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
|
|
@ -3355,11 +3326,11 @@ Sdc::movePortExtCaps(Sdc *from,
|
||||||
Sdc *to)
|
Sdc *to)
|
||||||
{
|
{
|
||||||
for (int corner_index = 0; corner_index < from->corners()->count(); corner_index++) {
|
for (int corner_index = 0; corner_index < from->corners()->count(); corner_index++) {
|
||||||
to->port_ext_cap_maps_[corner_index] = from->port_ext_cap_maps_[corner_index];
|
to->port_ext_cap_maps_[corner_index] =
|
||||||
from->port_ext_cap_maps_[corner_index].clear();
|
std::move(from->port_ext_cap_maps_[corner_index]);
|
||||||
|
|
||||||
to->net_wire_cap_maps_[corner_index] = from->net_wire_cap_maps_[corner_index];
|
to->net_wire_cap_maps_[corner_index] =
|
||||||
from->net_wire_cap_maps_[corner_index].clear();
|
std::move(from->net_wire_cap_maps_[corner_index]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,7 @@ MakeTimingModel::saveSdc()
|
||||||
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_);
|
Sdc::moveDeratingFactors(sdc_, sdc_backup_);
|
||||||
|
Sdc::moveClockInsertions(sdc_, sdc_backup_);
|
||||||
sta_->delaysInvalid();
|
sta_->delaysInvalid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -123,6 +124,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_);
|
Sdc::moveDeratingFactors(sdc_backup_, sdc_);
|
||||||
|
Sdc::moveClockInsertions(sdc_backup_, sdc_);
|
||||||
delete sdc_backup_;
|
delete sdc_backup_;
|
||||||
sta_->delaysInvalid();
|
sta_->delaysInvalid();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue