From 900116cf72f2028966d16a7fd0bf3955c758f106 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Wed, 1 Jul 2026 08:12:34 -0700 Subject: [PATCH 01/14] comment Signed-off-by: James Cherry --- include/sta/Sta.hh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/sta/Sta.hh b/include/sta/Sta.hh index da5da08b..bf482f55 100644 --- a/include/sta/Sta.hh +++ b/include/sta/Sta.hh @@ -947,6 +947,11 @@ public: // from/thrus/to are owned and deleted by Search. // PathEnds in the returned PathEndSeq are owned by Search PathGroups // and deleted on next call. + // + // IMPORTANT: THIS IS NOT THE DROID YOU ARE LOOKING FOR. + // This function is specifically designed to support the many options + // and results of timing reports. It is NOT a good option to find paths + // for optimization. PathEndSeq findPathEnds(ExceptionFrom *from, ExceptionThruSeq *thrus, ExceptionTo *to, From 2c866d5f2d56267842ce21920bc3261a72ae5638 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Sat, 4 Jul 2026 09:04:31 -0700 Subject: [PATCH 02/14] bfs update kahns prep commit 4075953c9798444b9d5275f8fa0320f74b9bf1ef Author: James Cherry Date: Sat Jul 4 09:00:48 2026 -0700 bfs resort hasNext Signed-off-by: James Cherry commit 4fb0dd19e479f507935129fe940bcd1cf93b29d0 Author: James Cherry Date: Thu Jul 2 12:23:54 2026 -0700 ApiChanges Signed-off-by: James Cherry commit 510afbc1403c9fd2b764b4f3a71dddabd696f052 Author: James Cherry Date: Thu Jul 2 11:07:44 2026 -0700 bfs enqueueFanin/out Signed-off-by: James Cherry commit 9a5aa570e910c289b276a519bdf532dfa2e28c5f Author: James Cherry Date: Thu Jul 2 10:41:27 2026 -0700 Revert "bfs continueFrom/enqueueFanin/out" This reverts commit d18498c947a7df2b615fafda38fbdbe8033eca9d. commit 02a253ab252f6637cfea29bdd788cb25da16813d Author: James Cherry Date: Thu Jul 2 08:21:49 2026 -0700 Revert "Bfs rm search_pred" This reverts commit d858b3380b5e1d81ff6162b6378672a6099a246f. commit 0adf03613d91c5774545d12cba1dc52052ca732a Author: James Cherry Date: Thu Jul 2 08:08:04 2026 -0700 Genclks::ensureMaster Signed-off-by: James Cherry commit 089b373c548b77f9189a2617c3168867de620dfe Author: James Cherry Date: Wed Jul 1 17:50:43 2026 -0700 Search::ensureDownstreamClkPins() use dfs Signed-off-by: James Cherry commit 000ca16adb9bdcb92266e5f242629bc3e8612658 Author: James Cherry Date: Wed Jul 1 10:03:57 2026 -0700 ApiChangeLog Signed-off-by: James Cherry commit d858b3380b5e1d81ff6162b6378672a6099a246f Author: James Cherry Date: Wed Jul 1 09:56:53 2026 -0700 Bfs rm search_pred Signed-off-by: James Cherry commit d18498c947a7df2b615fafda38fbdbe8033eca9d Author: James Cherry Date: Wed Jul 1 08:07:15 2026 -0700 bfs continueFrom/enqueueFanin/out Signed-off-by: James Cherry commit a8c55b12b3ad7a1041766775727ad758ae8c6d18 Author: James Cherry Date: Tue Jun 30 10:07:46 2026 -0700 bfs continue Signed-off-by: James Cherry commit 8530dcd86b7ee736f1858143c3b2cee57cdbc991 Author: James Cherry Date: Tue Jun 30 07:15:28 2026 -0700 Graph::visitFanin/out uninline edge iter Signed-off-by: James Cherry commit 1ba1f4576f4b72c64db742369a63dcf8726ba002 Author: James Cherry Date: Mon Jun 29 21:09:17 2026 -0700 BfsIterator rm Iterator subclass Signed-off-by: James Cherry commit b3ddd2580298958ad6da8225ecac0d255315504c Author: James Cherry Date: Mon Jun 29 20:15:23 2026 -0700 ClkNetwork::findClkPins use VertexQueue instead of bfs Signed-off-by: James Cherry commit 9e73154db48a7301be4039a25aec1fef589ef18a Author: James Cherry Date: Mon Jun 29 18:39:39 2026 -0700 Search::ensureDownstreamClkPins use VertexQueue Signed-off-by: James Cherry commit 9cd1b160e126ccacc47375ef508fdbb580bfa162 Author: James Cherry Date: Mon Jun 29 11:18:03 2026 -0700 comment Signed-off-by: James Cherry commit 0baf3838e2b8faa5fea560b0c95431b277631fea Author: James Cherry Date: Mon Jun 29 10:57:39 2026 -0700 findClkArrivals use invalid for clk fringe Signed-off-by: James Cherry commit e82ccd10a5e4bd69e41ce889685d7a130ae79ed6 Author: James Cherry Date: Sun Jun 28 20:36:48 2026 -0700 Search::findClkArrivals Signed-off-by: James Cherry commit cb66a72686c8728141c72ceb593b8a4b895ff696 Author: James Cherry Date: Sun Jun 28 10:11:55 2026 -0700 rm Search::postponeClkFanouts Signed-off-by: James Cherry Signed-off-by: James Cherry --- dcalc/GraphDelayCalc.cc | 6 +- graph/Graph.cc | 24 ++--- include/sta/Bfs.hh | 42 ++++---- include/sta/Search.hh | 19 ++-- search/Bfs.cc | 205 ++++++++++++++++++++++++-------------- search/ClkNetwork.cc | 30 ++++-- search/Genclks.cc | 34 +++---- search/Search.cc | 215 ++++++++++++++++++++++------------------ 8 files changed, 332 insertions(+), 243 deletions(-) diff --git a/dcalc/GraphDelayCalc.cc b/dcalc/GraphDelayCalc.cc index 6c821dab..f48ee3af 100644 --- a/dcalc/GraphDelayCalc.cc +++ b/dcalc/GraphDelayCalc.cc @@ -395,7 +395,7 @@ GraphDelayCalc::seedRootSlew(Vertex *vertex, seedDrvrSlew(vertex, arc_delay_calc); else seedLoadSlew(vertex); - iter_->enqueueAdjacentVertices(vertex); + iter_->enqueueFanout(vertex); } void @@ -703,7 +703,7 @@ GraphDelayCalc::findVertexDelay(Vertex *vertex, // change when non-incremental to stride past annotations. if (!incremental_ || loadSlewsChanged(load_slews_prev, load_pin_index_map)) - iter_->enqueueAdjacentVertices(vertex); + iter_->enqueueFanout(vertex); } } else { @@ -711,7 +711,7 @@ GraphDelayCalc::findVertexDelay(Vertex *vertex, enqueueTimingChecksEdges(vertex); // Enqueue driver vertices from this input load. if (propagate) - iter_->enqueueAdjacentVertices(vertex); + iter_->enqueueFanout(vertex); } } // Bidirect port drivers are enqueued by their load vertex in diff --git a/graph/Graph.cc b/graph/Graph.cc index 589e1fa0..942e1951 100644 --- a/graph/Graph.cc +++ b/graph/Graph.cc @@ -581,9 +581,9 @@ Graph::visitFanouts(Vertex *vertex, const VertexFn &fn) { if (pred->searchFrom(vertex)) { - for (Edge *edge = this->edge(vertex->out_edges_); - edge; - edge = this->edge(edge->vertex_out_next_)) { + VertexOutEdgeIterator edge_iter(vertex, graph_); + while (edge_iter.hasNext()) { + Edge *edge = edge_iter.next(); Vertex *to_vertex = this->vertex(edge->to_); if (pred->searchThru(edge) && pred->searchTo(to_vertex)) @@ -598,9 +598,9 @@ Graph::visitFanoutEdges(Vertex *vertex, const EdgeFn &fn) { if (pred->searchFrom(vertex)) { - for (Edge *edge = this->edge(vertex->out_edges_); - edge; - edge = this->edge(edge->vertex_out_next_)) { + VertexOutEdgeIterator edge_iter(vertex, graph_); + while (edge_iter.hasNext()) { + Edge *edge = edge_iter.next(); Vertex *to_vertex = this->vertex(edge->to_); if (pred->searchThru(edge) && pred->searchTo(to_vertex)) @@ -615,9 +615,9 @@ Graph::visitFanins(Vertex *vertex, const VertexFn &fn) { if (pred->searchFrom(vertex)) { - for (Edge *edge = this->edge(vertex->in_edges_); - edge; - edge = this->edge(edge->vertex_in_next_)) { + VertexInEdgeIterator edge_iter(vertex, graph_); + while (edge_iter.hasNext()) { + Edge *edge = edge_iter.next(); Vertex *from_vertex = this->vertex(edge->from_); if (pred->searchThru(edge) && pred->searchFrom(from_vertex)) @@ -632,9 +632,9 @@ Graph::visitFaninEdges(Vertex *vertex, const EdgeFn &fn) { if (pred->searchFrom(vertex)) { - for (Edge *edge = this->edge(vertex->in_edges_); - edge; - edge = this->edge(edge->vertex_in_next_)) { + VertexOutEdgeIterator edge_iter(vertex, graph_); + while (edge_iter.hasNext()) { + Edge *edge = edge_iter.next(); Vertex *from_vertex = this->vertex(edge->from_); if (pred->searchThru(edge) && pred->searchFrom(from_vertex)) diff --git a/include/sta/Bfs.hh b/include/sta/Bfs.hh index 5c11ab1c..c0c24f1e 100644 --- a/include/sta/Bfs.hh +++ b/include/sta/Bfs.hh @@ -24,6 +24,7 @@ #pragma once +#include #include #include @@ -38,6 +39,8 @@ class SearchPred; class BfsFwdIterator; class BfsBkwdIterator; +using VertexFn = std::function; + // LevelQueue is a vector of vertex vectors indexed by logic level. using LevelQueue = std::vector; @@ -50,26 +53,23 @@ using LevelQueue = std::vector; // Vertices are marked as being in the queue by using a flag on // the vertex indexed by bfs_index. A unique flag is only needed // if the BFS in in use when other BFS's are simultaneously in use. -class BfsIterator : public StaState, - public Iterator +class BfsIterator : public StaState { public: // Make sure that the BFS queue is deep enough for the max logic level. void ensureSize(); // Reset to virgin state. void clear(); + // Apply fn to each vertex and clear. + void clear(const VertexFn &fn); [[nodiscard]] bool empty() const; // Enqueue a vertex to search from. void enqueue(Vertex *vertex); // Enqueue vertices adjacent to a vertex. - void enqueueAdjacentVertices(Vertex *vertex); - virtual void enqueueAdjacentVertices(Vertex *vertex, - const Mode *mode); + virtual void enqueueAdjacentVertices(Vertex *vertex) = 0; virtual void enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred, const Mode *mode) = 0; - virtual void enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred) = 0; + [[nodiscard]] bool inQueue(Vertex *vertex); void checkInQueue(Vertex *vertex); // Notify iterator that vertex will be deleted. @@ -77,10 +77,6 @@ public: void remove(Vertex *vertex); void reportEntries() const; - bool hasNext() override; - bool hasNext(Level to_level); - Vertex *next() override; - // Apply visitor to all vertices in the queue in level order. // Returns the number of vertices that are visited. virtual int visit(Level to_level, @@ -91,6 +87,10 @@ public: int visitParallel(Level to_level, VertexVisitor *visitor); + bool hasNext(); + bool hasNext(Level to_level); + Vertex *next(); + protected: BfsIterator(BfsIndex bfs_index, Level level_min, @@ -104,10 +104,10 @@ protected: virtual bool levelLessOrEqual(Level level1, Level level2) const = 0; virtual void incrLevel(Level &level) const = 0; - void findNext(Level to_level); void deleteEntries(); void checkLevel(Vertex *vertex, Level level); + void findNext(Level to_level); BfsIndex bfs_index_; Level level_min_; @@ -131,12 +131,13 @@ public: SearchPred *search_pred, StaState *sta); ~BfsFwdIterator() override; + void enqueueAdjacentVertices(Vertex *vertex) override; void enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred) override; - void enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred, const Mode *mode) override; using BfsIterator::enqueueAdjacentVertices; + void enqueueFanout(Vertex *vertex); + void enqueueFanout(Vertex *vertex, + const Mode *mode); protected: bool levelLessOrEqual(Level level1, @@ -153,14 +154,17 @@ public: SearchPred *search_pred, StaState *sta); ~BfsBkwdIterator() override; + void enqueueAdjacentVertices(Vertex *vertex) override; void enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred) override; - void enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred, const Mode *mode) override; using BfsIterator::enqueueAdjacentVertices; + void enqueueFanin(Vertex *vertex); + void enqueueFanin(Vertex *vertex, + const Mode *mode); protected: + void enqueueFanin(Vertex *vertex, + SearchPred *search_pred); bool levelLessOrEqual(Level level1, Level level2) const override; bool levelLess(Level level1, diff --git a/include/sta/Search.hh b/include/sta/Search.hh index 539c9895..5661a387 100644 --- a/include/sta/Search.hh +++ b/include/sta/Search.hh @@ -286,8 +286,6 @@ public: TagGroupBldr *tag_bldr); void postponeLatchDataOutputs(Vertex *vertex); void postponeArrivals(Vertex *vertex); - void enqueuePendingClkFanouts(); - void postponeClkFanouts(Vertex *vertex); void seedRequired(Vertex *vertex); void seedRequiredEnqueueFanin(Vertex *vertex); void seedInputDelayArrival(const Pin *pin, @@ -503,12 +501,12 @@ protected: bool is_segment_start, const MinMax *min_max, Scene *scene); - void seedClkVertexArrivals(); - void findClkArrivals1(); + void enqueueClkRoots(); + void enqueueInvalidClks(); - void findAllArrivals(bool thru_latches, - bool clks_only); + void findAllArrivals(bool thru_latches); void findArrivals1(Level level); + void findArrivals2(Level level); Tag *mutateTag(Tag *from_tag, const Pin *from_pin, const RiseFall *from_rf, @@ -646,12 +644,9 @@ protected: std::vector tag_group_free_indices_; std::mutex tag_group_lock_; - // Latches data outputs to queue on the next search pass. - VertexSet postponed_arrivals_; - std::mutex postponed_arrivals_lock_; - // Clock network endpoints where arrival search was suppended by findClkArrivals(). - VertexSet postponed_clk_endpoints_; - std::mutex postponed_clk_endpoints_lock_; + // Arrivals to queue on the next search pass. + VertexSet pending_arrivals_; + std::mutex pending_arrivals_lock_; VertexSet endpoints_; bool endpoints_initialized_{false}; diff --git a/search/Bfs.cc b/search/Bfs.cc index ee099344..0cf8bf37 100644 --- a/search/Bfs.cc +++ b/search/Bfs.cc @@ -70,13 +70,21 @@ BfsIterator::ensureSize() void BfsIterator::clear() +{ + clear([] (Vertex *) {}); +} + +void +BfsIterator::clear(const VertexFn &fn) { Level level = first_level_; while (levelLessOrEqual(level, last_level_)) { VertexSeq &level_vertices = queue_[level]; for (Vertex *vertex : level_vertices) { - if (vertex) + if (vertex) { vertex->setBfsInQueue(bfs_index_, false); + fn(vertex); + } } level_vertices.clear(); incrLevel(level); @@ -115,19 +123,6 @@ BfsIterator::empty() const return levelLess(last_level_, first_level_); } -void -BfsIterator::enqueueAdjacentVertices(Vertex *vertex) -{ - enqueueAdjacentVertices(vertex, search_pred_); -} - -void -BfsIterator::enqueueAdjacentVertices(Vertex *vertex, - const Mode *mode) -{ - enqueueAdjacentVertices(vertex, search_pred_, mode); -} - int BfsIterator::visit(Level to_level, VertexVisitor *visitor) @@ -217,50 +212,6 @@ BfsIterator::visitParallel(Level to_level, return visit_count; } -bool -BfsIterator::hasNext() -{ - return hasNext(last_level_); -} - -bool -BfsIterator::hasNext(Level to_level) -{ - findNext(to_level); - return levelLessOrEqual(first_level_, last_level_) - && !queue_[first_level_].empty(); -} - -Vertex * -BfsIterator::next() -{ - VertexSeq &level_vertices = queue_[first_level_]; - Vertex *vertex = level_vertices.back(); - level_vertices.pop_back(); - vertex->setBfsInQueue(bfs_index_, false); - return vertex; -} - -void -BfsIterator::findNext(Level to_level) -{ - while (levelLessOrEqual(first_level_, last_level_) - && levelLessOrEqual(first_level_, to_level)) { - VertexSeq &level_vertices = queue_[first_level_]; - // Skip null entries from deleted vertices. - while (!level_vertices.empty()) { - Vertex *vertex = level_vertices.back(); - if (vertex == nullptr) - level_vertices.pop_back(); - else { - checkLevel(vertex, first_level_); - return; - } - } - incrLevel(first_level_); - } -} - void BfsIterator::enqueue(Vertex *vertex) { @@ -340,6 +291,52 @@ BfsIterator::remove(Vertex *vertex) //////////////////////////////////////////////////////////////// +bool +BfsIterator::hasNext() +{ + return hasNext(last_level_); +} + +bool +BfsIterator::hasNext(Level to_level) +{ + findNext(to_level); + return levelLessOrEqual(first_level_, last_level_) + && !queue_[first_level_].empty(); +} + +Vertex * +BfsIterator::next() +{ + VertexSeq &level_vertices = queue_[first_level_]; + Vertex *vertex = level_vertices.back(); + level_vertices.pop_back(); + vertex->setBfsInQueue(bfs_index_, false); + return vertex; +} + +void +BfsIterator::findNext(Level to_level) +{ + while (levelLessOrEqual(first_level_, last_level_) + && levelLessOrEqual(first_level_, to_level)) { + VertexSeq &level_vertices = queue_[first_level_]; + // Skip null entries from deleted vertices. + while (!level_vertices.empty()) { + Vertex *vertex = level_vertices.back(); + if (vertex == nullptr) + level_vertices.pop_back(); + else { + checkLevel(vertex, first_level_); + return; + } + } + incrLevel(first_level_); + } +} + +//////////////////////////////////////////////////////////////// + BfsFwdIterator::BfsFwdIterator(BfsIndex bfs_index, SearchPred *search_pred, StaState *sta) : @@ -375,15 +372,46 @@ BfsFwdIterator::levelLess(Level level1, } void -BfsFwdIterator::enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred) +BfsFwdIterator::enqueueFanout(Vertex *vertex) { - if (search_pred->searchFrom(vertex)) { + if (search_pred_->searchFrom(vertex)) { VertexOutEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); Vertex *to_vertex = edge->to(graph_); - if (search_pred->searchThru(edge) && search_pred->searchTo(to_vertex)) + if (search_pred_->searchThru(edge) + && search_pred_->searchTo(to_vertex)) + enqueue(to_vertex); + } + } +} + +void +BfsFwdIterator::enqueueFanout(Vertex *vertex, + const Mode *mode) +{ + if (search_pred_->searchFrom(vertex, mode)) { + VertexOutEdgeIterator edge_iter(vertex, graph_); + while (edge_iter.hasNext()) { + Edge *edge = edge_iter.next(); + Vertex *to_vertex = edge->to(graph_); + if (search_pred_->searchThru(edge, mode) + && search_pred_->searchTo(to_vertex, mode)) + enqueue(to_vertex); + } + } +} + +void +BfsFwdIterator::enqueueAdjacentVertices(Vertex *vertex) +{ + if (search_pred_->searchFrom(vertex)) { + VertexOutEdgeIterator edge_iter(vertex, graph_); + while (edge_iter.hasNext()) { + Edge *edge = edge_iter.next(); + Vertex *to_vertex = edge->to(graph_); + if (search_pred_->searchThru(edge) + && search_pred_->searchTo(to_vertex)) enqueue(to_vertex); } } @@ -391,16 +419,15 @@ BfsFwdIterator::enqueueAdjacentVertices(Vertex *vertex, void BfsFwdIterator::enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred, const Mode *mode) { - if (search_pred->searchFrom(vertex, mode)) { + if (search_pred_->searchFrom(vertex, mode)) { VertexOutEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); Vertex *to_vertex = edge->to(graph_); - if (search_pred->searchThru(edge, mode) - && search_pred->searchTo(to_vertex, mode)) + if (search_pred_->searchThru(edge, mode) + && search_pred_->searchTo(to_vertex, mode)) enqueue(to_vertex); } } @@ -443,15 +470,15 @@ BfsBkwdIterator::levelLess(Level level1, } void -BfsBkwdIterator::enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred) +BfsBkwdIterator::enqueueAdjacentVertices(Vertex *vertex) { - if (search_pred->searchTo(vertex)) { + if (search_pred_->searchTo(vertex)) { VertexInEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); Vertex *from_vertex = edge->from(graph_); - if (search_pred->searchFrom(from_vertex) && search_pred->searchThru(edge)) + if (search_pred_->searchFrom(from_vertex) + && search_pred_->searchThru(edge)) enqueue(from_vertex); } } @@ -459,16 +486,46 @@ BfsBkwdIterator::enqueueAdjacentVertices(Vertex *vertex, void BfsBkwdIterator::enqueueAdjacentVertices(Vertex *vertex, - SearchPred *search_pred, const Mode *mode) { - if (search_pred->searchTo(vertex, mode)) { + if (search_pred_->searchTo(vertex, mode)) { + VertexInEdgeIterator edge_iter(vertex, graph_); + while (edge_iter.hasNext()) { + Edge *edge = edge_iter.next(); + Vertex *from_vertex = edge->from(graph_); + if (search_pred_->searchFrom(from_vertex, mode) + && search_pred_->searchThru(edge, mode)) + enqueue(from_vertex); + } + } +} + +void +BfsBkwdIterator::enqueueFanin(Vertex *vertex) +{ + if (search_pred_->searchTo(vertex)) { + VertexInEdgeIterator edge_iter(vertex, graph_); + while (edge_iter.hasNext()) { + Edge *edge = edge_iter.next(); + Vertex *from_vertex = edge->from(graph_); + if (search_pred_->searchFrom(from_vertex) + && search_pred_->searchThru(edge)) + enqueue(from_vertex); + } + } +} + +void +BfsBkwdIterator::enqueueFanin(Vertex *vertex, + const Mode *mode) +{ + if (search_pred_->searchTo(vertex, mode)) { VertexInEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); Vertex *from_vertex = edge->from(graph_); - if (search_pred->searchFrom(from_vertex, mode) - && search_pred->searchThru(edge, mode)) + if (search_pred_->searchFrom(from_vertex, mode) + && search_pred_->searchThru(edge, mode)) enqueue(from_vertex); } } diff --git a/search/ClkNetwork.cc b/search/ClkNetwork.cc index 93a29496..991a1821 100644 --- a/search/ClkNetwork.cc +++ b/search/ClkNetwork.cc @@ -24,7 +24,8 @@ #include "ClkNetwork.hh" -#include "Bfs.hh" +#include + #include "Debug.hh" #include "Graph.hh" #include "Mode.hh" @@ -127,7 +128,6 @@ ClkNetwork::findClkPins(bool ideal_only, { const Sdc *sdc = mode_->sdc(); ClkSearchPred srch_pred(this); - BfsFwdIterator bfs(BfsIndex::other, &srch_pred, this); for (Clock *clk : sdc->clocks()) { if (!ideal_only || !clk->isPropagated()) { @@ -136,25 +136,39 @@ ClkNetwork::findClkPins(bool ideal_only, clk_pins = new PinSet(network_); clk_pins_map_[clk] = clk_pins; } + std::queue queue; + VertexSet visited = makeVertexSet(this); + auto enqueue = [&queue, &visited] (Vertex *vertex) { + if (vertex && !visited.contains(vertex)) { + visited.insert(vertex); + queue.push(vertex); + } + }; for (const Pin *pin : clk->leafPins()) { if (!ideal_only || !sdc->isPropagatedClock(pin)) { Vertex *vertex, *bidirect_drvr_vertex; graph_->pinVertices(pin, vertex, bidirect_drvr_vertex); - bfs.enqueue(vertex); - if (bidirect_drvr_vertex) - bfs.enqueue(bidirect_drvr_vertex); + enqueue(vertex); + enqueue(bidirect_drvr_vertex); } } - while (bfs.hasNext()) { - Vertex *vertex = bfs.next(); + while (!queue.empty()) { + Vertex *vertex = queue.front(); + queue.pop(); const Pin *pin = vertex->pin(); if (!ideal_only || !sdc->isPropagatedClock(pin)) { clk_pins->insert(pin); ClockSet &pin_clks = pin_clks_map[pin]; pin_clks.insert(clk); - bfs.enqueueAdjacentVertices(vertex); + graph_->visitFanouts(vertex, &srch_pred, + [&queue, &visited] (Vertex *fanout) { + if (!visited.contains(fanout)) { + visited.insert(fanout); + queue.push(fanout); + } + }); } } } diff --git a/search/Genclks.cc b/search/Genclks.cc index 7b16a51f..2aad7074 100644 --- a/search/Genclks.cc +++ b/search/Genclks.cc @@ -271,7 +271,6 @@ Genclks::ensureMaster(Clock *gclk, // Search backward from generated clock source pin to a clock pin. GenClkMasterSearchPred srch_pred(this); VertexQueue master_queue; - VertexSet visited = makeVertexSet(this); VertexSet src_vertices = makeVertexSet(this); gclk->srcPinVertices(src_vertices, network_, graph_); for (Vertex *vertex : src_vertices) @@ -279,28 +278,25 @@ Genclks::ensureMaster(Clock *gclk, while (!master_queue.empty()) { Vertex *vertex = master_queue.front(); master_queue.pop(); - if (!visited.contains(vertex)) { - visited.insert(vertex); - Pin *pin = vertex->pin(); - if (sdc->isLeafPinClock(pin)) { - ClockSet *master_clks = sdc->findLeafPinClocks(pin); - if (master_clks) { - ClockSet::iterator master_iter = master_clks->begin(); - if (master_iter != master_clks->end()) { - master_clk = *master_iter++; - // Master source pin can actually be a clock source pin. - if (master_clk != gclk) { - gclk->setInferedMasterClk(master_clk); - debugPrint(debug_, "genclk", 2, " {} master clk {}", gclk->name(), - master_clk->name()); - master_clk_count++; - break; - } + Pin *pin = vertex->pin(); + if (sdc->isLeafPinClock(pin)) { + ClockSet *master_clks = sdc->findLeafPinClocks(pin); + if (master_clks) { + ClockSet::iterator master_iter = master_clks->begin(); + if (master_iter != master_clks->end()) { + master_clk = *master_iter++; + // Master source pin can actually be a clock source pin. + if (master_clk != gclk) { + gclk->setInferedMasterClk(master_clk); + debugPrint(debug_, "genclk", 2, " {} master clk {}", gclk->name(), + master_clk->name()); + master_clk_count++; + break; } } } - enqueueFanin(vertex, master_queue, srch_pred); } + enqueueFanin(vertex, master_queue, srch_pred); } } if (master_clk_count > 1) diff --git a/search/Search.cc b/search/Search.cc index 879c1247..6d19df6f 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -30,6 +30,7 @@ #include "Bfs.hh" #include "ClkInfo.hh" +#include "ClkNetwork.hh" #include "Clock.hh" #include "ContainerHelpers.hh" #include "Crpr.hh" @@ -263,8 +264,7 @@ Search::Search(StaState *sta) : tag_group_capacity_(tag_capacity_), tag_groups_(new TagGroup *[tag_group_capacity_]), tag_group_set_(new TagGroupSet(tag_group_capacity_)), - postponed_arrivals_(makeVertexSet(this)), - postponed_clk_endpoints_(makeVertexSet(this)), + pending_arrivals_(makeVertexSet(this)), endpoints_(makeVertexSet(this)), invalid_endpoints_(makeVertexSet(this)), @@ -328,8 +328,7 @@ Search::clear() deletePathGroups(); deletePaths(); deleteTags(); - postponed_arrivals_.clear(); - postponed_clk_endpoints_.clear(); + pending_arrivals_.clear(); deleteFilter(); found_downstream_clk_pins_ = false; } @@ -546,7 +545,7 @@ Search::findFilteredArrivals(ExceptionFrom *from, // These cases do not require filtered arrivals. // -from clocks // -to - findAllArrivals(thru_latches, false); + findAllArrivals(thru_latches); } // From/thrus/to are used to make a filter exception. If the last @@ -639,32 +638,36 @@ Search::deleteFilterClkInfos() void Search::findFilteredArrivals(bool thru_latches) { + // Search always_to_endpoint to search from exisiting arrivals at + // fanin startpoints to reach -thru/-to endpoints. + arrival_visitor_->init(true, false, eval_pred_); + arrival_iter_->ensureSize(); + filtered_arrivals_.clear(); findArrivalsSeed(); seedFilterStarts(); + Level max_level = levelize_->maxLevel(); - // Search always_to_endpoint to search from exisiting arrivals at - // fanin startpoints to reach -thru/-to endpoints. - arrival_visitor_->init(true, false, eval_pred_); - enqueuePendingClkFanouts(); - bool have_pending_latch_outputs = false; - // Iterate until data arrivals at all latches stop changing. + bool have_pending_arrivals = false; for (int pass = 1; - pass == 1 || (thru_latches && have_pending_latch_outputs); + pass == 1 || (thru_latches && have_pending_arrivals); pass++) { debugPrint(debug_, "search", 1, "find arrivals pass {}", pass); int arrival_count = arrival_iter_->visitParallel(max_level, arrival_visitor_); debugPrint(debug_, "search", 1, "found {} arrivals", arrival_count); - have_pending_latch_outputs = !postponed_arrivals_.empty(); - for (Vertex *latch_output : postponed_arrivals_) - arrival_visitor_->visit(latch_output, true); - postponed_arrivals_.clear(); + // Latch D->Q and disabled loop edges have level discontinuities so their + // eval. For latches the data path crpr clk path may be evaled in another + // thread at the same time the latch D->Q edge. + // Disabled loop edges propagate pending loop paths here. + have_pending_arrivals = !pending_arrivals_.empty(); + for (Vertex *vertex : pending_arrivals_) + arrival_visitor_->visit(vertex, true); + pending_arrivals_.clear(); deleteTagsPrev(); } - arrivals_exist_ = true; } // Delete stale tag arrarys. @@ -860,14 +863,13 @@ void Search::levelsChangedBefore() { if (arrivals_exist_) { - while (arrival_iter_->hasNext()) { - Vertex *vertex = arrival_iter_->next(); + arrival_iter_->clear([this] (Vertex *vertex) { arrivalInvalid(vertex); - } - while (required_iter_->hasNext()) { - Vertex *vertex = required_iter_->next(); + }); + + required_iter_->clear([this] (Vertex *vertex) { requiredInvalid(vertex); - } + }); } } @@ -939,11 +941,16 @@ Search::requiredInvalid(Vertex *vertex) void Search::findClkArrivals() { - findAllArrivals(false, true); + debugPrint(debug_, "search", 1, "find clk arrivals"); + arrival_visitor_->init(false, true, eval_pred_); + arrival_iter_->ensureSize(); + enqueueClkRoots(); + enqueueInvalidClks(); + findArrivals2(levelize_->maxLevel()); } void -Search::seedClkVertexArrivals() +Search::enqueueClkRoots() { PinSet clk_pins(network_); findClkVertexPins(clk_pins); @@ -954,6 +961,32 @@ Search::seedClkVertexArrivals() if (bidirect_drvr_vertex) arrival_iter_->enqueue(bidirect_drvr_vertex); } + arrivals_exist_ = true; +} + +void +Search::enqueueInvalidClks() +{ + if (!invalid_arrivals_.empty()) { + for (Mode *mode : modes_) + mode->clkNetwork()->ensureClkNetwork(); + for (auto itr = invalid_arrivals_.begin(); itr != invalid_arrivals_.end();) { + Vertex *vertex = *itr; + bool is_clk = false; + for (Mode *mode : modes_) { + if (mode->clkNetwork()->isClock(vertex)) { + is_clk = true; + break; + } + } + if (is_clk) { + arrival_iter_->enqueue(vertex); + itr = invalid_arrivals_.erase(itr); + } + else + itr++; + } + } } Arrival @@ -980,49 +1013,29 @@ Search::clockInsertion(const Clock *clk, void Search::findAllArrivals() { - findAllArrivals(true, false); + findAllArrivals(true); } void -Search::findAllArrivals(bool thru_latches, - bool clks_only) +Search::findAllArrivals(bool thru_latches) { - if (!clks_only) - enqueuePendingClkFanouts(); - arrival_visitor_->init(false, clks_only, eval_pred_); - bool have_pending_latch_outputs = false; + arrival_visitor_->init(false, false, eval_pred_); + arrival_iter_->ensureSize(); + + bool have_pending_arrivals = false; // Iterate until data arrivals at all latches stop changing. for (int pass = 1; - pass == 1 || (thru_latches && have_pending_latch_outputs); + pass == 1 || (thru_latches && have_pending_arrivals); pass++) { debugPrint(debug_, "search", 1, "find arrivals pass {}", pass); findArrivals1(levelize_->maxLevel()); - have_pending_latch_outputs = !postponed_arrivals_.empty(); - for (Vertex *latch_output : postponed_arrivals_) - arrival_visitor_->visit(latch_output, true); - postponed_arrivals_.clear(); - } -} - -// Pick up where the search stopped at the clock network boundary. -void -Search::enqueuePendingClkFanouts() -{ - for (Vertex *vertex : postponed_clk_endpoints_) { - debugPrint(debug_, "search", 2, "enqueue clk fanout {}", - vertex->to_string(this)); - arrival_iter_->enqueueAdjacentVertices(vertex, search_adj_); + have_pending_arrivals = !pending_arrivals_.empty(); + for (Vertex *vertex : pending_arrivals_) + arrival_visitor_->visit(vertex, true); + pending_arrivals_.clear(); } - postponed_clk_endpoints_.clear(); -} - -void -Search::postponeClkFanouts(Vertex *vertex) -{ - LockGuard lock(postponed_clk_endpoints_lock_); - postponed_clk_endpoints_.insert(vertex); } void @@ -1035,6 +1048,7 @@ void Search::findArrivals(Level level) { arrival_visitor_->init(false, false, eval_pred_); + arrival_iter_->ensureSize(); findArrivals1(level); } @@ -1043,13 +1057,19 @@ Search::findArrivals1(Level level) { debugPrint(debug_, "search", 1, "find arrivals to level {}", level); findArrivalsSeed(); + findArrivals2(level); +} + +// Caller seeds arrival_iter_. +void +Search::findArrivals2(Level level) +{ Stats stats(debug_, report_); int arrival_count = arrival_iter_->visitParallel(level, arrival_visitor_); deleteTagsPrev(); if (arrival_count > 0) deleteUnusedTagGroups(); stats.report("Find arrivals"); - arrivals_exist_ = true; debugPrint(debug_, "search", 1, "found {} arrivals", arrival_count); } @@ -1059,15 +1079,9 @@ Search::findArrivalsSeed() if (!arrivals_seeded_) { for (const Mode *mode : modes_) mode->genclks()->ensureInsertionDelays(); - arrival_iter_->clear(); - required_iter_->clear(); seedArrivals(); arrivals_seeded_ = true; } - else { - arrival_iter_->ensureSize(); - required_iter_->ensureSize(); - } seedInvalidArrivals(); } @@ -1173,22 +1187,18 @@ ArrivalVisitor::visit(Vertex *vertex, search_->postponeLatchDataOutputs(vertex); if ((always_to_endpoints_ || arrivals_changed)) { - if (clks_only_ && vertex->isRegClk()) { - debugPrint(debug_, "search", 3, "postponing clk fanout"); - search_->postponeClkFanouts(vertex); - } - else { - graph_->visitFanoutEdges(vertex, search_adj_, - [this] (Edge *edge, - Vertex *fanout) { - if (edge->isDisabledLoop()) { - if (hasPendingLoopPaths(edge)) - search_->postponeArrivals(fanout); - } - else - search_->arrivalIterator()->enqueue(fanout); - }); - } + graph_->visitFanoutEdges(vertex, search_adj_, + [this, vertex] (Edge *edge, + Vertex *fanout) { + if (edge->isDisabledLoop()) { + if (hasPendingLoopPaths(edge)) + search_->postponeArrivals(fanout); + } + else if (clks_only_ && vertex->isRegClk()) + search_->arrivalInvalid(fanout); + else + search_->arrivalIterator()->enqueue(fanout); + }); } if (arrivals_changed) { debugPrint(debug_, "search", 4, "arrivals changed"); @@ -1425,8 +1435,8 @@ Search::postponeLatchDataOutputs(Vertex *latch_data) Edge *edge = edge_iter.next(); if (edge->role() == TimingRole::latchDtoQ()) { Vertex *out_vertex = edge->to(graph_); - LockGuard lock(postponed_arrivals_lock_); - postponed_arrivals_.insert(out_vertex); + LockGuard lock(pending_arrivals_lock_); + pending_arrivals_.insert(out_vertex); } } } @@ -1434,8 +1444,8 @@ Search::postponeLatchDataOutputs(Vertex *latch_data) void Search::postponeArrivals(Vertex *vertex) { - LockGuard lock(postponed_arrivals_lock_); - postponed_arrivals_.insert(vertex); + LockGuard lock(pending_arrivals_lock_); + pending_arrivals_.insert(vertex); } void @@ -1448,6 +1458,7 @@ Search::seedArrivals() for (Vertex *vertex : vertices) arrival_iter_->enqueue(vertex); + arrivals_exist_ = true; } void @@ -3160,6 +3171,7 @@ void Search::seedRequireds() { ensureDownstreamClkPins(); + required_iter_->ensureSize(); for (Vertex *vertex : endpoints()) seedRequired(vertex); requireds_seeded_ = true; @@ -3334,8 +3346,9 @@ Search::seedRequired(Vertex *vertex) required_cmp.requiredsInit(vertex, this); visit_path_ends_->visitPathEnds(vertex, &seeder); // Enqueue fanin vertices for back-propagating required times. + required_iter_->ensureSize(); if (required_cmp.requiredsSave(vertex, this)) - required_iter_->enqueueAdjacentVertices(vertex); + required_iter_->enqueueFanin(vertex); } void @@ -3347,7 +3360,7 @@ Search::seedRequiredEnqueueFanin(Vertex *vertex) visit_path_ends_->visitPathEnds(vertex, &seeder); // Enqueue fanin vertices for back-propagating required times. required_cmp.requiredsSave(vertex, this); - required_iter_->enqueueAdjacentVertices(vertex); + required_iter_->enqueueFanin(vertex); } //////////////////////////////////////////////////////////////// @@ -3455,7 +3468,7 @@ RequiredVisitor::visit(Vertex *vertex) search_->tnsInvalid(vertex); if (changed) - search_->requiredIterator()->enqueueAdjacentVertices(vertex); + search_->requiredIterator()->enqueueFanin(vertex); } bool @@ -3538,17 +3551,27 @@ void Search::ensureDownstreamClkPins() { if (!found_downstream_clk_pins_) { - // Use backward BFS from register clk pins to mark upsteam pins - // as having downstream clk pins. + // Use backward DFS from register clk pins to mark upstream pins + // as having downstream clk pins. hasDownstreamClkPin doubles as the + // visited flag since its meaning is exactly "reached here". ClkTreeSearchPred pred(this); - BfsBkwdIterator iter(BfsIndex::other, &pred, this); - for (Vertex *vertex : graph_->regClkVertices()) - iter.enqueue(vertex); - - while (iter.hasNext()) { - Vertex *vertex = iter.next(); - vertex->setHasDownstreamClkPin(true); - iter.enqueueAdjacentVertices(vertex); + std::vector stack; + for (Vertex *vertex : graph_->regClkVertices()) { + if (!vertex->hasDownstreamClkPin()) { + vertex->setHasDownstreamClkPin(true); + stack.push_back(vertex); + } + } + while (!stack.empty()) { + Vertex *vertex = stack.back(); + stack.pop_back(); + graph_->visitFanins(vertex, &pred, + [&stack] (Vertex *fanin) { + if (!fanin->hasDownstreamClkPin()) { + fanin->setHasDownstreamClkPin(true); + stack.push_back(fanin); + } + }); } } found_downstream_clk_pins_ = true; From 8f03c823c73a56f854b03fd2eb02e4ad4c1c06ba Mon Sep 17 00:00:00 2001 From: James Cherry Date: Sat, 4 Jul 2026 20:26:22 -0700 Subject: [PATCH 03/14] Search::findRequireds ensureSize Signed-off-by: James Cherry --- search/Search.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/search/Search.cc b/search/Search.cc index 6d19df6f..a133f993 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -3157,6 +3157,7 @@ Search::findRequireds(Level level) Stats stats(debug_, report_); debugPrint(debug_, "search", 1, "find requireds to level {}", level); RequiredVisitor req_visitor(this); + required_iter_->ensureSize(); if (!requireds_seeded_) seedRequireds(); seedInvalidRequireds(); @@ -3171,7 +3172,6 @@ void Search::seedRequireds() { ensureDownstreamClkPins(); - required_iter_->ensureSize(); for (Vertex *vertex : endpoints()) seedRequired(vertex); requireds_seeded_ = true; From c4c811ad2ee9670fc5009ce18f266d2db7663e70 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Thu, 9 Jul 2026 10:29:46 -0700 Subject: [PATCH 04/14] make instance update endpoints Signed-off-by: James Cherry --- graph/Graph.cc | 4 ++-- search/Sta.cc | 4 ++++ test/asap7_small.lib.gz | Bin 90153 -> 90097 bytes 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/graph/Graph.cc b/graph/Graph.cc index 942e1951..03100b05 100644 --- a/graph/Graph.cc +++ b/graph/Graph.cc @@ -418,6 +418,8 @@ Graph::makePinVertices(Pin *pin, Vertex *&vertex, Vertex *&bidir_drvr_vertex) { + vertex = nullptr; + bidir_drvr_vertex = nullptr; PortDirection *dir = network_->direction(pin); if (!dir->isPowerGround()) { bool is_reg_clk = network_->isRegClkPin(pin); @@ -427,8 +429,6 @@ Graph::makePinVertices(Pin *pin, bidir_drvr_vertex = makeVertex(pin, true, is_reg_clk); pin_bidirect_drvr_vertex_map_[pin] = bidir_drvr_vertex; } - else - bidir_drvr_vertex = nullptr; } } diff --git a/search/Sta.cc b/search/Sta.cc index 61f9a274..f7e650a6 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -4493,6 +4493,10 @@ Sta::makeInstanceAfter(const Instance *inst) if (pin) { Vertex *vertex, *bidir_drvr_vertex; graph_->makePinVertices(pin, vertex, bidir_drvr_vertex); + if (vertex) + search_->endpointInvalid(vertex); + if (bidir_drvr_vertex) + search_->endpointInvalid(bidir_drvr_vertex); } } graph_->makeInstanceEdges(inst); diff --git a/test/asap7_small.lib.gz b/test/asap7_small.lib.gz index f0381ded3fe85f21efba168bd2d5210ca5f99669..95f614d264ea23e66d8c1eb4eff78237f83e333c 100644 GIT binary patch delta 78479 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 delta 78536 zcmV(mT)A@1m~kC3;&=bH zIeu~cy#J1WzIfc9*UO_ce)suBi_`x&KRez$yga@< zx%180>5nHDFMm!if4+0)>ysy^FD@@m|MBwj^!#jdeD-96FFZZlyf}Y(Ay>vL|B!25 z{Ji<@{NmY*yPKa*FMq&A@%Q=5%RA4`pPYVo`uG?ZxVt&NIN3Zuxp;PZd3o|=^Zerc z$I~ZrAa`;pf1Jogo<2SQ>GbUT&Exa4C#U$(3x4R?$$#bV@7#&o&8xTcVsrkT-^=6k zCvx7)7nhrhlgnedM_lmuALl>fEq^d)=a=%d?%uhS2e5f6SHcCZf7jWQ*KS0Qd|bnOZF4aiS>@=|VU$35J!d)U0sJ#6%M-Fb5U_~o;cv&&;&nBU1W zKbLndHh<4#6)#SYpT4+yzFZVs^7^gI&&k`(7bmCu6y7~Mes+R;!SU52`{DfQ6FK4R z{OTk=_S4H3cjT`1dgm7}Kr5B~Vgqc7!!kM2E`PkwXm)?2vW1BDkwE64( zuRr~Z{PW%)AAJ7c(cgI^e|qrf3w+m~$3+BKmGjPgTLPYY%AX`-?+K|?fowvZGRsA<=*F?@BEdx_g8-7AMfA!{K36HetuuS zNq*&L55B(t=_CA{tD{fl$;thFes}ZmtNWimz`_0hb6L?)l3<-Ff)UA0Iw?@aUUI_cwq3^2^Wopno6U z|N7eppWc7?ht20-KIGH-=HdOj@(qvf;frwzc~tVY9RKl~hY#@3?mYP7(fzN#{^qMk z55D~3xAM#XCXYpa_dWUOXMDO}e!-tAPw309|Bj2|8SvrX-Tdt@_vLk2;xF#-N!`OE zcqmWo(?{1&lkbxU_~_bi++XuL9J^7BT{lf<)C-Tz6Z$ABtJ?`zDfBW5? zJHPw4&5M`+cyU6_LA$YeeDYLwyu2wE;sV;}W4?a$;@R=jr@!6&-#eR)e1Gb%q9f%r z-%S7bS&YX&PA)`aY~t9)ZP=!nbyt3R{Dj8ivy&I6-=A$B{`}(d1PcDa+2id-bk1Mp z|DT;a-fa3N=HJ);`;a$(efUUCkKD&bRLC=^sLk&;AAR%(`S%lijr`+(eI^ILfBgdT zzoH-hUp)KbOn$y4HOAS#~Ww>zt1W(tFLj`1mVvDu2UQ{oA8dKUKxB*}V3I zMWS~+-zAAxPxn8sOUkZq`~Bwn*Ij$uz8mpHPoWq-hL`LA^85PnSUef*@+enQSvfno zye6=Jc=fadwQzoU{M6+ZXPaKY-hJ)#jMHWB`cHZK@<^4+wY!pEAzycT?N*QaKl{!b zT<4xV;f8tZZ986^;99#+JUx4I@=v+s#~;FW%i0`Tvmr$0mQsF8%1Y*H2FG za`G?yMpdiVf8NnQen1hg*aXzonm!e>_1_}n2rvCaU??*_EoDt=eh^Nx7e!u<#_pm;8 zuSz0>BZ&o$`1bngr%&Az$3K3!a>(${XQyY^-xUx4Rfo+s#V>x9zQ4Zf{Q7sDzxrM0 zuYTA08{Z|@7Ax}c;~$PMjzfO>;pFV@=DM8uhP=B$TI%e34{Pv|(--jjpC5lupYk0( zcWrH-T<}bnpM8?_+Ua}`5!+W6C!g`H6t?yEaIHW3Fq7N}L<=8}pT0bikYMxw@{=nG zH3T2seeIKE2`2%ylZ*)_0c(@92_pg5lh+9(0sWKw2_pg8lOPHt0Y{TX3Lt+KZFczs z1(VIkfBfc8|4c{s9^U(^AN6{9^fk8h@x{q8BbdQ}ctYE^( z><{*aoPGK8bNC0(FC_B1_*p|~f7?qr?nB5$&1v}0SHJAx!}t2K?=Q|@o;~@+Z+rOg zm2Z2sX7usZH&Pj(7?7vzjN*USLjZ^Ce0*>7Z=1jW_9K6NrLy(zf4`BRb

