Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2023-03-25 18:08:08 -07:00
parent 3124c1fbe4
commit 2b8fd17ca7
4 changed files with 16 additions and 3 deletions

View File

@ -125,6 +125,8 @@ LibertyLibrary::~LibertyLibrary()
stringDelete(supply_name); stringDelete(supply_name);
} }
delete buffers_; delete buffers_;
driver_waveform_map_.deleteContents();
delete driver_waveform_default_;
} }
LibertyCell * LibertyCell *

View File

@ -2526,7 +2526,7 @@ LibertyReader::endOutputCurrentRiseFall(LibertyGroup *group)
cap_axis->findAxisIndex(waveform->cap(), cap_index, cap_exists); cap_axis->findAxisIndex(waveform->cap(), cap_index, cap_exists);
if (slew_exists && cap_exists) { if (slew_exists && cap_exists) {
size_t index = slew_index * cap_axis->size() + cap_index; size_t index = slew_index * cap_axis->size() + cap_index;
current_waveforms[index] = waveform->currents(); current_waveforms[index] = waveform->stealCurrents();
(*ref_times)[slew_index] = waveform->referenceTime(); (*ref_times)[slew_index] = waveform->referenceTime();
} }
else else
@ -2539,6 +2539,7 @@ LibertyReader::endOutputCurrentRiseFall(LibertyGroup *group)
current_waveforms, current_waveforms,
ref_time_tbl); ref_time_tbl);
timing_->setOutputWaveforms(rf_, output_current); timing_->setOutputWaveforms(rf_, output_current);
output_currents_.deleteContentsClear();
} }
void void
@ -5777,4 +5778,12 @@ OutputWaveform::~OutputWaveform()
delete currents_; delete currents_;
} }
Table1 *
OutputWaveform::stealCurrents()
{
Table1 *currents = currents_;
currents_ = nullptr;
return currents;
}
} // namespace } // namespace

View File

@ -880,7 +880,8 @@ public:
float slew() const { return slew_; } float slew() const { return slew_; }
float cap() const { return cap_; } float cap() const { return cap_; }
Table1 *currents() const { return currents_; } Table1 *currents() const { return currents_; }
float referenceTime() const { return reference_time_; } Table1 *stealCurrents();
float referenceTime() { return reference_time_; }
private: private:
float slew_; float slew_;

View File

@ -321,6 +321,7 @@ PropActivityVisitor::PropActivityVisitor(Power *power,
BfsFwdIterator *bfs) : BfsFwdIterator *bfs) :
StaState(power), StaState(power),
visited_regs_(network_), visited_regs_(network_),
max_change_(0.0),
power_(power), power_(power),
bfs_(bfs) bfs_(bfs)
{ {