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 } { proc report_lib_cell_ { cell corner } {
global sta_report_default_digits
set lib [$cell liberty_library] set lib [$cell liberty_library]
report_line "Cell [get_name $cell]" report_line "Cell [get_name $cell]"
report_line "Library [get_name $lib]" 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 void
ConcreteParasitics::deleteParasitics(const Net *net, ConcreteParasitics::deleteParasitics(const Net *net,
const ParasiticAnalysisPt *ap) const ParasiticAnalysisPt *ap)
@ -1244,7 +1258,7 @@ ConcreteParasitics::makeParasiticNetwork(const Net *net,
delete parasitic; delete parasitic;
if (net) { if (net) {
for (const Pin *drvr_pin : *network_->drivers(net)) for (const Pin *drvr_pin : *network_->drivers(net))
deleteParasitics(drvr_pin, ap); deleteParasitics(drvr_pin);
} }
} }
parasitic = new ConcreteParasiticNetwork(net, includes_pin_caps, network_); parasitic = new ConcreteParasiticNetwork(net, includes_pin_caps, network_);

View File

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