Skip to content

Commit 845729a

Browse files
committed
restore Search::makePathGroups
Signed-off-by: James Cherry <[email protected]>
1 parent 351b828 commit 845729a

File tree

2 files changed

+46
-9
lines changed

2 files changed

+46
-9
lines changed

include/sta/Search.hh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,19 @@ public:
170170

171171
PathGroupSeq pathGroups(const PathEnd *path_end) const;
172172
void deletePathGroups();
173+
void makePathGroups(int group_path_count,
174+
int endpoint_path_count,
175+
bool unique_pins,
176+
bool unique_edges,
177+
float min_slack,
178+
float max_slack,
179+
PathGroupNameSet *group_names,
180+
bool setup,
181+
bool hold,
182+
bool recovery,
183+
bool removal,
184+
bool clk_gating_setup,
185+
bool clk_gating_hold);
173186
virtual ExceptionPath *exceptionTo(ExceptionPathType type,
174187
const Path *path,
175188
const Pin *pin,
@@ -281,6 +294,7 @@ public:
281294
BfsFwdIterator *arrivalIterator() const { return arrival_iter_; }
282295
BfsBkwdIterator *requiredIterator() const { return required_iter_; }
283296
bool arrivalsAtEndpointsExist()const{return arrivals_at_endpoints_exist_;}
297+
// Used by OpenROAD.
284298
bool makeUnclkedPaths(Vertex *vertex,
285299
bool is_segment_start,
286300
bool require_exception,

search/Search.cc

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -467,15 +467,12 @@ Search::findPathEnds(ExceptionFrom *from,
467467
recovery = removal = false;
468468
if (!variables_->gatedClkChecksEnabled())
469469
clk_gating_setup = clk_gating_hold = false;
470-
path_groups_ = new PathGroups(group_path_count, endpoint_path_count,
471-
unique_pins, unique_edges,
472-
slack_min, slack_max,
473-
group_names,
474-
setup, hold,
475-
recovery, removal,
476-
clk_gating_setup, clk_gating_hold,
477-
unconstrained_paths_,
478-
this);
470+
makePathGroups(group_path_count, endpoint_path_count,
471+
unique_pins, unique_edges,
472+
slack_min, slack_max,
473+
group_names, setup, hold,
474+
recovery, removal,
475+
clk_gating_setup, clk_gating_hold);
479476
ensureDownstreamClkPins();
480477
PathEndSeq path_ends = path_groups_->makePathEnds(to, unconstrained_paths_,
481478
corner, min_max,
@@ -509,6 +506,32 @@ Search::findFilteredArrivals(ExceptionFrom *from,
509506
findAllArrivals(thru_latches);
510507
}
511508

509+
void
510+
Search::makePathGroups(int group_path_count,
511+
int endpoint_path_count,
512+
bool unique_pins,
513+
bool unique_edges,
514+
float slack_min,
515+
float slack_max,
516+
PathGroupNameSet *group_names,
517+
bool setup,
518+
bool hold,
519+
bool recovery,
520+
bool removal,
521+
bool clk_gating_setup,
522+
bool clk_gating_hold)
523+
{
524+
path_groups_ = new PathGroups(group_path_count, endpoint_path_count,
525+
unique_pins, unique_edges,
526+
slack_min, slack_max,
527+
group_names,
528+
setup, hold,
529+
recovery, removal,
530+
clk_gating_setup, clk_gating_hold,
531+
unconstrained_paths_,
532+
this);
533+
}
534+
512535
// From/thrus/to are used to make a filter exception. If the last
513536
// search used a filter arrival/required times were only found for a
514537
// subset of the paths. Delete the paths that have a filter

0 commit comments

Comments
 (0)