read_sdf missing liberty seg fault
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
bb50746f72
commit
5bfddf4518
|
|
@ -248,14 +248,16 @@ SdfReader::findWireEdge(Pin *from_pin,
|
|||
{
|
||||
Vertex *to_vertex, *to_vertex_bidirect_drvr;
|
||||
graph_->pinVertices(to_pin, to_vertex, to_vertex_bidirect_drvr);
|
||||
// Fanin < fanout, so search for driver from load.
|
||||
VertexInEdgeIterator edge_iter(to_vertex, graph_);
|
||||
while (edge_iter.hasNext()) {
|
||||
Edge *edge = edge_iter.next();
|
||||
const TimingRole *edge_role = edge->role();
|
||||
if (edge->from(graph_)->pin() == from_pin
|
||||
&& edge_role->sdfRole()->isWire())
|
||||
return edge;
|
||||
if (to_vertex) {
|
||||
// Fanin < fanout, so search for driver from load.
|
||||
VertexInEdgeIterator edge_iter(to_vertex, graph_);
|
||||
while (edge_iter.hasNext()) {
|
||||
Edge *edge = edge_iter.next();
|
||||
const TimingRole *edge_role = edge->role();
|
||||
if (edge->from(graph_)->pin() == from_pin
|
||||
&& edge_role->sdfRole()->isWire())
|
||||
return edge;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue