Commit Graph
185 Commits
Author SHA1 Message Date
Minju Kim d765822226 Merge upstream/master into secure-sta_update_0814
Signed-off-by: Minju Kim <[email protected]>
2026-08-14 19:47:46 +09:00
Akash LevyandCursor 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 <[email protected]>

* Fix nested delaySum call indentation to match project style.

Co-authored-by: Cursor <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

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

Co-authored-by: Cursor <[email protected]>

---------

Co-authored-by: Cursor <[email protected]>
2026-08-09 09:29:03 -07:00
Akash LevyandCursor 3f4b337e30 Fix port-to-pin conversion for names containing slashes. (#463)
Use get_port_pin instead of find_pin on the port leaf name so escaped
hierarchical port names like level1/level2/level3 resolve correctly.
Also fix arglilst typo in get_port_pins_error.

Co-authored-by: Cursor <[email protected]>
2026-07-31 13:06:10 -07:00
Akash LevyandCursor 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 <[email protected]>

* 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 <[email protected]>

---------

Co-authored-by: Cursor <[email protected]>
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
7fdc304e12 FEATURE: Add read_vcd -begin_time/-end_time activity windowing (#466)
* Add read_vcd -begin_time/-end_time activity windowing.

Limit VCD transition and duty counting to an optional time window so
activity annotation can ignore regions outside the interval of interest.

Co-authored-by: Cursor <[email protected]>

* Format VcdCount::setFilter parameters one per line.

Co-authored-by: Cursor <[email protected]>

* Address VCD begin/end review: VcdTime, sentinel, rename.

Use VcdTime and vcd_null_time instead of int64_t/-1, rename
VcdCount filter bounds to begin/end_time, rename the regression to
vcd_begin_end_time, and document read_vcd -begin_time/-end_time in
ChangeLog.txt.

Co-authored-by: Cursor <[email protected]>

---------

Co-authored-by: Cursor <[email protected]>
Co-authored-by: James Cherry <[email protected]>
2026-07-29 08:44:51 -07:00
87ce5680df write_path_spice: match side input values to the path arc's transitions (#475)
* write_path_spice: match side input values to the path arc's transitions

gatePortValues() chose side input values from the first CUDD cube of the
Boolean difference d(f)/d(input), which sensitizes the gate but ignores
the transition directions of the arc the path used:

- For non-unate gates whose Boolean difference is a tautology (xor2,
  xnor2) every side variable came back don't-care, and the unknown value
  fell through to tie-low in writeSubcktInstVoltSrcs() -- wrong whenever
  the path used the when-condition requiring the side high.
- For mux select arcs the cube was an arbitrary data assignment,
  unrelated to the output edge the path reported.

Either way the written deck's gate drives the opposite direction from
the reported path: the simulated chain switches with inverted polarity
from that gate onward, edge-qualified arrival measurements fail, and
the deck sums delays from the wrong rise/fall tables.

Constrain the side input condition to the cofactor pair matching this
arc -- f1 & !f0 when the input and driver edges agree (non-inverting),
f0 & !f1 when they differ (inverting) -- threading the gate input
RiseFall from the path stage into gatePortValues().  Also release the
CUDD nodes that were previously leaked (the old code Cudd_Ref'd the
Boolean difference after the generator was freed and never deref'd it).

Fixes #474

Co-Authored-By: Claude Fable 5 <[email protected]>

* test: write_path_spice
  arc-sense regression for #474, and outlined in #475

---------

Co-authored-by: Brian Degnan <[email protected]>
Co-authored-by: Claude Fable 5 <[email protected]>
2026-07-27 10:23:15 -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 <[email protected]>

* extend user defined property to all 10 objects

Signed-off-by: dsengupta0628 <[email protected]>

* address reviews

Signed-off-by: dsengupta0628 <[email protected]>

---------

Signed-off-by: dsengupta0628 <[email protected]>
2026-07-27 08:50:40 -07:00
Deepashree Sengupta ef0b69091f PrimaDelayCalc: handle degenerate parasitic networks (fixes STA-1752 "G matrix is singular") (#476)
* support for filter in get_scene/mode

Signed-off-by: dsengupta0628 <[email protected]>

* fix singular G matrix issue for degenerate nets

Signed-off-by: dsengupta0628 <[email protected]>

* fix the mistake on existing regression- was accidentally modified

Signed-off-by: dsengupta0628 <[email protected]>

* make changes accounting for future SI support and address reviews

Signed-off-by: dsengupta0628 <[email protected]>

* simplify comment

Signed-off-by: dsengupta0628 <[email protected]>

* address feedbacks

Signed-off-by: dsengupta0628 <[email protected]>

---------

Signed-off-by: dsengupta0628 <[email protected]>
2026-07-27 08:48:57 -07:00
dsengupta0628 f303d84f03 rootcause macos failure issue
Signed-off-by: dsengupta0628 <[email protected]>
2026-07-26 03:31:29 +00: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 <[email protected]>

* defineProperty overload

Signed-off-by: dsengupta0628 <[email protected]>

* define and set user property

Signed-off-by: dsengupta0628 <[email protected]>

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

Signed-off-by: dsengupta0628 <[email protected]>

* address second round comments- removed user from cmd names

Signed-off-by: dsengupta0628 <[email protected]>

* remove defaults, check property vals against type defined

Signed-off-by: dsengupta0628 <[email protected]>

* address reviews, indent

Signed-off-by: dsengupta0628 <[email protected]>

* indent fix

Signed-off-by: dsengupta0628 <[email protected]>

---------

Signed-off-by: dsengupta0628 <[email protected]>
2026-07-10 09:37:48 -07:00
James Cherry ceb7e6389d asap7_small cmmment
Signed-off-by: James Cherry <[email protected]>
2026-07-09 10:34:44 -07:00
James Cherry c4c811ad2e make instance update endpoints
Signed-off-by: James Cherry <[email protected]>
2026-07-09 10:29:46 -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 <[email protected]>

* address review comments

Signed-off-by: dsengupta0628 <[email protected]>

* address review comments take 2

Signed-off-by: dsengupta0628 <[email protected]>

* revert to using cmd mode name

Signed-off-by: dsengupta0628 <[email protected]>

---------

Signed-off-by: dsengupta0628 <[email protected]>
2026-06-30 09:18:56 -07:00
dsengupta0628 0c96ee9a22 upstream changes plus resolved conflict in ci.yml
Signed-off-by: dsengupta0628 <[email protected]>
2026-06-29 15:38:16 +00:00
Deepashree Sengupta 37b0b20a62 fix missing path issue (#452)
Signed-off-by: dsengupta0628 <[email protected]>
2026-06-25 16:55:29 -07:00
dsengupta0628 1c7c168482 Merge remote-tracking branch 'upstream/master' into sta_latest_0609 2026-06-10 17:49:48 +00:00
Drew Lewis 424cb1dff1 Add native gzip compression support to write_verilog (#448) 2026-06-10 09:12:19 -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 452f0bf772 enforce sta assump by error instead of seg fault
Signed-off-by: dsengupta0628 <[email protected]>
2026-06-02 15:21:11 +00:00
dsengupta0628 63080ba1bf Merge remote-tracking branch 'upstream/master' into sta_latest_0528 2026-05-28 18:12:56 +00:00
Deepashree Sengupta 5dbc473186 fix makeConcreteParasitics leak+testcase (#439)
* fix makeConcreteParasitics leak

Signed-off-by: dsengupta0628 <[email protected]>

* simplify test, update the address review comment

Signed-off-by: dsengupta0628 <[email protected]>

* reduce test verbosity

Signed-off-by: dsengupta0628 <[email protected]>

---------

Signed-off-by: dsengupta0628 <[email protected]>
2026-05-20 13:55:02 -07:00
dsengupta0628 85f3840898 latest changes 5/14 including generalize path report field and expose levelizObserver for dbsta
Signed-off-by: dsengupta0628 <[email protected]>
2026-05-14 17:01:51 +00:00
dsengupta0628 76c4d6df35 Merge branch 'master' into sta_update_latest_0505 2026-05-11 15:06:20 +00:00
dsengupta0628 7bbd2475bd revert of changes in PR 327
Signed-off-by: dsengupta0628 <[email protected]>
2026-05-07 18:15:07 +00:00
James Cherry 6eb6911d30 regression
Signed-off-by: James Cherry <[email protected]>
2026-05-06 08:51:10 -07:00
dsengupta0628 ccce34fea5 Merge remote-tracking branch 'parallax_sta/master' into sta_update_latest_0505 2026-05-05 17:06:10 +00:00
James Cherry 6fd319474f regression
Signed-off-by: James Cherry <[email protected]>
2026-04-25 18:59:53 -07:00
James Cherry 15c59e7527 regression.tcl
Signed-off-by: James Cherry <[email protected]>
2026-04-25 16:05:09 -07:00
dsengupta0628 05b4e3a1d9 Latest pulled in changes on 4/20 from upstream to push all together with latest from 4/16
Signed-off-by: dsengupta0628 <[email protected]>
2026-04-20 14:21:16 +00:00
James Cherry 6bcf7b8156 rm unnecessary sta:: in tcl
Signed-off-by: James Cherry <[email protected]>
2026-04-16 16:12:59 -07:00
dsengupta0628 3b8e81393d Merge branch 'master' into sta_latest_from_parallaxsw_0407 2026-04-07 21:53:36 +00:00
dsengupta0628 371b85cd20 latest STA plus changes to fix prima dcalc and read_spef issues, TCL regression added
Signed-off-by: dsengupta0628 <[email protected]>
2026-04-07 20:48:15 +00:00
Deepashree Sengupta c887b2e4b3 Bias pin handling (#409)
* Update STA to exclude bias pins from timing graph and subsequently in write_verilog

Signed-off-by: dsengupta0628 <[email protected]>

* unnecessary space in orig verilog

Signed-off-by: dsengupta0628 <[email protected]>

* Update to use well supplies rather than bias pins

Signed-off-by: dsengupta0628 <[email protected]>

---------

Signed-off-by: dsengupta0628 <[email protected]>
2026-04-07 11:00:01 -07:00
James Cherry 645f2669c9 report_dcalc prima resolves #418
Signed-off-by: James Cherry <[email protected]>
2026-04-07 10:45:04 -07:00
Jaehyun KimandClaude 5fd751e8d7 Revert diff_files/diff_files_sorted to original return behavior
Revert error-on-mismatch back to return 1, as the new GitHub Action
(github-actions-are-differences-found) now detects "Differences found"
in CI output, making the error approach unnecessary.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: Jaehyun Kim <[email protected]>
2026-04-07 23:42:21 +09:00
dsengupta0628 3eec04f4e8 update STA to Parallaxsw version on 4/7 with fix for issue 416 and some unrelated stuff
Signed-off-by: dsengupta0628 <[email protected]>
2026-04-07 12:59:25 +00:00
Jaehyun KimandClaude b30c82b2d0 Make diff_files/diff_files_sorted error on mismatch
Previously these functions returned 1 on mismatch but no caller
checked the return value, allowing roundtrip failures to go
undetected. Now they call error() so the sta process exits
non-zero and the regression runner catches the failure.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: Jaehyun Kim <[email protected]>
2026-04-06 14:35:59 +09:00
James Cherry 548b665412 get_* -filter allow true/false, '.' in glob pattern resolves #416
Signed-off-by: James Cherry <[email protected]>
2026-04-04 16:19:41 -07:00
James Cherry d6e826ef8b save_ok hook
Signed-off-by: James Cherry <[email protected]>
2026-04-04 14:58:25 -07:00
James Cherry fe23c4530f regression.tcl
Signed-off-by: James Cherry <[email protected]>
2026-04-03 16:46:13 -07:00
Jaehyun Kim 7d0e0bb641 Merge branch 'master' of https://github.com/The-OpenROAD-Project-private/OpenSTA into secure-test-suite-cleanup
Signed-off-by: Jaehyun Kim <[email protected]>
2026-04-03 12:27:03 +09:00
Matt Liberty 94bb37bb4a Merge pull request #327 from The-OpenROAD-Project/driver-vertex-level-cache
added driver vertex levelization
2026-04-02 21:22:03 +00:00
Jaehyun KimandClaude a1c1685c04 Clean up test suite per 3-way code review findings
- Remove temp files: network_gcd_traversal.log, util_report_redirect.log
- Delete 19 comment-only C++ test stubs (dead code for removed APIs)
- Remove redundant graph_make_verify test (covered by graph_advanced)
- Centralize assert_file_nonempty/assert_file_contains into test/helpers.tcl
  and remove inline copies from 17 verilog test files
- Fix Build.sh stray quotes in heredoc output
- Fix regression.sh unquoted variable expansions
- Update .gitignore: add */test/*.log and Testing/

All 6087 tests pass.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: Jaehyun Kim <[email protected]>
2026-04-02 22:27:27 +09:00
Cho Moon 748fb9bd4b code review changes per Deepashree
Signed-off-by: Cho Moon <[email protected]>
2026-04-02 06:27:17 +00:00
Jaehyun Kim b42e064281 Merge remote-tracking branch 'opensta/master' into secure-sta-test-by-opus
Signed-off-by: Jaehyun Kim <[email protected]>

# Conflicts:
#	test/get_filter.ok
2026-03-31 15:29:44 +09:00
James Cherry 538db6211f filter_objects via Akash Levy resolves #399 2026-03-30 09:36:21 -07:00
James Cherry 46472e0eed regresssion update failures/diffs
Signed-off-by: James Cherry <[email protected]>
2026-03-29 15:19:00 -07:00