O!@uF- 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

O?c^)5!PVC?32iWN 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

eIA`&rb$7zls;NyHiS zFcSt2x^j-uACNH6`uR%HvI)n^+MZ*mEq0$Mp3{5xGb&BYN9)F)C_;qg8=8ILKupWl#}w80$6px`T*R9-~hQ>`woIq?E(c1 zhSIs9M4yzMj2|xeaNN(@M8>GL=W~srBGkMvk$NF;y%4Rs0M#{~+ES>ynbfqR)#L%^ z1Uit<79bM!*@7B8MJfkn73VQ{;(b71qFA%>A~-pfdn`CN(wNx*8Nz>!r0zvK=J+aj zNr_h{9-CG_lb7i=JHhi_*MRuzI-_@r*~OwR;o<0G(A^izG;N z-GPG1UD25-U(8pgGrNBxL%+pQhGgM3BNzh2?RQ4Lj_xbRO(rA&wWn=@tlH3Nxk;TB z$Gj3BT=-Qt(O>Pm4+o*Yy8S+YcXgZZP5kSyxj+R(j++|+5YxK(Hx1Z9+q6=oir#)F zT+Qih?1TUN`t1Dl{n_(3C-2_=a{B%qT1%`iqxTV5x0$Z(b%I>Vg7`bNCpT@^k5?Wy4DJAKgt=lcbSdY8O059+$E`{wP6{c+GfcbJOxy5}MnE-8esI!S+RKdyGDG$ikqPMLq$3;S_Y#evogq&>{u)N*?|*+3Mg<#En=W@JpEQ=cC0lN7o`c)M*$xcXs)>=f=^F7D=TqgW7gJ3V zb*r3Colb{io$Pk@uSA_2dKw}yiat{}S?^=$?Pq^fQH!AkyKA5Nv}w}=!QHY8RoIU1J>fea@3HES|cX+#Dw@cT^e=lZPH3g2l z6w?y3>G_IL4_r*_Q^&%^y18&sF*z1m8pcQ|u9|HYZ^+`)ao1@tF=;xnfJG z6KH=-GN}AiZQKBrp?VLo6MY^Rb1Up1|CMj64#mjrnk{ot*hjftQfZ4~n)So|8UdB< zHMJ%NzS;)cZdE&qwc9hb+Na%ii;S74Hk$B_s&`4#1gYd~x2vk3K}Vub*^ujnEfb=a1bfP_-|K_ye-B1ekgV}$MS*gRm-|RqCI7A>@+AkhCZ(223VO#Uo z)w@EeN?(~(4QvY9wJCvDQ6rgJ&gGV-L;oMD|EU;;os7SD&xrAt=RcpmeEa??UU8~l%x53gUr&b>MP`Si`@7|2c8tM_j|p1t_goGnwwqy0$;_0#izoSeUZe)i$D zeYqUq^_;uFS>6CIOBH!uH-?qm?;|JjMXyeuJVkt8hXy?Q7i*`ejW+Hos`I*!T)b=I zV6Xqhcb6CO=eKXppTEK_U!1;t{_%g!`H3vViLBMhr4>Ja{nP8SS9^F9A6~pX`Qh!^ z3%v8}!s~jYlk@+5hwqf@lXoBA$cp^(`o;N=yN~_y3cd-g&0M!cLSPk(y% z%Z2~GTNQnsdM*8UP&KTJiZw2~f5Fy4=3q?sMa>`5TfD8^`Px4b{hFlwKvsXeGlxUa z&w(2vxt_k{NB(*j67_#yAX4AlJDK9}Fbfi&T-?Ee-xH|<_Y8q6b{DAU!*boBRBa_V zFU#1LW_kVL3 zYNE&^QH0dChG7DkO^qcHfk&;z5}Ru{w^Q}k!=9?QQ5(i+R1h^aOy*1ixIrXkcRp9g zKM+OsRmA2Y=&^%~&7XgoY+EEVnP7s#DMBKPdBoz7#cpy)@H<>gqUf>DQ3UrfE3zI+ z(a0cbv0mgbC@32&YRP&uMGlL)vhc`)x@!q&ua8@i5i&p(nMIP~k;U$+ERLnhimS5Z zsw_Qjmn@MDhN_G?GODtq9;qw?E5r~Ib6_R5oa(?fT--^MfUAG7r_Y}J)04k__jzq+ z&p&*SMgDYsszy}9oE zKDxchvvp7GS~^#vgKpU%(Wk+#s)ZXR1lz8XZsXAIwKad=e1Y|SbX!w58Jb*l%^HUaJcTEMI!=jxtO&(ef}E&2sutJZ??lL61ixjVUl7Nv<^6 z2-0!UV~*w1p5-H;eidRgW{l4BDuKPv2bwEU@H3{}apHl!Ks;wm<>#$IrlWc+l0*=V z3hI9}UdbaxvUkbNLncuN;AV&ya@=PlkNI(I65DUwu^;zFY^tMij0#KSy&3WpP3FZy>u9i5}GWsC0Yyz%0(&RvRf(`&18*!B6ej$a8$2-DA1Sx=V zC_AwzibA)3|D@sMME&9N9lDNz08@V@!Hw9`Ad%1*lgF~mPArT{mTFaa;yP7mAkjow z$8aWVIpFpA1S9+|+nX=jl@F)qAKyI+!xAy6!a*Ovk0A93IAC&&khxO_lVr6Onxapg z55j(r&Bh4Kwba2n9zD`HT(D)|b$(tx9h!vGXUa5j8;JLnc3>>?+K*joun6k`0! z@9R`}k;Aiq*BRX`=-Ap05R`uqemUb&NTCSE3WfedLRs(MlpYPxeTiD80a)#kT9Aan zF0H?SJe-g`8I#rof&+fGB85dzq7z#sjpIac<)aMX-K~Mg%wb86jb-BPibSKltiDSV zt&Oh%R}m*Dk5UJ(4@5N&Anb0aSFs9(?nK6br?HUc5m;{(e?s1+-vWQ`5CyIi39O20 z2*Zaiunh~9%`l+|ik7>s{DOR9pwRG^BJTVVa56NxPV(=~XW65+lY zXqf1^05z6yda?jBQG>_=q^;8=M~=kf7_ro`MJzeTb~8>BO1dCapqnaoaWV&dlnBkR z@qA!-D{w$j2=8dIgx!BlG#`EfKuOIhJ#hi6vfjuM4&p`~p!wwLT=&ClFDV#4)@~m0 zkDH#R9HZ8(N*;upKsK=$UPcjBugxZR%F3Q##MB=wjS?*sklx-=4O zS(T|)>m4XnV!OvYy--3mu#|#1U(Fw;VJRX}8#K3&mRU6Sh-H6rxv8<=d?X)khlvEw zp_t$dYJARx23s7l(zYVSGKeBBS?k3GtdWOkmAkC29%-{&LENruixCrWI2GLnz`elha6&c`=joT=suPiLY#}y~r*g-<8@*^DBztzQR zE7wjYBoTB-mdTOp=xHKE*1-C_OQHGZ0Vx_{99!i-iubJwIc8DV_F7FUQu3}DdJyJl z{tmgN`T&0fh6U-_yxCHV?qcbu)vbZvYYmvudopVe8n7jC_2S*Cl^Z4GUg?!2E|U5) zNdgq>fa!VYd{gSF+cE;eMz02{W$bK7HHQb$*$_ozs-=mrKPu@VWqT Date: Thu, 9 Jul 2026 10:34:44 -0700 Subject: [PATCH 05/14] asap7_small cmmment Signed-off-by: James Cherry --- test/asap7_small.lib.gz | Bin 90097 -> 90096 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/asap7_small.lib.gz b/test/asap7_small.lib.gz index 95f614d264ea23e66d8c1eb4eff78237f83e333c..47c561fb121708c11b0412aa1750a2b84ff4ba6c 100644 GIT binary patch literal 90096 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 <_U;w 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

