Sta::replaceEquivCellBefore

Signed-off-by: James Cherry <cherry@CerezoBook.local>
This commit is contained in:
James Cherry 2026-07-09 19:35:18 -07:00
parent a0de2706d3
commit 55e9bb5a88
1 changed files with 3 additions and 6 deletions

View File

@ -4532,16 +4532,14 @@ Sta::replaceEquivCellBefore(const Instance *inst,
VertexOutEdgeIterator edge_iter(vertex, graph_); VertexOutEdgeIterator edge_iter(vertex, graph_);
while (edge_iter.hasNext()) { while (edge_iter.hasNext()) {
Edge *edge = edge_iter.next(); Edge *edge = edge_iter.next();
Vertex *to_vertex = edge->to(graph_); if (!edge->isWire()) {
if (network_->instance(to_vertex->pin()) == inst) {
TimingArcSet *from_set = edge->timingArcSet(); TimingArcSet *from_set = edge->timingArcSet();
// Find corresponding timing arc set. // Find corresponding timing arc set.
TimingArcSet *to_set = to_cell->findTimingArcSet(from_set); TimingArcSet *to_set = to_cell->findTimingArcSet(from_set);
if (to_set) if (to_set)
edge->setTimingArcSet(to_set); edge->setTimingArcSet(to_set);
else else
report_->critical( report_->critical(1563, "corresponding timing arc set not found in equiv cells");
1556, "corresponding timing arc set not found in equiv cells");
} }
} }
} }
@ -4637,8 +4635,7 @@ Sta::replaceCellBefore(const Instance *inst,
VertexOutEdgeIterator edge_iter(vertex, graph_); VertexOutEdgeIterator edge_iter(vertex, graph_);
while (edge_iter.hasNext()) { while (edge_iter.hasNext()) {
Edge *edge = edge_iter.next(); Edge *edge = edge_iter.next();
Vertex *to_vertex = edge->to(graph_); if (!edge->isWire())
if (network_->instance(to_vertex->pin()) == inst)
deleteEdge(edge); deleteEdge(edge);
} }
} }