Commit Graph

146 Commits

Author SHA1 Message Date
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
Cho Moon 748fb9bd4b code review changes per Deepashree
Signed-off-by: Cho Moon <cmoon@precisioninno.com>
2026-04-02 06:27:17 +00:00
Jaehyun Kim 069de0498c Merge branch 'master' of https://github.com/The-OpenROAD-Project-private/OpenSTA into secure-sta-test-by-opus
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-31 15:27:01 +09:00
dsengupta0628 b5f647cb7f update test infra to accomodate std::string instead of const char*
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-30 19:44:26 +00:00
dsengupta0628 5f46ad3dfb Merge remote-tracking branch 'upstream/master' into sta_latest_merge_strings 2026-03-30 16:22:27 +00:00
James Cherry 6742692876 string squash
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-28 19:13:35 -07:00
Jaehyun Kim 59663ab640 update test files for upstream API refactoring
Adapt all cpp/tcl test files to match upstream OpenSTA API changes:
- string* output params changed to string return values (Verilog, Network)
- Report methods renamed (reportLineString->reportLine, printf->std::format)
- Delay type refactored from float typedef to class (Graph)
- Liberty model APIs updated (value semantics, shared_ptr, PocvMode)
- EXPECT_STREQ -> EXPECT_EQ for std::string returns (Sdc, Search)
- streamPrint -> sta::print with std::format specifiers (Spice)
- Avoid unset_clock_groups -all path (upstream iterator invalidation bug)

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-23 13:58:23 +00:00
Jaehyun Kim 9547beead3 Merge remote-tracking branch 'origin/secure-bump-opensta-0321' into secure-sta-test-by-opus
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-21 18:54:41 +09:00
Jaehyun Kim 43bca8d224 Merge remote-tracking branch 'opensta/master' into secure-sta-test-by-opus
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-21 18:54:37 +09:00
Jaehyun Kim aac881a974 update test files for upstream API refactoring
Adapt all cpp/tcl test files to match upstream OpenSTA API changes:
- string* output params changed to string return values (Verilog, Network)
- Report methods renamed (reportLineString->reportLine, printf->std::format)
- Delay type refactored from float typedef to class (Graph)
- Liberty model APIs updated (value semantics, shared_ptr, PocvMode)
- EXPECT_STREQ -> EXPECT_EQ for std::string returns (Sdc, Search)
- streamPrint -> sta::print with std::format specifiers (Spice)
- Avoid unset_clock_groups -all path (upstream iterator invalidation bug)

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-21 18:46:31 +09:00
Jaehyun Kim 8868609846 Merge branch 'master' of https://github.com/parallaxsw/OpenSTA
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-21 18:09:38 +09:00
dsengupta0628 af791b9974 Merge branch 'master' into sta_update_upstream_lvf_stuff 2026-03-20 19:50:24 +00:00
Jaehyun Kim 992a1dcec5 Merge branch 'master' of https://github.com/The-OpenROAD-Project-private/OpenSTA into secure-sta-test-by-opus
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-20 21:56:12 +09:00
Vitor Bandeira 69e11bbd0d
Merge pull request #300 from The-OpenROAD-Project-staging/secure-sta-test-suite
test: Add test infrastructure and sample test cases
2026-03-18 08:54:06 -03:00
James Cherry 134b547501 use std::format squash 2026-03-16 15:01:38 -07:00
James Cherry 5fbd2a18b5 Graph::slew/arcDelay rm static
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-16 14:53:02 -07:00
James Cherry d6e7b4256c lvf squish
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-13 14:06:35 -07:00
Jaehyun Kim e7b861051d test: Fix post-merge build errors and regolden .ok files
After merging upstream changes, fix all build errors in C++ test files
and regolden Tcl test golden files to match updated code output.

Build fixes:
- dcalc/test/cpp/TestDcalc.cc: Fix const char* loop iterations, use
  EXPECT_NEAR for uninitialized subnormal float comparison
- liberty/test/cpp/TestLibertyStaBasicsB.cc: Wrap tests using removed
  LibertyBuilder() default constructor in #if 0
- liberty/test/cpp/TestLibertyStaCallbacks.cc: Fix LibertyBuilder()
  call to use sta_->debug()/report(); wrap old visitor tests in #if 0
- search/test/cpp/TestSearchStaDesignB.cc: Fix pg->name() nullptr
  comparison (now returns std::string&)
- search/test/cpp/TestSearchStaInit.cc: Fix 5 clkPinsInvalid/isIdealClock
  tests to expect throw (API now requires linked network)

Tcl test fixes:
- Remove calls to removed APIs: report_path_end_header/footer, report_path_end2
  from 6 search test scripts; regolden their .ok files
- Regolden .ok files for liberty (15), graph (1), network (8),
  parasitics (3), sdc (3), util (2), verilog (8) modules to reflect
  upstream format changes (timing arcs output, pin ordering, spacing)

All 6103 tests now pass.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-11 17:11:08 +09:00
Jaehyun Kim a5f8e9c3ab test: Fix test failures after master merge
Update test code to match API changes from upstream master:

- TestGraph.cc: Fix makeScenes() call to pass reference instead of pointer
- TestLibertyClasses.cc: Fix ScaleFactorType wire_res/wire_cap name mapping;
  fix TablePtr usage by calling .get() where const TableModel* is expected
- TestLibertyClasses.cc: Update liberty_read_nangate.ok for new timing arc output
- TestPower.cc: Replace PwrActivityOrigin::defaulted with ::unknown;
  fix isSet() expectations (unknown origin returns false)
- TestSdcClasses.cc, TestSdf.cc, TestUtil.cc, TestSpice.cc:
  Fix RiseFall::to_string() expected values from short form ("^"/"v")
  to long form ("rise"/"fall")
- TestUtil.cc: Remove tests for deleted StringVector/split/TokenParser
  and StringSet::deleteContents (removed from master)
- TestSpice.cc: Replace StdStringSeq with StringSeq
- helpers.tcl: Use pwd-based result_dir so module tests write results
  to their own test/results/ directory
- verilog_bus.ok: Update golden file for new port ordering from master

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-11 10:16:27 +09:00
Jaehyun Kim d4ad9312ea Merge origin/master into secure-sta-test-suite
Resolve add/add conflict in test/helpers.tcl by merging both versions:
- Keep master's report_file, report_file_filter, sort_objects functions
- Keep branch's diff_files, diff_files_sorted functions
- Use master's result_dir setup with branch's mkdir logic in make_result_file

Resolve content conflict in test/regression by keeping branch's
bash/ctest launcher over master's Tcl regression script.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-11 09:48:28 +09:00
James Cherry 981f44db68 update copyright
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-10 14:57:45 -07:00
James Cherry 129d007f76 override
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-09 17:43:03 -07:00
James Cherry 859982bdc7 StdStringSeq -> StringSeq
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-08 15:51:50 -07:00
James Cherry 0c36caa182 rm StdString
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-08 15:16:00 -07:00
James Cherry d8c0e9285b RiseFall use shortName instead of to_string
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-06 12:02:05 -07:00
James Cherry 741bf4d561 rm using std::
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-02 12:13:13 -08:00
James Cherry c010a0f99e liberty reader rewrite
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-27 17:12:50 -08:00
Jaehyun Kim 92bb9b8ec9 test: Add comprehensive test infrastructure and test cases across all OpenSTA modules
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-27 12:59:25 +09:00
Jaehyun Kim 55259b894b test: Add `save_ok` script
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-27 11:12:27 +09:00
Jaehyun Kim 9bbac53157 test: Make ctest run C++ unit tests
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-27 09:51:10 +09:00
Jaehyun Kim 8adbcc0d6d Merge upstream STA update and adapt all tests to new API
Major upstream refactoring: Corner→Scene, Mode architecture, warning
format change (Warning ID:), command renames, and many API signature
changes. Adapted all C++ test files and TCL test scripts/expected
output files to pass with the new API. 6159/6159 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-23 23:05:29 +09:00
Jaehyun Kim b6d598a119 test: strengthen assertions, add sorted SDC diff, and clean up tests
- Add diff_files_sorted to test/helpers.tcl for hash-order-independent
  SDC comparison (fixes non-deterministic write_sdc output ordering)
- Use diff_files_sorted in sdc_derate_disable_deep and
  sdc_port_delay_advanced tests
- Remove stale coverage percentages from test comments (Comment 1)
- Remove unnecessary catch blocks in search property tests (Comment 3)
- Strengthen load-only tests with actual data verification (Comment 8)
- Remove orphan .ok files for deleted monolithic tests (Comment 9)
- Add golden .sdcok/.libok/.vok/.sdfok files for SDC/liberty/verilog
  write-and-diff tests
- Add -B (clean rebuild) option to make_coverage_report.sh
- Replace (void) casts and EXPECT_TRUE(true) with real assertions in
  TestSdc.cc and TestVerilog.cc

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-23 11:50:23 +09:00
Jaehyun Kim a58d7e4cc6 test: add explicit assertions to all cpp test cases
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-22 21:14:35 +09:00
Jaehyun Kim e57c8043cd test: Apply review feedback - part3
Remove unnecessary catch blocks from Tcl test files across all modules,
add report_checks after each set_wire_load_model in liberty_wireload,
rewrite liberty_sky130_corners for actual multi-corner timing analysis
with define_corners, and expand C++ tests (TestSearchIncremental 8→36,
TestPower 71→96, TestSpice 98→126 tests).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:05:07 +09:00
Jaehyun Kim 547737f71e test: Apply review feedback - part2
- Remove stale line-number coverage comments (# Targets: line NNN, hit=0)
- Remove useless file-existence checks from verilog/sdf tests
- Delete 21 orphaned dcalc Tcl tests (C++ tests already cover them)
- Rename liberty_ccsn_ecsm -> liberty_ccsn (no ECSM libs available)
- Fix liberty_sky130_corners to use define_corners/-corner for real multi-corner testing
- Add report_checks per wireload model in liberty_wireload
- Fix test/regression to work from test/ directory (label mismatch)
- Refactor all module CMakeLists.txt with sta_module_tests() macro

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 01:13:42 +09:00
Jaehyun Kim 6799b1909a test: Apply review feedback - part1
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-19 23:30:23 +09:00
Jaehyun Kim b77779f7a6 test: Refactoring. Standardize Google Test naming conventions by removing `R#_` prefixes, improve temporary file creation with `mkstemp`, etc
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-13 20:36:42 +09:00
Jaehyun Kim d6c09372ba test: Initial upload
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-13 19:19:09 +09:00
James Cherry 33e480a6c1 liberty memory management
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-04 18:33:04 -07:00
James Cherry d42b821c00 rel 3.0
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-13 09:36:45 -07:00
James Cherry 6e29fcb3f0 findRequired(vertex) rm crpr disable
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-10-24 08:47:07 -07:00
James Cherry f18df8a1a2 Edge::arcDelayAnnotateBit resolves issue #299
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-18 15:48:37 -07:00
James Cherry 2163a5c6b9 parallel dcalc with diff arc counts resolves #288
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-06 14:43:01 -07:00
James Cherry 3620d7a259 liberty min_period timing group support resolves #275
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-27 18:12:26 -07:00
James Cherry 1c45b89879 set_min/max_delay illegal endpoint warning
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-04 16:43:21 -07:00
James Cherry 6df4cdc794 Vertex::to_string use sdc network
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-03 18:43:50 -07:00
James Cherry 687dcb1746 tcl Vertex arrival min/max
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-04-28 15:37:43 -07:00
James Cherry 400c473fe3 Levelize rewrite
commit 34f392b19f13b8a55371f0149de8fec3e76aeffa
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Apr 17 13:21:45 2025 -0700

    in_degree itr

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 745e11326d109dddf798843cbbefc4aac79a8bc8
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Apr 17 11:00:52 2025 -0700

    levelize invalid cleanup

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 501cfc7ebbc601db7f87c4c1fe70224fca904ce7
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Apr 17 10:15:16 2025 -0700

    refactor

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit b1f0245f9ad7c7c140580e46a0e9c14742b6b448
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Apr 17 09:47:05 2025 -0700

    Levelize use bit field for on_path

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 1ecb617bf0894a290d6240a6150f1d31653e56fb
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Apr 16 19:17:56 2025 -0700

    levelize static alloc

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 100c7c5a10581f52f6b5c7c2d4b5614d19549e23
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Apr 16 18:15:39 2025 -0700

    levelize use visited flag

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit a72bdc4322c3ea9f34d0144fdf1f74acfbed39fb
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Apr 16 15:59:25 2025 -0700

    findCycleBackEdges

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 21f5e9737cfd7c41a5444592920320cfe0de559c
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Apr 16 15:51:17 2025 -0700

    Levels find back edges from roots with fanout

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit ca2fe71e506c61f05401a52f3b6df3153c2e2393
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Apr 15 19:26:50 2025 -0700

    rm Vertex::color

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 628a973c69eab99929d32a2f5b1810dce71cbab1
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Apr 15 18:45:19 2025 -0700

    set max_level in Levelize::setLevel

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 874c8e10691a47fff06a89c66d66dbb63def9682
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Apr 15 17:29:22 2025 -0700

    levelize passes all regressions

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 790eae362a7423aa7e18432faaae7459a56976d7
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Apr 15 08:45:27 2025 -0700

    levelize stats

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 26067a99a4fbc81d94dbc1022ea5d9ddd64780a0
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Apr 14 22:20:56 2025 -0700

    pass fast

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 635bf478117014dd22d27c4f6bd65b260e51ec35
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Apr 14 18:00:03 2025 -0700

    comment

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 5fd2e9d1dd3a00494d56d967d21251f20e3a1f2c
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Apr 14 17:59:00 2025 -0700

    rm levelizeFrom()

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 078205723e2ce1f9be2e1360be80e5f9d25e978b
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Apr 14 14:46:48 2025 -0700

    leak

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 412c9a8ead792ee01e46a545c065c174e8342abc
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Apr 14 13:41:07 2025 -0700

    levelize level init

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 7883e3b1bac990f33cf7fce24fe43a0614f43daa
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Apr 14 12:59:45 2025 -0700

    relevelize insert only after levelized

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 263da8dc56469f0408d1cfbc7c40a079bc90dc9f
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Apr 14 11:58:55 2025 -0700

    topo level init

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 9de2ae3128a9ae427653c13152aa796f76277419
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Apr 14 11:21:14 2025 -0700

    levelize pass fast

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 8ba8310850ed1cdaf718b93bf44966043ab2042d
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Apr 14 10:04:42 2025 -0700

    constant latch en

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 8f543c3d5b261373d9b8f2da000322e529da7fb4
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Apr 13 19:36:23 2025 -0700

    levelize topological sort

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 4c2ae84839edd9f6797b834d7fd4f644e77855f8
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Apr 13 16:14:36 2025 -0700

    levelize bfs cleanup

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 186f50e8255fcae814f98cc7f253cfd3ba9a6c1d
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Apr 13 15:25:00 2025 -0700

    levelize bfs

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 1cefb185caaea64fc568c5d1ba4e7f5a961b0ba3
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Apr 13 12:16:49 2025 -0700

    levelize with bfs

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 5181e6b13ff38b52d13460e6abfee3202d4935c0
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Apr 12 18:33:44 2025 -0700

    findBackEdges use sorted roots

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit b25ac1a7d0ec2e835cddbf53930fa5f9f2a5b299
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Apr 12 15:32:33 2025 -0700

    find back edges

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-04-17 16:53:55 -07:00
James Cherry 1cc9df8804 remove using std from headers
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-04-11 16:59:48 -07:00
James Cherry 6ebd162d42 factor variables out of sdc
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-04-09 16:35:15 -07:00