Sta::delaysInvalidFromFanin
Signed-off-by: James Cherry <cherry@CerezoBook.local>
This commit is contained in:
parent
c81f0c169d
commit
458c277c80
|
|
@ -1513,7 +1513,6 @@ 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,
|
||||||
|
|
|
||||||
|
|
@ -3965,7 +3965,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);
|
||||||
}
|
}
|
||||||
delaysInvalidFromFanin(port);
|
delaysInvalidFrom(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -4020,7 +4020,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);
|
||||||
}
|
}
|
||||||
delaysInvalidFromFanin(port);
|
delaysInvalidFrom(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -4038,7 +4038,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);
|
||||||
delaysInvalidFromFanin(port);
|
delaysInvalidFrom(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -5017,20 +5017,6 @@ 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)
|
||||||
{
|
{
|
||||||
|
|
@ -5070,9 +5056,11 @@ Sta::delaysInvalidFromFanin(Vertex *vertex)
|
||||||
VertexInEdgeIterator edge_iter(vertex, graph_);
|
VertexInEdgeIterator edge_iter(vertex, graph_);
|
||||||
while (edge_iter.hasNext()) {
|
while (edge_iter.hasNext()) {
|
||||||
Edge *edge = edge_iter.next();
|
Edge *edge = edge_iter.next();
|
||||||
Vertex *from_vertex = edge->from(graph_);
|
if (edge->isWire()) {
|
||||||
delaysInvalidFrom(from_vertex);
|
Vertex *from_vertex = edge->from(graph_);
|
||||||
search_->requiredInvalid(from_vertex);
|
delaysInvalidFrom(from_vertex);
|
||||||
|
search_->requiredInvalid(from_vertex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue