restore Search::makePathGroups
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
351b8287a7
commit
845729ad9f
|
|
@ -170,6 +170,19 @@ public:
|
|||
|
||||
PathGroupSeq pathGroups(const PathEnd *path_end) const;
|
||||
void deletePathGroups();
|
||||
void makePathGroups(int group_path_count,
|
||||
int endpoint_path_count,
|
||||
bool unique_pins,
|
||||
bool unique_edges,
|
||||
float min_slack,
|
||||
float max_slack,
|
||||
PathGroupNameSet *group_names,
|
||||
bool setup,
|
||||
bool hold,
|
||||
bool recovery,
|
||||
bool removal,
|
||||
bool clk_gating_setup,
|
||||
bool clk_gating_hold);
|
||||
virtual ExceptionPath *exceptionTo(ExceptionPathType type,
|
||||
const Path *path,
|
||||
const Pin *pin,
|
||||
|
|
@ -281,6 +294,7 @@ public:
|
|||
BfsFwdIterator *arrivalIterator() const { return arrival_iter_; }
|
||||
BfsBkwdIterator *requiredIterator() const { return required_iter_; }
|
||||
bool arrivalsAtEndpointsExist()const{return arrivals_at_endpoints_exist_;}
|
||||
// Used by OpenROAD.
|
||||
bool makeUnclkedPaths(Vertex *vertex,
|
||||
bool is_segment_start,
|
||||
bool require_exception,
|
||||
|
|
|
|||
|
|
@ -467,15 +467,12 @@ Search::findPathEnds(ExceptionFrom *from,
|
|||
recovery = removal = false;
|
||||
if (!variables_->gatedClkChecksEnabled())
|
||||
clk_gating_setup = clk_gating_hold = false;
|
||||
path_groups_ = new PathGroups(group_path_count, endpoint_path_count,
|
||||
unique_pins, unique_edges,
|
||||
slack_min, slack_max,
|
||||
group_names,
|
||||
setup, hold,
|
||||
recovery, removal,
|
||||
clk_gating_setup, clk_gating_hold,
|
||||
unconstrained_paths_,
|
||||
this);
|
||||
makePathGroups(group_path_count, endpoint_path_count,
|
||||
unique_pins, unique_edges,
|
||||
slack_min, slack_max,
|
||||
group_names, setup, hold,
|
||||
recovery, removal,
|
||||
clk_gating_setup, clk_gating_hold);
|
||||
ensureDownstreamClkPins();
|
||||
PathEndSeq path_ends = path_groups_->makePathEnds(to, unconstrained_paths_,
|
||||
corner, min_max,
|
||||
|
|
@ -509,6 +506,32 @@ Search::findFilteredArrivals(ExceptionFrom *from,
|
|||
findAllArrivals(thru_latches);
|
||||
}
|
||||
|
||||
void
|
||||
Search::makePathGroups(int group_path_count,
|
||||
int endpoint_path_count,
|
||||
bool unique_pins,
|
||||
bool unique_edges,
|
||||
float slack_min,
|
||||
float slack_max,
|
||||
PathGroupNameSet *group_names,
|
||||
bool setup,
|
||||
bool hold,
|
||||
bool recovery,
|
||||
bool removal,
|
||||
bool clk_gating_setup,
|
||||
bool clk_gating_hold)
|
||||
{
|
||||
path_groups_ = new PathGroups(group_path_count, endpoint_path_count,
|
||||
unique_pins, unique_edges,
|
||||
slack_min, slack_max,
|
||||
group_names,
|
||||
setup, hold,
|
||||
recovery, removal,
|
||||
clk_gating_setup, clk_gating_hold,
|
||||
unconstrained_paths_,
|
||||
this);
|
||||
}
|
||||
|
||||
// From/thrus/to are used to make a filter exception. If the last
|
||||
// search used a filter arrival/required times were only found for a
|
||||
// subset of the paths. Delete the paths that have a filter
|
||||
|
|
|
|||
Loading…
Reference in New Issue