E5H1&@>t||-;K-1! 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 _JNo|uoY0PpUH5*ZkS&CIf!S(e1? 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 Date: Fri, 10 Jul 2026 12:37:48 -0400 Subject: [PATCH 06/14] Add property-based -filter to get_scenes / get_modes, and make Scene/Mode properties extensible (#456) * support for filter in get_scene/mode Signed-off-by: dsengupta0628 * defineProperty overload Signed-off-by: dsengupta0628 * define and set user property Signed-off-by: dsengupta0628 * address review comments to generalize- current support for mode and scene Signed-off-by: dsengupta0628 * address second round comments- removed user from cmd names Signed-off-by: dsengupta0628 * remove defaults, check property vals against type defined Signed-off-by: dsengupta0628 * address reviews, indent Signed-off-by: dsengupta0628 * indent fix Signed-off-by: dsengupta0628 --------- Signed-off-by: dsengupta0628 --- include/sta/FilterObjects.hh | 11 ++ include/sta/Property.hh | 241 +++++++++++++++++++++-------------- sdc/FilterObjects.cc | 25 ++++ sdc/Sdc.i | 16 +++ search/Property.cc | 122 +++++++++++++++++- search/Property.i | 34 +++++ tcl/Property.tcl | 28 ++++ tcl/Sta.tcl | 28 +++- tcl/StaTclTypes.i | 8 ++ test/get_scenes.ok | 27 ++++ test/get_scenes.tcl | 44 +++++++ 11 files changed, 478 insertions(+), 106 deletions(-) diff --git a/include/sta/FilterObjects.hh b/include/sta/FilterObjects.hh index 71bea6c0..791c6b10 100644 --- a/include/sta/FilterObjects.hh +++ b/include/sta/FilterObjects.hh @@ -30,6 +30,7 @@ #include "GraphClass.hh" #include "NetworkClass.hh" +#include "Scene.hh" #include "SdcClass.hh" #include "SearchClass.hh" #include "StringUtil.hh" @@ -64,6 +65,16 @@ filterClocks(std::string_view filter_expression, ClockSeq *clks, Sta *sta); +SceneSeq +filterScenes(std::string_view filter_expression, + SceneSeq *scenes, + Sta *sta); + +ModeSeq +filterModes(std::string_view filter_expression, + ModeSeq *modes, + Sta *sta); + LibertyCellSeq filterLibCells(std::string_view filter_expression, LibertyCellSeq *cells, diff --git a/include/sta/Property.hh b/include/sta/Property.hh index 57260cde..84ad5cfc 100644 --- a/include/sta/Property.hh +++ b/include/sta/Property.hh @@ -28,6 +28,7 @@ #include #include #include +#include #include "LibertyClass.hh" #include "NetworkClass.hh" @@ -61,6 +62,118 @@ private: std::map> registry_; }; +// Adding a new property type +// value union (string values use std::string* so the union stays trivial) +// enum Type +// constructor +// copy constructor switch clause +// move constructor switch clause +// operator= & switch clause +// operator= && switch clause +// StaTcl.i swig %typemap(out) PropertyValue switch clause + +class PropertyValue +{ +public: + enum class Type { none, string, float_, bool_, + library, cell, port, + liberty_library, liberty_cell, liberty_port, + instance, pin, pins, net, + clk, clks, paths, pwr_activity }; + PropertyValue(); + PropertyValue(std::string_view value); + PropertyValue(std::string value); + PropertyValue(float value, + const Unit *unit); + PropertyValue(bool value); + PropertyValue(const Library *value); + PropertyValue(const Cell *value); + PropertyValue(const Port *value); + PropertyValue(const LibertyLibrary *value); + PropertyValue(const LibertyCell *value); + PropertyValue(const LibertyPort *value); + PropertyValue(const Instance *value); + PropertyValue(const Pin *value); + PropertyValue(PinSeq *value); + PropertyValue(PinSet *value); + PropertyValue(const PinSet &value); + PropertyValue(const Net *value); + PropertyValue(const Clock *value); + PropertyValue(ClockSeq *value); + PropertyValue(ClockSet *value); + PropertyValue(ConstPathSeq *value); + PropertyValue(PwrActivity *value); + PropertyValue(const PropertyValue &value); + PropertyValue(PropertyValue &&value) noexcept; + ~PropertyValue(); + Type type() const { return type_; } + const Unit *unit() const { return unit_; } + + std::string to_string(const Network *network) const; + const std::string &stringValue() const; // valid for type string + float floatValue() const; // valid for type float + bool boolValue() const; // valid for type bool + const LibertyLibrary *libertyLibrary() const { return liberty_library_; } + const LibertyCell *libertyCell() const { return liberty_cell_; } + const LibertyPort *libertyPort() const { return liberty_port_; } + const Library *library() const { return library_; } + const Cell *cell() const { return cell_; } + const Port *port() const { return port_; } + const Instance *instance() const { return inst_; } + const Pin *pin() const { return pin_; } + PinSeq *pins() const { return pins_; } + const Net *net() const { return net_; } + const Clock *clock() const { return clk_; } + ClockSeq *clocks() const { return clks_; } + ConstPathSeq *paths() const { return paths_; } + PwrActivity pwrActivity() const { return pwr_activity_; } + + // Copy assignment. + PropertyValue &operator=(const PropertyValue &); + // Move assignment. + PropertyValue &operator=(PropertyValue &&) noexcept; + +private: + void destroyActive(); + + Type type_; + union { + // Use heap string to simplify initialization/destrucction. + std::string *string_; + float float_; + bool bool_; + const Library *library_; + const Cell *cell_; + const Port *port_; + const LibertyLibrary *liberty_library_; + const LibertyCell *liberty_cell_; + const LibertyPort *liberty_port_; + const Instance *inst_; + const Pin *pin_; + PinSeq *pins_; + const Net *net_; + const Clock *clk_; + ClockSeq *clks_; + ConstPathSeq *paths_; + PwrActivity pwr_activity_; + }; + const Unit *unit_; +}; + +// Key for user-defined property values: the object instance and the +// property name. +class PropertyKey +{ +public: + PropertyKey(const void *object, + std::string_view property); + bool operator<(const PropertyKey &key) const; + +private: + const void *object_; + std::string property_; +}; + class Properties { public: @@ -124,6 +237,25 @@ public: const PropertyRegistry::PropertyHandler &handler); void defineProperty(std::string_view property, const PropertyRegistry::PropertyHandler &handler); + void defineProperty(std::string_view property, + const PropertyRegistry::PropertyHandler &handler); + void defineProperty(std::string_view property, + const PropertyRegistry::PropertyHandler &handler); + + // User-defined, per-object mutable properties. defineProperty registers + // a property of the given value type ("bool", "float" or "string"); + // setProperty sets the value on one object. Objects the property was never + // set on read back as an empty (none) value. The property is read through + // the same registry path as every other property so get_property / + // get_* -filter work unchanged. + template + void defineProperty(std::string_view object_type, + std::string_view property, + std::string_view value_type); + void setProperty(const void *object, + std::string_view object_type, + std::string_view property, + std::string_view value); protected: PropertyValue portSlew(const Port *port, @@ -149,6 +281,9 @@ protected: PropertyValue edgeDelay(Edge *edge, const RiseFall *rf, const MinMax *min_max); + PropertyValue::Type propertyType(std::string_view type); + PropertyValue coercePropertyValue(PropertyValue::Type type, + std::string_view value); PropertyRegistry registry_library_; PropertyRegistry registry_liberty_library_; @@ -160,106 +295,16 @@ protected: PropertyRegistry registry_pin_; PropertyRegistry registry_net_; PropertyRegistry registry_clock_; + PropertyRegistry registry_scene_; + PropertyRegistry registry_mode_; - Sta *sta_; -}; - -// Adding a new property type -// value union (string values use std::string* so the union stays trivial) -// enum Type -// constructor -// copy constructor switch clause -// move constructor switch clause -// operator= & switch clause -// operator= && switch clause -// StaTcl.i swig %typemap(out) PropertyValue switch clause + // Value types of user-defined properties keyed by object type name and + // property name. + std::map, PropertyValue::Type> prop_types_; + // User-defined property values. + std::map prop_values_; -class PropertyValue -{ -public: - enum class Type { none, string, float_, bool_, - library, cell, port, - liberty_library, liberty_cell, liberty_port, - instance, pin, pins, net, - clk, clks, paths, pwr_activity }; - PropertyValue(); - PropertyValue(std::string_view value); - PropertyValue(std::string value); - PropertyValue(float value, - const Unit *unit); - PropertyValue(bool value); - PropertyValue(const Library *value); - PropertyValue(const Cell *value); - PropertyValue(const Port *value); - PropertyValue(const LibertyLibrary *value); - PropertyValue(const LibertyCell *value); - PropertyValue(const LibertyPort *value); - PropertyValue(const Instance *value); - PropertyValue(const Pin *value); - PropertyValue(PinSeq *value); - PropertyValue(PinSet *value); - PropertyValue(const PinSet &value); - PropertyValue(const Net *value); - PropertyValue(const Clock *value); - PropertyValue(ClockSeq *value); - PropertyValue(ClockSet *value); - PropertyValue(ConstPathSeq *value); - PropertyValue(PwrActivity *value); - PropertyValue(const PropertyValue &value); - PropertyValue(PropertyValue &&value) noexcept; - ~PropertyValue(); - Type type() const { return type_; } - const Unit *unit() const { return unit_; } - - std::string to_string(const Network *network) const; - const std::string &stringValue() const; // valid for type string - float floatValue() const; // valid for type float - bool boolValue() const; // valid for type bool - const LibertyLibrary *libertyLibrary() const { return liberty_library_; } - const LibertyCell *libertyCell() const { return liberty_cell_; } - const LibertyPort *libertyPort() const { return liberty_port_; } - const Library *library() const { return library_; } - const Cell *cell() const { return cell_; } - const Port *port() const { return port_; } - const Instance *instance() const { return inst_; } - const Pin *pin() const { return pin_; } - PinSeq *pins() const { return pins_; } - const Net *net() const { return net_; } - const Clock *clock() const { return clk_; } - ClockSeq *clocks() const { return clks_; } - ConstPathSeq *paths() const { return paths_; } - PwrActivity pwrActivity() const { return pwr_activity_; } - - // Copy assignment. - PropertyValue &operator=(const PropertyValue &); - // Move assignment. - PropertyValue &operator=(PropertyValue &&) noexcept; - -private: - void destroyActive(); - - Type type_; - union { - // Use heap string to simplify initialization/destrucction. - std::string *string_; - float float_; - bool bool_; - const Library *library_; - const Cell *cell_; - const Port *port_; - const LibertyLibrary *liberty_library_; - const LibertyCell *liberty_cell_; - const LibertyPort *liberty_port_; - const Instance *inst_; - const Pin *pin_; - PinSeq *pins_; - const Net *net_; - const Clock *clk_; - ClockSeq *clks_; - ConstPathSeq *paths_; - PwrActivity pwr_activity_; - }; - const Unit *unit_; + Sta *sta_; }; } // namespace sta diff --git a/sdc/FilterObjects.cc b/sdc/FilterObjects.cc index 509e48df..eeea29f4 100644 --- a/sdc/FilterObjects.cc +++ b/sdc/FilterObjects.cc @@ -42,6 +42,7 @@ #include "GraphCmp.hh" #include "Liberty.hh" #include "LibertyClass.hh" +#include "Mode.hh" #include "Network.hh" #include "NetworkClass.hh" #include "PathEnd.hh" @@ -497,6 +498,30 @@ filterClocks(std::string_view filter_expression, }, sta); } +SceneSeq +filterScenes(std::string_view filter_expression, + SceneSeq *scenes, + Sta *sta) +{ + return filterObjects(filter_expression, scenes, + [] (const Scene *scene1, + const Scene *scene2) { + return scene1->name() < scene2->name(); + }, sta); +} + +ModeSeq +filterModes(std::string_view filter_expression, + ModeSeq *modes, + Sta *sta) +{ + return filterObjects(filter_expression, modes, + [] (const Mode *mode1, + const Mode *mode2) { + return mode1->name() < mode2->name(); + }, sta); +} + LibertyCellSeq filterLibCells(std::string_view filter_expression, LibertyCellSeq *cells, diff --git a/sdc/Sdc.i b/sdc/Sdc.i index 4b3050b0..3ac13d81 100644 --- a/sdc/Sdc.i +++ b/sdc/Sdc.i @@ -1531,6 +1531,22 @@ filter_clocks(const char *filter_expression, return filterClocks(filter_expression, clocks, sta); } +SceneSeq +filter_scenes(const char *filter_expression, + SceneSeq *scenes) +{ + sta::Sta *sta = Sta::sta(); + return filterScenes(filter_expression, scenes, sta); +} + +ModeSeq +filter_modes(const char *filter_expression, + ModeSeq *modes) +{ + sta::Sta *sta = Sta::sta(); + return filterModes(filter_expression, modes, sta); +} + LibertyCellSeq filter_lib_cells(const char *filter_expression, LibertyCellSeq *cells) diff --git a/search/Property.cc b/search/Property.cc index 6ecd9ab7..ee3ddc11 100644 --- a/search/Property.cc +++ b/search/Property.cc @@ -26,6 +26,7 @@ #include #include +#include #include #include "Clock.hh" @@ -1205,7 +1206,9 @@ Properties::getProperty(const Scene *scene, || property == "full_name") return PropertyValue(scene->name()); else - throw PropertyUnknown("scene", property); + // Unknown properties throw PropertyUnknown; a user-defined property + // never set on this scene returns a none value. + return registry_scene_.getProperty(scene, property, "scene", sta_); } //////////////////////////////////////////////////////////////// @@ -1218,7 +1221,9 @@ Properties::getProperty(const Mode *mode, || property == "full_name") return PropertyValue(mode->name()); else - throw PropertyUnknown("mode", property); + // Unknown properties throw PropertyUnknown; a user-defined property + // never set on this mode returns a none value. + return registry_mode_.getProperty(mode, property, "mode", sta_); } //////////////////////////////////////////////////////////////// @@ -1360,6 +1365,119 @@ Properties::defineProperty(std::string_view property, registry_clock_.defineProperty(property, handler); } +void +Properties::defineProperty(std::string_view property, + const PropertyRegistry::PropertyHandler &handler) +{ + registry_scene_.defineProperty(property, handler); +} + +void +Properties::defineProperty(std::string_view property, + const PropertyRegistry::PropertyHandler &handler) +{ + registry_mode_.defineProperty(property, handler); +} + +//////////////////////////////////////////////////////////////// + +// Value type from the define_property -type argument. +PropertyValue::Type +Properties::propertyType(std::string_view type) +{ + if (type == "bool" || type == "boolean") + return PropertyValue::Type::bool_; + else if (type == "float" || type == "double" || type == "number") + return PropertyValue::Type::float_; + else if (type == "string") + return PropertyValue::Type::string; + else + sta_->report()->error(2210, "unknown property type '{}' (use bool, float or string).", + type); + return PropertyValue::Type::none; +} + +PropertyValue +Properties::coercePropertyValue(PropertyValue::Type type, + std::string_view value) +{ + switch (type) { + case PropertyValue::Type::bool_: + if (stringEqual(value, "true") || value == "1") + return PropertyValue(true); + if (stringEqual(value, "false") || value == "0") + return PropertyValue(false); + sta_->report()->error(2212, "'{}' is not a bool property value.", value); + return PropertyValue(); + case PropertyValue::Type::float_: { + auto [number, valid] = stringFloat(std::string(value)); + if (!valid) + sta_->report()->error(2215, "'{}' is not a float property value.", value); + return PropertyValue(number, sta_->units()->scalarUnit()); + } + default: + return PropertyValue(std::string(value)); + } +} + +PropertyKey::PropertyKey(const void *object, + std::string_view property) : + object_(object), + property_(property) +{ +} + +bool +PropertyKey::operator<(const PropertyKey &key) const +{ + return std::tie(object_, property_) + < std::tie(key.object_, key.property_); +} + +template +void +Properties::defineProperty(std::string_view object_type, + std::string_view property, + std::string_view value_type) +{ + prop_types_[{std::string(object_type), std::string(property)}] = + propertyType(value_type); + std::string name(property); + typename PropertyRegistry::PropertyHandler handler = + [this, name] (const TYPE *object, + Sta *) -> PropertyValue { + auto value_iter = prop_values_.find(PropertyKey(object, name)); + if (value_iter != prop_values_.end()) + return value_iter->second; + // Never set on this object. + return PropertyValue(); + }; + defineProperty(property, handler); +} + +// Object types the tcl interface exposes user properties on. +template void Properties::defineProperty(std::string_view, + std::string_view, + std::string_view); +template void Properties::defineProperty(std::string_view, + std::string_view, + std::string_view); + +void +Properties::setProperty(const void *object, + std::string_view object_type, + std::string_view property, + std::string_view value) +{ + auto type_iter = prop_types_.find({std::string(object_type), + std::string(property)}); + if (type_iter == prop_types_.end()) + sta_->report()->error(2211, "{} property '{}' is not defined.", + object_type, property); + prop_values_[PropertyKey(object, property)] = + coercePropertyValue(type_iter->second, value); +} + //////////////////////////////////////////////////////////////// template diff --git a/search/Property.i b/search/Property.i index 2002f901..c282f5fb 100644 --- a/search/Property.i +++ b/search/Property.i @@ -25,6 +25,7 @@ %{ #include "Property.hh" +#include "Report.hh" #include "Sta.hh" using namespace sta; @@ -137,6 +138,39 @@ mode_property(Mode *mode, return properties.getProperty(mode, property); } +void +define_property_cmd(const char *object_type, + const char *property, + const char *type) +{ + Properties &properties = Sta::sta()->properties(); + std::string_view object_type_view(object_type); + if (object_type_view == "scene") + properties.defineProperty(object_type, property, type); + else if (object_type_view == "mode") + properties.defineProperty(object_type, property, type); + else + Sta::sta()->report()->error(2209, "define_property -object_type {} not supported.", + object_type); +} + +void +set_property_cmd(void *object, + const char *object_type, + const char *property, + const char *value) +{ + Properties &properties = Sta::sta()->properties(); + std::string_view object_type_view(object_type); + if (object_type_view == "Scene") + properties.setProperty(object, "scene", property, value); + else if (object_type_view == "Mode") + properties.setProperty(object, "mode", property, value); + else + Sta::sta()->report()->error(2214, "set_property unsupported object type {}.", + object_type); +} + PropertyValue path_end_property(PathEnd *end, const char *property) diff --git a/tcl/Property.tcl b/tcl/Property.tcl index 3f70adc6..4df5b196 100644 --- a/tcl/Property.tcl +++ b/tcl/Property.tcl @@ -120,5 +120,33 @@ proc get_property_object_type { object_type object_name quiet } { return [lindex $object 0] } +define_cmd_args "define_property" \ + {-object_type scene|mode -type bool|float|string property} + +proc define_property { args } { + parse_key_args "define_property" args keys {-object_type -type} flags {} + check_argc_eq1 "define_property" $args + if { ![info exists keys(-object_type)] } { + sta_error 2207 "define_property -object_type must be specified." + } + if { ![info exists keys(-type)] } { + sta_error 2208 "define_property -type must be specified." + } + define_property_cmd $keys(-object_type) [lindex $args 0] $keys(-type) +} + +define_cmd_args "set_property" {object property value} + +proc set_property { args } { + check_argc_eq3 "set_property" $args + set object [lindex $args 0] + set prop [lindex $args 1] + set value [lindex $args 2] + if { ![is_object $object] } { + sta_error 2213 "set_property $object is not an object." + } + set_property_cmd $object [object_type $object] $prop $value +} + # sta namespace end. } diff --git a/tcl/Sta.tcl b/tcl/Sta.tcl index 0ec12a27..cffd6673 100644 --- a/tcl/Sta.tcl +++ b/tcl/Sta.tcl @@ -112,10 +112,10 @@ proc set_scene { args } { ################################################################ -define_cmd_args "get_scenes" {[-modes mode_names] scene_names} +define_cmd_args "get_scenes" {[-modes mode_names] [-filter expr] scene_names} proc get_scenes { args } { - parse_key_args "get_scenes" args keys {-modes} flags {} + parse_key_args "get_scenes" args keys {-modes -filter} flags {} check_argc_eq0or1 "get_scenes" $args if { [llength $args] == 0 } { @@ -132,18 +132,34 @@ proc get_scenes { args } { } lappend modes $mode } - return [find_mode_scenes_matching $scene_name $modes] + set scenes [find_mode_scenes_matching $scene_name $modes] } else { - return [find_scenes_matching $scene_name] + set scenes [find_scenes_matching $scene_name] } + if { [info exists keys(-filter)] } { + set scenes [filter_scenes $keys(-filter) $scenes] + } + return $scenes } ################################################################ -define_cmd_args "get_modes" {mode_name} +define_cmd_args "get_modes" {[-filter expr] [mode_name]} proc get_modes { args } { - return [find_modes [lindex $args 0]] + parse_key_args "get_modes" args keys {-filter} flags {} + check_argc_eq0or1 "get_modes" $args + + if { [llength $args] == 0 } { + set mode_name "*" + } else { + set mode_name [lindex $args 0] + } + set modes [find_modes $mode_name] + if { [info exists keys(-filter)] } { + set modes [filter_modes $keys(-filter) $modes] + } + return $modes } ################################################################ diff --git a/tcl/StaTclTypes.i b/tcl/StaTclTypes.i index c8c62584..a89054fa 100644 --- a/tcl/StaTclTypes.i +++ b/tcl/StaTclTypes.i @@ -1218,6 +1218,10 @@ using namespace sta; $1 = tclListSeq($input, SWIGTYPE_p_Mode, interp); } +%typemap(in) ModeSeq* { + $1 = tclListSeqPtr($input, SWIGTYPE_p_Mode, interp); +} + %typemap(out) ModeSeq { seqTclList($1, SWIGTYPE_p_Mode, interp); } @@ -1251,6 +1255,10 @@ using namespace sta; $1 = tclListSeq($input, SWIGTYPE_p_Scene, interp); } +%typemap(in) SceneSeq* { + $1 = tclListSeqPtr($input, SWIGTYPE_p_Scene, interp); +} + %typemap(out) SceneSeq { seqTclList($1, SWIGTYPE_p_Scene, interp); } diff --git a/test/get_scenes.ok b/test/get_scenes.ok index ab504b68..94478689 100644 --- a/test/get_scenes.ok +++ b/test/get_scenes.ok @@ -4,3 +4,30 @@ scene2 [get_modes *] mode1 mode2 +[get_scenes -filter {name == scene1}] +scene1 +[get_scenes -filter {name =~ scene*}] +scene1 +scene2 +[get_scenes -filter {name != scene1}] +scene2 +[get_modes -filter {name == mode2}] +mode2 +[get_modes -filter {name =~ mode*}] +mode1 +mode2 +[get_property scene1 active] +1 +[get_property scene2 active] (unset) +<> +[get_scenes -filter {active == true}] +scene1 +[get_scenes -filter {active == false}] (scene2 unset) +[get_scenes -filter {active}] +scene1 +[get_scenes -filter {!active}] +scene2 +[get_property scene2 active] (set false) +0 +[get_scenes -filter {active == false}] (scene2 set false) +scene2 diff --git a/test/get_scenes.tcl b/test/get_scenes.tcl index 396c32ce..0ccb98a4 100644 --- a/test/get_scenes.tcl +++ b/test/get_scenes.tcl @@ -18,3 +18,47 @@ report_object_names [get_scenes *] puts {[get_modes *]} report_object_names [get_modes *] + +puts {[get_scenes -filter {name == scene1}]} +report_object_names [get_scenes -filter {name == scene1}] + +puts {[get_scenes -filter {name =~ scene*}]} +report_object_names [get_scenes -filter {name =~ scene*}] + +puts {[get_scenes -filter {name != scene1}]} +report_object_names [get_scenes -filter {name != scene1}] + +puts {[get_modes -filter {name == mode2}]} +report_object_names [get_modes -filter {name == mode2}] + +puts {[get_modes -filter {name =~ mode*}]} +report_object_names [get_modes -filter {name =~ mode*}] + +# User-defined bool property. scene1 set active, scene2 left unset. +define_property -object_type scene -type bool active +set_property [get_scenes scene1] active true + +puts {[get_property scene1 active]} +puts [get_property [get_scenes scene1] active] +puts {[get_property scene2 active] (unset)} +puts "<[get_property [get_scenes scene2] active]>" + +puts {[get_scenes -filter {active == true}]} +report_object_names [get_scenes -filter {active == true}] + +# Unset does not match false; only an explicitly set value does. +puts {[get_scenes -filter {active == false}] (scene2 unset)} +report_object_names [get_scenes -filter {active == false}] + +puts {[get_scenes -filter {active}]} +report_object_names [get_scenes -filter {active}] + +puts {[get_scenes -filter {!active}]} +report_object_names [get_scenes -filter {!active}] + +set_property [get_scenes scene2] active false +puts {[get_property scene2 active] (set false)} +puts [get_property [get_scenes scene2] active] + +puts {[get_scenes -filter {active == false}] (scene2 set false)} +report_object_names [get_scenes -filter {active == false}] From 55e9bb5a8842c8d8e147ddbbab0c502950dbae9f Mon Sep 17 00:00:00 2001 From: James Cherry Date: Thu, 9 Jul 2026 19:35:18 -0700 Subject: [PATCH 07/14] Sta::replaceEquivCellBefore Signed-off-by: James Cherry --- search/Sta.cc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/search/Sta.cc b/search/Sta.cc index f7e650a6..843061df 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -4532,16 +4532,14 @@ Sta::replaceEquivCellBefore(const Instance *inst, VertexOutEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); - Vertex *to_vertex = edge->to(graph_); - if (network_->instance(to_vertex->pin()) == inst) { + if (!edge->isWire()) { TimingArcSet *from_set = edge->timingArcSet(); // Find corresponding timing arc set. TimingArcSet *to_set = to_cell->findTimingArcSet(from_set); if (to_set) edge->setTimingArcSet(to_set); else - report_->critical( - 1556, "corresponding timing arc set not found in equiv cells"); + report_->critical(1563, "corresponding timing arc set not found in equiv cells"); } } } @@ -4637,8 +4635,7 @@ Sta::replaceCellBefore(const Instance *inst, VertexOutEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); - Vertex *to_vertex = edge->to(graph_); - if (network_->instance(to_vertex->pin()) == inst) + if (!edge->isWire()) deleteEdge(edge); } } From 3dfeabd8644a84f5a0dffb7eee6e22c39d938496 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Thu, 9 Jul 2026 19:49:24 -0700 Subject: [PATCH 08/14] GraphDelayCalc::findVertexDelay rm bidir enqueue Signed-off-by: James Cherry --- dcalc/GraphDelayCalc.cc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/dcalc/GraphDelayCalc.cc b/dcalc/GraphDelayCalc.cc index f48ee3af..3c2162ce 100644 --- a/dcalc/GraphDelayCalc.cc +++ b/dcalc/GraphDelayCalc.cc @@ -714,11 +714,6 @@ GraphDelayCalc::findVertexDelay(Vertex *vertex, iter_->enqueueFanout(vertex); } } - // Bidirect port drivers are enqueued by their load vertex in - // annotateLoadDelays. - else if (vertex->isBidirectDriver() - && network_->isTopLevelPort(pin)) - seedRootSlew(vertex, arc_delay_calc); } } From 47f191d7370389a6fde18d7334fff06ba162012a Mon Sep 17 00:00:00 2001 From: dsengupta0628 Date: Fri, 10 Jul 2026 18:41:33 +0000 Subject: [PATCH 09/14] fix typo Signed-off-by: dsengupta0628 --- graph/Graph.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graph/Graph.cc b/graph/Graph.cc index 03100b05..b1f40d4c 100644 --- a/graph/Graph.cc +++ b/graph/Graph.cc @@ -632,7 +632,7 @@ Graph::visitFaninEdges(Vertex *vertex, const EdgeFn &fn) { if (pred->searchFrom(vertex)) { - VertexOutEdgeIterator edge_iter(vertex, graph_); + VertexInEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); Vertex *from_vertex = this->vertex(edge->from_); From 8648521ece73b717b7fb5d38cfc603c096ecad09 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Fri, 10 Jul 2026 17:05:56 -0700 Subject: [PATCH 10/14] GraphDelayCalc::findVertexDelay bidir driver Signed-off-by: James Cherry --- dcalc/GraphDelayCalc.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dcalc/GraphDelayCalc.cc b/dcalc/GraphDelayCalc.cc index 3c2162ce..8dbcfe47 100644 --- a/dcalc/GraphDelayCalc.cc +++ b/dcalc/GraphDelayCalc.cc @@ -686,7 +686,11 @@ GraphDelayCalc::findVertexDelay(Vertex *vertex, debugPrint(debug_, "delay_calc", 2, "find delays {} ({})", vertex->to_string(this), network_->cellName(network_->instance(pin))); - if (vertex->isRoot()) + if (vertex->isRoot() + // Bidirect port drivers are enqueued by their load vertex in + // annotateLoadDelays. + || (vertex->isBidirectDriver() + && network_->isTopLevelPort(pin))) seedRootSlew(vertex, arc_delay_calc); else { if (network_->isLeaf(pin)) { From d05c37e3a62ab43a2fa448df83c5362c405068dc Mon Sep 17 00:00:00 2001 From: James Cherry Date: Fri, 10 Jul 2026 17:07:55 -0700 Subject: [PATCH 11/14] Graph::visitFaninEdges Signed-off-by: James Cherry --- graph/Graph.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graph/Graph.cc b/graph/Graph.cc index 03100b05..b1f40d4c 100644 --- a/graph/Graph.cc +++ b/graph/Graph.cc @@ -632,7 +632,7 @@ Graph::visitFaninEdges(Vertex *vertex, const EdgeFn &fn) { if (pred->searchFrom(vertex)) { - VertexOutEdgeIterator edge_iter(vertex, graph_); + VertexInEdgeIterator edge_iter(vertex, graph_); while (edge_iter.hasNext()) { Edge *edge = edge_iter.next(); Vertex *from_vertex = this->vertex(edge->from_); From f29b200bcd5004cc82228b02afdb279c16cf7a0d Mon Sep 17 00:00:00 2001 From: James Cherry Date: Fri, 10 Jul 2026 18:45:58 -0700 Subject: [PATCH 12/14] EvalPred::searchThru disabled loop edges Signed-off-by: James Cherry --- search/Search.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/search/Search.cc b/search/Search.cc index a133f993..0a7cac29 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -96,6 +96,7 @@ EvalPred::searchThru(Edge *edge, { const TimingRole *role = edge->role(); return SearchPred0::searchThru(edge, mode) + && (sta_->variables()->dynamicLoopBreaking() || !edge->isDisabledLoop()) && (search_thru_latches_ || role->isLatchDtoQ() || sta_->latches()->latchDtoQState(edge, mode) == LatchEnableState::open); @@ -2775,14 +2776,14 @@ Search::reportArrivals(Vertex *vertex, for (const Path *path : paths) { const Tag *tag = path->tag(this); const RiseFall *rf = tag->transition(); - bool report_prev = false; + bool report_prev = true; std::string prev_str; if (report_prev) { Path *prev_path = path->prevPath(); if (prev_path) { const Edge *prev_edge = path->prevEdge(this); TimingArc *arc = path->prevArc(this); - prev_str = sta::format("prev {} {} {} -> {} {}", + prev_str = sta::format(" prev {} {} {} -> {} {}", prev_path->to_string(this), prev_edge->from(graph_)->to_string(this), arc->fromEdge()->to_string(), @@ -2790,13 +2791,14 @@ Search::reportArrivals(Vertex *vertex, arc->toEdge()->to_string()); } else - prev_str = "prev NULL"; + prev_str = " prev NULL"; } report_->report(" {} {} {} / {} {}{}", rf->shortName(), path->minMax(this)->to_string(), delayAsString(path->arrival(), digits, this), delayAsString(path->required(), digits, this), - tag->to_string(report_tag_index, false, this), prev_str); + tag->to_string(report_tag_index, false, this), + prev_str); } } else From 08cf90d3fd4e0f825f570ed5ec273da202dd7013 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Fri, 10 Jul 2026 18:48:14 -0700 Subject: [PATCH 13/14] format Signed-off-by: James Cherry --- search/Search.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/search/Search.cc b/search/Search.cc index 0a7cac29..69be1f7f 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -96,7 +96,8 @@ EvalPred::searchThru(Edge *edge, { const TimingRole *role = edge->role(); return SearchPred0::searchThru(edge, mode) - && (sta_->variables()->dynamicLoopBreaking() || !edge->isDisabledLoop()) + && (sta_->variables()->dynamicLoopBreaking() + || !edge->isDisabledLoop()) && (search_thru_latches_ || role->isLatchDtoQ() || sta_->latches()->latchDtoQState(edge, mode) == LatchEnableState::open); From 8356ddbd5fc8e1757ed882e87235431c061fa29d Mon Sep 17 00:00:00 2001 From: dsengupta0628 Date: Sun, 12 Jul 2026 01:57:08 +0000 Subject: [PATCH 14/14] regolden regression as now more info per reported path line Signed-off-by: dsengupta0628 --- search/test/search_network_sta_deep.ok | 16 ++++++++-------- search/test/search_search_arrival_required.ok | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/search/test/search_network_sta_deep.ok b/search/test/search_network_sta_deep.ok index 935f2435..9ce8d353 100644 --- a/search/test/search_network_sta_deep.ok +++ b/search/test/search_network_sta_deep.ok @@ -258,15 +258,15 @@ paths: 60 --- report_tag_arrivals --- Vertex out1 Group 2 - ^ min 0.100 / -2.000 16 default clk ^ clk_src clk crpr_pin null - v min 0.099 / -2.000 17 default clk ^ clk_src clk crpr_pin null - ^ max 0.100 / 8.000 18 default clk ^ clk_src clk crpr_pin null - v max 0.099 / 8.000 19 default clk ^ clk_src clk crpr_pin null + ^ min 0.100 / -2.000 16 default clk ^ clk_src clk crpr_pin null prev buf2/Z ^ default/min 16 buf2/Z ^ -> out1 ^ + v min 0.099 / -2.000 17 default clk ^ clk_src clk crpr_pin null prev buf2/Z v default/min 17 buf2/Z v -> out1 v + ^ max 0.100 / 8.000 18 default clk ^ clk_src clk crpr_pin null prev buf2/Z ^ default/max 18 buf2/Z ^ -> out1 ^ + v max 0.099 / 8.000 19 default clk ^ clk_src clk crpr_pin null prev buf2/Z v default/max 19 buf2/Z v -> out1 v Vertex out1 - ^ min 0.100 / -2.000 default clk ^ clk_src clk crpr_pin null - v min 0.099 / -2.000 default clk ^ clk_src clk crpr_pin null - ^ max 0.100 / 8.000 default clk ^ clk_src clk crpr_pin null - v max 0.099 / 8.000 default clk ^ clk_src clk crpr_pin null + ^ min 0.100 / -2.000 default clk ^ clk_src clk crpr_pin null prev buf2/Z ^ default/min 16 buf2/Z ^ -> out1 ^ + v min 0.099 / -2.000 default clk ^ clk_src clk crpr_pin null prev buf2/Z v default/min 17 buf2/Z v -> out1 v + ^ max 0.100 / 8.000 default clk ^ clk_src clk crpr_pin null prev buf2/Z ^ default/max 18 buf2/Z ^ -> out1 ^ + v max 0.099 / 8.000 default clk ^ clk_src clk crpr_pin null prev buf2/Z v default/max 19 buf2/Z v -> out1 v --- report_arrival_entries --- --- report_required_entries --- Level 40 diff --git a/search/test/search_search_arrival_required.ok b/search/test/search_search_arrival_required.ok index 7fb42743..0ac18b74 100644 --- a/search/test/search_search_arrival_required.ok +++ b/search/test/search_search_arrival_required.ok @@ -68,15 +68,15 @@ worst_slack_path pin: out1 worst_slack_path slack: 7.899713772019368e-9 Vertex out1 Group 2 - ^ min 0.100 / -2.000 16 default clk ^ clk_src clk crpr_pin null - v min 0.099 / -2.000 17 default clk ^ clk_src clk crpr_pin null - ^ max 0.100 / 8.000 18 default clk ^ clk_src clk crpr_pin null - v max 0.099 / 8.000 19 default clk ^ clk_src clk crpr_pin null + ^ min 0.100 / -2.000 16 default clk ^ clk_src clk crpr_pin null prev buf2/Z ^ default/min 16 buf2/Z ^ -> out1 ^ + v min 0.099 / -2.000 17 default clk ^ clk_src clk crpr_pin null prev buf2/Z v default/min 17 buf2/Z v -> out1 v + ^ max 0.100 / 8.000 18 default clk ^ clk_src clk crpr_pin null prev buf2/Z ^ default/max 18 buf2/Z ^ -> out1 ^ + v max 0.099 / 8.000 19 default clk ^ clk_src clk crpr_pin null prev buf2/Z v default/max 19 buf2/Z v -> out1 v Vertex out1 - ^ min 0.100 / -2.000 default clk ^ clk_src clk crpr_pin null - v min 0.099 / -2.000 default clk ^ clk_src clk crpr_pin null - ^ max 0.100 / 8.000 default clk ^ clk_src clk crpr_pin null - v max 0.099 / 8.000 default clk ^ clk_src clk crpr_pin null + ^ min 0.100 / -2.000 default clk ^ clk_src clk crpr_pin null prev buf2/Z ^ default/min 16 buf2/Z ^ -> out1 ^ + v min 0.099 / -2.000 default clk ^ clk_src clk crpr_pin null prev buf2/Z v default/min 17 buf2/Z v -> out1 v + ^ max 0.100 / 8.000 default clk ^ clk_src clk crpr_pin null prev buf2/Z ^ default/max 18 buf2/Z ^ -> out1 ^ + v max 0.099 / 8.000 default clk ^ clk_src clk crpr_pin null prev buf2/Z v default/max 19 buf2/Z v -> out1 v --- worst_slack_vertex min --- worst_slack_vertex min pin: reg1/D worst_arrival_path min pin: reg1/D