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);
}
delete buffers_;
driver_waveform_map_.deleteContents();
delete driver_waveform_default_;
}
LibertyCell *

View File

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

View File

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

View File

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