From 265e7f2d1019a6e941120570bd67f010ef906e87 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Sat, 1 Nov 2025 13:25:32 -0700 Subject: [PATCH 1/8] get_filter comment Signed-off-by: James Cherry --- test/get_filter.tcl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/get_filter.tcl b/test/get_filter.tcl index 4bc0f896..ea17f599 100644 --- a/test/get_filter.tcl +++ b/test/get_filter.tcl @@ -1,6 +1,4 @@ -# Test get_* -filter - -# Read in design and libraries +# get_* -filter read_liberty asap7_small.lib.gz read_verilog reg1_asap7.v link_design top From 9f3123cff1118bb9110b1c2c972d370275b2350d Mon Sep 17 00:00:00 2001 From: James Cherry Date: Mon, 3 Nov 2025 16:29:44 -0700 Subject: [PATCH 2/8] readme Signed-off-by: James Cherry --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fbc6d378..4037af40 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ following command builds a Docker image. ``` cd OpenSTA -docker build --file Dockerfile.ubuntu22.04 --tag opensta . +docker build --file Dockerfile.ubuntu22.04 --tag opensta_ubuntu22.04 . ``` To run a docker container using the OpenSTA image, use the -v option From 423c12c8f9d66ad0093f58a5c997b241394b334b Mon Sep 17 00:00:00 2001 From: Drew Lewis Date: Mon, 3 Nov 2025 18:53:17 -0500 Subject: [PATCH 3/8] Add local tag caches to PathVisitors (#316) * Add tag caches to PathVisitor and Search for visit_parallel Signed-off-by: Drew Lewis * Apply clang-format * Update to avoid Search storing caches and touching Bfs.cc Signed-off-by: Drew Lewis * Update to avoid Search storing caches and touching Bfs.cc Signed-off-by: Drew Lewis * Fixed long lines and moved nullptr assignment to constructors Signed-off-by: Drew Lewis --------- Signed-off-by: Drew Lewis --- include/sta/Search.hh | 47 ++++++++++--------- search/Search.cc | 104 ++++++++++++++++++++++++++---------------- 2 files changed, 90 insertions(+), 61 deletions(-) diff --git a/include/sta/Search.hh b/include/sta/Search.hh index 627a4e0e..17504a24 100644 --- a/include/sta/Search.hh +++ b/include/sta/Search.hh @@ -256,7 +256,8 @@ public: Edge *edge, const RiseFall *to_rf, const MinMax *min_max, - const PathAnalysisPt *path_ap); + const PathAnalysisPt *path_ap, + TagSet *tag_cache = nullptr); Tag *thruClkTag(Path *from_path, Vertex *from_vertex, Tag *from_tag, @@ -325,13 +326,14 @@ public: const RiseFall *to_rf); Tag *findTag(const RiseFall *rf, - const PathAnalysisPt *path_ap, - const ClkInfo *tag_clk, - bool is_clk, - InputDelay *input_delay, - bool is_segment_start, - ExceptionStateSet *states, - bool own_states); + const PathAnalysisPt *path_ap, + const ClkInfo *tag_clk, + bool is_clk, + InputDelay *input_delay, + bool is_segment_start, + ExceptionStateSet *states, + bool own_states, + TagSet *tag_cache = nullptr); void reportTags() const; void reportClkInfos() const; const ClkInfo *findClkInfo(const ClockEdge *clk_edge, @@ -515,19 +517,20 @@ protected: void findAllArrivals(bool thru_latches); void findArrivals1(Level level); Tag *mutateTag(Tag *from_tag, - const Pin *from_pin, - const RiseFall *from_rf, - bool from_is_clk, - const ClkInfo *from_clk_info, - const Pin *to_pin, - const RiseFall *to_rf, - bool to_is_clk, - bool to_is_reg_clk, - bool to_is_segment_start, - const ClkInfo *to_clk_info, - InputDelay *to_input_delay, - const MinMax *min_max, - const PathAnalysisPt *path_ap); + const Pin *from_pin, + const RiseFall *from_rf, + bool from_is_clk, + const ClkInfo *from_clk_info, + const Pin *to_pin, + const RiseFall *to_rf, + bool to_is_clk, + bool to_is_reg_clk, + bool to_is_segment_start, + const ClkInfo *to_clk_info, + InputDelay *to_input_delay, + const MinMax *min_max, + const PathAnalysisPt *path_ap, + TagSet *tag_cache = nullptr); ExceptionPath *exceptionTo(const Path *path, const Pin *pin, const RiseFall *rf, @@ -706,6 +709,7 @@ public: const StaState *sta); virtual void visitFaninPaths(Vertex *to_vertex); virtual void visitFanoutPaths(Vertex *from_vertex); + void initTagCache(); protected: // Return false to stop visiting. @@ -752,6 +756,7 @@ protected: const MinMax *min_max, const PathAnalysisPt *path_ap) = 0; SearchPred *pred_; + std::unique_ptr tag_cache_; }; // Visitor called during forward search to record an diff --git a/search/Search.cc b/search/Search.cc index 6fd4c14c..15dd5d8d 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -1149,7 +1149,9 @@ ArrivalVisitor::init(bool always_to_endpoints, VertexVisitor * ArrivalVisitor::copy() const { - return new ArrivalVisitor(always_to_endpoints_, pred_, this); + auto visitor = new ArrivalVisitor(always_to_endpoints_, pred_, this); + visitor->initTagCache(); + return visitor; } ArrivalVisitor::~ArrivalVisitor() @@ -2035,17 +2037,25 @@ Search::inputDelayTag(const Pin *pin, PathVisitor::PathVisitor(const StaState *sta) : StaState(sta), - pred_(sta->search()->evalPred()) + pred_(sta->search()->evalPred()), + tag_cache_(nullptr) { } PathVisitor::PathVisitor(SearchPred *pred, const StaState *sta) : StaState(sta), - pred_(pred) + pred_(pred), + tag_cache_(nullptr) { } +void +PathVisitor::initTagCache() +{ + tag_cache_ = std::make_unique(128, TagSet::hasher(this), TagSet::key_equal(this)); +} + void PathVisitor::visitFaninPaths(Vertex *to_vertex) { @@ -2233,8 +2243,8 @@ PathVisitor::visitFromPath(const Pin *from_pin, to_clk_info, to_pin, to_rf, min_max, path_ap); if (to_tag) - to_tag = search_->thruTag(to_tag, edge, to_rf, min_max, path_ap); - from_arrival = search_->clkPathArrival(from_path, from_clk_info, + to_tag = search_->thruTag(to_tag, edge, to_rf, min_max, path_ap, tag_cache_.get()); + from_arrival = search_->clkPathArrival(from_path, from_clk_info, clk_edge, min_max, path_ap); to_arrival = from_arrival + arc_delay; } @@ -2249,7 +2259,7 @@ PathVisitor::visitFromPath(const Pin *from_pin, latches_->latchOutArrival(from_path, arc, edge, path_ap, to_tag, arc_delay, to_arrival); if (to_tag) - to_tag = search_->thruTag(to_tag, edge, to_rf, min_max, path_ap); + to_tag = search_->thruTag(to_tag, edge, to_rf, min_max, path_ap, tag_cache_.get()); } } else if (from_tag->isClock()) { @@ -2288,7 +2298,7 @@ PathVisitor::visitFromPath(const Pin *from_pin, else { if (!(sdc_->isPathDelayInternalFromBreak(to_pin) || sdc_->isPathDelayInternalToBreak(from_pin))) { - to_tag = search_->thruTag(from_tag, edge, to_rf, min_max, path_ap); + to_tag = search_->thruTag(from_tag, edge, to_rf, min_max, path_ap, tag_cache_.get()); arc_delay = search_->deratedDelay(from_vertex, arc, edge, false, path_ap); if (!delayInf(arc_delay)) to_arrival = from_arrival + arc_delay; @@ -2450,10 +2460,11 @@ Search::clkInfoWithCrprClkPath(const ClkInfo *from_clk_info, // Return nullptr if the result tag completes a false path. Tag * Search::thruTag(Tag *from_tag, - Edge *edge, - const RiseFall *to_rf, - const MinMax *min_max, - const PathAnalysisPt *path_ap) + Edge *edge, + const RiseFall *to_rf, + const MinMax *min_max, + const PathAnalysisPt *path_ap, + TagSet *tag_cache) { const Pin *from_pin = edge->from(graph_)->pin(); Vertex *to_vertex = edge->to(graph_); @@ -2462,9 +2473,10 @@ Search::thruTag(Tag *from_tag, const ClkInfo *from_clk_info = from_tag->clkInfo(); bool to_is_reg_clk = to_vertex->isRegClk(); Tag *to_tag = mutateTag(from_tag, from_pin, from_rf, false, from_clk_info, - to_pin, to_rf, false, to_is_reg_clk, false, - // input delay is not propagated. - from_clk_info, nullptr, min_max, path_ap); + to_pin, to_rf, false, to_is_reg_clk, false, + // input delay is not propagated. + from_clk_info, nullptr, min_max, path_ap, + tag_cache); return to_tag; } @@ -2617,19 +2629,20 @@ Search::thruClkInfo(Path *from_path, // Find the tag for a path going from from_tag thru edge to to_pin. Tag * Search::mutateTag(Tag *from_tag, - const Pin *from_pin, - const RiseFall *from_rf, - bool from_is_clk, - const ClkInfo *from_clk_info, - const Pin *to_pin, - const RiseFall *to_rf, - bool to_is_clk, - bool to_is_reg_clk, - bool to_is_segment_start, - const ClkInfo *to_clk_info, - InputDelay *to_input_delay, - const MinMax *min_max, - const PathAnalysisPt *path_ap) + const Pin *from_pin, + const RiseFall *from_rf, + bool from_is_clk, + const ClkInfo *from_clk_info, + const Pin *to_pin, + const RiseFall *to_rf, + bool to_is_clk, + bool to_is_reg_clk, + bool to_is_segment_start, + const ClkInfo *to_clk_info, + InputDelay *to_input_delay, + const MinMax *min_max, + const PathAnalysisPt *path_ap, + TagSet *tag_cache) { ExceptionStateSet *new_states = nullptr; ExceptionStateSet *from_states = from_tag->states(); @@ -2713,8 +2726,8 @@ Search::mutateTag(Tag *from_tag, if (new_states) return findTag(to_rf, path_ap, to_clk_info, to_is_clk, - from_tag->inputDelay(), to_is_segment_start, - new_states, true); + from_tag->inputDelay(), to_is_segment_start, new_states, + true, tag_cache); else { // No state change. if (to_clk_info == from_clk_info @@ -2724,9 +2737,8 @@ Search::mutateTag(Tag *from_tag, && from_tag->inputDelay() == to_input_delay) return from_tag; else - return findTag(to_rf, path_ap, to_clk_info, to_is_clk, - to_input_delay, to_is_segment_start, - from_states, false); + return findTag(to_rf, path_ap, to_clk_info, to_is_clk, to_input_delay, + to_is_segment_start, from_states, false, tag_cache); } } @@ -2972,16 +2984,22 @@ Search::tagCount() const Tag * Search::findTag(const RiseFall *rf, - const PathAnalysisPt *path_ap, - const ClkInfo *clk_info, - bool is_clk, - InputDelay *input_delay, - bool is_segment_start, - ExceptionStateSet *states, - bool own_states) + const PathAnalysisPt *path_ap, + const ClkInfo *clk_info, + bool is_clk, + InputDelay *input_delay, + bool is_segment_start, + ExceptionStateSet *states, + bool own_states, + TagSet *tag_cache) { Tag probe(0, rf->index(), path_ap->index(), clk_info, is_clk, input_delay, is_segment_start, states, false, this); + if (tag_cache) { + auto tag = tag_cache->findKey(&probe); + if (tag) + return tag; + } LockGuard lock(tag_lock_); Tag *tag = tag_set_->findKey(&probe); if (tag == nullptr) { @@ -3019,6 +3037,10 @@ Search::findTag(const RiseFall *rf, } if (own_states) delete states; + + if (tag_cache) + tag_cache->insert(tag); + return tag; } @@ -3540,7 +3562,9 @@ RequiredVisitor::~RequiredVisitor() VertexVisitor * RequiredVisitor::copy() const { - return new RequiredVisitor(this); + auto visitor = new RequiredVisitor(this); + visitor->initTagCache(); + return visitor; } void From f6523bd9c6a5a2a461b4d5478b62b274753fc5fb Mon Sep 17 00:00:00 2001 From: James Cherry Date: Tue, 4 Nov 2025 09:45:20 -0700 Subject: [PATCH 4/8] rm unique_ptr, default args Signed-off-by: James Cherry --- include/sta/Search.hh | 19 ++++++++------ search/Genclks.cc | 2 +- search/Latches.cc | 2 +- search/PathEnum.cc | 2 +- search/Search.cc | 61 +++++++++++++++++++++++++------------------ 5 files changed, 50 insertions(+), 36 deletions(-) diff --git a/include/sta/Search.hh b/include/sta/Search.hh index 17504a24..cc3eb057 100644 --- a/include/sta/Search.hh +++ b/include/sta/Search.hh @@ -257,7 +257,7 @@ public: const RiseFall *to_rf, const MinMax *min_max, const PathAnalysisPt *path_ap, - TagSet *tag_cache = nullptr); + TagSet *tag_cache); Tag *thruClkTag(Path *from_path, Vertex *from_vertex, Tag *from_tag, @@ -333,7 +333,7 @@ public: bool is_segment_start, ExceptionStateSet *states, bool own_states, - TagSet *tag_cache = nullptr); + TagSet *tag_cache); void reportTags() const; void reportClkInfos() const; const ClkInfo *findClkInfo(const ClockEdge *clk_edge, @@ -530,7 +530,7 @@ protected: InputDelay *to_input_delay, const MinMax *min_max, const PathAnalysisPt *path_ap, - TagSet *tag_cache = nullptr); + TagSet *tag_cache); ExceptionPath *exceptionTo(const Path *path, const Pin *pin, const RiseFall *rf, @@ -704,12 +704,13 @@ class PathVisitor : public VertexVisitor, public StaState { public: // Uses search->evalPred() for search predicate. - explicit PathVisitor(const StaState *sta); + PathVisitor(const StaState *sta); PathVisitor(SearchPred *pred, + bool make_tag_cache, const StaState *sta); + virtual ~PathVisitor(); virtual void visitFaninPaths(Vertex *to_vertex); virtual void visitFanoutPaths(Vertex *from_vertex); - void initTagCache(); protected: // Return false to stop visiting. @@ -756,7 +757,7 @@ protected: const MinMax *min_max, const PathAnalysisPt *path_ap) = 0; SearchPred *pred_; - std::unique_ptr tag_cache_; + TagSet *tag_cache_; }; // Visitor called during forward search to record an @@ -764,7 +765,7 @@ protected: class ArrivalVisitor : public PathVisitor { public: - explicit ArrivalVisitor(const StaState *sta); + ArrivalVisitor(const StaState *sta); virtual ~ArrivalVisitor(); // Initialize the visitor. // Defaults pred to search->eval_pred_. @@ -838,12 +839,14 @@ protected: class RequiredVisitor : public PathVisitor { public: - explicit RequiredVisitor(const StaState *sta); + RequiredVisitor(const StaState *sta); virtual ~RequiredVisitor(); virtual VertexVisitor *copy() const; virtual void visit(Vertex *vertex); protected: + RequiredVisitor(bool make_tag_cache, + const StaState *sta); // Return false to stop visiting. virtual bool visitFromToPath(const Pin *from_pin, Vertex *from_vertex, diff --git a/search/Genclks.cc b/search/Genclks.cc index 7b72c8e6..e002c4c7 100644 --- a/search/Genclks.cc +++ b/search/Genclks.cc @@ -716,7 +716,7 @@ Genclks::makeTag(const Clock *gclk, nullptr, insert, 0.0, nullptr, path_ap, nullptr); return search_->findTag(master_rf, path_ap, clk_info, false, - nullptr, false, states, true); + nullptr, false, states, true, nullptr); } class GenClkArrivalSearchPred : public EvalPred diff --git a/search/Latches.cc b/search/Latches.cc index 7d746e25..73ffa95c 100644 --- a/search/Latches.cc +++ b/search/Latches.cc @@ -395,7 +395,7 @@ Latches::latchOutArrival(const Path *data_path, en_clk_edge->transition(), MinMax::max(), false, states)) q_tag = search_->findTag(q_rf, path_ap, q_clk_info, false, - nullptr, false, states, true); + nullptr, false, states, true, nullptr); } return; } diff --git a/search/PathEnum.cc b/search/PathEnum.cc index 46b6f020..bce85521 100644 --- a/search/PathEnum.cc +++ b/search/PathEnum.cc @@ -686,7 +686,7 @@ PathEnum::updatePathHeadDelays(PathSeq &paths, tag->isClock(), tag->inputDelay(), tag->isSegmentStart(), - tag->states(), false); + tag->states(), false, nullptr); path->setTag(updated_tag); } debugPrint(debug_, "path_enum", 5, "update arrival %s %s %s -> %s", diff --git a/search/Search.cc b/search/Search.cc index 15dd5d8d..a05bebc9 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -147,7 +147,7 @@ DynLoopSrchPred::hasPendingLoopPaths(Edge *edge, PathAPIndex path_ap_index = from_tag->pathAPIndex(); PathAnalysisPt *path_ap = corners->findPathAnalysisPt(path_ap_index); Tag *to_tag = search->thruTag(from_tag, edge, RiseFall::rise(), - path_ap->pathMinMax(), path_ap); + path_ap->pathMinMax(), path_ap, nullptr); if (to_tag && (prev_tag_group == nullptr || !prev_tag_group->hasTag(from_tag))) @@ -1106,7 +1106,7 @@ Search::findArrivalsSeed() //////////////////////////////////////////////////////////////// ArrivalVisitor::ArrivalVisitor(const StaState *sta) : - PathVisitor(nullptr, sta) + PathVisitor(nullptr, false, sta) { init0(); init(true); @@ -1116,7 +1116,7 @@ ArrivalVisitor::ArrivalVisitor(const StaState *sta) : ArrivalVisitor::ArrivalVisitor(bool always_to_endpoints, SearchPred *pred, const StaState *sta) : - PathVisitor(pred, sta) + PathVisitor(pred, true, sta) { init0(); init(always_to_endpoints, pred); @@ -1149,9 +1149,7 @@ ArrivalVisitor::init(bool always_to_endpoints, VertexVisitor * ArrivalVisitor::copy() const { - auto visitor = new ArrivalVisitor(always_to_endpoints_, pred_, this); - visitor->initTagCache(); - return visitor; + return new ArrivalVisitor(always_to_endpoints_, pred_, this); } ArrivalVisitor::~ArrivalVisitor() @@ -1621,7 +1619,8 @@ Search::seedClkArrival(const Pin *pin, // Only false_paths -from apply to clock tree pins. ExceptionStateSet *states = nullptr; sdc_->exceptionFromClkStates(pin,rf,clk,rf,min_max,states); - Tag *tag = findTag(rf, path_ap, clk_info, true, nullptr, false, states, true); + Tag *tag = findTag(rf, path_ap, clk_info, true, nullptr, false, states, + true, nullptr); Arrival arrival(clk_edge->time() + insertion); tag_bldr->setArrival(tag, arrival); } @@ -1659,7 +1658,8 @@ Search::clkDataTag(const Pin *pin, || sdc_->isPropagatedClock(pin)); const ClkInfo *clk_info = findClkInfo(clk_edge, pin, is_propagated, insertion, path_ap); - return findTag(rf, path_ap, clk_info, false, nullptr, false, states, true); + return findTag(rf, path_ap, clk_info, false, nullptr, false, states, + true, nullptr); } else return nullptr; @@ -2020,7 +2020,7 @@ Search::inputDelayTag(const Pin *pin, false, nullptr, clk_insertion, clk_latency, clk_uncertainties, path_ap, nullptr); tag = findTag(rf, path_ap, clk_info, false, input_delay, is_segment_start, - states, true); + states, true, nullptr); } if (tag) { @@ -2028,7 +2028,7 @@ Search::inputDelayTag(const Pin *pin, // Check for state changes on existing tag exceptions (pending -thru pins). tag = mutateTag(tag, pin, rf, false, clk_info, pin, rf, false, false, is_segment_start, clk_info, - input_delay, min_max, path_ap); + input_delay, min_max, path_ap, nullptr); } return tag; } @@ -2036,24 +2036,28 @@ Search::inputDelayTag(const Pin *pin, //////////////////////////////////////////////////////////////// PathVisitor::PathVisitor(const StaState *sta) : + StaState(sta), pred_(sta->search()->evalPred()), - tag_cache_(nullptr) + tag_cache_( nullptr) { } PathVisitor::PathVisitor(SearchPred *pred, + bool make_tag_cache, const StaState *sta) : + StaState(sta), pred_(pred), - tag_cache_(nullptr) + tag_cache_(make_tag_cache + ? new TagSet(128, TagSet::hasher(sta), TagSet::key_equal(sta)) + : nullptr) { } -void -PathVisitor::initTagCache() +PathVisitor::~PathVisitor() { - tag_cache_ = std::make_unique(128, TagSet::hasher(this), TagSet::key_equal(this)); + delete tag_cache_; } void @@ -2243,7 +2247,7 @@ PathVisitor::visitFromPath(const Pin *from_pin, to_clk_info, to_pin, to_rf, min_max, path_ap); if (to_tag) - to_tag = search_->thruTag(to_tag, edge, to_rf, min_max, path_ap, tag_cache_.get()); + to_tag = search_->thruTag(to_tag, edge, to_rf, min_max, path_ap, tag_cache_); from_arrival = search_->clkPathArrival(from_path, from_clk_info, clk_edge, min_max, path_ap); to_arrival = from_arrival + arc_delay; @@ -2259,7 +2263,7 @@ PathVisitor::visitFromPath(const Pin *from_pin, latches_->latchOutArrival(from_path, arc, edge, path_ap, to_tag, arc_delay, to_arrival); if (to_tag) - to_tag = search_->thruTag(to_tag, edge, to_rf, min_max, path_ap, tag_cache_.get()); + to_tag = search_->thruTag(to_tag, edge, to_rf, min_max, path_ap, tag_cache_); } } else if (from_tag->isClock()) { @@ -2298,7 +2302,7 @@ PathVisitor::visitFromPath(const Pin *from_pin, else { if (!(sdc_->isPathDelayInternalFromBreak(to_pin) || sdc_->isPathDelayInternalToBreak(from_pin))) { - to_tag = search_->thruTag(from_tag, edge, to_rf, min_max, path_ap, tag_cache_.get()); + to_tag = search_->thruTag(from_tag, edge, to_rf, min_max, path_ap, tag_cache_); arc_delay = search_->deratedDelay(from_vertex, arc, edge, false, path_ap); if (!delayInf(arc_delay)) to_arrival = from_arrival + arc_delay; @@ -2408,7 +2412,7 @@ Search::fromUnclkedInputTag(const Pin *pin, && (!require_exception || states)) { const ClkInfo *clk_info = findClkInfo(nullptr, nullptr, false, 0.0, path_ap); return findTag(rf, path_ap, clk_info, false, nullptr, - is_segment_start, states, true); + is_segment_start, states, true, nullptr); } return nullptr; } @@ -2429,7 +2433,8 @@ Search::fromRegClkTag(const Pin *from_pin, min_max, states)) { // Hack for filter -from reg/Q. sdc_->filterRegQStates(to_pin, to_rf, min_max, states); - return findTag(to_rf, path_ap, clk_info, false, nullptr, false, states, true); + return findTag(to_rf, path_ap, clk_info, false, nullptr, false, states, + true, nullptr); } else return nullptr; @@ -2510,7 +2515,7 @@ Search::thruClkTag(Path *from_path, arc_delay_min_max_eq, min_max, path_ap); Tag *to_tag = mutateTag(from_tag,from_pin,from_rf,from_is_clk,from_clk_info, to_pin, to_rf, to_is_clk, to_is_reg_clk, false, - to_clk_info, nullptr, min_max, path_ap); + to_clk_info, nullptr, min_max, path_ap, nullptr); return to_tag; } @@ -2996,7 +3001,7 @@ Search::findTag(const RiseFall *rf, Tag probe(0, rf->index(), path_ap->index(), clk_info, is_clk, input_delay, is_segment_start, states, false, this); if (tag_cache) { - auto tag = tag_cache->findKey(&probe); + Tag *tag = tag_cache->findKey(&probe); if (tag) return tag; } @@ -3553,6 +3558,14 @@ RequiredVisitor::RequiredVisitor(const StaState *sta) : { } +RequiredVisitor::RequiredVisitor(bool make_tag_cache, + const StaState *sta) : + PathVisitor(sta->search()->evalPred(), make_tag_cache, sta), + required_cmp_(new RequiredCmp), + visit_path_ends_(new VisitPathEnds(sta)) +{ +} + RequiredVisitor::~RequiredVisitor() { delete required_cmp_; @@ -3562,9 +3575,7 @@ RequiredVisitor::~RequiredVisitor() VertexVisitor * RequiredVisitor::copy() const { - auto visitor = new RequiredVisitor(this); - visitor->initTagCache(); - return visitor; + return new RequiredVisitor(true, this); } void From 97b711c7c49c32a1d5469c2706a8d981fe406b4f Mon Sep 17 00:00:00 2001 From: James Cherry Date: Tue, 4 Nov 2025 12:30:55 -0700 Subject: [PATCH 5/8] report -unique_edges_to_endpoint commit d8bb65d6e87cf95b3eada82b315351867b50fa01 Author: James Cherry Date: Tue Nov 4 12:25:56 2025 -0700 report -unique_edges_to_endpoint doc Signed-off-by: James Cherry commit 2979eda02f4f2fb38da4a5df9e9ece0d00951b6f Author: James Cherry Date: Mon Nov 3 11:51:02 2025 -0700 redirect report_check_types Signed-off-by: James Cherry commit 55960d4a63a999fc08f311c53fb053e4d54d1029 Author: James Cherry Date: Mon Nov 3 11:28:15 2025 -0700 report -unique_edges_to_endpoint Signed-off-by: James Cherry commit 8c56b5c2c08f546fee02e017a87cd94480dbabfc Author: James Cherry Date: Sun Nov 2 16:05:28 2025 -0700 PathEnum cleanup Signed-off-by: James Cherry commit c02b96a9c7b6e7c9ce99ee76a211f365bcda7428 Author: James Cherry Date: Sun Nov 2 11:16:34 2025 -0700 PathEnum cleanup Signed-off-by: James Cherry Signed-off-by: James Cherry --- doc/ChangeLog.txt | 5 + doc/OpenSTA.fodt | 2329 +++++++++++++++++++------------------- doc/OpenSTA.pdf | Bin 1429579 -> 1424501 bytes include/sta/PathGroup.hh | 9 + include/sta/Search.hh | 13 +- include/sta/Sta.hh | 7 +- search/PathEnum.cc | 118 +- search/PathEnum.hh | 5 +- search/PathGroup.cc | 54 +- search/Search.cc | 40 +- search/Search.i | 3 +- search/Search.tcl | 11 +- search/Sta.cc | 13 +- 13 files changed, 1330 insertions(+), 1277 deletions(-) diff --git a/doc/ChangeLog.txt b/doc/ChangeLog.txt index 65ce152a..bd554c93 100644 --- a/doc/ChangeLog.txt +++ b/doc/ChangeLog.txt @@ -12,6 +12,11 @@ build directory instead of `app/`. The set_max_delay and set_min_delay commands now support the -probe option. With -probe these commands do not break paths at internal (non-startpoint) pins. +The report_checks command now supports a -unique_edges_to_endpoint option +to remove paths through identical pins and rise/fall edges. + + report_checks [-unique_edges_to_endpoint] + Release 2.6.1 2025/03/30 ------------------------- diff --git a/doc/OpenSTA.fodt b/doc/OpenSTA.fodt index cd7ae9d9..84751fab 100644 --- a/doc/OpenSTA.fodt +++ b/doc/OpenSTA.fodt @@ -1,10 +1,10 @@ - Parallax STA documentationJames Cherry4822025-03-17T12:59:52.4638705382010-07-31T21:07:002025-09-03T16:07:18.577431000P117DT14H37M47SLibreOffice/25.2.2.2$MacOSX_AARCH64 LibreOffice_project/7370d4be9e3cf6031a51beef54ff3bda878e3facPDF files: James CherryJames Cherry12.00000falsefalsefalsefalse + Parallax STA documentationJames Cherry4832025-03-17T12:59:52.4638705382010-07-31T21:07:002025-11-04T12:25:14.489956000P117DT14H41M24SLibreOffice/25.8.1.1$MacOSX_AARCH64 LibreOffice_project/54047653041915e595ad4e45cccea684809c77b5PDF files: James CherryJames Cherry12.00000falsefalsefalsefalse - 700804 + 981699 0 30224 17736 @@ -13,12 +13,12 @@ view2 - 19479 - 714065 + 16529 + 988826 0 - 700804 + 981699 30222 - 718538 + 999434 0 1 false @@ -29,6 +29,7 @@ true false false + false @@ -44,6 +45,7 @@ false false + false false false false @@ -87,7 +89,7 @@ false true false - 25749756 + 25757696 0 false @@ -105,6 +107,7 @@ false true false + false true false @@ -128,6 +131,7 @@ 1 false true + false true high-resolution @@ -194,13 +198,13 @@ - + - + @@ -210,7 +214,7 @@ - + @@ -4368,7 +4372,7 @@ - + @@ -4493,22 +4497,22 @@ - + - + - + - + @@ -4521,633 +4525,644 @@ - + - + + - - + - + - - + + + - - + - - + + + - - + + - - - - - + - - - + + + + + - + - - + + - - + + - + - + - - + + + - - + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - + + - - + + - + - + - - + + - - - + + - - + + + - + + + + + + + + + + + + - + - + - + - + - + - - - - - - - - - - - - + - + - - - + + - + - - + + + - + - + - - + + - + - + - - - + + + + + + + + + + + + + + - + - + - + - + - - - - - - - - - - - - - + - + - + - + - + + - + + + + + + + + + + + + - - - - - - - - - - - - - + - + - - + + - - + + - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - + - - - + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - + - + - + - - + + + - - + + + - + - + + + + + + + - - - - - - - - + - + - - - - - + + + + - + - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5439,149 +5454,149 @@ - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + @@ -6323,24 +6338,24 @@ Variables80 - Command Line Arguments + Command Line Arguments The command line arguments for sta are shown below. sta -help show help and exit -version show version and exit -no_init do not read ~/.sta -no_splash do not print the splash message -threads count|max use count threads -exit exit after reading cmd_file cmd_file source cmd_file When OpenSTA starts up, commands are first read from the user initialization file ~/.sta if it exists. If a TCL command file cmd_file is specified on the command line, commands are read from the file and executed before entering an interactive TCL command interpreter. If -exit is specified the application exits after reading cmd_file. Use the TCL exit command to exit the application. The –threads option specifies how many parallel threads to use. Use –threads max to use one thread per processor. - Example Command Scripts + Example Command Scripts To read a design into OpenSTA use the read_liberty command to read Liberty library files. Next, read hierarchical structural Verilog files with the read_verilog command. The link_design command links the Verilog to the Liberty timing cells. Any number of Liberty and Verilog files can be read before linking the design. Delays used for timing analysis are calculated using the Liberty timing models. If no parasitics are read only the pin capacitances of the timing models are used in delay calculation. Use the read_spef command to read parasitics from an extractor, or read_sdf to use delays calculated by an external delay calculator. Timing constraints can be entered as TCL commands or read using the read_sdc command. The units used by OpenSTA for all command arguments and reports are taken from the first Liberty file that is read. Use the set_cmd_units command to override the default units. - Timing Analysis using SDF + Timing Analysis using SDF A sample command file that reads a library and a Verilog netlist and reports timing checks is shown below. read_liberty example1_slow.libread_verilog example1.vlink_design topread_sdf example1.sdfcreate_clock -name clk -period 10 {clk1 clk2 clk3}set_input_delay -clock clk 0 {in1 in2}report_checks This example can be found in examples/sdf_delays.tcl. - Timing Analysis with Multiple Process Corners + Timing Analysis with Multiple Process Corners An example command script using three process corners and +/-10% min/max derating is shown below. define_corners wc typ bcread_liberty -corner wc example1_slow.libread_liberty -corner typ example1_typ.libread_liberty -corner bc example1_fast.libread_verilog example1.vlink_design topset_timing_derate -early 0.9set_timing_derate -late 1.1create_clock -name clk -period 10 {clk1 clk2 clk3}set_input_delay -clock clk 0 {in1 in2}report_checks -path_delay min_maxreport_checks -corner typ This example can be found in examples/spef_parasitics.tcl. Other examples can be found in the examples directory. - Power Analysis + Power Analysis OpenSTA also supports static power analysis with the report_power command. Probabalistic switching activities are propagated from the input ports to determine switching activities for internal pins. read_liberty sky130hd_tt.libread_verilog gcd_sky130hd.vlink_design gcdread_sdc gcd_sky130hd.sdcread_spef gcd_sky130hd.spefset_power_activity -input -activity 0.1set_power_activity -input_port reset -activity 0report_power In this example the activity for all inputs is set to 0.1, and then the activity for the reset signal is set to zero because it does not switch during steady state operation. @@ -6352,14 +6367,14 @@ read_liberty sky130hd_tt.libread_verilog gcd_sky130hd.vlink_design gcdread_sdc gcd_sky130hd.sdcread_spef gcd_sky130hd.spefread_vcd -scope gcd_tb/gcd1 gcd_sky130hd.vcd.gzreport_power This example can be found in examples/power_vcd.tcl. Note that in this simple example design simulation based activities does not significantly change the results. - TCL Interpreter + TCL Interpreter Keyword arguments to commands may be abbreviated. For example, report_checks -unique is equivalent to the following command. report_checks -unique_paths_to_endpoint The help command lists matching commands and their arguments. > help report*report_annotated_check [-setup] [-hold] [-recovery] [-removal] [-nochange] [-width] [-period] [-max_skew] [-max_lines liness] [-list_annotated]group_path_count [-list_not_annotated] [-constant_arcs]report_annotated_delay [-cell] [-net] [-from_in_ports] [-to_out_ports] [-max_lines liness] [-list_annotated] [-list_not_annotated] [-constant_arcs]report_arrival pinreport_check_types [-violators] [-verbose] [-corner corner] [-format slack_only|end] [-max_delay] [-min_delay] [-recovery] [-removal] [-clock_gating_setup] [-clock_gating_hold] [-max_slew] [-min_slew] [-max_fanout] [-min_fanout] [-max_capacitance] [-min_capacitance [-min_pulse_width] [-min_period] [-max_skew] [-net net] [-digits digits [-no_line_splits] [> filename] [>> filename]report_checks [-from from_list|-rise_from from_list|-fall_from from_list] [-through through_list|-rise_through through_list|-fall_through through_list] [-to to_list|-rise_to to_list|-fall_to to_list] [-unconstrained] [-path_delay min|min_rise|min_fall|max|max_rise|max_fall|min_max] [-corner corner] [-group_path_count path_count] [-endpoint_path_count path_count] [-unique_paths_to_endpoint] [-slack_max slack_max] [-slack_min slack_min] [-sort_by_slack] [-path_group group_name] [-format full|full_clock|full_clock_expanded|short|end|summary]... - Many reporting commands support redirection of the output to a file much like a Unix shell. + Many reporting commands support redirection of the output to a file much like a Unix shell. report_checks -to out1 > path.logreport_checks -to out2 >> path.log Debugging Timing Here are some guidelines for debugging your design if static timing does not report any paths, or does not report the expected paths. @@ -6385,13 +6400,13 @@ Next, check the arrival times at the D and CP pins of the register with report_arrivals. % report_arrivals r1/D (clk1 ^) r 1.00:1.00 f 1.00:1.00% report_arrivals r1/CP (clk1 ^) r 0.00:0.00 f INF:-INF (clk1 v) r INF:-INF f 5.00:5.00 If there are no arrivals on an input port of the design, use the set_input_delay command to specify the arrival times on the port. - Commands + Commands - all_clocks + all_clocks @@ -6404,7 +6419,7 @@ - all_inputs + all_inputs [-no_clocks] @@ -6425,7 +6440,7 @@ - all_outputs + all_outputs @@ -6438,7 +6453,7 @@ - all_registers + all_registers [-clock clock_names][-cells | -data_pins | -clock_pins | -async_pins | ‑output_pins][-level_sensitive][-edge_triggered] @@ -6515,7 +6530,7 @@ - check_setup + check_setup [-verbose][-unconstrained_endpoints][-multiple_clock][-no_clock][-no_input_delay][-loops][-generated_clocks][> filename][>> filename] @@ -6584,7 +6599,7 @@ - connect_pin + connect_pin netport|pin @@ -6684,7 +6699,7 @@ - create_generated_clock + create_generated_clock [-name clock_name]-source master_pin[-master_clock master_clock][-divide_by divisor][-multiply_by multiplier][-duty_cycle duty_cycle][-invert][-edges edge_list][-edge_shift shift_list][-add]pin_list @@ -6800,7 +6815,7 @@ - create_voltage_area + create_voltage_area [-name name][-coordinate coordinates][-guard_band_x guard_x][-guard_band_y guard_y]cells @@ -6813,7 +6828,7 @@ - current_design + current_design [design] @@ -6826,7 +6841,7 @@ - current_instance + current_instance [instance] @@ -6848,7 +6863,7 @@ - define_corners + define_corners corner1 [corner2]... @@ -6870,7 +6885,7 @@ - delete_clock + delete_clock [-all] clocks @@ -6891,7 +6906,7 @@ - delete_from_list + delete_from_list list objects @@ -6920,7 +6935,7 @@ - delete_generated_clock + delete_generated_clock [-all] clocks @@ -6941,7 +6956,7 @@ - delete_instance + delete_instance instance @@ -6963,7 +6978,7 @@ - delete_net + delete_net net @@ -6984,7 +6999,7 @@ - disconnect_pin + disconnect_pin netport | pin | -all @@ -7029,7 +7044,7 @@ - elapsed_run_time + elapsed_run_time @@ -7043,7 +7058,7 @@ - find_timing_paths + find_timing_paths [-from from_list |-rise_from from_list |-fall_from from_list][-through through_list |-rise_through through_list |-fall_through through_list][-to to_list |-rise_to to_list |-fall_to to_list][-unconstrained][-path_delay min|min_rise|min_fall |max|max_rise|max_fall |min_max][-group_path_count path_count][-endpoint_path_count endpoint_path_count][-unique_paths_to_endpoint][-corner corner][-slack_max max_slack][-slack_min min_slack][-sort_by_slack][-path_group groups] @@ -7257,7 +7272,7 @@ - get_cells + get_cells [-hierarchical][-hsc separator][-filter expr][-regexp][-nocase][-quiet][-of_objects objects][patterns] @@ -7335,7 +7350,7 @@ - get_clocks + get_clocks [-regexp][-nocase][-filter expr][-quiet]patterns @@ -7389,7 +7404,7 @@ - get_fanin + get_fanin -to sink_list[-flat][-only_cells][-startpoints_only][-levels level_count][-pin_levels pin_count][-trace_arcs timing|enabled|all] @@ -7474,7 +7489,7 @@ - get_fanout + get_fanout -from source_list[-flat][-only_cells][-endpoints_only][-levels level_count][-pin_levels pin_count][-trace_arcs timing|enabled|all] @@ -7560,7 +7575,7 @@ - get_full_name + get_full_name object @@ -7651,7 +7666,7 @@ - get_lib_pins + get_lib_pins [-of_objects objects][-hsc separator][-filter expr][-regexp][-nocase][-quiet]patterns @@ -7720,7 +7735,7 @@ - get_libs + get_libs [-filter expr][-regexp][-nocase][-quiet]patterns @@ -7774,7 +7789,7 @@ - get_nets + get_nets [-hierarchical][-hsc separator][-filter expr][-regexp][-nocase][-quiet][-of_objects objects][patterns] @@ -7851,7 +7866,7 @@ - get_name + get_name object @@ -7872,7 +7887,7 @@ - get_pins + get_pins [-hierarchical][-hsc separator][-filter expr][-regexp][-nocase][-quiet][-of_objects objects][patterns] @@ -7944,7 +7959,7 @@ - get_ports + get_ports [-filter expr][-regexp][-nocase][-quiet][-of_objects objects][patterns] @@ -8005,7 +8020,7 @@ - get_property + get_property [-object_type object_type]objectproperty @@ -8066,7 +8081,7 @@ - get_timing_edges + get_timing_edges [-from from_pins][-to to_pins][-of_objects objects][-filter expr][patterns] @@ -8111,7 +8126,7 @@ - group_path + group_path -name group_name[-weight weight][-critical_range range][-from from_list |-rise_from from_list |-fall_from from_list][-through through_list][-rise_through through_list][-fall_through through_list][-to to_list |-rise_to to_list |-fall_to to_list][-default] @@ -8216,10 +8231,10 @@ - -default + -default - Restore the paths in the path group -from/-to/-through/-to to their default path group. + Restore the paths in the path group -from/-to/-through/-to to their default path group. @@ -8229,15 +8244,15 @@ - include + include - [-echo|-e][-verbose|-v]filename[> log_filename][>> log_filename] + [-echo|-e][-verbose|-v]filename[> log_filename][>> log_filename] - -echo|-e + -echo|-e Print each command before evaluating it. @@ -8245,7 +8260,7 @@ - -verbose|-v + -verbose|-v Print each command before evaluating it as well as the result it returns. @@ -8261,7 +8276,7 @@ - > log_filename + > log_filename Redirect command output to log_filename. @@ -8269,7 +8284,7 @@ - >> log_filename + >> log_filename Redirect command output and append log_filename. @@ -8277,24 +8292,24 @@ Read STA/SDC/Tcl commands from filename. - The include command stops and reports any errors encountered while reading a file unless sta_continue_on_error is 1. + The include command stops and reports any errors encountered while reading a file unless sta_continue_on_error is 1. - link_design + link_design - [-no_black_boxes][cell_name] + [-no_black_boxes][cell_name] - -no_black_boxes + -no_black_boxes - Do not make empty “black box” cells for instances that reference undefined cells. + Do not make empty “black box” cells for instances that reference undefined cells. @@ -8315,7 +8330,7 @@ - make_instance + make_instance inst_pathlib_cell @@ -8344,7 +8359,7 @@ - make_net + make_net net_name_list @@ -8365,18 +8380,18 @@ - read_liberty + read_liberty - [-corner corner][-min][-max][-infer_latches]filename + [-corner corner][-min][-max][-infer_latches]filename - -corner corner + -corner corner - Use the library for process corner corner delay calculation. + Use the library for process corner corner delay calculation. @@ -8400,12 +8415,12 @@ filename - The liberty file name to read. + The liberty file name to read. The read_liberty command reads a Liberty format library file. The first library that is read sets the units used by SDC/TCL commands and reporting. The include_file attribute is supported. - Some Liberty libraries do not include latch groups for cells that are describe transparent latches. In that situation the -infer_latches command flag can be used to infer the latches. The timing arcs required for a latch to be inferred should look like the following: + Some Liberty libraries do not include latch groups for cells that are describe transparent latches. In that situation the -infer_latches command flag can be used to infer the latches. The timing arcs required for a latch to be inferred should look like the following: cell (infered_latch) { pin(D) { direction : input ; timing () { related_pin : "E" ; timing_type : setup_falling ; } timing () { related_pin : "E" ; timing_type : hold_falling ; } } pin(E) { direction : input; } pin(Q) { direction : output ; timing () { related_pin : "D" ; } timing () { related_pin : "E" ; timing_type : rising_edge ; } }} In this example a positive level-sensitive latch is inferred. Files compressed with gzip are automatically uncompressed. @@ -8414,18 +8429,18 @@ - read_saif + read_saif - [-scope scope]filename + [-scope scope]filename - scope + scope - The SAIF scope of the current design to extract simulation data. Typically the test bench name and design under test instance name. Scope levels are separated with ‘/’. + The SAIF scope of the current design to extract simulation data. Typically the test bench name and design under test instance name. Scope levels are separated with ‘/’. @@ -8433,17 +8448,17 @@ filename - The name of the SAIF file to read. + The name of the SAIF file to read. - The read_saif command reads a SAIF (Switching Activity Interchange Format) file from a Verilog simulation and extracts pin activities and duty cycles for use in power estimation. Files compressed with gzip are supported. Annotated activities are propagated to the fanout of the annotated pins. + The read_saif command reads a SAIF (Switching Activity Interchange Format) file from a Verilog simulation and extracts pin activities and duty cycles for use in power estimation. Files compressed with gzip are supported. Annotated activities are propagated to the fanout of the annotated pins. - read_sdc + read_sdc [-echo]filename @@ -8475,7 +8490,7 @@ - read_sdf + read_sdf [-corner corner][-unescaped_dividers]filename @@ -8483,7 +8498,7 @@ - -corner corner + -corner corner Process corner delays to annotate. @@ -8506,7 +8521,7 @@ - Read SDF delays from a file. The min and max values in the SDF tuples are used to annotate the delays for corner. The typical values in the SDF tuples are ignored. If multiple corners are defined -corner must be specified. + Read SDF delays from a file. The min and max values in the SDF tuples are used to annotate the delays for corner. The typical values in the SDF tuples are ignored. If multiple corners are defined -corner must be specified. Files compressed with gzip are automatically uncompressed. INCREMENT is supported as an alias for INCREMENTAL. The following SDF statements are not supported. @@ -8516,15 +8531,15 @@ - read_spef + read_spef - [-min][-max][-path path][-corner corner][-keep_capacitive_coupling][-coupling_reduction_factor factor][-reduce]filename + [-min][-max][-path path][-corner corner][-keep_capacitive_coupling][-coupling_reduction_factor factor][-reduce]filename - -min + -min Annotate parasitics for min delays. @@ -8532,7 +8547,7 @@ - -max + -max Annotate parasitics for max delays. @@ -8543,15 +8558,15 @@ path - Hierarchical block instance path to annotate with parasitics. + Hierarchical block instance path to annotate with parasitics. - -corner corner + -corner corner - Annotate parasitics for one process corner. + Annotate parasitics for one process corner. @@ -8568,7 +8583,7 @@ ‑coupling_reduction_factorfactor - Factor to multiply coupling capacitance by when reducing parasitic networks. The default value is 1.0. + Factor to multiply coupling capacitance by when reducing parasitic networks. The default value is 1.0. @@ -8576,7 +8591,7 @@ -reduce - Reduce detailed parasitics and do not save the detailed parastic network. + Reduce detailed parasitics and do not save the detailed parastic network. @@ -8588,36 +8603,36 @@ - The read_spef command reads a file of net parasitics in SPEF format. Use the report_parasitic_annotation command to check for nets that are not annotated. + The read_spef command reads a file of net parasitics in SPEF format. Use the report_parasitic_annotation command to check for nets that are not annotated. Files compressed with gzip are automatically uncompressed. - Separate parasitics can be annotated for corners and min and max paths using the -corner, –min and -max arguments. To use the same parastiics for every corner and for min/max delay calculation read the SPEF without -corner, -min, and -max options. - read_spef spef1 - To use separate parastics for min/max delay, use the -min, and -max options for each SPEF file. - read_spef -min spef1read_spef -max spef2 - To use separate parastics for each corner, use the -corner option for each SPEF file. - read_spef -corner ss spef1read_spef -corner tt spef2read_spef -corner ff spef3 - To use separate parastics for each corner and separate min/max delay calculation, use the -corner option along with the -min, and -max options. - read_spef -corner ss -min spef1read_spef -corner ss -max spef2read_spef -corner ff -min spef3read_spef -corner ff -max spef4 - With the -reduce option, the current delay calculator reduces the parastic network to the appropriate type and deletes the parasitic network. This substantially reduces the memory required to store the parasitics. + Separate parasitics can be annotated for corners and min and max paths using the -corner, –min and -max arguments. To use the same parastiics for every corner and for min/max delay calculation read the SPEF without -corner, -min, and -max options. + read_spef spef1 + To use separate parastics for min/max delay, use the -min, and -max options for each SPEF file. + read_spef -min spef1read_spef -max spef2 + To use separate parastics for each corner, use the -corner option for each SPEF file. + read_spef -corner ss spef1read_spef -corner tt spef2read_spef -corner ff spef3 + To use separate parastics for each corner and separate min/max delay calculation, use the -corner option along with the -min, and -max options. + read_spef -corner ss -min spef1read_spef -corner ss -max spef2read_spef -corner ff -min spef3read_spef -corner ff -max spef4 + With the -reduce option, the current delay calculator reduces the parastic network to the appropriate type and deletes the parasitic network. This substantially reduces the memory required to store the parasitics. Coupling capacitors are multiplied by the –coupling_reduction_factor when a parasitic network is reduced. The following SPEF constructs are ignored. *DESIGN_FLOW (all values are ignored)*S slews*D driving cell*I pin capacitances (library cell capacitances are used instead)*Q r_net load poles*K r_net load residues If the SPEF file contains triplet values the first value is used. - Parasitic networks (DSPEF) can be annotated on hierarchical blocks using the -path argument to specify the instance path to the block. Parasitic networks in the higher level netlist are stitched together at the hierarchical pins of the blocks. + Parasitic networks (DSPEF) can be annotated on hierarchical blocks using the -path argument to specify the instance path to the block. Parasitic networks in the higher level netlist are stitched together at the hierarchical pins of the blocks. - read_vcd + read_vcd - [-scope scope]filename + [-scope scope]filename - scope + scope The VCD scope of the current design to extract simulation data. Typically the test bench name and design under test instance name. Scope levels are separated with ‘/’. @@ -8628,17 +8643,17 @@ filename - The name of the VCD file to read. + The name of the VCD file to read. - The read_vcd command reads a VCD (Value Change Dump) file from a Verilog simulation and extracts pin activities and duty cycles for use in power estimation. Files compressed with gzip are supported. Annotated activities are propagated to the fanout of the annotated pins. + The read_vcd command reads a VCD (Value Change Dump) file from a Verilog simulation and extracts pin activities and duty cycles for use in power estimation. Files compressed with gzip are supported. Annotated activities are propagated to the fanout of the annotated pins. - read_verilog + read_verilog filename @@ -8653,8 +8668,8 @@ - The read_verilog command reads a gate level verilog netlist. After all verilog netlist and Liberty libraries are read the design must be linked with the link_design command. - Verilog 2001 module port declaratations are supported. An example is shown below. + The read_verilog command reads a gate level verilog netlist. After all verilog netlist and Liberty libraries are read the design must be linked with the link_design command. + Verilog 2001 module port declaratations are supported. An example is shown below. module top (input in1, in2, clk1, clk2, clk3, output out); Files compressed with gzip are automatically uncompressed. @@ -8662,7 +8677,7 @@ - replace_cell + replace_cell instance_listreplacement_cell @@ -8685,14 +8700,14 @@ - The replace_cell command changes the cell of an instance. The replacement cell must have the same port list (number, name, and order) as the instance's existing cell for the replacement to be successful. + The replace_cell command changes the cell of an instance. The replacement cell must have the same port list (number, name, and order) as the instance's existing cell for the replacement to be successful. - replace_activity_annotation + replace_activity_annotation [-report_unannotated][-report_annotated] @@ -8703,7 +8718,7 @@ -report_unannotated - Report unannotated pins. + Report unannotated pins. @@ -8711,20 +8726,20 @@ -report_unannotated - Report annotated pins. + Report annotated pins. - Report a summary of pins that are annotated by read_vcd, read_saif or set_power_activity. Sequential internal pins and hierarchical pins are ignored. + Report a summary of pins that are annotated by read_vcd, read_saif or set_power_activity. Sequential internal pins and hierarchical pins are ignored. - report_annotated_check + report_annotated_check - [-setup][-hold][-recovery][-removal][-nochange][-width][-period][-max_skew][-max_line lines][-report_annotated][-report_unannotated][-constant_arcs] + [-setup][-hold][-recovery][-removal][-nochange][-width][-period][-max_skew][-max_line lines][-report_annotated][-report_unannotated][-constant_arcs] @@ -8793,26 +8808,26 @@ - -max_line lines + -max_line lines - Maximum number of lines listed by the report_annotated and ‑report_unannotated options. + Maximum number of lines listed by the report_annotated and ‑report_unannotated options. - -report_annotated + -report_annotated - Report annotated timing arcs. + Report annotated timing arcs. - -report_unannotated + -report_unannotated - Report unannotated timing arcs. + Report unannotated timing arcs. @@ -8825,16 +8840,16 @@ - The report_annotated_check command reports a summary of SDF timing check annotation. The -report_annotated and report_annotated options can be used to list arcs that are annotated or not annotated. + The report_annotated_check command reports a summary of SDF timing check annotation. The -report_annotated and report_annotated options can be used to list arcs that are annotated or not annotated. - report_annotated_delay + report_annotated_delay - [-cell][-net][-from_in_ports][-to_out_ports][-max_lines lines][-report_annotated][-report_unannotated][-constant_arcs] + [-cell][-net][-from_in_ports][-to_out_ports][-max_lines lines][-report_annotated][-report_unannotated][-constant_arcs] @@ -8855,7 +8870,7 @@ - -from_in_ports + -from_in_ports Report annotated delays from input ports. @@ -8863,7 +8878,7 @@ - -to_out_ports + -to_out_ports Report annotated delays to output ports. @@ -8871,26 +8886,26 @@ - -max_lines lines + -max_lines lines - Maximum number of lines listed by the report_annotated and ‑report_unannotated options. + Maximum number of lines listed by the report_annotated and ‑report_unannotated options. - -report_annotated + -report_annotated - Report annotated timing arcs. + Report annotated timing arcs. - -report_unannotated + -report_unannotated - Report unannotated timing arcs. + Report unannotated timing arcs. @@ -8902,98 +8917,98 @@ - The report_annotated_delay command reports a summary of SDF delay annotation. Without the ‑from_in_ports and –to_out_ports options arcs to and from top level ports are not reported. The ‑report_annotated and report_unannotated options can be used to list arcs that are annotated or not annotated. + The report_annotated_delay command reports a summary of SDF delay annotation. Without the ‑from_in_ports and –to_out_ports options arcs to and from top level ports are not reported. The ‑report_annotated and report_unannotated options can be used to list arcs that are annotated or not annotated. - report_checks + report_checks - [-from from_list |-rise_from from_list |-fall_from from_list][-through through_list |-rise_through through_list |-fall_through through_list][-to to_list |-rise_to to_list |-fall_to to_list][-unconstrained][-path_delay min|min_rise|min_fall |max|max_rise|max_fall |min_max][-group_path_count path_count][-endpoint_path_count endpoint_path_count][-unique_paths_to_endpoint][-corner corner][-slack_max max_slack][-slack_min min_slack][-sort_by_slack][-path_group groups][-format end|full|short|summary |full_clock|full_clock_expanded |json][-fields fields][-digits digits][-no_line_split][> filename][>> filename] + [-from from_list |-rise_from from_list |-fall_from from_list][-through through_list |-rise_through through_list |-fall_through through_list][-to to_list |-rise_to to_list |-fall_to to_list][-unconstrained][-path_delay min|min_rise|min_fall |max|max_rise|max_fall |min_max][-group_path_count path_count][-endpoint_path_count endpoint_path_count][-unique_paths_to_endpoint][-unique_edges_to_endpoint][-corner corner][-slack_max max_slack][-slack_min min_slack][-sort_by_slack][-path_group groups][-format end|full|short|summary |full_clock|full_clock_expanded |json][-fields fields][-digits digits][-no_line_split][> filename][>> filename] - -from from_list + -from from_list - Report paths from a list of clocks, instances, ports, register clock pins, or latch data pins. + Report paths from a list of clocks, instances, ports, register clock pins, or latch data pins. - -rise_from from_list + -rise_from from_list - Report paths from the rising edge of clocks, instances, ports, register clock pins, or latch data pins. + Report paths from the rising edge of clocks, instances, ports, register clock pins, or latch data pins. - -fall_from from_list + -fall_from from_list - Report paths from the falling edge of clocks, instances, ports, register clock pins, or latch data pins. + Report paths from the falling edge of clocks, instances, ports, register clock pins, or latch data pins. - -through through_list + -through through_list - Report paths through a list of instances, pins or nets. + Report paths through a list of instances, pins or nets. - -rise_through through_list + -rise_through through_list - Report rising paths through a list of instances, pins or nets. - - - - - -fall_through through_list - - - Report falling paths through a list of instances, pins or nets. + Report rising paths through a list of instances, pins or nets. - -to to_list + -fall_through through_list - Report paths to a list of clocks, instances, ports or pins. + Report falling paths through a list of instances, pins or nets. - -rise_to to_list + -to to_list - Report rising paths to a list of clocks, instances, ports or pins. + Report paths to a list of clocks, instances, ports or pins. - -fall_to to_list + -rise_to to_list - Report falling paths to a list of clocks, instances, ports or pins. + Report rising paths to a list of clocks, instances, ports or pins. - -unconstrained + -fall_to to_list - Report unconstrained paths also. The unconstrained path group is not reported without this option. + Report falling paths to a list of clocks, instances, ports or pins. + + + + + -unconstrained + + + Report unconstrained paths also. The unconstrained path group is not reported without this option. @@ -9001,7 +9016,7 @@ -path_delay min - Report min path (hold) checks. + Report min path (hold) checks. @@ -9009,7 +9024,7 @@ -path_delay min_rise - Report min path (hold) checks for rising endpoints. + Report min path (hold) checks for rising endpoints. @@ -9017,7 +9032,7 @@ -path_delay min_fall - Report min path (hold) checks for falling endpoints. + Report min path (hold) checks for falling endpoints. @@ -9025,7 +9040,7 @@ -path_delay max - Report max path (setup) checks. + Report max path (setup) checks. @@ -9033,7 +9048,7 @@ -path_delay max_rise - Report max path (setup) checks for rising endpoints. + Report max path (setup) checks for rising endpoints. @@ -9041,7 +9056,7 @@ -path_delay max_fall - Report max path (setup) checks for falling endpoints. + Report max path (setup) checks for falling endpoints. @@ -9049,55 +9064,64 @@ -path_delay min_max - Report max and max path (setup and hold) checks. + Report max and max path (setup and hold) checks. - -group_path_count path_count + -group_path_count path_count - The number of paths to report in each path group. The default is 1. + The number of paths to report in each path group. The default is 1. - -endpoint_path_count endpoint_path_count + -endpoint_path_count endpoint_path_count - The number of paths to report for each endpoint. The default is 1. + The number of paths to report for each endpoint. The default is 1. - ‑unique_paths_to_endpoint + ‑unique_paths_to_endpoint - When multiple paths to an endpoint are specified with ‑endpoint_path_count many of the paths may differ only in the rise/fall edges of the pins in the paths. With this option only the worst path through the set of pis is reported. + When multiple paths to an endpoint are specified with ‑endpoint_path_count, many of the paths may differ only in the rise/fall edges of the pins in the paths. With this option only the worst path through the set of pins is reported. - -corner corner + ‑unique_edges_to_endpoint - Report paths for one process corner. The default is to report paths for all process corners. + When multiple paths to an endpoint are specified with ‑endpoint_path_count, conditional timing arcs result in paths that through the same pins and rise/fall edges. With this option only the worst path through the set of pins and rise/fall edges is reported. - -slack_max max_slack + -corner corner - Only report paths with less slack than max_slack. + Report paths for one process corner. The default is to report paths for all process corners. - -slack_min min_slack + -slack_max max_slack - Only report paths with more slack than min_slack. + Only report paths with less slack than max_slack. + + + + + + -slack_min min_slack + + + Only report paths with more slack than min_slack. @@ -9105,15 +9129,15 @@ -sort_by_slack - Sort paths by slack rather than slack grouped by path group. + Sort paths by slack rather than slack grouped by path group. - -path_group groups + -path_group groups - List of path groups to report. The default is to report all path groups. + List of path groups to report. The default is to report all path groups. @@ -9121,16 +9145,15 @@ -format end - Report path ends in one line with delay, required time and slack. + Report path ends in one line with delay, required time and slack. - -format full - Report path start and end points and the path. This is the default path type. + Report path start and end points and the path. This is the default path type. @@ -9138,7 +9161,7 @@ -format full_clock - Report path start and end points, the path, and the source and and target clock paths. + Report path start and end points, the path, and the source and and target clock paths. @@ -9146,7 +9169,7 @@ -format full_clock_expanded - Report path start and end points, the path, and the source and and target clock paths. If the clock is generated and propagated, the path from the clock source pin is also reported. + Report path start and end points, the path, and the source and and target clock paths. If the clock is generated and propagated, the path from the clock source pin is also reported. @@ -9154,7 +9177,7 @@ -format short - Report only path start and end points. + Report only path start and end points. @@ -9162,7 +9185,7 @@ -format summary - Report only path ends with delay. + Report only path ends with delay. @@ -9170,12 +9193,12 @@ -format json - Report in json format. -fields is ignored. + Report in json format. -fields is ignored. - -fields fields + -fields fields List of capacitance|slew|input_pins|hierarchical_pins|nets|fanout|src_attr @@ -9183,10 +9206,10 @@ - -digits digits + -digits digits - The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. + The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. @@ -9194,24 +9217,24 @@ -no_line_splits - Do not split long lines into multiple lines. + Do not split long lines into multiple lines. - The report_checks command reports paths in the design. Paths are reported in groups by capture clock, unclocked path delays, gated clocks and unconstrained. - See set_false_path for a description of allowed from_list, through_list and to_list objects. + The report_checks command reports paths in the design. Paths are reported in groups by capture clock, unclocked path delays, gated clocks and unconstrained. + See set_false_path for a description of allowed from_list, through_list and to_list objects. + - report_check_types + report_check_types [-violators][-verbose][-format slack_only|end][-max_delay][-min_delay][-recovery][-removal][-clock_gating_setup][-clock_gating_hold][-max_slew][-min_slew][-min_pulse_width][-min_period][-digits digits][-no_split_lines][> filename][>> filename] - -violators @@ -9222,7 +9245,7 @@ - -verbose + -verbose Use a verbose output format. @@ -9316,6 +9339,7 @@ Report min pulse width design rule checks. + -min_period @@ -9337,7 +9361,7 @@ -digits digits - The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. + The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. @@ -9345,7 +9369,7 @@ -no_split_lines - Do not split long lines into multiple lines. + Do not split long lines into multiple lines. @@ -9355,45 +9379,44 @@ - report_clock_latency + report_clock_latency - [-clock clocks][-include_internal_latency][-digits digits] + [-clock clocks][-include_internal_latency][-digits digits] - -clock clocks + -clock clocks - The clocks to report. - - - - - - -include_internal_latency - - - Include internal clock latency from liberty min/max_clock_tree_path timing groups. + The clocks to report. - -digits digits + -include_internal_latency - The number of digits to report for delays. + Include internal clock latency from liberty min/max_clock_tree_path timing groups. + + + + + -digits digits + + + The number of digits to report for delays. - Report the clock network latency. + Report the clock network latency. - report_clock_min_period + report_clock_min_period [-clocks clocks][-include_port_paths] @@ -9401,7 +9424,7 @@ - -clocks clocks + -clocks clocks The clocks to report. @@ -9422,7 +9445,7 @@ - report_clock_properties + report_clock_properties [clock_names] @@ -9441,12 +9464,13 @@ + - report_clock_skew + report_clock_skew - [-setup|-hold][-clock clocks][-include_internal_latency][-digits digits] + [-setup|-hold][-clock clocks][-include_internal_latency][-digits digits] @@ -9467,7 +9491,7 @@ - -clock clocks + -clock clocks The clocks to report. @@ -9475,29 +9499,28 @@ - -include_internal_latency + -include_internal_latency - Include internal clock latency from liberty min/max_clock_tree_path timing groups. + Include internal clock latency from liberty min/max_clock_tree_path timing groups. - -digits digits + -digits digits The number of digits to report for delays. - Report the maximum difference in clock arrival between every source and target register that has a path between the source and target registers. + Report the maximum difference in clock arrival between every source and target register that has a path between the source and target registers. - - report_dcalc + report_dcalc [-from from_pin][-to to_pin][-corner corner][-min][-max][-digits digits][> filename][>> filename] @@ -9505,7 +9528,7 @@ - -from from_pin + -from from_pin Report delay calculations for timing arcs from instance input pin from_pin. @@ -9516,7 +9539,7 @@ -to to_pin - Report delay calculations for timing arcs to instance output pin to_pin. + Report delay calculations for timing arcs to instance output pin to_pin. @@ -9524,7 +9547,7 @@ -corner corner - Report paths for process corner. The -corner keyword is required if more than one process corner is defined. + Report paths for process corner. The -corner keyword is required if more than one process corner is defined. @@ -9532,7 +9555,7 @@ -min - Report delay calculation for min delays. + Report delay calculation for min delays. @@ -9540,7 +9563,7 @@ -max - Report delay calculation for max delays. + Report delay calculation for max delays. @@ -9548,7 +9571,7 @@ -digits digits - The number of digits after the decimal point to report. The default is sta_report_default_digits. + The number of digits after the decimal point to report. The default is sta_report_default_digits. @@ -9556,9 +9579,10 @@ + - report_disabled_edges + report_disabled_edges @@ -9572,36 +9596,36 @@ - report_edges + report_edges - [-from from_pin][-to to_pin] + [-from from_pin][-to to_pin] - -from from_pin + -from from_pin - Report edges/timing arcs from pin from_pin. + Report edges/timing arcs from pin from_pin. - -to to_pin + -to to_pin - Report edges/timing arcs to pin to_pin. + Report edges/timing arcs to pin to_pin. - Report the edges/timing arcs and their delays in the timing graph from/to/between pins. + Report the edges/timing arcs and their delays in the timing graph from/to/between pins. - report_instance + report_instance instance_path[> filename][>> filename] @@ -9622,7 +9646,7 @@ - report_lib_cell + report_lib_cell cell_name[> filename][>> filename] @@ -9643,18 +9667,19 @@ - report_net + report_net [-digits digits]net_path[> filename][>> filename] + - -digits digits + -digits digits - The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. + The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. @@ -9666,35 +9691,34 @@ - Report the connections and capacitance of a net. + Report the connections and capacitance of a net. - report_parasitic_annotation + report_parasitic_annotation - [-report_unannotated][> filename][>> filename] + [-report_unannotated][> filename][>> filename] - -report_unannotated + -report_unannotated - Report unannotated and partially annotated nets. + Report unannotated and partially annotated nets. - Report SPEF parasitic annotation completeness. + Report SPEF parasitic annotation completeness. - - report_power + report_power [-instances instances][-highest_power_instances count][-digits digits][> filename][>> filename] @@ -9702,7 +9726,7 @@ - -instances instances + -instances instances Report the power for each instance of instances. If the instance is hierarchical the total power for the instances inside the hierarchical instance is reported. @@ -9710,10 +9734,10 @@ - -highest_power_instances count + -highest_power_instances count - Report the power for the count highest power instances. + Report the power for the count highest power instances. @@ -9721,19 +9745,19 @@ -digits digits - The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. + The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. - The report_power command uses static power analysis based on propagated or annotated pin activities in the circuit using Liberty power models. The internal, switching, leakage and total power are reported. Design power is reported separately for combinational, sequential, macro and pad groups. Power values are reported in watts. - The read_vcd or read_saif commands can be used to read activities from a file based on simulation. If no simulation activities are available, the set_power_activity command should be used to set the activity of input ports or pins in the design. The default input activity and duty for inputs are 0.1 and 0.5 respectively. The activities are propagated from annotated input ports or pins through gates and used in the power calculations. - Group Internal Switching Leakage Total Power Power Power Power----------------------------------------------------------------Sequential 3.29e-06 3.41e-08 2.37e-07 3.56e-06 92.4%Combinational 1.86e-07 3.31e-08 7.51e-08 2.94e-07 7.6%Macro 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.0%Pad 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.0%---------------------------------------------------------------Total 3.48e-06 6.72e-08 3.12e-07 3.86e-06 100.0% 90.2% 1.7% 8.1% + The report_power command uses static power analysis based on propagated or annotated pin activities in the circuit using Liberty power models. The internal, switching, leakage and total power are reported. Design power is reported separately for combinational, sequential, macro and pad groups. Power values are reported in watts. + The read_vcd or read_saif commands can be used to read activities from a file based on simulation. If no simulation activities are available, the set_power_activity command should be used to set the activity of input ports or pins in the design. The default input activity and duty for inputs are 0.1 and 0.5 respectively. The activities are propagated from annotated input ports or pins through gates and used in the power calculations. + Group Internal Switching Leakage Total Power Power Power Power----------------------------------------------------------------Sequential 3.29e-06 3.41e-08 2.37e-07 3.56e-06 92.4%Combinational 1.86e-07 3.31e-08 7.51e-08 2.94e-07 7.6%Macro 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.0%Pad 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.0%---------------------------------------------------------------Total 3.48e-06 6.72e-08 3.12e-07 3.86e-06 100.0% 90.2% 1.7% 8.1% - report_pulse_width_checks + report_pulse_width_checks [-verbose][-digits digits][-no_line_splits][pins][> filename][>> filename] @@ -9741,7 +9765,7 @@ - -verbose + -verbose Use a verbose output format. @@ -9752,10 +9776,9 @@ -digits digits - The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. + The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. - -no_line_splits @@ -9773,79 +9796,79 @@ - The report_pulse_width_checks command reports min pulse width checks for pins in the clock network. If pins is not specified all clock network pins are reported. + The report_pulse_width_checks command reports min pulse width checks for pins in the clock network. If pins is not specified all clock network pins are reported. - report_slews + report_slews - [-corner corner]pin + [-corner corner]pin - -corner corner + -corner corner - Report paths for process corner. The -corner keyword is required if more than one process corner is defined. + Report paths for process corner. The -corner keyword is required if more than one process corner is defined. - pin + pin - + - Report the slews at pin + Report the slews at pin - report_tns + report_tns - [-min][-max][-digits digits] + [-min][-max][-digits digits] - -max + -max - Report the total max/setup slack. + Report the total max/setup slack. - -min + -min - Report the total min/hold slack. + Report the total min/hold slack. - -digits digits + -digits digits - The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. + The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. - Report the total negative slack. + Report the total negative slack. - report_units + report_units @@ -9857,47 +9880,46 @@ - - report_wns + report_wns - [-min][-max][-digits digits] + [-min][-max][-digits digits] - -max + -max - Report the worst max/setup slack. + Report the worst max/setup slack. - -min + -min - Report the worst min/hold slack. + Report the worst min/hold slack. - -digits digits + -digits digits - The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. + The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. - Report the worst negative slack. If the worst slack is positive, zero is reported. + Report the worst negative slack. If the worst slack is positive, zero is reported. - report_worst_slack + report_worst_slack [-min][-max][-digits digits] @@ -9924,7 +9946,7 @@ -digits digits - The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. + The number of digits after the decimal point to report. The default value is the variable sta_report_default_digits. @@ -9932,9 +9954,10 @@ + - set_assigned_check + set_assigned_check -setup|-hold|-recovery|-removal[-rise][-fall][-corner corner][-min][-max][-from from_pins][-to to_pins][-clock rise|fall][-cond sdf_cond][-worst]margin @@ -9956,7 +9979,6 @@ Annotate hold timing checks. - -recovery @@ -9994,7 +10016,7 @@ -corner corner - The name of a process corner. The -corner keyword is required if more than one process corner is defined. + The name of a process corner. The -corner keyword is required if more than one process corner is defined. @@ -10031,7 +10053,7 @@ - -clock rise|fall + -clock rise|fall The timing check clock pin transition. @@ -10050,9 +10072,10 @@ + - set_assigned_delay + set_assigned_delay -cell|-net[-rise][-fall][-corner corner][-min][-max][-from from_pins][-to to_pins]delay @@ -10090,13 +10113,12 @@ Annotate the falling delays. - -corner corner - The name of a process corner. The -corner keyword is required if more than one process corner is defined. + The name of a process corner. The -corner keyword is required if more than one process corner is defined. @@ -10147,12 +10169,13 @@ - set_assigned_transition + set_assigned_transition [-rise][-fall][-corner corner][-min][-max]slewpin_list + -rise @@ -10174,7 +10197,7 @@ -corner corner - Annotate delays for process corner. + Annotate delays for process corner. @@ -10214,10 +10237,9 @@ - - set_case_analysis + set_case_analysis 0|1|zero|one|rise|rising|fall|fallingport_or_pin_list @@ -10233,13 +10255,13 @@ The set_case_analysis command sets the signal on a port or pin to a constant logic value. No paths are propagated from constant pins. Constant values set with the set_case_analysis command are propagated through downstream gates. - Conditional timing arcs with mode groups are controlled by logic values on the instance pins. + Conditional timing arcs with mode groups are controlled by logic values on the instance pins. - set_clock_gating_check + set_clock_gating_check [-setup setup_time][-hold hold_time][-rise][-fall][-high][-low][objects] @@ -10277,6 +10299,7 @@ The setup/hold margin is for the falling edge of the clock enable. + -high @@ -10306,13 +10329,13 @@ If no objects are specified the setup/hold margin is global and applies to all clock gating circuits in the design. If neither of the -rise and -fall options are used the setup/hold margin applies to the rising and falling edges of the clock gating signal. Normally the library cell function is used to determine the active state of the clock. The clock is active high for AND/NAND functions and active low for OR/NOR functions. The -high and -low options are used to specify the active state of the clock for other cells, such as a MUX. If multiple set_clock_gating_check commands apply to a clock gating instance he priority of the commands is shown below (highest to lowest priority). - clock enable pininstanceclock pinclockglobal + clock enable pininstanceclock pinclockglobal - set_clock_groups + set_clock_groups [-name name][-logically_exclusive][-physically_exclusive][-asynchronous][-allow_paths]-group clocks @@ -10367,13 +10390,13 @@ - The set_clock_groups command is used to define groups of clocks that interact with each other. Clocks in different groups do not interact and paths between them are not reported. Use a –group argument for each clock group. + The set_clock_groups command is used to define groups of clocks that interact with each other. Clocks in different groups do not interact and paths between them are not reported. Use a –group argument for each clock group. - set_clock_latency + set_clock_latency [-source][-clock clock][-rise][-fall][-min][-max]delayobjects @@ -10381,7 +10404,7 @@ - -source + -source The latency is at the clock source. @@ -10395,7 +10418,6 @@ If multiple clocks are defined at a pin this use this option to specify the latency for a specific clock. - -rise @@ -10451,7 +10473,7 @@ - set_clock_transition + set_clock_transition [-rise][-fall][-min][-max]transitionclocks @@ -10473,12 +10495,13 @@ Set the transition time for the falling edge of the clock. + -min - Set the min transition time. + Set the min transition time. @@ -10486,7 +10509,7 @@ -max - Set the min transition time. + Set the min transition time. @@ -10510,10 +10533,9 @@ - - set_clock_uncertainty + set_clock_uncertainty [-from|-rise_from|-fall_from from_clock][-to|-rise_to|-fall_to to_clock][-rise][-fall][-setup][-hold]uncertainty[objects] @@ -10524,7 +10546,7 @@ -from from_clock - Inter-clock uncertainty source clock. + Inter-clock uncertainty source clock. @@ -10532,7 +10554,7 @@ -to to_clock - Inter-clock uncertainty target clock. + Inter-clock uncertainty target clock. @@ -10540,7 +10562,7 @@ -rise - Inter-clock target clock rise edge, alternative to ‑rise_to.Inter-clock target clock rise edge, alternative to ‑rise_to. + Inter-clock target clock rise edge, alternative to ‑rise_to.Inter-clock target clock rise edge, alternative to ‑rise_to. @@ -10548,7 +10570,7 @@ -fall - Inter-clock target clock rise edge, alternative to ‑fall_to. + Inter-clock target clock rise edge, alternative to ‑fall_to. @@ -10569,7 +10591,7 @@ - uncertainty + uncertainty Clock uncertainty. @@ -10584,82 +10606,81 @@ - The set_clock_uncertainty command specifies the uncertainty or jitter in a clock. The uncertainty for a clock can be specified on its source pin or port, or the clock itself. - set_clock_uncertainty .1 [get_clock clk1] - Inter-clock uncertainty between the source and target clocks of timing checks is specified with the ‑from|‑rise_from|-fall_from andto|‑rise_to|-fall_to arguments . - set_clock_uncertainty -from [get_clock clk1] -to [get_clocks clk2] .1 - The following commands are equivalent. - set_clock_uncertainty -from [get_clock clk1] -rise_to [get_clocks clk2] .1set_clock_uncertainty -from [get_clock clk1] -to [get_clocks clk2] -rise .1 + The set_clock_uncertainty command specifies the uncertainty or jitter in a clock. The uncertainty for a clock can be specified on its source pin or port, or the clock itself. + set_clock_uncertainty .1 [get_clock clk1] + Inter-clock uncertainty between the source and target clocks of timing checks is specified with the ‑from|‑rise_from|-fall_from andto|‑rise_to|-fall_to arguments . + set_clock_uncertainty -from [get_clock clk1] -to [get_clocks clk2] .1 + The following commands are equivalent. + set_clock_uncertainty -from [get_clock clk1] -rise_to [get_clocks clk2] .1set_clock_uncertainty -from [get_clock clk1] -to [get_clocks clk2] -rise .1 - - set_cmd_units + set_cmd_units - [-capacitance cap_unit][-resistance res_unit][-time time_unit][-voltage voltage_unit][-current current_unit][-power power_unit][-distance distance_unit] + [-capacitance cap_unit][-resistance res_unit][-time time_unit][-voltage voltage_unit][-current current_unit][-power power_unit][-distance distance_unit] - -capacitance cap_unit + -capacitance cap_unit - The capacitance scale factor followed by 'f'. + The capacitance scale factor followed by 'f'. - -resistance res_unit + -resistance res_unit - The resistance scale factor followed by 'ohm'. + The resistance scale factor followed by 'ohm'. - -time time_unit + -time time_unit - The time scale factor followed by 's'. + The time scale factor followed by 's'. - -voltage voltage_unit + -voltage voltage_unit - The voltage scale factor followed by 'v'. + The voltage scale factor followed by 'v'. - -current current_unit + -current current_unit - The current scale factor followed by 'A'. + The current scale factor followed by 'A'. - -power power_unit + -power power_unit - The power scale factor followed by 'w'. + The power scale factor followed by 'w'. - -distance distance_unit + -distance distance_unit - The distance scale factor followed by 'm'. + The distance scale factor followed by 'm'. - The set_cmd_units command is used to change the units used by the STA command interpreter when parsing commands and reporting results. The default units are the units specified in the first Liberty library file that is read. + The set_cmd_units command is used to change the units used by the STA command interpreter when parsing commands and reporting results. The default units are the units specified in the first Liberty library file that is read. Units are specified as a scale factor followed by a unit name. The scale factors are as follows. M 1E+6k 1E+3m 1E-3u 1E-6n 1E-9p 1E-12f 1E-15 An example of the set_units command is shown below. @@ -10670,15 +10691,15 @@ - set_data_check + set_data_check - [-from|-rise_from|-fall_from from_pin][-to|-rise_to|-fall_to to_pin][-setup][-hold][-clock clock]margin + [-from|-rise_from|-fall_from from_pin][-to|-rise_to|-fall_to to_pin][-setup][-hold][-clock clock]margin - -from from_pin + -from from_pin A pin used as the timing check reference. @@ -10686,7 +10707,7 @@ - -to to_pin + -to to_pin A pin that the setup/hold check is applied to. @@ -10710,7 +10731,7 @@ - -clock clock + -clock clock The setup/hold check clock. @@ -10731,7 +10752,7 @@ - set_disable_inferred_clock_gating + set_disable_inferred_clock_gating objects @@ -10746,13 +10767,13 @@ - The set_disable_inferred_clock_gating command disables clock gating checks on a clock gating instance, clock gating pin, or clock gating enable pin. + The set_disable_inferred_clock_gating command disables clock gating checks on a clock gating instance, clock gating pin, or clock gating enable pin. - set_disable_timing + set_disable_timing [-from from_port][-to to_port]objects @@ -10760,18 +10781,18 @@ - -from from_port + -from from_port - + - -to to_port + -to to_port - + @@ -10779,7 +10800,7 @@ objects - A list of instances, ports, pins, cells, cell/port, or library/cell/port. + A list of instances, ports, pins, cells, cell/port, or library/cell/port. @@ -10797,7 +10818,7 @@ - set_drive + set_drive [-rise][-fall][-max][-min]resistanceports @@ -10808,7 +10829,7 @@ -rise - Set the drive rise resistance. + Set the drive rise resistance. @@ -10816,7 +10837,7 @@ -fall - Set the drive fall resistance. + Set the drive fall resistance. @@ -10832,7 +10853,7 @@ -min - Set the minimum resistance. + Set the minimum resistance. @@ -10859,7 +10880,7 @@ - set_driving_cell + set_driving_cell [-lib_cell cell_name][-library library][-rise][-fall][-min][-max][-pin pin][-from_pin from_pin][-input_transition_rise trans_rise][-input_transition_fall trans_fall]ports @@ -10867,18 +10888,18 @@ - -lib_cell cell_name + -lib_cell cell_name - The driving cell. + The driving cell. - -library library + -library library - The driving cell library. + The driving cell library. @@ -10886,7 +10907,7 @@ -rise - Set the driving cell for a rising edge. + Set the driving cell for a rising edge. @@ -10894,7 +10915,7 @@ -fall - Set the driving cell for a falling edge. + Set the driving cell for a falling edge. @@ -10902,7 +10923,7 @@ -max - Set the driving cell for max delays. + Set the driving cell for max delays. @@ -10910,7 +10931,7 @@ -min - Set the driving cell for min delays. + Set the driving cell for min delays. @@ -10931,7 +10952,7 @@ - -input_transition_rise trans_rise + -input_transition_rise trans_rise The transition time for a rising input at from_pin. @@ -10939,7 +10960,7 @@ - -input_transition_fall trans_fall + -input_transition_fall trans_fall The transition time for a falling input at from_pin. @@ -10961,7 +10982,7 @@ - set_false_path + set_false_path [-setup][-hold][-rise][-fall][-from from_list][-rise_from from_list][-fall_from from_list][-through through_list][-rise_through through_list][-fall_through through_list][-to to_list][-rise_to to_list][-fall_to to_list][-reset_path] @@ -11009,7 +11030,7 @@ - -from from_list + -from from_list A list of clocks, instances, ports or pins. @@ -11017,7 +11038,7 @@ - -through through_list + -through through_list A list of instances, pins or nets. @@ -11025,7 +11046,7 @@ - -to to_list + -to to_list A list of clocks, instances, ports or pins. @@ -11042,7 +11063,7 @@ - set_fanout_load + set_fanout_load fanoutport_list @@ -11055,7 +11076,7 @@ - set_hierarchy_separator + set_hierarchy_separator separator @@ -11076,7 +11097,7 @@ - set_ideal_latency + set_ideal_latency [-rise] [-fall] [-min] [-max] delay objects @@ -11089,7 +11110,7 @@ - set_ideal_network + set_ideal_network [-no_propagation] objects @@ -11102,7 +11123,7 @@ - set_ideal_transition + set_ideal_transition [-rise] [-fall] [-min] [-max] transition_time objects @@ -11115,7 +11136,7 @@ - set_input_delay + set_input_delay [-rise][-fall][-max][-min][-clock clock][-clock_fall][-reference_pin ref_pin][-source_latency_included][-network_latency_included][-add_delay]delayport_pin_list @@ -11143,7 +11164,7 @@ -max - Set the maximum arrival time. + Set the maximum arrival time. @@ -11151,12 +11172,12 @@ -min - Set the minimum arrival time. + Set the minimum arrival time. - -clock clock + -clock clock The arrival time is from clock. @@ -11172,7 +11193,7 @@ - -reference_pin ref_pin + -reference_pin ref_pin The arrival time is with respect to the clock that arrives at ref_pin. @@ -11191,7 +11212,7 @@ -network_latency_included - Do not add the clock latency to the delay value when the clock is ideal. + Do not add the clock latency to the delay value when the clock is ideal. @@ -11219,20 +11240,20 @@ - The set_input_delay command is used to specify the arrival time of an input signal. - The following command sets the min, max, rise and fall times on the in1 input port 1.0 time units after the rising edge of clk1. - set_input_delay -clock clk1 1.0 [get_ports in1] - Use multiple commands with the -add_delay option to specify separate arrival times for min, max, rise and fall times or multiple clocks. For example, the following specifies separate arrival times with respect to clocks clk1 and clk2. - set_input_delay -clock clk1 1.0 [get_ports in1]set_input_delay -add_delay -clock clk2 2.0 [get_ports in1] - The –reference_pin option is used to specify an arrival time with respect to the arrival on a pin in the clock network. For propagated clocks, the input arrival time is relative to the clock arrival time at the reference pin (the clock source latency and network latency from the clock source to the reference pin). For ideal clocks, input arrival time is relative to the reference pin clock source latency. With the -clock_fall flag the arrival time is relative to the falling transition at the reference pin. If no clocks arrive at the reference pin the set_input_delay command is ignored. If no -clock is specified the arrival time is with respect to all clocks that arrive at the reference pin. The -source_latency_included and -network_latency_included options cannot be used with -reference_pin. - Paths from inputs that do not have an arrival time defined by set_input_delay are not reported. Set the sta_input_port_default_clock variable to 1 to report paths from inputs without a set_input_delay. + The set_input_delay command is used to specify the arrival time of an input signal. + The following command sets the min, max, rise and fall times on the in1 input port 1.0 time units after the rising edge of clk1. + set_input_delay -clock clk1 1.0 [get_ports in1] + Use multiple commands with the -add_delay option to specify separate arrival times for min, max, rise and fall times or multiple clocks. For example, the following specifies separate arrival times with respect to clocks clk1 and clk2. + set_input_delay -clock clk1 1.0 [get_ports in1]set_input_delay -add_delay -clock clk2 2.0 [get_ports in1] + The –reference_pin option is used to specify an arrival time with respect to the arrival on a pin in the clock network. For propagated clocks, the input arrival time is relative to the clock arrival time at the reference pin (the clock source latency and network latency from the clock source to the reference pin). For ideal clocks, input arrival time is relative to the reference pin clock source latency. With the -clock_fall flag the arrival time is relative to the falling transition at the reference pin. If no clocks arrive at the reference pin the set_input_delay command is ignored. If no -clock is specified the arrival time is with respect to all clocks that arrive at the reference pin. The -source_latency_included and -network_latency_included options cannot be used with -reference_pin. + Paths from inputs that do not have an arrival time defined by set_input_delay are not reported. Set the sta_input_port_default_clock variable to 1 to report paths from inputs without a set_input_delay. - set_input_transition + set_input_transition [-rise][-fall][-max][-min]transitionport_list @@ -11251,7 +11272,7 @@ -fall - Set the falling edge transition. + Set the falling edge transition. @@ -11293,7 +11314,7 @@ - set_level_shifter_strategy + set_level_shifter_strategy [-rule rule_type] @@ -11306,7 +11327,7 @@ - set_level_shifter_threshold + set_level_shifter_threshold [-voltage voltage] @@ -11319,7 +11340,7 @@ - set_load + set_load [-rise][-fall][-max][-min][-subtract_pin_load][-pin_load][-wire_load]capacitanceobjects @@ -11338,7 +11359,7 @@ -fall - Set the external port falling capacitance (ports only). + Set the external port falling capacitance (ports only). @@ -11347,7 +11368,7 @@ -max - Set the max capacitance. + Set the max capacitance. @@ -11355,7 +11376,7 @@ -min - Set the min capacitance. + Set the min capacitance. @@ -11363,7 +11384,7 @@ -subtract_pin_load - Subtract the capacitance of all instance pins connected to the net from capacitance (nets only). If the resulting capacitance is negative, zero is used. Pin capacitances are ignored by delay calculation when this option is used. + Subtract the capacitance of all instance pins connected to the net from capacitance (nets only). If the resulting capacitance is negative, zero is used. Pin capacitances are ignored by delay calculation when this option is used. @@ -11400,15 +11421,15 @@ The set_load command annotates wire capacitance on a net or external capacitance on a port. There are four different uses for the set_load commanc: - set_load -wire_load port external port wire capacitanceset_load -pin_load port external port pin capacitanceset_load port same as -pin_loadset_load net net wire capacitance - External port capacitance can be annotated separately with the -pin_load and ‑wire_load options. Without the -pin_load and -wire_load options pin capacitance is annotated. - When annotating net wire capacitance with the -subtract_pin_load option the capacitance of all instance pins connected to the net is subtracted from capacitance. Setting the capacitance on a net overrides SPEF parasitics for delay calculation. + set_load -wire_load port external port wire capacitanceset_load -pin_load port external port pin capacitanceset_load port same as -pin_loadset_load net net wire capacitance + External port capacitance can be annotated separately with the -pin_load and ‑wire_load options. Without the -pin_load and -wire_load options pin capacitance is annotated. + When annotating net wire capacitance with the -subtract_pin_load option the capacitance of all instance pins connected to the net is subtracted from capacitance. Setting the capacitance on a net overrides SPEF parasitics for delay calculation. - set_logic_dc + set_logic_dc port_list @@ -11429,7 +11450,7 @@ - set_logic_one + set_logic_one port_list @@ -11451,7 +11472,7 @@ - set_logic_zero + set_logic_zero port_list @@ -11472,7 +11493,7 @@ - set_max_area + set_max_area area @@ -11493,7 +11514,7 @@ - set_max_capacitance + set_max_capacitance capacitanceobjects @@ -11522,10 +11543,10 @@ - set_max_delay + set_max_delay - [-rise][-fall][-from from_list][-rise_from from_list][-fall_from from_list][-through through_list][-rise_through through_list][-fall_through through_list][-to to_list][-rise_to to_list][-fall_to to_list][-ignore_clock_latency][-probe][-reset_path]delay + [-rise][-fall][-from from_list][-rise_from from_list][-fall_from from_list][-through through_list][-rise_through through_list][-fall_through through_list][-to to_list][-rise_to to_list][-fall_to to_list][-ignore_clock_latency][-probe][-reset_path]delay @@ -11541,7 +11562,7 @@ -fall - Set max delay for falling paths. + Set max delay for falling paths. @@ -11579,10 +11600,10 @@ - -probe + -probe - Do not break paths at internal pins (non startpoints). + Do not break paths at internal pins (non startpoints). @@ -11609,7 +11630,7 @@ - set_max_dynamic_power + set_max_dynamic_power power [unit] @@ -11622,7 +11643,7 @@ - set_max_fanout + set_max_fanout fanoutobjects @@ -11651,7 +11672,7 @@ - set_max_leakage_power + set_max_leakage_power power [unit] @@ -11664,7 +11685,7 @@ - set_max_time_borrow + set_max_time_borrow delayobjects @@ -11688,13 +11709,13 @@ - The set_max_time_borrow command specifies the maximum amount of time that latches can borrow. Time borrowing is the time that a data input to a transparent latch arrives after the latch opens. + The set_max_time_borrow command specifies the maximum amount of time that latches can borrow. Time borrowing is the time that a data input to a transparent latch arrives after the latch opens. - set_max_transition + set_max_transition [-data_path][-clock_path][-rise][-fall]transitionobjects @@ -11702,34 +11723,34 @@ - -data_path + -data_path - Set the max slew for data paths. + Set the max slew for data paths. - -clock_path + -clock_path - Set the max slew for clock paths. + Set the max slew for clock paths. - -rise + -rise - Set the max slew for rising paths. + Set the max slew for rising paths. - -fall + -fall - Set the max slew for falling paths. + Set the max slew for falling paths. @@ -11757,7 +11778,7 @@ - set_min_capacitance + set_min_capacitance capacitanceobjects @@ -11768,7 +11789,7 @@ capacitance - Minimum capacitance. + Minimum capacitance. @@ -11787,7 +11808,7 @@ - set_min_delay + set_min_delay [-rise][-fall][-from from_list][-rise_from from_list][-fall_from from_list][-through through_list][-rise_through through_list][-fall_through through_list][-to to_list][-rise_to to_list][-fall_to to_list][-ignore_clock_latency][-probe][-reset_path]delay @@ -11806,7 +11827,7 @@ -fall - Set min delay for falling paths. + Set min delay for falling paths. @@ -11843,10 +11864,10 @@ - -probe + -probe - Do not break paths at internal pins (non startpoints). + Do not break paths at internal pins (non startpoints). @@ -11862,7 +11883,7 @@ delay - The minimum delay. + The minimum delay. @@ -11874,7 +11895,7 @@ - set_min_pulse_width + set_min_pulse_width [-high][-low]min_widthobjects @@ -11919,7 +11940,7 @@ - set_multicycle_path + set_multicycle_path [-setup][-hold][-rise][-fall][-start][-end][-from from_list][-rise_from from_list][-fall_from from_list][-through through_list][-rise_through through_list][-fall_through through_list][-to to_list][-rise_to to_list][-fall_to to_list][-reset_path]path_multiplier @@ -11946,7 +11967,7 @@ -rise - Set cycle count for rising path edges. + Set cycle count for rising path edges. @@ -11954,7 +11975,7 @@ -fall - Set cycle count for falling path edges. + Set cycle count for falling path edges. @@ -12021,15 +12042,15 @@ - set_operating_conditions + set_operating_conditions - [-analysis_type single|bc_wc|on_chip_variation][-library lib][condition][-min min_condition][-max max_condition][-min_library min_lib][-max_library max_lib] + [-analysis_type single|bc_wc|on_chip_variation][-library lib][condition][-min min_condition][-max max_condition][-min_library min_lib][-max_library max_lib] - -analysis_type single + -analysis_type single Use one operating condition for min and max paths. @@ -12037,7 +12058,7 @@ - -analysis_type bc_wc + -analysis_type bc_wc Best case, worst case analysis. Setup checks use max_condition for clock and data paths. Hold checks use the min_condition for clock and data paths. @@ -12045,7 +12066,7 @@ - ‑analysis_type on_chip_variation + ‑analysis_type on_chip_variation The min and max operating conditions represent variations on the chip that can occur simultaneously. Setup checks use max_condition for data paths and min_condition for clock paths. Hold checks use min_condition for data paths and max_condition for clock paths. This is the default analysis type. @@ -12085,7 +12106,7 @@ - -min_library min_lib + -min_library min_lib The name of the library that contains min_condition. @@ -12093,7 +12114,7 @@ - -max_library max_lib + -max_library max_lib The name of the library that contains max_condition. @@ -12106,7 +12127,7 @@ - set_output_delay + set_output_delay [-rise][-fall][-max][-min][-clock clock][-clock_fall][-reference_pin ref_pin][-source_latency_included][-network_latency_included][-add_delay]delayport_pin_list @@ -12125,7 +12146,7 @@ -fall - Set the output delay for the falling edge of the input. + Set the output delay for the falling edge of the input. @@ -12133,7 +12154,7 @@ -max - Set the maximum output delay. + Set the maximum output delay. @@ -12141,15 +12162,15 @@ -min - Set the minimum output delay. + Set the minimum output delay. - -clock clock + -clock clock - The external check is to clock. The default clock edge is rising. + The external check is to clock. The default clock edge is rising. @@ -12157,12 +12178,12 @@ -clock_fall - The external check is to the falling edge of clock. + The external check is to the falling edge of clock. - -reference_pin ref_pin + -reference_pin ref_pin The external check is clocked by the clock that arrives at ref_pin. @@ -12194,13 +12215,13 @@ The set_output_delay command is used to specify the external delay to a setup/hold check on an output port or internal pin that is clocked by clock. Unless the -add_delay option is specified any existing output delays are replaced. - The –reference_pin option is used to specify a timing check with respect to the arrival on a pin in the clock network. For propagated clocks, the timing check is relative to the clock arrival time at the reference pin (the clock source latency and network latency from the clock source to the reference pin). For ideal clocks, the timing check is relative to the reference pin clock source latency. With the -clock_fall flag the timing check is relative to the falling edge of the reference pin. If no clocks arrive at the reference pin the set_output_delay command is ignored. If no -clock is specified the timing check is with respect to all clocks that arrive at the reference pin. The -source_latency_included and -network_latency_included options cannot be used with -reference_pin. + The –reference_pin option is used to specify a timing check with respect to the arrival on a pin in the clock network. For propagated clocks, the timing check is relative to the clock arrival time at the reference pin (the clock source latency and network latency from the clock source to the reference pin). For ideal clocks, the timing check is relative to the reference pin clock source latency. With the -clock_fall flag the timing check is relative to the falling edge of the reference pin. If no clocks arrive at the reference pin the set_output_delay command is ignored. If no -clock is specified the timing check is with respect to all clocks that arrive at the reference pin. The -source_latency_included and -network_latency_included options cannot be used with -reference_pin. - set_port_fanout_number + set_port_fanout_number [-min][-max]fanoutports @@ -12219,7 +12240,7 @@ -max - Set the max fanout. + Set the max fanout. @@ -12239,13 +12260,13 @@ - Set the external fanout for ports. + Set the external fanout for ports. - set_power_activity + set_power_activity [-global][-input][-input_ports ports][-pins pins][-activity activity | -density density][-duty duty][-clock clock] @@ -12285,18 +12306,18 @@ - -activity activity + -activity activity - The activity, or number of transitions per clock cycle. If clock is not specified the clock with the minimum period is used. If no clocks are defined an error is reported. + The activity, or number of transitions per clock cycle. If clock is not specified the clock with the minimum period is used. If no clocks are defined an error is reported. - -density density + -density density - Transitions per library time unit. + Transitions per library time unit. @@ -12309,22 +12330,22 @@ - -clock clock + -clock clock - The clock to use for the period with -activity. This option is ignored if -density is used. + The clock to use for the period with -activity. This option is ignored if -density is used. - The set_power_activity command is used to set the activity and duty used for power analysis globally or for input ports or pins in the design. - The default input activity for inputs is 0.1 transitions per minimum clock period if a clock is defined or 0.0 if there are no clocks defined. The default input duty is 0.5. This is equivalent to the following command: - set_power_activity -input -activity 0.1 -duty 0.5 + The set_power_activity command is used to set the activity and duty used for power analysis globally or for input ports or pins in the design. + The default input activity for inputs is 0.1 transitions per minimum clock period if a clock is defined or 0.0 if there are no clocks defined. The default input duty is 0.5. This is equivalent to the following command: + set_power_activity -input -activity 0.1 -duty 0.5 - set_propagated_clock + set_propagated_clock objects @@ -12345,11 +12366,11 @@ - set_pvt + set_pvt - [-min][-max][-process process][-voltage voltage] - [-temperature temperature]instances + [-min][-max][-process process][-voltage voltage] + [-temperature temperature]instances @@ -12408,7 +12429,7 @@ - set_sense + set_sense [-type clock|data][-positive][-negative][-pulse pulse_type][-stop_propagation][-clock clocks]pins @@ -12416,18 +12437,18 @@ - -type clock + -type clock - Set the sense for clock paths. + Set the sense for clock paths. - -type data + -type data - Set the sense for data paths (not supported). + Set the sense for data paths (not supported). @@ -12448,7 +12469,7 @@ - -pulse pulse_type + -pulse pulse_type rise_triggered_high_pulserise_triggered_low_pulsefall_triggered_high_pulsefall_triggered_low_pulseNot supported. @@ -12486,7 +12507,7 @@ - set_timing_derate + set_timing_derate [-rise][-fall][-early][-late][-clock][-data][-net_delay][-cell_delay][-cell_check]derate[objects] @@ -12497,7 +12518,7 @@ -rise - Set the derating for rising delays. + Set the derating for rising delays. @@ -12505,7 +12526,7 @@ -fall - Set the derating for falling delays. + Set the derating for falling delays. @@ -12588,7 +12609,7 @@ - set_resistance + set_resistance [-max][-min]resistancenets @@ -12634,72 +12655,72 @@ - set_units + set_units - [-capacitance cap_unit][-resistance res_unit][-time time_unit][-voltage voltage_unit][-current current_unit][-power power_unit][-distance distance_unit] + [-capacitance cap_unit][-resistance res_unit][-time time_unit][-voltage voltage_unit][-current current_unit][-power power_unit][-distance distance_unit] - -capacitance cap_unit + -capacitance cap_unit - The capacitance scale factor followed by 'f'. + The capacitance scale factor followed by 'f'. - -resistance res_unit + -resistance res_unit - The resistance scale factor followed by 'ohm'. + The resistance scale factor followed by 'ohm'. - -time time_unit + -time time_unit - The time scale factor followed by 's'. + The time scale factor followed by 's'. - -voltage voltage_unit + -voltage voltage_unit - The voltage scale factor followed by 'v'. + The voltage scale factor followed by 'v'. - -current current_unit + -current current_unit - The current scale factor followed by 'A'. + The current scale factor followed by 'A'. - -power power_unit + -power power_unit - The power scale factor followed by 'w'. + The power scale factor followed by 'w'. The set_units command is used to check the units used by the STA command interpreter when parsing commands and reporting results. If the current units differ from the set_unit value a warning is printed. Use the set_cmd_units command to change the command units. Units are specified as a scale factor followed by a unit name. The scale factors are as follows. - M 1E+6k 1E+3m 1E-3u 1E-6n 1E-9p 1E-12f 1E-15 + M 1E+6k 1E+3m 1E-3u 1E-6n 1E-9p 1E-12f 1E-15 An example of the set_units command is shown below. - set_units -time ns -capacitance pF -current mA -voltage V -resistance kOhm + set_units -time ns -capacitance pF -current mA -voltage V -resistance kOhm - set_wire_load_min_block_size + set_wire_load_min_block_size size @@ -12712,7 +12733,7 @@ - set_wire_load_mode + set_wire_load_mode top|enclosed|segmented @@ -12749,7 +12770,7 @@ - set_wire_load_model + set_wire_load_model -name model_name[-library library][-max][-min][objects] @@ -12757,7 +12778,7 @@ - -name model_name + -name model_name The name of a wire load model. @@ -12765,7 +12786,7 @@ - -library library + -library library Library to look for model_name. @@ -12802,7 +12823,7 @@ - set_wire_load_selection_group + set_wire_load_selection_group [-library library][-max][-min]group_name[objects] @@ -12856,28 +12877,28 @@ - suppress_msg + suppress_msg - msg_ids + msg_ids - msg_ids + msg_ids - A list of error/warning message IDs to suppress. + A list of error/warning message IDs to suppress. - The suppress_msg command suppresses specified error/warning messages by ID. The list of message IDs can be found in doc/messages.txt. + The suppress_msg command suppresses specified error/warning messages by ID. The list of message IDs can be found in doc/messages.txt. - unset_case_analysis + unset_case_analysis port_or_pin_list @@ -12898,7 +12919,7 @@ - unset_clock_latency + unset_clock_latency [-source]objects @@ -12927,7 +12948,7 @@ - unset_clock_transition + unset_clock_transition clocks @@ -12949,7 +12970,7 @@ - unset_clock_uncertainty + unset_clock_uncertainty [-from|-rise_from|-fall_from from_clock][-to|-rise_to|-fall_to to_clock][-rise][-fall][-setup][-hold][objects] @@ -12957,7 +12978,7 @@ - -from from_clock + -from from_clock @@ -12965,7 +12986,7 @@ - -to to_clock + -to to_clock @@ -13005,7 +13026,7 @@ - uncertainty + uncertainty Clock uncertainty. @@ -13026,15 +13047,15 @@ - unset_data_check + unset_data_check - [-from|-rise_from|-fall_from from_object][-to|-rise_to|-fall_to to_object][-setup][-hold][-clock clock] + [-from|-rise_from|-fall_from from_object][-to|-rise_to|-fall_to to_object][-setup][-hold][-clock clock] - -from from_object + -from from_object A pin used as the timing check reference. @@ -13042,7 +13063,7 @@ - -to to_object + -to to_object A pin that the setup/hold check is applied to. @@ -13066,7 +13087,7 @@ - clock + clock The setup/hold check clock. @@ -13079,7 +13100,7 @@ - unset_disable_inferred_clock_gating + unset_disable_inferred_clock_gating objects @@ -13094,13 +13115,13 @@ - The unset_disable_inferred_clock_gating command removes a previous set_disable_inferred_clock_gating command. + The unset_disable_inferred_clock_gating command removes a previous set_disable_inferred_clock_gating command. - unset_disable_timing + unset_disable_timing [-from from_port][-to to_port]objects @@ -13111,7 +13132,7 @@ from_port - + @@ -13119,7 +13140,7 @@ to_port - + @@ -13137,7 +13158,7 @@ - unset_input_delay + unset_input_delay [-rise][-fall][-max][-min][-clock clock][-clock_fall]port_pin_list @@ -13172,7 +13193,7 @@ -min - Unset the maximum arrival time. + Unset the maximum arrival time. @@ -13207,7 +13228,7 @@ - unset_output_delay + unset_output_delay [-rise][-fall][-max][-min][-clock clock][-clock_fall]port_pin_list @@ -13276,10 +13297,10 @@ - unset_path_exceptions + unset_path_exceptions - [-setup][-hold][-rise][-fall][-from|-rise_from|-fall_from from][-through|-rise_through|-fall_through through][-to|-rise_to|-fall_to to] + [-setup][-hold][-rise][-fall][-from|-rise_from|-fall_from from][-through|-rise_through|-fall_through through][-to|-rise_to|-fall_to to] @@ -13295,7 +13316,7 @@ -hold - Unset path exceptions for hold checks. + Unset path exceptions for hold checks. @@ -13303,7 +13324,7 @@ -rise - Unset path exceptions for rising path edges. + Unset path exceptions for rising path edges. @@ -13312,7 +13333,7 @@ -fall - Unset path exceptions for falling path edges. + Unset path exceptions for falling path edges. @@ -13325,7 +13346,7 @@ - -through through + -through through A list of instances, pins or nets. @@ -13341,66 +13362,66 @@ The unset_path_exceptions command removes any matching set_false_path, set_multicycle_path, set_max_delay, and set_min_delay exceptions. - + - unset_power_activity + unset_power_activity - [-global][-input][-input_ports ports][-pins pins] + [-global][-input][-input_ports ports][-pins pins] - -global + -global - Set the activity/duty for all non-clock pins. + Set the activity/duty for all non-clock pins. - -input + -input - Set the default input port activity/duty. + Set the default input port activity/duty. - -input_ports input_ports + -input_ports input_ports - Set the input port activity/duty. + Set the input port activity/duty. - -pins pins + -pins pins - Set the pin activity/duty. + Set the pin activity/duty. - -activity activity + -activity activity - The activity, or number of transitions per clock cycle. If clock is not specified the clock with the minimum period is used. If no clocks are defined an error is reported. + The activity, or number of transitions per clock cycle. If clock is not specified the clock with the minimum period is used. If no clocks are defined an error is reported. - The unset_power_activity_command is used to undo the effects of the set_power_activity command. + The unset_power_activity_command is used to undo the effects of the set_power_activity command. - unset_propagated_clock + unset_propagated_clock objects @@ -13421,42 +13442,42 @@ - unset_timing_derate + unset_timing_derate - Remove all derating factors set with the set_timing_derate command. + Remove all derating factors set with the set_timing_derate command. - unsuppress_msg + unsuppress_msg - msg_ids + msg_ids - msg_ids + msg_ids - A list of error/warning message IDs to unsuppress. + A list of error/warning message IDs to unsuppress. - The unsuppress_msg command removes suppressions for the specified error/warning messages by ID. The list of message IDs can be found in doc/messages.txt. + The unsuppress_msg command removes suppressions for the specified error/warning messages by ID. The list of message IDs can be found in doc/messages.txt. - user_run_time + user_run_time @@ -13469,7 +13490,7 @@ - with_output_to_variable + with_output_to_variable var { commands } @@ -13492,21 +13513,21 @@ - The with_output_to_variable command redirects the output of TCL commands to a variable. + The with_output_to_variable command redirects the output of TCL commands to a variable. - write_path_spice + write_path_spice - -path_args path_args-spice_directory spice_directory-lib_subckt_file lib_subckts_file-model_file model_file-power power-ground ground[-simulator hspice|ngspice|xyce] + -path_args path_args-spice_directory spice_directory-lib_subckt_file lib_subckts_file-model_file model_file-power power-ground ground[-simulator hspice|ngspice|xyce] - path_args + path_args -from|-through|-to arguments as in report_checks. @@ -13514,15 +13535,15 @@ - spice_directory + spice_directory - Directory for spice to write output files. + Directory for spice to write output files. - lib_subckts_file + lib_subckts_file Cell transistor level subckts. @@ -13530,7 +13551,7 @@ - model_file + model_file Transistor model definitions .included by spice_file. @@ -13538,7 +13559,7 @@ - power + power Voltage supply name in voltage_map of the default liberty library. @@ -13546,7 +13567,7 @@ - ground + ground Ground supply name in voltage_map of the default liberty library. @@ -13554,25 +13575,25 @@ - -simulator + -simulator - Simulator that will read the spice netlist. + Simulator that will read the spice netlist. The write_path_spice command writes a spice netlist for timing paths. Use path_args to specify -from/-through/-to as arguments to the find_timing_paths command. For each path, a spice netlist and the subckts referenced by the path are written in spice_directory. The spice netlist is written in path_<id>.sp and subckt file is path_<id>.subckt. The spice netlists used by the path are written to subckt_file, which spice_file .includes. The device models used by the spice subckt netlists in model_file are also .included in spice_file. Power and ground names are specified with the -power and -ground arguments. The spice netlist includes a piecewise linear voltage source at the input and .measure statement for each gate delay and pin slew. - Example command: - write_path_spice -path_args {-from "in0" -to "out1" -unconstrained} \ -spice_directory $result_dir \ -lib_subckt_file "write_spice1.subckt" \ -model_file "write_spice1.models" \ -power VDD -ground VSS - When the simulator is hspice, .measure statements will be added to the spice netlist. - When the simulator is Xyce, the .print statement selects the CSV format and writes the waveform data to a file name path_<id>.csv so the results can be used by gnuplot. + Example command: + write_path_spice -path_args {-from "in0" -to "out1" -unconstrained} \ -spice_directory $result_dir \ -lib_subckt_file "write_spice1.subckt" \ -model_file "write_spice1.models" \ -power VDD -ground VSS + When the simulator is hspice, .measure statements will be added to the spice netlist. + When the simulator is Xyce, the .print statement selects the CSV format and writes the waveform data to a file name path_<id>.csv so the results can be used by gnuplot. - write_sdc + write_sdc [-digits digits][-gzip][-no_timestamp]filename @@ -13617,7 +13638,7 @@ - write_sdf + write_sdf [-corner corner][-divider /|.][-include_typ][-digits digits][-gzip][-no_timestamp][-no_version]filename @@ -13650,7 +13671,7 @@ - -digits digits + -digits digits The number of digits after the decimal point to report. The default is 4. @@ -13689,75 +13710,75 @@ - Write the delay calculation delays for the design in SDF format to filename. If -corner is not specified the min/max delays are across all corners. With -corner the min/max delays for corner are written. The SDF TIMESCALE is same as the time_unit in the first liberty file read. + Write the delay calculation delays for the design in SDF format to filename. If -corner is not specified the min/max delays are across all corners. With -corner the min/max delays for corner are written. The SDF TIMESCALE is same as the time_unit in the first liberty file read. - write_timing_model + write_timing_model - [-library_name lib_name][-cell_name cell_name] - [-corner corner]filename + [-library_name lib_name][-cell_name cell_name] + [-corner corner]filename - -library_name lib_name + -library_name lib_name - The name to use for the liberty library. Defaults to cell_name. + The name to use for the liberty library. Defaults to cell_name. - -cell_name cell_name + -cell_name cell_name - The name to use for the liberty cell. Defaults to the top level module name. + The name to use for the liberty cell. Defaults to the top level module name. - -corner corner + -corner corner - The process corner to use for extracting the model. + The process corner to use for extracting the model. - filename + filename - Filename for the liberty timing model. + Filename for the liberty timing model. - The write_timing_model command constructs a liberty timing model for the current design and writes it to filename. cell_name defaults to the cell name of the top level block in the design. - The SDC used to extract the block should include the clock definitions. If the block contains a clock network set_propagated_clock should be used so the clock delays are included in the timing model. The following SDC commands are ignored when building the timing model. + The write_timing_model command constructs a liberty timing model for the current design and writes it to filename. cell_name defaults to the cell name of the top level block in the design. + The SDC used to extract the block should include the clock definitions. If the block contains a clock network set_propagated_clock should be used so the clock delays are included in the timing model. The following SDC commands are ignored when building the timing model. set_input_delayset_output_delayset_loadset_timing_derate - Using set_input_transition with the slew from the block context will be used will improve the match between the timing model and the block netlist. Paths defined on clocks that are defined on internal pins are ignored because the model has no way to include the clock definition. + Using set_input_transition with the slew from the block context will be used will improve the match between the timing model and the block netlist. Paths defined on clocks that are defined on internal pins are ignored because the model has no way to include the clock definition. The resulting timing model can be used in a hierarchical timing flow as a replacement for the block to speed up timing analysis. This hierarchical timing methodology does not handle timing exceptions that originate or terminate inside the block. The timing model includes: combinational paths between inputs and outputssetup and hold timing constraints on inputsclock to output timing paths - Resistance of long wires on inputs and outputs of the block cannot be modeled in Liberty. To reduce inaccuracies from wire resistance in technologies with resistive wires place buffers on inputs and ouputs. + Resistance of long wires on inputs and outputs of the block cannot be modeled in Liberty. To reduce inaccuracies from wire resistance in technologies with resistive wires place buffers on inputs and ouputs. The extracted timing model setup/hold checks are scalar (no input slew dependence). Delay timing arcs are load dependent but do not include input slew dependency. - write_verilog + write_verilog - [-sort] - [-include_pwr_gnd][-remove_cells lib_cells]filename + [-sort] + [-include_pwr_gnd][-remove_cells lib_cells]filename - -sort + -sort Sort the instances in the netlist. @@ -13765,7 +13786,7 @@ - -include_pwr_gnd + -include_pwr_gnd Include power and ground pins on instances. @@ -13773,7 +13794,7 @@ - -remove_cells lib_cells + -remove_cells lib_cells Liberty cells to remove from the Verilog netlist. Use get_lib_cells, a list of cells names, or a cell name with wildcards. @@ -13781,16 +13802,16 @@ - filename + filename Filename for the liberty library. - The write_verilog command writes a Verilog netlist to filename. Use -sort to sort the instances so the results are reproducible across operating systems. Use -remove_cells to remove instances of lib_cells from the netlist. - Filter Expressions - The get_cells, get_pins, get_ports and get_timing_edges functions support filtering the returned objects by property values. Supported filter expressions are shown below. + The write_verilog command writes a Verilog netlist to filename. Use -sort to sort the instances so the results are reproducible across operating systems. Use -remove_cells to remove instances of lib_cells from the netlist. + Filter Expressions + The get_cells, get_pins, get_ports and get_timing_edges functions support filtering the returned objects by property values. Supported filter expressions are shown below. @@ -13799,7 +13820,7 @@ property - Return objects with property value equal to 1. + Return objects with property value equal to 1. @@ -13807,7 +13828,7 @@ property==value - Return objects with property value equal to value. + Return objects with property value equal to value. @@ -13815,7 +13836,7 @@ property=~pattern - Return objects with property value that matches pattern. + Return objects with property value that matches pattern. @@ -13823,7 +13844,7 @@ property!=value - Return objects with property value not equal to value. + Return objects with property value not equal to value. @@ -13831,7 +13852,7 @@ property!~value - Return objects with property value that does not match pattern. + Return objects with property value that does not match pattern. @@ -13839,7 +13860,7 @@ expr1&&expr2 - Return objects with expr1 and expr2. expr1 and expr2 are one of the first three property value forms shown above. + Return objects with expr1 and expr2. expr1 and expr2 are one of the first three property value forms shown above. @@ -13848,18 +13869,18 @@ expr1||expr2 - Return objects with expr1 or expr2. expr1 and expr2 are one of the first three property value forms shown above. + Return objects with expr1 or expr2. expr1 and expr2 are one of the first three property value forms shown above. Where property is a property supported by the get_property command. Note that if there are spaces in the expression it must be enclosed in quotes so that it is a single argument. - Variables + Variables - hierarchy_separator + hierarchy_separator Any character. @@ -13872,7 +13893,7 @@ - sta_bidirect_net_paths_enabled + sta_bidirect_net_paths_enabled 0|1 @@ -13885,7 +13906,7 @@ - sta_continue_on_error + sta_continue_on_error 0|1 @@ -13898,20 +13919,20 @@ - sta_crpr_mode + sta_crpr_mode same_pin|same_transition - When the data and clock paths of a timing check overlap (see sta_crpr_enabled), pessimism is removed independent of whether of the path rise/fall transitions. When sta_crpr_mode is same_transition, the pessimism is only removed if the path rise/fall transitions are the same. The default value is same_pin. + When the data and clock paths of a timing check overlap (see sta_crpr_enabled), pessimism is removed independent of whether of the path rise/fall transitions. When sta_crpr_mode is same_transition, the pessimism is only removed if the path rise/fall transitions are the same. The default value is same_pin. - sta_cond_default_arcs_enabled + sta_cond_default_arcs_enabled 0|1 @@ -13924,7 +13945,7 @@ - sta_crpr_enabled + sta_crpr_enabled 0|1 @@ -13937,7 +13958,7 @@ - sta_dynamic_loop_breaking + sta_dynamic_loop_breaking 0|1 @@ -13950,20 +13971,20 @@ - sta_gated_clock_checks_enabled + sta_gated_clock_checks_enabled 0|1 - When sta_gated_clock_checks_enabled is 1, clock gating setup and hold timing checks are checked. The default value is 1. + When sta_gated_clock_checks_enabled is 1, clock gating setup and hold timing checks are checked. The default value is 1. - sta_input_port_default_clock + sta_input_port_default_clock 0|1 @@ -13976,7 +13997,7 @@ - sta_internal_bidirect_instance_paths_enabled + sta_internal_bidirect_instance_paths_enabled 0|1 @@ -13989,7 +14010,7 @@ - sta_pocv_enabled + sta_pocv_enabled 0|1 @@ -14002,14 +14023,14 @@ - sta_propagate_all_clocks + sta_propagate_all_clocks 0|1 - All clocks defined after sta_propagate_all_clocks is set to 1 are propagated. If it is set before any clocks are defined it has the same effect as + All clocks defined after sta_propagate_all_clocks is set to 1 are propagated. If it is set before any clocks are defined it has the same effect as set_propagated_clock [all_clocks] After all clocks have been defined. The default value is 0. @@ -14017,34 +14038,34 @@ - sta_propagate_gated_clock_enable + sta_propagate_gated_clock_enable 0|1 - When set to 1, paths of gated clock enables are propagated through the clock gating instances. If the gated clock controls sequential elements setting sta_propagate_gated_clock_enable to 0 prevents spurious paths from the clock enable. The default value is 1. + When set to 1, paths of gated clock enables are propagated through the clock gating instances. If the gated clock controls sequential elements setting sta_propagate_gated_clock_enable to 0 prevents spurious paths from the clock enable. The default value is 1. - sta_recovery_removal_checks_enabled + sta_recovery_removal_checks_enabled 0|1 - When sta_recovery_removal_checks_enabled is 0, recovery and removal timing checks are disabled. The default value is 1. + When sta_recovery_removal_checks_enabled is 0, recovery and removal timing checks are disabled. The default value is 1. - sta_report_default_digits + sta_report_default_digits integer @@ -14057,7 +14078,7 @@ - sta_preset_clear_arcs_enabled + sta_preset_clear_arcs_enabled 0|1 @@ -14090,184 +14111,184 @@ - Alphabetical Index + Alphabetical Index - all_clocks6 - all_inputs6 - all_outputs6 - all_registers6 - check_setup7 - Command Line Arguments1 - Commands6 - connect_pin7 - create_generated_clock9 - create_voltage_area10 - current_design10 - current_instance10 - define_corners11 - delete_clock11 - delete_from_list11 - delete_generated_clock11 - delete_instance11 - delete_net12 - disconnect_pin12 - elapsed_run_time12 - Example Command Scripts1 - Filter Expressions80 - find_timing_paths13 - get_cells14 - get_clocks15 - get_fanin16 - get_fanout16 - get_full_name17 - get_lib_pins18 - get_libs18 - get_name20 - get_nets19 - get_pins20 - get_ports21 - get_property21 - get_timing_edges24 - group_path25 - hierarchy_separator80 - include26 - link_design26 - make_instance26 - make_net27 - Power Analysis2 - read_liberty27 - read_saif28 - read_sdc28 - read_sdf28 - read_spef29 - read_vcd31 - read_verilog31 - redirection4 - replace_activity_annotation31 - replace_cell31 - report_annotated_check32 - report_annotated_delay33 - report_check_types36 - report_checks34 - report_clock_latency37 - report_clock_min_period38 - report_clock_properties38 - report_clock_skew38 - report_dcalc39 - report_disabled_edges39 - report_edges39 - report_instance40 - report_lib_cell40 - report_net40 - report_parasitic_annotation40 - report_power41 - report_pulse_width_checks41 - report_slews42 - report_tns42 - report_units42 - report_wns43 - report_worst_slack43 - set_assigned_check43 - set_assigned_delay44 - set_assigned_transition45 - set_case_analysis46 - set_clock_gating_check46 - set_clock_groups47 - set_clock_latency47 - set_clock_transition48 - set_clock_uncertainty49 - set_cmd_units50 - set_data_check51 - set_disable_inferred_clock_gating51 - set_disable_timing51 - set_drive52 - set_driving_cell53 - set_false_path54 - set_fanout_load55 - set_hierarchy_separator55 - set_ideal_latency55 - set_ideal_network55 - set_ideal_transition55 - set_input_delay55 - set_input_transition57 - set_level_shifter_strategy57 - set_level_shifter_threshold57 - set_load57 - set_logic_dc58 - set_logic_one58 - set_logic_zero59 - set_max_area59 - set_max_capacitance59 - set_max_delay59 - set_max_dynamic_power60 - set_max_fanout60 - set_max_leakage_power60 - set_max_time_borrow60 - set_max_transition61 - set_min_capacitance61 - set_min_delay62 - set_min_pulse_width62 - set_multicycle_path63 - set_operating_conditions64 - set_output_delay65 - set_port_fanout_number66 - set_power_activity66 - set_propagated_clock67 - set_pvt67 - set_resistance69 - set_sense68 - set_timing_derate69 - set_units70 - set_wire_load_min_block_size71 - set_wire_load_mode71 - set_wire_load_model71 - set_wire_load_selection_group71 - SPEF30 - sta_bidirect_net_paths_enabled80 - sta_cond_default_arcs_enabled81 - sta_continue_on_error80 - sta_crpr_enabled81 - sta_crpr_mode81 - sta_dynamic_loop_breaking81 - sta_gated_clock_checks_enabled81 - sta_input_port_default_clock81 - sta_internal_bidirect_instance_paths_enabled81 - sta_pocv_enabled82 - sta_preset_clear_arcs_enabled82 - sta_propagate_all_clocks82 - sta_propagate_gated_clock_enable82 - sta_recovery_removal_checks_enabled82 - sta_report_default_digits82 - suppress_msg72 - TCL Interpreter3 - Timing Analysis using SDF2 - Timing Analysis with Multiple Process Corners2 - unset_case_analysis72 - unset_clock_latency72 - unset_clock_transition72 - unset_clock_uncertainty73 - unset_data_check73 - unset_disable_inferred_clock_gating74 - unset_disable_timing74 - unset_input_delay74 - unset_output_delay75 - unset_path_exceptions75 - unset_propagated_clock76 - unset_timing_derate76 - unsuppress_msg76 - user_run_time76 - Variables80 - verilog netlist31 - with_output_to_variable76 - write_path_spice77 - write_sdc77 - write_sdf78 - write_timing_model78 - write_verilog79 + all_clocks6 + all_inputs6 + all_outputs6 + all_registers6 + check_setup7 + Command Line Arguments1 + Commands6 + connect_pin7 + create_generated_clock9 + create_voltage_area10 + current_design10 + current_instance10 + define_corners11 + delete_clock11 + delete_from_list11 + delete_generated_clock11 + delete_instance11 + delete_net12 + disconnect_pin12 + elapsed_run_time12 + Example Command Scripts1 + Filter Expressions80 + find_timing_paths13 + get_cells14 + get_clocks15 + get_fanin16 + get_fanout16 + get_full_name17 + get_lib_pins18 + get_libs18 + get_name20 + get_nets19 + get_pins20 + get_ports21 + get_property21 + get_timing_edges24 + group_path25 + hierarchy_separator80 + include26 + link_design26 + make_instance26 + make_net27 + Power Analysis2 + read_liberty27 + read_saif28 + read_sdc28 + read_sdf28 + read_spef29 + read_vcd31 + read_verilog31 + redirection4 + replace_activity_annotation31 + replace_cell31 + report_annotated_check32 + report_annotated_delay33 + report_check_types36 + report_checks34 + report_clock_latency37 + report_clock_min_period38 + report_clock_properties38 + report_clock_skew38 + report_dcalc39 + report_disabled_edges39 + report_edges39 + report_instance40 + report_lib_cell40 + report_net40 + report_parasitic_annotation40 + report_power41 + report_pulse_width_checks41 + report_slews42 + report_tns42 + report_units42 + report_wns43 + report_worst_slack43 + set_assigned_check43 + set_assigned_delay44 + set_assigned_transition45 + set_case_analysis46 + set_clock_gating_check46 + set_clock_groups47 + set_clock_latency47 + set_clock_transition48 + set_clock_uncertainty49 + set_cmd_units50 + set_data_check51 + set_disable_inferred_clock_gating51 + set_disable_timing51 + set_drive52 + set_driving_cell53 + set_false_path54 + set_fanout_load55 + set_hierarchy_separator55 + set_ideal_latency55 + set_ideal_network55 + set_ideal_transition55 + set_input_delay55 + set_input_transition57 + set_level_shifter_strategy57 + set_level_shifter_threshold57 + set_load57 + set_logic_dc58 + set_logic_one58 + set_logic_zero59 + set_max_area59 + set_max_capacitance59 + set_max_delay59 + set_max_dynamic_power60 + set_max_fanout60 + set_max_leakage_power60 + set_max_time_borrow60 + set_max_transition61 + set_min_capacitance61 + set_min_delay62 + set_min_pulse_width62 + set_multicycle_path63 + set_operating_conditions64 + set_output_delay65 + set_port_fanout_number66 + set_power_activity66 + set_propagated_clock67 + set_pvt67 + set_resistance69 + set_sense68 + set_timing_derate69 + set_units70 + set_wire_load_min_block_size71 + set_wire_load_mode71 + set_wire_load_model71 + set_wire_load_selection_group71 + SPEF30 + sta_bidirect_net_paths_enabled80 + sta_cond_default_arcs_enabled81 + sta_continue_on_error80 + sta_crpr_enabled81 + sta_crpr_mode81 + sta_dynamic_loop_breaking81 + sta_gated_clock_checks_enabled81 + sta_input_port_default_clock81 + sta_internal_bidirect_instance_paths_enabled81 + sta_pocv_enabled82 + sta_preset_clear_arcs_enabled82 + sta_propagate_all_clocks82 + sta_propagate_gated_clock_enable82 + sta_recovery_removal_checks_enabled82 + sta_report_default_digits82 + suppress_msg72 + TCL Interpreter3 + Timing Analysis using SDF2 + Timing Analysis with Multiple Process Corners2 + unset_case_analysis72 + unset_clock_latency72 + unset_clock_transition72 + unset_clock_uncertainty73 + unset_data_check73 + unset_disable_inferred_clock_gating74 + unset_disable_timing74 + unset_input_delay74 + unset_output_delay75 + unset_path_exceptions75 + unset_propagated_clock76 + unset_timing_derate76 + unsuppress_msg76 + user_run_time76 + Variables80 + verilog netlist31 + with_output_to_variable76 + write_path_spice77 + write_sdc77 + write_sdf78 + write_timing_model78 + write_verilog79 - - Version 2.6.0, Sep 23, 2024Copyright (c) 2024, Parallax Software, Inc. + + Version 2.6.0, Sep 23, 2024Copyright (c) 2024, Parallax Software, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. diff --git a/doc/OpenSTA.pdf b/doc/OpenSTA.pdf index 9da64cb88d05b3696b43a88a3dcc3c8a197c9e93..62964a595afb18703d31b2406b24f4ae686d2196 100644 GIT binary patch delta 434550 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

LrB3sSYI5$Qshq&P~I!5c17#RcElfU}~O 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 XonQO-J=Tqp_3++v&%O4uAG-H{S0C5+ diff --git a/include/sta/PathGroup.hh b/include/sta/PathGroup.hh index 93424a22..cc84f9ea 100644 --- a/include/sta/PathGroup.hh +++ b/include/sta/PathGroup.hh @@ -53,6 +53,7 @@ public: int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, const MinMax *min_max, const StaState *sta); // Path group that compares arrival time, sorted by min_max. @@ -60,6 +61,7 @@ public: int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, float min_slack, float max_slack, const StaState *sta); @@ -83,6 +85,7 @@ protected: size_t group_path_count, size_t endpoint_path_count, bool unique_pins, + bool unique_edges, float min_slack, float max_slack, bool cmp_slack, @@ -96,6 +99,7 @@ protected: size_t group_path_count_; size_t endpoint_path_count_; bool unique_pins_; + bool unique_edges_; float slack_min_; float slack_max_; PathEndSeq path_ends_; @@ -112,6 +116,7 @@ public: PathGroups(int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, PathGroupNameSet *group_names, @@ -148,6 +153,7 @@ protected: int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, const Corner *corner, const MinMaxAll *min_max); void makeGroupPathEnds(ExceptionTo *to, @@ -162,6 +168,7 @@ protected: int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, bool cmp_slack); void pushGroupPathEnds(PathEndSeq &path_ends); @@ -171,6 +178,7 @@ protected: void makeGroups(int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, PathGroupNameSet *group_names, @@ -185,6 +193,7 @@ protected: int group_path_count_; int endpoint_path_count_; bool unique_pins_; + bool unique_edges_; float slack_min_; float slack_max_; diff --git a/include/sta/Search.hh b/include/sta/Search.hh index cc3eb057..9e925d1b 100644 --- a/include/sta/Search.hh +++ b/include/sta/Search.hh @@ -105,6 +105,7 @@ public: size_t group_path_count, size_t endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, bool sort_by_slack, @@ -169,18 +170,6 @@ public: PathGroupSeq pathGroups(const PathEnd *path_end) const; void deletePathGroups(); - void makePathGroups(int group_path_count, - int endpoint_path_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); virtual ExceptionPath *exceptionTo(ExceptionPathType type, const Path *path, const Pin *pin, diff --git a/include/sta/Sta.hh b/include/sta/Sta.hh index c73f1038..6f29c7ac 100644 --- a/include/sta/Sta.hh +++ b/include/sta/Sta.hh @@ -821,9 +821,12 @@ public: // Number of paths to report for // each endpoint. int endpoint_path_count, - // endpoint_path_count paths report unique pins - // without rise/fall variations. + // endpoint_path_count paths report paths with + // unique pins. bool unique_pins, + // endpoint_path_count paths report paths with + // unique pins and rise/fall edges. + bool unique_edges, // Min/max bounds for slack of // returned path ends. float slack_min, diff --git a/search/PathEnum.cc b/search/PathEnum.cc index bce85521..07293827 100644 --- a/search/PathEnum.cc +++ b/search/PathEnum.cc @@ -48,6 +48,7 @@ namespace sta { // after_div<--------+ // | // <--...--before_div<--...--path<---path_end +// class Diversion { public: @@ -105,6 +106,7 @@ deleteDiversionPathEnd(Diversion *div) PathEnum::PathEnum(size_t group_path_count, size_t endpoint_path_count, bool unique_pins, + bool unique_edges, bool cmp_slack, const StaState *sta) : StaState(sta), @@ -112,6 +114,7 @@ PathEnum::PathEnum(size_t group_path_count, group_path_count_(group_path_count), endpoint_path_count_(endpoint_path_count), unique_pins_(unique_pins), + unique_edges_(unique_edges), div_queue_(DiversionGreater(sta)), div_count_(0), inserts_pruned_(false), @@ -230,6 +233,7 @@ PathEnum::reportDiversionPath(Diversion *div) //////////////////////////////////////////////////////////////// typedef std::set> VisitedFanins; +typedef std::pair VertexEdge; class PathEnumFaninVisitor : public PathVisitor { @@ -237,6 +241,7 @@ public: PathEnumFaninVisitor(PathEnd *path_end, Path *before_div, bool unique_pins, + bool unique_edges, PathEnum *path_enum); virtual VertexVisitor *copy() const override; void visitFaninPathsThru(Path *before_div, @@ -271,6 +276,7 @@ private: const Pin *to_pin, Vertex *to_vertex) override; virtual void visit(Vertex *) override {} // Not used. + void insertUniqueEdgeDiv(Diversion *div); void reportDiversion(const Edge *edge, const TimingArc *div_arc, Path *after_div); @@ -278,6 +284,7 @@ private: PathEnd *path_end_; Path *before_div_; bool unique_pins_; + bool unique_edges_; PathEnum *path_enum_; Slack path_end_slack_; @@ -289,16 +296,19 @@ private: Vertex *prev_vertex_; bool crpr_active_; VisitedFanins visited_fanins_; + std::map unique_edge_divs_; }; PathEnumFaninVisitor::PathEnumFaninVisitor(PathEnd *path_end, Path *before_div, bool unique_pins, + bool unique_edges, PathEnum *path_enum) : PathVisitor(path_enum), path_end_(path_end), before_div_(before_div), unique_pins_(unique_pins), + unique_edges_(unique_edges), path_enum_(path_enum), path_end_slack_(path_end->slack(this)), @@ -310,6 +320,13 @@ PathEnumFaninVisitor::PathEnumFaninVisitor(PathEnd *path_end, { } +VertexVisitor * +PathEnumFaninVisitor::copy() const +{ + return new PathEnumFaninVisitor(path_end_, before_div_, unique_pins_, + unique_edges_, path_enum_); +} + void PathEnumFaninVisitor::visitFaninPathsThru(Path *before_div, Vertex *prev_vertex, @@ -324,7 +341,13 @@ PathEnumFaninVisitor::visitFaninPathsThru(Path *before_div, prev_arc_ = prev_arc; prev_vertex_ = prev_vertex; visited_fanins_.clear(); + unique_edge_divs_.clear(); visitFaninPaths(before_div_->vertex(this)); + + if (unique_edges_) { + for (auto [vertex_edge, div] : unique_edge_divs_) + path_enum_->insert(div); + } } // Specialize PathVisitor::visitEdge to filter paths/arcs to @@ -342,13 +365,15 @@ PathEnumFaninVisitor::visitEdge(const Pin *from_pin, VertexPathIterator from_iter(from_vertex, search_); while (from_iter.hasNext()) { Path *from_path = from_iter.next(); + // Filter paths by path ap. PathAnalysisPt *path_ap = from_path->pathAnalysisPt(this); if (path_ap->index() == before_div_ap_index_) { const MinMax *min_max = path_ap->pathMinMax(); const RiseFall *from_rf = from_path->transition(this); TimingArc *arc1, *arc2; arc_set->arcsFrom(from_rf, arc1, arc2); - if (arc1 && arc1->toEdge()->asRiseFall()->index() == before_div_rf_index_) { + // Filter arcs by to edge. + if (arc1 && arc1->toEdge()->asRiseFall()->index() == before_div_rf_index_) { if (!visitArc(from_pin, from_vertex, from_rf, from_path, edge, arc1, to_pin, to_vertex, min_max, path_ap)) @@ -366,13 +391,6 @@ PathEnumFaninVisitor::visitEdge(const Pin *from_pin, return true; } -VertexVisitor * -PathEnumFaninVisitor::copy() const -{ - return new PathEnumFaninVisitor(path_end_, before_div_, unique_pins_, - path_enum_); -} - bool PathEnumFaninVisitor::visitFromToPath(const Pin *, Vertex *from_vertex, @@ -393,42 +411,49 @@ PathEnumFaninVisitor::visitFromToPath(const Pin *, // These paths fanin to before_div_ so we know to_vertex matches. if ((!unique_pins_ || from_vertex != prev_vertex_) && arc != prev_arc_ - && Tag::matchNoCrpr(to_tag, before_div_tag_)) { + && Tag::matchNoCrpr(to_tag, before_div_tag_) + // Ignore paths that only differ by crpr from same vertex/edge. + && (!crpr_active_ + || visited_fanins_.find({from_vertex, arc}) == visited_fanins_.end())) { debugPrint(debug_, "path_enum", 3, "visit fanin %s -> %s %s %s", from_path->to_string(this).c_str(), to_vertex->to_string(this).c_str(), to_rf->to_string().c_str(), delayAsString(search_->deratedDelay(from_vertex, arc, edge, false,path_ap), this)); - if (crpr_active_) { - // Ingore paths that only differ by crpr from same vertex/edge. - if (visited_fanins_.find({from_vertex, arc}) == visited_fanins_.end()) { - PathEnd *div_end; - Path *after_div_copy; - // Make the diverted path end to check slack with from_path crpr. - makeDivertedPathEnd(from_path, edge, arc, div_end, after_div_copy); - if (div_end) { - reportDiversion(edge, arc, from_path); - path_enum_->makeDiversion(div_end, after_div_copy); - visited_fanins_.emplace(from_vertex, arc); - } - } - else - debugPrint(debug_, "path_enum", 3, " pruned %s %s", - edge->to_string(this).c_str(), - arc->to_string().c_str()); - } - else { - PathEnd *div_end; - Path *after_div_copy; - makeDivertedPathEnd(from_path, edge, arc, div_end, after_div_copy); - reportDiversion(edge, arc, from_path); - path_enum_->makeDiversion(div_end, after_div_copy); - } + PathEnd *div_end; + Path *after_div_copy; + // Make the diverted path end to check slack with from_path crpr. + makeDivertedPathEnd(from_path, edge, arc, div_end, after_div_copy); + reportDiversion(edge, arc, from_path); + Diversion *div = new Diversion(div_end, after_div_copy); + if (unique_edges_) + insertUniqueEdgeDiv(div); + else + path_enum_->insert(div); + if (crpr_active_) + visited_fanins_.emplace(from_vertex, arc); } + else + debugPrint(debug_, "path_enum", 3, " pruned %s %s", + edge->to_string(this).c_str(), + arc->to_string().c_str()); return true; } +void +PathEnumFaninVisitor::insertUniqueEdgeDiv(Diversion *div) +{ + Slack div_slack = div->pathEnd()->slack(this); + const Path *div_path = div->divPath(); + const Vertex *div_vertex = div_path->vertex(this); + const RiseFall *div_rf = div_path->transition(this); + auto itr = unique_edge_divs_.find({div_vertex, div_rf}); + if (itr == unique_edge_divs_.end() + || div_slack > itr->second->pathEnd()->slack(this)) + itr->second = div; +} + void PathEnumFaninVisitor::makeDivertedPathEnd(Path *after_div, Edge *div_edge, @@ -440,12 +465,8 @@ PathEnumFaninVisitor::makeDivertedPathEnd(Path *after_div, Path *div_path; path_enum_->makeDivertedPath(path_end_->path(), before_div_, after_div, div_edge, div_arc, div_path, after_div_copy); - if (after_div_copy) { - div_end = path_end_->copy(); - div_end->setPath(div_path); - } - else - div_end = nullptr; + div_end = path_end_->copy(); + div_end->setPath(div_path); } void @@ -476,21 +497,11 @@ PathEnumFaninVisitor::reportDiversion(const Edge *div_edge, } } -// A diversion is an alternate path formed by changing the previous -// path/arc of before_div to after_div/div_arc in path. -// -// div_arc -// after_div<--------+ -// | -// <--...--before_div<--...--path<---path_end void -PathEnum::makeDiversion(PathEnd *div_end, - Path *after_div_copy) +PathEnum::insert(Diversion *div) { - Diversion *div = new Diversion(div_end, after_div_copy); div_queue_.push(div); div_count_++; - if (div_queue_.size() > group_path_count_ * 2) // We have more potenial paths than we will need. pruneDiversionQueue(); @@ -550,7 +561,7 @@ PathEnum::divSlack(Path *before_div, } } else { - report()->error(1370, "path diversion missing edge."); + report_->error(1370, "path diversion missing edge."); return 0.0; } } @@ -564,7 +575,8 @@ PathEnum::makeDiversions(PathEnd *path_end, Path *path = before; Path *prev_path = path->prevPath(); TimingArc *prev_arc = path->prevArc(this); - PathEnumFaninVisitor fanin_visitor(path_end, path, unique_pins_, this); + PathEnumFaninVisitor fanin_visitor(path_end, path, unique_pins_, + unique_edges_, this); while (prev_path) { // Fanin visitor does all the work. // While visiting the fanins the fanin_visitor finds the diff --git a/search/PathEnum.hh b/search/PathEnum.hh index b48b0d32..1f13f1e9 100644 --- a/search/PathEnum.hh +++ b/search/PathEnum.hh @@ -61,6 +61,7 @@ public: PathEnum(size_t group_path_count, size_t endpoint_path_count, bool unique_pins, + bool unique_edges, bool cmp_slack, const StaState *sta); // Insert path ends that are enumerated in slack/arrival order. @@ -72,8 +73,7 @@ public: private: void makeDiversions(PathEnd *path_end, Path *before); - void makeDiversion(PathEnd *div_end, - Path *after_div_copy); + void insert(Diversion *div); void makeDivertedPath(Path *path, Path *before_div, Path *after_div, @@ -97,6 +97,7 @@ private: size_t group_path_count_; size_t endpoint_path_count_; bool unique_pins_; + bool unique_edges_; DiversionQueue div_queue_; int div_count_; // Number of paths returned for each endpoint (limit to endpoint_path_count). diff --git a/search/PathGroup.cc b/search/PathGroup.cc index 019269ff..3ce7443a 100644 --- a/search/PathGroup.cc +++ b/search/PathGroup.cc @@ -53,12 +53,14 @@ PathGroup::makePathGroupSlack(const char *name, int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, const StaState *sta) { - return new PathGroup(name, group_path_count, endpoint_path_count, unique_pins, - slack_min, slack_max, true, MinMax::min(), sta); + return new PathGroup(name, group_path_count, endpoint_path_count, + unique_pins, unique_edges, slack_min, slack_max, + true, MinMax::min(), sta); } PathGroup * @@ -66,17 +68,20 @@ PathGroup::makePathGroupArrival(const char *name, int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, const MinMax *min_max, const StaState *sta) { - return new PathGroup(name, group_path_count, endpoint_path_count, unique_pins, - 0.0, 0.0, false, min_max, sta); + return new PathGroup(name, group_path_count, endpoint_path_count, + unique_pins, unique_edges, 0.0, 0.0, + false, min_max, sta); } PathGroup::PathGroup(const char *name, size_t group_path_count, size_t endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, bool cmp_slack, @@ -86,6 +91,7 @@ PathGroup::PathGroup(const char *name, group_path_count_(group_path_count), endpoint_path_count_(endpoint_path_count), unique_pins_(unique_pins), + unique_edges_(unique_edges), slack_min_(slack_min), slack_max_(slack_max), min_max_(min_max), @@ -252,6 +258,7 @@ const char *PathGroups::unconstrained_group_name_ = "unconstrained"; PathGroups::PathGroups(int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, PathGroupNameSet *group_names, @@ -267,14 +274,15 @@ PathGroups::PathGroups(int group_path_count, group_path_count_(group_path_count), endpoint_path_count_(endpoint_path_count), unique_pins_(unique_pins), + unique_edges_(unique_edges), slack_min_(slack_min), slack_max_(slack_max) { - makeGroups(group_path_count, endpoint_path_count, unique_pins, + makeGroups(group_path_count, endpoint_path_count, unique_pins, unique_edges, slack_min, slack_max, group_names, setup, recovery, clk_gating_setup, unconstrained, MinMax::max()); - makeGroups(group_path_count, endpoint_path_count, unique_pins, + makeGroups(group_path_count, endpoint_path_count, unique_pins, unique_edges, slack_min, slack_max, group_names, hold, removal, clk_gating_hold, unconstrained, MinMax::min()); @@ -284,6 +292,7 @@ void PathGroups::makeGroups(int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, PathGroupNameSet *group_names, @@ -301,6 +310,7 @@ PathGroups::makeGroups(int group_path_count, group_path_count, endpoint_path_count, unique_pins, + unique_edges, slack_min, slack_max, this); named_map_[mm_index][name] = group; @@ -314,6 +324,7 @@ PathGroups::makeGroups(int group_path_count, group_path_count, endpoint_path_count, unique_pins, + unique_edges, slack_min, slack_max, this); clk_map_[mm_index][clk] = group; @@ -327,6 +338,7 @@ PathGroups::makeGroups(int group_path_count, group_path_count, endpoint_path_count, unique_pins, + unique_edges, slack_min, slack_max, this); else @@ -338,6 +350,7 @@ PathGroups::makeGroups(int group_path_count, group_path_count, endpoint_path_count, unique_pins, + unique_edges, slack_min, slack_max, this); else @@ -349,6 +362,7 @@ PathGroups::makeGroups(int group_path_count, group_path_count, endpoint_path_count, unique_pins, + unique_edges, slack_min, slack_max, this); else @@ -359,7 +373,7 @@ PathGroups::makeGroups(int group_path_count, unconstrained_[mm_index] = PathGroup::makePathGroupArrival(unconstrained_group_name_, group_path_count, endpoint_path_count, - unique_pins, min_max, this); + unique_pins, unique_edges, min_max, this); else unconstrained_[mm_index] = nullptr; } @@ -576,8 +590,8 @@ PathGroups::makePathEnds(ExceptionTo *to, bool sort_by_slack) { Stats stats(debug_, report_); - makeGroupPathEnds(to, group_path_count_, endpoint_path_count_, unique_pins_, - corner, min_max); + makeGroupPathEnds(to, group_path_count_, endpoint_path_count_, + unique_pins_, unique_edges_, corner, min_max); PathEndSeq path_ends; pushGroupPathEnds(path_ends); @@ -805,6 +819,7 @@ PathGroups::makeGroupPathEnds(ExceptionTo *to, int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, const Corner *corner, const MinMaxAll *min_max) { @@ -822,27 +837,33 @@ PathGroups::makeGroupPathEnds(ExceptionTo *to, const char *name = name_group.first; PathGroup *group = findPathGroup(name, path_min_max); if (group) - enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true); + enumPathEnds(group, group_path_count, endpoint_path_count, + unique_pins, unique_edges, true); } for (auto clk : sdc_->clks()) { PathGroup *group = findPathGroup(clk, path_min_max); if (group) - enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true); + enumPathEnds(group, group_path_count, endpoint_path_count, + unique_pins, unique_edges, true); } PathGroup *group = unconstrained_[mm_index]; if (group) - enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, false); + enumPathEnds(group, group_path_count, endpoint_path_count, + unique_pins, unique_edges, false); group = path_delay_[mm_index]; if (group) - enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true); + enumPathEnds(group, group_path_count, endpoint_path_count, + unique_pins, unique_edges, true); group = gated_clk_[mm_index]; if (group) - enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true); + enumPathEnds(group, group_path_count, endpoint_path_count, + unique_pins, unique_edges, true); group = async_[mm_index]; if (group) - enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true); + enumPathEnds(group, group_path_count, endpoint_path_count, + unique_pins, unique_edges, true); } } } @@ -852,12 +873,13 @@ PathGroups::enumPathEnds(PathGroup *group, int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, bool cmp_slack) { // Insert the worst max_path path ends in the group into a path // enumerator. PathEnum path_enum(group_path_count, endpoint_path_count, - unique_pins, cmp_slack, this); + unique_pins, unique_edges, cmp_slack, this); PathGroupIterator *end_iter = group->iterator(); while (end_iter->hasNext()) { PathEnd *end = end_iter->next(); diff --git a/search/Search.cc b/search/Search.cc index a05bebc9..e6e02fdb 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -450,6 +450,7 @@ Search::findPathEnds(ExceptionFrom *from, size_t group_path_count, size_t endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, bool sort_by_slack, @@ -466,11 +467,15 @@ Search::findPathEnds(ExceptionFrom *from, recovery = removal = false; if (!variables_->gatedClkChecksEnabled()) clk_gating_setup = clk_gating_hold = false; - makePathGroups(group_path_count, endpoint_path_count, unique_pins, - slack_min, slack_max, - group_names, setup, hold, - recovery, removal, - clk_gating_setup, 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); ensureDownstreamClkPins(); PathEndSeq path_ends = path_groups_->makePathEnds(to, unconstrained_paths_, corner, min_max, @@ -4126,31 +4131,6 @@ Search::wnsSlack(Vertex *vertex, //////////////////////////////////////////////////////////////// -void -Search::makePathGroups(int group_path_count, - int endpoint_path_count, - bool unique_pins, - 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, - slack_min, slack_max, - group_names, - setup, hold, - recovery, removal, - clk_gating_setup, clk_gating_hold, - unconstrained_paths_, - this); -} - void Search::deletePathGroups() { diff --git a/search/Search.i b/search/Search.i index 1d0efdd6..9be59d15 100644 --- a/search/Search.i +++ b/search/Search.i @@ -372,6 +372,7 @@ find_path_ends(ExceptionFrom *from, int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, bool sort_by_slack, @@ -387,7 +388,7 @@ find_path_ends(ExceptionFrom *from, PathEndSeq ends = sta->findPathEnds(from, thrus, to, unconstrained, corner, delay_min_max, group_path_count, endpoint_path_count, - unique_pins, + unique_pins, unique_edges, slack_min, slack_max, sort_by_slack, groups->size() ? groups : nullptr, diff --git a/search/Search.tcl b/search/Search.tcl index 10480194..ba5acba4 100644 --- a/search/Search.tcl +++ b/search/Search.tcl @@ -102,6 +102,7 @@ define_cmd_args "find_timing_paths" \ [-group_path_count path_count] \ [-endpoint_path_count path_count]\ [-unique_paths_to_endpoint]\ + [-unique_edges_to_endpoint]\ [-slack_max slack_max]\ [-slack_min slack_min]\ [-sort_by_slack]\ @@ -121,7 +122,9 @@ proc find_timing_paths_cmd { cmd args_var } { -path_delay -corner -group_count -endpoint_count \ -group_path_count -endpoint_path_count \ -slack_max -slack_min -path_group} \ - flags {-unconstrained -sort_by_slack -unique_paths_to_endpoint} 0 + flags {-unconstrained -sort_by_slack \ + -unique_paths_to_endpoint \ + -unique_edges_to_endpoint} 0 set min_max "max" set end_rf "rise_fall" @@ -195,6 +198,7 @@ proc find_timing_paths_cmd { cmd args_var } { } set unique_pins [info exists flags(-unique_paths_to_endpoint)] + set unique_edges [info exists flags(-unique_edges_to_endpoint)] set slack_min "-1e+30" if [info exist keys(-slack_min)] { @@ -229,7 +233,8 @@ proc find_timing_paths_cmd { cmd args_var } { set path_ends [find_path_ends $from $thrus $to $unconstrained \ $corner $min_max \ - $group_path_count $endpoint_path_count $unique_pins \ + $group_path_count $endpoint_path_count \ + $unique_pins $unique_edges \ $slack_min $slack_max \ $sort_by_slack $groups \ 1 1 1 1 1 1] @@ -574,7 +579,7 @@ proc_redirect report_check_types { set slack_max $sta::float_inf } set path_ends [find_path_ends "NULL" {} "NULL" 0 \ - $corner $path_min_max $group_path_count 1 0 \ + $corner $path_min_max $group_path_count 1 1 0 \ $slack_min $slack_max \ 0 {} \ $setup $hold \ diff --git a/search/Sta.cc b/search/Sta.cc index 7c0b67f7..75c1c26a 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -2464,6 +2464,7 @@ Sta::findPathEnds(ExceptionFrom *from, int group_path_count, int endpoint_path_count, bool unique_pins, + bool unique_edges, float slack_min, float slack_max, bool sort_by_slack, @@ -2477,8 +2478,10 @@ Sta::findPathEnds(ExceptionFrom *from, { searchPreamble(); return search_->findPathEnds(from, thrus, to, unconstrained, - corner, min_max, group_path_count, endpoint_path_count, - unique_pins, slack_min, slack_max, + corner, min_max, group_path_count, + endpoint_path_count, + unique_pins, unique_edges, + slack_min, slack_max, sort_by_slack, group_names, setup, hold, recovery, removal, @@ -2727,8 +2730,10 @@ Sta::findGroupPathPins(const char *group_path_name) nullptr, nullptr, nullptr, false, // corner, min_max, nullptr, MinMaxAll::max(), - // group_path_count, endpoint_path_count, unique_pins - 1, 1, false, + // group_path_count, endpoint_path_count + 1, 1, + // unique_pins, unique_edges + true, true, -INF, INF, // slack_min, slack_max, false, // sort_by_slack nullptr, // group_names From 28812daf2092e0eaf4f98a7afd1435ff304dd593 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Tue, 4 Nov 2025 16:50:54 -0700 Subject: [PATCH 6/8] leak Signed-off-by: James Cherry --- sdc/Sdc.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/sdc/Sdc.cc b/sdc/Sdc.cc index 8bdddd34..b10a7add 100644 --- a/sdc/Sdc.cc +++ b/sdc/Sdc.cc @@ -4894,6 +4894,7 @@ Sdc::deleteExceptions() path_delay_internal_from_break_.clear(); path_delay_internal_to_.clear(); path_delay_internal_to_break_.clear(); + pin_exceptions_.deleteContentsClear(); deleteExceptionPtHashMapSets(exception_merge_hash_); exception_merge_hash_.clear(); From 10a3cdc4d10e8aac238e16e417a1427e94b4fbb2 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Tue, 4 Nov 2025 16:57:28 -0700 Subject: [PATCH 7/8] Exception::delete* hash update resolves #325 Signed-off-by: James Cherry --- include/sta/Sdc.hh | 2 +- sdc/ExceptionPath.cc | 57 +++++++++++++++++++++++++++++--------------- 2 files changed, 39 insertions(+), 20 deletions(-) diff --git a/include/sta/Sdc.hh b/include/sta/Sdc.hh index 4b09a1a4..84914596 100644 --- a/include/sta/Sdc.hh +++ b/include/sta/Sdc.hh @@ -144,7 +144,7 @@ typedef UnorderedMap EdgeExceptionsMap; typedef Vector ExceptionThruSeq; typedef Map InputDriveMap; -typedef Map > ExceptionPathPtHash; +typedef Map > ExceptionPathPtHash; typedef Set ClockLatencies; typedef Map PinClockUncertaintyMap; typedef Set InterClockUncertaintySet; diff --git a/sdc/ExceptionPath.cc b/sdc/ExceptionPath.cc index 6eec647f..2d4ccbf3 100644 --- a/sdc/ExceptionPath.cc +++ b/sdc/ExceptionPath.cc @@ -630,7 +630,8 @@ FalsePath::overrides(ExceptionPath *exception) const //////////////////////////////////////////////////////////////// -LoopPath::LoopPath(ExceptionThruSeq *thrus, bool own_pts) : +LoopPath::LoopPath(ExceptionThruSeq *thrus, + bool own_pts) : FalsePath(nullptr, thrus, nullptr, MinMaxAll::all(), own_pts, falsePathPriority() + fromThruToPriority(nullptr, thrus, nullptr), nullptr) @@ -1128,9 +1129,12 @@ ExceptionFromTo::deletePin(const Pin *pin, const Network *network) { if (pins_) { - pins_->erase(pin); - // Incrementally update hash. - hash_ -= network->id(pin) * hash_pin; + auto itr = pins_->find(pin); + if (itr != pins_->end()) { + pins_->erase(itr); + // Incrementally update hash. + hash_ -= network->id(pin) * hash_pin; + } } } @@ -1138,9 +1142,12 @@ void ExceptionFromTo::deleteClock(Clock *clk) { if (clks_) { - clks_->erase(clk); - // Incrementally update hash. - hash_ -= clk->index() * hash_clk; + auto itr = clks_->find(clk); + if (itr != clks_->end()) { + clks_->erase(itr); + // Incrementally update hash. + hash_ -= clk->index() * hash_clk; + } } } @@ -1149,9 +1156,12 @@ ExceptionFromTo::deleteInstance(const Instance *inst, const Network *network) { if (insts_) { - insts_->erase(inst); - // Incrementally update hash. - hash_ -= network->id(inst) * hash_inst; + auto itr = insts_->find(inst); + if (itr != insts_->end()) { + insts_->erase(itr); + // Incrementally update hash. + hash_ -= network->id(inst) * hash_inst; + } } } @@ -1782,9 +1792,12 @@ ExceptionThru::deletePin(const Pin *pin, const Network *network) { if (pins_) { - pins_->erase(pin); - // Incrementally update hash. - hash_ -= network->id(pin) * hash_pin; + auto itr = pins_->find(pin); + if (itr != pins_->end()) { + pins_->erase(itr); + // Incrementally update hash. + hash_ -= network->id(pin) * hash_pin; + } } } @@ -1793,9 +1806,12 @@ ExceptionThru::deleteNet(const Net *net, const Network *network) { if (nets_) { - nets_->erase(net); - // Incrementally update hash. - hash_ -= network->id(net) * hash_net; + auto itr = nets_->find(net); + if (itr != nets_->end()) { + nets_->erase(itr); + // Incrementally update hash. + hash_ -= network->id(net) * hash_net; + } } } @@ -1804,9 +1820,12 @@ ExceptionThru::deleteInstance(const Instance *inst, const Network *network) { if (insts_) { - insts_->erase(inst); - // Incrementally update hash. - hash_ -= network->id(inst) * hash_inst; + auto itr = insts_->find(inst); + if (itr != insts_->end()) { + insts_->erase(itr); + // Incrementally update hash. + hash_ -= network->id(inst) * hash_inst; + } } } From 79d8a5ecb32e9b6b02fe311ed29e6a652c407cf6 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Wed, 5 Nov 2025 11:42:38 -0700 Subject: [PATCH 8/8] report_checks before report_skew with gated clk Signed-off-by: James Cherry --- search/ClkSkew.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/search/ClkSkew.cc b/search/ClkSkew.cc index 0c8cabcb..eb32989c 100644 --- a/search/ClkSkew.cc +++ b/search/ClkSkew.cc @@ -421,7 +421,8 @@ ClkSkews::findClkSkew(Vertex *src_vertex, while (src_iter.hasNext()) { Path *src_path = src_iter.next(); const Clock *src_clk = src_path->clock(this); - if (src_rf->matches(src_path->transition(this)) + if (src_path->isClock(this) + && src_rf->matches(src_path->transition(this)) && src_path->minMax(this) == setup_hold_ && clk_set_.find(src_clk) != clk_set_.end()) { Corner *src_corner = src_path->pathAnalysisPt(this)->corner();

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%0D$mq8oCb~)_pKv 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