Signed-off-by: James Cherry <cherry@CerezoBook.local>
This commit is contained in:
parent
3f5f18cb9b
commit
310107acd8
|
|
@ -1513,6 +1513,7 @@ protected:
|
||||||
bool infer_latches);
|
bool infer_latches);
|
||||||
void delayCalcPreamble();
|
void delayCalcPreamble();
|
||||||
void delaysInvalidFrom(const Port *port);
|
void delaysInvalidFrom(const Port *port);
|
||||||
|
void delaysInvalidFromFanin(const Port *port);
|
||||||
void deleteEdge(Edge *edge);
|
void deleteEdge(Edge *edge);
|
||||||
void netParasiticCaps(Net *net,
|
void netParasiticCaps(Net *net,
|
||||||
const RiseFall *rf,
|
const RiseFall *rf,
|
||||||
|
|
|
||||||
|
|
@ -3967,7 +3967,7 @@ Sta::setPortExtPinCap(const Port *port,
|
||||||
for (const MinMax *mm : min_max->range())
|
for (const MinMax *mm : min_max->range())
|
||||||
sdc->setPortExtPinCap(port, rf1, mm, cap);
|
sdc->setPortExtPinCap(port, rf1, mm, cap);
|
||||||
}
|
}
|
||||||
delaysInvalidFrom(port);
|
delaysInvalidFromFanin(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -4022,7 +4022,7 @@ Sta::setPortExtWireCap(const Port *port,
|
||||||
for (const MinMax *mm : min_max->range())
|
for (const MinMax *mm : min_max->range())
|
||||||
sdc->setPortExtWireCap(port, rf1, mm, cap);
|
sdc->setPortExtWireCap(port, rf1, mm, cap);
|
||||||
}
|
}
|
||||||
delaysInvalidFrom(port);
|
delaysInvalidFromFanin(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -4040,7 +4040,7 @@ Sta::setPortExtFanout(const Port *port,
|
||||||
{
|
{
|
||||||
for (const MinMax *mm : min_max->range())
|
for (const MinMax *mm : min_max->range())
|
||||||
sdc->setPortExtFanout(port, mm, fanout);
|
sdc->setPortExtFanout(port, mm, fanout);
|
||||||
delaysInvalidFrom(port);
|
delaysInvalidFromFanin(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -5025,6 +5025,20 @@ Sta::delaysInvalidFrom(Vertex *vertex)
|
||||||
graph_delay_calc_->delayInvalid(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
|
void
|
||||||
Sta::delaysInvalidFromFanin(const Pin *pin)
|
Sta::delaysInvalidFromFanin(const Pin *pin)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue