revert 458c277 resolves #455

Signed-off-by: James Cherry <cherry@CerezoBook.local>
This commit is contained in:
James Cherry 2026-06-30 09:10:17 -07:00
parent 3f5f18cb9b
commit 310107acd8
2 changed files with 18 additions and 3 deletions

View File

@ -1513,6 +1513,7 @@ protected:
bool infer_latches);
void delayCalcPreamble();
void delaysInvalidFrom(const Port *port);
void delaysInvalidFromFanin(const Port *port);
void deleteEdge(Edge *edge);
void netParasiticCaps(Net *net,
const RiseFall *rf,

View File

@ -3967,7 +3967,7 @@ Sta::setPortExtPinCap(const Port *port,
for (const MinMax *mm : min_max->range())
sdc->setPortExtPinCap(port, rf1, mm, cap);
}
delaysInvalidFrom(port);
delaysInvalidFromFanin(port);
}
void
@ -4022,7 +4022,7 @@ Sta::setPortExtWireCap(const Port *port,
for (const MinMax *mm : min_max->range())
sdc->setPortExtWireCap(port, rf1, mm, cap);
}
delaysInvalidFrom(port);
delaysInvalidFromFanin(port);
}
void
@ -4040,7 +4040,7 @@ Sta::setPortExtFanout(const Port *port,
{
for (const MinMax *mm : min_max->range())
sdc->setPortExtFanout(port, mm, fanout);
delaysInvalidFrom(port);
delaysInvalidFromFanin(port);
}
void
@ -5025,6 +5025,20 @@ Sta::delaysInvalidFrom(Vertex *vertex)
graph_delay_calc_->delayInvalid(vertex);
}
void
Sta::delaysInvalidFromFanin(const Port *port)
{
if (graph_) {
Instance *top_inst = network_->topInstance();
Pin *pin = network_->findPin(top_inst, port);
Vertex *vertex, *bidirect_drvr_vertex;
graph_->pinVertices(pin, vertex, bidirect_drvr_vertex);
delaysInvalidFromFanin(vertex);
if (bidirect_drvr_vertex)
delaysInvalidFromFanin(bidirect_drvr_vertex);
}
}
void
Sta::delaysInvalidFromFanin(const Pin *pin)
{