Commit Graph

671 Commits

Author SHA1 Message Date
Minju Kim d765822226 Merge upstream/master into secure-sta_update_0814
Signed-off-by: Minju Kim <mkim@precisioninno.com>
2026-08-14 19:47:46 +09:00
Akash Levy e9c075ab94
BIGFEATURE: Add `set_path_margin` command (#469)
* Implement set_path_margin command

Adds a new set_path_margin SDC command that applies a signed slack
adjustment to the capture-clock side of timing paths. A positive
margin tightens the path (harder to meet) and a negative margin
loosens it. Supports -setup/-hold/-from/-through/-to scoping,
priority/override semantics matching other exceptions, text and
JSON report output, and write_sdc serialisation.

Adapted from Silimate PR #57; uses upstream/master Mode/Scene and
string_view APIs. Test uses unset_path_exceptions in place of the
Silimate-only reset_path alias.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix nested delaySum call indentation to match project style.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Address review: store PathMargin on PathEnd, split tests

Keep the path margin exception on PathEndClkConstrained, add
PathEnd::hasPathMargin for report gating, and split the monolithic
regression into set_path_margin1–6. Rebased onto upstream/master and
document the command in ChangeLog.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Document set_path_margin in OpenSTA.fodt/pdf

Add the command reference, index entry, and note that
unset_path_exceptions also clears path margin exceptions.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Drop [[nodiscard]] from PathEnd::hasPathMargin.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-09 09:29:03 -07:00
Akash Levy d0526b524b
FEATURE: Implement `set_max_dynamic_power` and `set_max_leakage_power` (#471)
* Implement set_max_dynamic_power and set_max_leakage_power.

Store max dynamic/leakage power like max area, expose getters through Sta,
write them in write_sdc, and document that they are ignored during timing.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Drop get_max_* Tcl wrappers; use SWIG accessors in tests.

James pointed out the get_max_* commands duplicate existing SWIG
accessors; remove them and call sta::max_* from the regression.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 12:57:23 -07:00
dsengupta0628 8541d77bc7 Merge remote-tracking branch 'upstream/master' into sta_update_0729 2026-07-30 02:32:07 +00:00
James Cherry c00b847b20 prima mcmm bugs
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-07-29 08:45:39 -07:00
Deepashree Sengupta f476e269b9
Extend user-defined properties to all basic object types (#479)
* support for filter in get_scene/mode

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* extend user defined property to all 10 objects

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* address reviews

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

---------

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-07-27 08:50:40 -07:00
dsengupta0628 55580b3cdb Merge remote-tracking branch 'upstream/master' into sta_update_0725 2026-07-26 21:20:20 +00:00
dsengupta0628 836d704802 update latest OpenSTA from upstream 7/25
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-07-25 11:43:45 +00:00
James Cherry 4f2c3d4ca5 thread_count_ -> size_t
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-07-19 10:28:43 -07:00
James Cherry 76bc0496ec Sta::reportPathVerbose
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-07-18 15:40:15 -07:00
James Cherry affd539b3f GraphDelayCalc::findVertexDelay incr
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-07-14 15:30:19 -07:00
James Cherry dbb19a2687 rm GraphDelayCalc::incremental_
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-07-14 15:30:19 -07:00
James Cherry dd657bf250 GraphDelayCalc::findVertexDelay bidir load->driver
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-07-14 15:30:19 -07:00
dsengupta0628 b83fcee672 Merge remote-tracking branch 'upstream/master' into sta_latest_0710 2026-07-10 17:58:26 +00:00
Deepashree Sengupta a0de2706d3
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 <dsengupta@precisioninno.com>

* defineProperty overload

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* define and set user property

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* address review comments to generalize- current support for mode and scene

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* address second round comments- removed user from cmd names

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* remove defaults, check property vals against type defined

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* address reviews, indent

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* indent fix

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

---------

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-07-10 09:37:48 -07:00
James Cherry 2c866d5f2d bfs update kahns prep
commit 4075953c9798444b9d5275f8fa0320f74b9bf1ef
Author: James Cherry <cherry@CerezoBook.local>
Date:   Sat Jul 4 09:00:48 2026 -0700

    bfs resort hasNext

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 4fb0dd19e479f507935129fe940bcd1cf93b29d0
Author: James Cherry <cherry@CerezoBook.local>
Date:   Thu Jul 2 12:23:54 2026 -0700

    ApiChanges

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 510afbc1403c9fd2b764b4f3a71dddabd696f052
Author: James Cherry <cherry@CerezoBook.local>
Date:   Thu Jul 2 11:07:44 2026 -0700

    bfs enqueueFanin/out

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 9a5aa570e910c289b276a519bdf532dfa2e28c5f
Author: James Cherry <cherry@CerezoBook.local>
Date:   Thu Jul 2 10:41:27 2026 -0700

    Revert "bfs continueFrom/enqueueFanin/out"

    This reverts commit d18498c947a7df2b615fafda38fbdbe8033eca9d.

commit 02a253ab252f6637cfea29bdd788cb25da16813d
Author: James Cherry <cherry@CerezoBook.local>
Date:   Thu Jul 2 08:21:49 2026 -0700

    Revert "Bfs rm search_pred"

    This reverts commit d858b3380b5e1d81ff6162b6378672a6099a246f.

commit 0adf03613d91c5774545d12cba1dc52052ca732a
Author: James Cherry <cherry@CerezoBook.local>
Date:   Thu Jul 2 08:08:04 2026 -0700

    Genclks::ensureMaster

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 089b373c548b77f9189a2617c3168867de620dfe
Author: James Cherry <cherry@CerezoBook.local>
Date:   Wed Jul 1 17:50:43 2026 -0700

    Search::ensureDownstreamClkPins() use dfs

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 000ca16adb9bdcb92266e5f242629bc3e8612658
Author: James Cherry <cherry@CerezoBook.local>
Date:   Wed Jul 1 10:03:57 2026 -0700

    ApiChangeLog

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit d858b3380b5e1d81ff6162b6378672a6099a246f
Author: James Cherry <cherry@CerezoBook.local>
Date:   Wed Jul 1 09:56:53 2026 -0700

    Bfs rm search_pred

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit d18498c947a7df2b615fafda38fbdbe8033eca9d
Author: James Cherry <cherry@CerezoBook.local>
Date:   Wed Jul 1 08:07:15 2026 -0700

    bfs continueFrom/enqueueFanin/out

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit a8c55b12b3ad7a1041766775727ad758ae8c6d18
Author: James Cherry <cherry@CerezoBook.local>
Date:   Tue Jun 30 10:07:46 2026 -0700

    bfs continue

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 8530dcd86b7ee736f1858143c3b2cee57cdbc991
Author: James Cherry <cherry@CerezoBook.local>
Date:   Tue Jun 30 07:15:28 2026 -0700

    Graph::visitFanin/out uninline edge iter

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 1ba1f4576f4b72c64db742369a63dcf8726ba002
Author: James Cherry <cherry@CerezoBook.local>
Date:   Mon Jun 29 21:09:17 2026 -0700

    BfsIterator rm Iterator<Vector> subclass

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit b3ddd2580298958ad6da8225ecac0d255315504c
Author: James Cherry <cherry@CerezoBook.local>
Date:   Mon Jun 29 20:15:23 2026 -0700

    ClkNetwork::findClkPins use VertexQueue instead of bfs

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 9e73154db48a7301be4039a25aec1fef589ef18a
Author: James Cherry <cherry@CerezoBook.local>
Date:   Mon Jun 29 18:39:39 2026 -0700

    Search::ensureDownstreamClkPins use VertexQueue

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 9cd1b160e126ccacc47375ef508fdbb580bfa162
Author: James Cherry <cherry@CerezoBook.local>
Date:   Mon Jun 29 11:18:03 2026 -0700

    comment

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit 0baf3838e2b8faa5fea560b0c95431b277631fea
Author: James Cherry <cherry@CerezoBook.local>
Date:   Mon Jun 29 10:57:39 2026 -0700

    findClkArrivals use invalid for clk fringe

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit e82ccd10a5e4bd69e41ce889685d7a130ae79ed6
Author: James Cherry <cherry@CerezoBook.local>
Date:   Sun Jun 28 20:36:48 2026 -0700

    Search::findClkArrivals

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

commit cb66a72686c8728141c72ceb593b8a4b895ff696
Author: James Cherry <cherry@CerezoBook.local>
Date:   Sun Jun 28 10:11:55 2026 -0700

    rm Search::postponeClkFanouts

    Signed-off-by: James Cherry <cherry@CerezoBook.local>

Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-07-04 09:04:31 -07:00
James Cherry 900116cf72 comment
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-07-01 08:12:34 -07:00
dsengupta0628 5c68ce6b54 Merge remote-tracking branch 'upstream/master' into sta_latest_0629 2026-06-30 17:11:41 +00:00
Deepashree Sengupta 998806cb13
make mode/scene pass as tcl objects (#454)
* make mode/scene pass as tcl objects

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* address review comments

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* address review comments take 2

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

* revert to using cmd mode name

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>

---------

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-06-30 09:18:56 -07:00
James Cherry 310107acd8 revert 458c277 resolves #455
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-30 09:10:17 -07:00
dsengupta0628 0c96ee9a22 upstream changes plus resolved conflict in ci.yml
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-06-29 15:38:16 +00:00
James Cherry c222b49a7a ConcreteNetwork/Library member alignment
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-26 21:11:13 -07:00
James Cherry 1796b158a2 Graph member alignment
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-26 20:20:09 -07:00
Deepashree Sengupta 37b0b20a62
fix missing path issue (#452)
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-06-25 16:55:29 -07:00
James Cherry bfdd2be0ee ArrivalVisitor::srch_adj_ -> search_adj_
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-25 10:43:43 -07:00
James Cherry 0b938d71eb SearchAdjLoop predicate
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-25 10:04:39 -07:00
James Cherry e603b7abe0 dynamic loop do not use search pred
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-24 16:55:51 -07:00
James Cherry f1adf5b26a Graph::visitFanouts, visitFanins
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-23 15:09:08 -07:00
James Cherry a456c352cf rename LibertyCell::hasSequentials to isSequential
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-22 19:20:39 -07:00
James Cherry 458c277c80 Sta::delaysInvalidFromFanin
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-22 19:14:30 -07:00
James Cherry 7ca079f3f6 LibertyPort::setIsLatchOutput
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-18 14:42:12 -07:00
James Cherry dea1ea2c13 rm Search::postpone_latch_outputs_
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-18 13:52:47 -07:00
James Cherry 1c6ab172e2 eval latches out of bfs
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-18 13:52:47 -07:00
dsengupta0628 5dae3933dc Merge remote-tracking branch 'upstream/master' into sta_latest_0618 2026-06-18 17:45:09 +00:00
James Cherry 133580eeae Sta::findRequired(vertex) public
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-16 12:00:17 -07:00
James Cherry 0fe167a80d sta_internal_bidirect_instance_paths_enabled use load->driver edges
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-15 17:02:58 -07:00
James Cherry 376d86bbce rm Sdc::output_delay_ref_pin_map_
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-13 16:45:23 -07:00
James Cherry 740fa7d16c input ref pin graph edges
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-13 16:31:24 -07:00
dsengupta0628 1c7c168482 Merge remote-tracking branch 'upstream/master' into sta_latest_0609 2026-06-10 17:49:48 +00:00
James Cherry 4249ab7b98 set sta_pocv_mode update delays/slews
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-10 10:38:15 -07:00
dsengupta0628 7e8f01616c Revert "enforce sta assump by error instead of seg fault"
This reverts commit 452f0bf772.
2026-06-09 17:59:23 +00:00
dsengupta0628 7aeca8c193 Merge remote-tracking branch 'upstream/master' into sta_latest_0609 2026-06-09 16:08:30 +00:00
Drew Lewis b3458485ba
Dont spin main for queue (#443)
* Use DynamicLatch in DispatchQueue to avoid main thread spinning

Replace the busy-yielding pending_task_count_ loop in DispatchQueue::finishTasks
with a blocking DynamicLatch. This avoids having the main thread consume CPU
cycles while waiting for dispatched tasks to complete.

The DynamicLatch implementation uses C++20 std::atomic::wait/notify_all for
efficient blocking and wakeup, with proper release-acquire semantics to ensure
task results are visible to the waiting thread.

* Reformat DynamicLatch to match DispatchQueue style

* Update attribution headers in DispatchQueue files to note modifications
2026-06-06 16:45:46 -07:00
James Cherry ffe126af2a PathGroups::inPathGroupNamed
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-06-06 11:55:51 -07:00
dsengupta0628 452f0bf772 enforce sta assump by error instead of seg fault
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-06-02 15:21:11 +00:00
James Cherry 13cd475ffa make_net/make_port bus bit without bus dcl pr441
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-05-29 16:32:47 -07:00
James Cherry 8f84d721f3 report_tag_arrivals
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-05-28 12:43:10 -07:00
dsengupta0628 63080ba1bf Merge remote-tracking branch 'upstream/master' into sta_latest_0528 2026-05-28 18:12:56 +00:00
James Cherry 41a3d86d8c Sta::unsetAnnotatedSlew
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-05-27 10:50:44 -07:00
James Cherry ffd54f38b1 rm hashPtr
Signed-off-by: James Cherry <cherry@CerezoBook.local>
2026-05-27 10:44:55 -07:00