Sta::startpoints(), endpoints()

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2024-01-09 15:22:34 -07:00
parent ebb0a5d060
commit 22557a5c4e
3 changed files with 16 additions and 40 deletions

View File

@ -937,9 +937,8 @@ public:
void delaysInvalid();
// Invalidate all arrival and required times.
void arrivalsInvalid();
void visitStartpoints(VertexVisitor *visitor);
void visitEndpoints(VertexVisitor *visitor);
VertexSet *endpoints();
PinSet startpoints();
PinSet endpoints();
int endpointViolationCount(const MinMax *min_max);
// Find the fanin vertices for a group path.
// Vertices in the clock network are NOT included.

View File

@ -2658,25 +2658,24 @@ Sta::ensureClkArrivals()
////////////////////////////////////////////////////////////////
void
Sta::visitStartpoints(VertexVisitor *visitor)
PinSet
Sta::startpoints()
{
ensureGraph();
search_->visitStartpoints(visitor);
PinSet pins(network_);
VertexPinCollector visitor(pins);
search_->visitStartpoints(&visitor);
return pins;
}
void
Sta::visitEndpoints(VertexVisitor *visitor)
{
ensureGraph();
search_->visitEndpoints(visitor);
}
VertexSet *
PinSet
Sta::endpoints()
{
ensureGraph();
return search_->endpoints();
PinSet pins(network_);
for (Vertex *vertex : *search_->endpoints())
pins.insert(vertex->pin());
return pins;
}
int

View File

@ -339,28 +339,6 @@ setPtrTclList(SET_TYPE *set,
////////////////////////////////////////////////////////////////
PinSet
findStartpoints()
{
Network *network = cmdNetwork();
PinSet pins(network);
VertexPinCollector visitor(pins);
Sta::sta()->visitStartpoints(&visitor);
return pins;
}
PinSet
findEndpoints()
{
Network *network = cmdNetwork();
PinSet pins(network);
VertexPinCollector visitor(pins);
Sta::sta()->visitEndpoints(&visitor);
return pins;
}
////////////////////////////////////////////////////////////////
void
tclArgError(Tcl_Interp *interp,
const char *msg,
@ -4436,13 +4414,13 @@ worst_clk_skew_cmd(const SetupHold *setup_hold)
PinSet
startpoints()
{
return findStartpoints();
return Sta::sta()->startpoints();
}
PinSet
endpoints()
{
return findEndpoints();
return Sta::sta()->endpoints();
}
PinSet
@ -5441,7 +5419,7 @@ port_location(const Port *port)
int
endpoint_count()
{
return Sta::sta()->endpoints()->size();
return Sta::sta()->endpoints().size();
}
int