mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-09-03 16:29:50 +02:00
search: allow path groups updating to be triggered externally
Signed-off-by: Arthur Koucher <[email protected]>
This commit is contained in:
@@ -155,6 +155,18 @@ public:
|
||||
Arrival pathClkPathArrival(const Path *path) const;
|
||||
|
||||
PathGroup *pathGroup(const PathEnd *path_end) const;
|
||||
void updatePathGroups(int group_count,
|
||||
int endpoint_count,
|
||||
bool unique_pins,
|
||||
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);
|
||||
void deletePathGroups();
|
||||
virtual ExceptionPath *exceptionTo(ExceptionPathType type,
|
||||
const Path *path,
|
||||
|
||||
+26
-5
@@ -452,11 +452,11 @@ Search::findPathEnds(ExceptionFrom *from,
|
||||
recovery = removal = false;
|
||||
if (!sdc_->gatedClkChecksEnabled())
|
||||
clk_gating_setup = clk_gating_hold = false;
|
||||
path_groups_ = makePathGroups(group_count, endpoint_count, unique_pins,
|
||||
slack_min, slack_max,
|
||||
group_names, setup, hold,
|
||||
recovery, removal,
|
||||
clk_gating_setup, clk_gating_hold);
|
||||
updatePathGroups(group_count, endpoint_count, unique_pins,
|
||||
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,
|
||||
@@ -4006,6 +4006,27 @@ Search::deletePathGroups()
|
||||
path_groups_ = nullptr;
|
||||
}
|
||||
|
||||
void
|
||||
Search::updatePathGroups(int group_count,
|
||||
int endpoint_count,
|
||||
bool unique_pins,
|
||||
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)
|
||||
{
|
||||
path_groups_ = makePathGroups(group_count, endpoint_count, unique_pins,
|
||||
min_slack, max_slack,
|
||||
group_names, setup, hold,
|
||||
recovery, removal,
|
||||
clk_gating_setup, clk_gating_hold);
|
||||
}
|
||||
|
||||
PathGroup *
|
||||
Search::pathGroup(const PathEnd *path_end) const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user