LibertyLibrary::inverters()
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
358fb135a5
commit
9b4315eb64
|
|
@ -137,6 +137,7 @@ public:
|
||||||
LibertyCellSeq findLibertyCellsMatching(PatternMatch *pattern);
|
LibertyCellSeq findLibertyCellsMatching(PatternMatch *pattern);
|
||||||
// Liberty cells that are buffers.
|
// Liberty cells that are buffers.
|
||||||
LibertyCellSeq *buffers();
|
LibertyCellSeq *buffers();
|
||||||
|
LibertyCellSeq *inverters();
|
||||||
|
|
||||||
DelayModelType delayModelType() const { return delay_model_type_; }
|
DelayModelType delayModelType() const { return delay_model_type_; }
|
||||||
void setDelayModelType(DelayModelType type);
|
void setDelayModelType(DelayModelType type);
|
||||||
|
|
@ -369,6 +370,7 @@ protected:
|
||||||
OcvDerateMap ocv_derate_map_;
|
OcvDerateMap ocv_derate_map_;
|
||||||
SupplyVoltageMap supply_voltage_map_;
|
SupplyVoltageMap supply_voltage_map_;
|
||||||
LibertyCellSeq *buffers_;
|
LibertyCellSeq *buffers_;
|
||||||
|
LibertyCellSeq *inverters_;
|
||||||
DriverWaveformMap driver_waveform_map_;
|
DriverWaveformMap driver_waveform_map_;
|
||||||
// Unnamed driver waveform.
|
// Unnamed driver waveform.
|
||||||
DriverWaveform *driver_waveform_default_;
|
DriverWaveform *driver_waveform_default_;
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,7 @@ LibertyLibrary::LibertyLibrary(const char *name,
|
||||||
ocv_arc_depth_(0.0),
|
ocv_arc_depth_(0.0),
|
||||||
default_ocv_derate_(nullptr),
|
default_ocv_derate_(nullptr),
|
||||||
buffers_(nullptr),
|
buffers_(nullptr),
|
||||||
|
inverters_(nullptr),
|
||||||
driver_waveform_default_(nullptr)
|
driver_waveform_default_(nullptr)
|
||||||
{
|
{
|
||||||
// Scalar templates are builtin.
|
// Scalar templates are builtin.
|
||||||
|
|
@ -125,6 +126,7 @@ LibertyLibrary::~LibertyLibrary()
|
||||||
stringDelete(supply_name);
|
stringDelete(supply_name);
|
||||||
}
|
}
|
||||||
delete buffers_;
|
delete buffers_;
|
||||||
|
delete inverters_;
|
||||||
driver_waveform_map_.deleteContents();
|
driver_waveform_map_.deleteContents();
|
||||||
delete driver_waveform_default_;
|
delete driver_waveform_default_;
|
||||||
}
|
}
|
||||||
|
|
@ -148,6 +150,22 @@ LibertyLibrary::findLibertyCellsMatching(PatternMatch *pattern)
|
||||||
return matches;
|
return matches;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LibertyCellSeq *
|
||||||
|
LibertyLibrary::inverters()
|
||||||
|
{
|
||||||
|
if (inverters_ == nullptr) {
|
||||||
|
inverters_ = new LibertyCellSeq;
|
||||||
|
LibertyCellIterator cell_iter(this);
|
||||||
|
while (cell_iter.hasNext()) {
|
||||||
|
LibertyCell *cell = cell_iter.next();
|
||||||
|
if (!cell->dontUse()
|
||||||
|
&& cell->isInverter())
|
||||||
|
inverters_->push_back(cell);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return inverters_;
|
||||||
|
}
|
||||||
|
|
||||||
LibertyCellSeq *
|
LibertyCellSeq *
|
||||||
LibertyLibrary::buffers()
|
LibertyLibrary::buffers()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue