read_spef incremental rm min/max reduced parasitics

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2025-07-12 17:26:09 -07:00
parent 5e4ce2fd23
commit fa70c6cf2b
3 changed files with 18 additions and 1 deletions

View File

@ -65,6 +65,8 @@ proc_redirect report_lib_cell {
}
proc report_lib_cell_ { cell corner } {
global sta_report_default_digits
set lib [$cell liberty_library]
report_line "Cell [get_name $cell]"
report_line "Library [get_name $lib]"

View File

@ -820,6 +820,20 @@ ConcreteParasitics::deleteParasitics(const Pin *drvr_pin,
}
}
void
ConcreteParasitics::deleteParasitics(const Pin *drvr_pin)
{
ConcreteParasitic **parasitics = drvr_parasitic_map_[drvr_pin];
if (parasitics) {
int ap_count = corners_->parasiticAnalysisPtCount();
int ap_rf_count = ap_count * RiseFall::index_count;
for (int i = 0; i < ap_rf_count; i++) {
delete parasitics[i];
parasitics[i] = nullptr;
}
}
}
void
ConcreteParasitics::deleteParasitics(const Net *net,
const ParasiticAnalysisPt *ap)
@ -1244,7 +1258,7 @@ ConcreteParasitics::makeParasiticNetwork(const Net *net,
delete parasitic;
if (net) {
for (const Pin *drvr_pin : *network_->drivers(net))
deleteParasitics(drvr_pin, ap);
deleteParasitics(drvr_pin);
}
}
parasitic = new ConcreteParasiticNetwork(net, includes_pin_caps, network_);

View File

@ -53,6 +53,7 @@ public:
const ParasiticAnalysisPt *ap) override;
void deleteParasitics(const Pin *drvr_pin,
const ParasiticAnalysisPt *ap) override;
void deleteParasitics(const Pin *drvr_pin);
bool isReducedParasiticNetwork(const Parasitic *parasitic) const override;
void setIsReducedParasiticNetwork(Parasitic *parasitic,