164 Commits

Author SHA1 Message Date
dsengupta0628
7edfb12825 Merge branch 'master' into sta_fix_spefrdr 2026-04-30 01:15:05 +00:00
dsengupta0628
1e6e43bb48 gemini feedback
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-30 01:14:22 +00:00
dsengupta0628
68d4426bf3 fix for sta-1648 in read_spef
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-29 19:20:56 +00:00
dsengupta0628
ae37dc6238 pickup changes from upstream, latest on 4/27
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-27 18:45:35 +00:00
James Cherry
1edf439547 spef allow illegal unquoted !'s
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-22 11:13:45 -07:00
dsengupta0628
c2b629d751 test codes updated to compile succesfully with new changes in upstream
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-20 14:47:52 +00: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 <dsengupta@precisioninno.com>
2026-04-20 14:21:16 +00:00
James Cherry
6e7ec45bc8 rm extra swig module dcls
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-16 15:46:32 -07:00
James Cherry
12c59878ee prima non-ccs report dcalc resolves #418
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-16 15:13:28 -07:00
dsengupta0628
9fbfcc4fcb picked changes from upstream master, resolved conflict for levelized driververtices, parseBus for weird defs
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-16 21:37:37 +00:00
James Cherry
21848bcdd2 clang tidy
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-04-15 09:38:10 -07:00
dsengupta0628
92f23e1b6d regoldened regressions as now it correctly fallsback tableCalc and not PrimaDcalc
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-13 22:28:04 +00:00
James Cherry
63efee64bf tidy round1 2026-04-13 14:59:05 -07:00
Jaehyun Kim
616cb6234a Fix report_checks -fields {nets} typo to {net} across test scripts
The valid field name is "net" (singular) per search/Search.tcl.
Using "nets" triggered Warning 168 (unknown field) silently in
29 test scripts. Fix the field name and regolden .ok files.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-04-06 14:41:40 +09: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
Jaehyun Kim
422f774b64 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-29 22:33:08 +09:00
James Cherry
6742692876 string squash
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-28 19:13:35 -07:00
dsengupta0628
4238a057dd combined latest osta
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-25 20:03:03 +00:00
dsengupta0628
3f2c80a830 Merge branch 'master' into sta_update_upstream_lvf_stuff 2026-03-25 19:55:19 +00:00
dsengupta0628
3d5f1e8594 fix warnings
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-25 14:48:15 +00:00
Robert O'Callahan
d233581e16 Make wire_load_tree_ default to unknown so we can detect when it's not present in a Liberty file. (#402)
This is potentially a behavior change, but I think omitting this is rare. I've only seen it in some DTCD Liberty files.
In those Liberty libraries, it seems to be expected that the Liberty data is valid for all `WireloadTree` types.
Thus it is necessary to distinguish between "wire load tree was specified as 'balanced'" and "wire load tree
was not specified".
2026-03-24 12:35:18 -07:00
Jaehyun Kim
434246a8b4 Fix test suite for upstream API changes after merge
Adapt all C++ and Tcl tests for upstream API refactoring:
- Header rename: DelayFloat.hh -> Delay.hh
- PocvMode enum replacing boolean pocv (setPocvEnabled -> setPocvMode)
- setReportPathFields gains 8th parameter (report_src_attr)
- GateTableModel/CheckTableModel constructor wraps in TableModels
- gateDelay/checkDelay signature changes (bool -> MinMax/PocvMode)
- Unit::asString returns std::string instead of const char*
- ExceptionThru/To::asString removed, use to_string
- GroupPath/FilterPath/LoopPath::asString removed
- PathEnd::source_clk_delay -> source_clk_latency
- report_net -connections flag removed
- set_report_path_field_width removed
- MaxSkewCheck::skew() now requires sta parameter
- Remove tests that pass nullptr to PinIdHash-based maps (segfault)
- Remove tests for removed APIs (sigmaFactor, reportSigmas)
- Regolden .ok files for numerical precision and format changes

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-21 19:23:36 +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
dsengupta0628
af791b9974 Merge branch 'master' into sta_update_upstream_lvf_stuff 2026-03-20 19:50:24 +00:00
Jaehyun Kim
0364faddd7 fix regression failures after master merge
- Remove deprecated report_net -connections/-verbose flags from tests
  (removed upstream in 7668e43d)
- Regolden numerical precision diffs in parasitics and util tests

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-20 22:15:51 +09: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
Some checks failed
Automatically sync branch from upstream. / Automatic sync 'master' from The-OpenROAD-Project/OpenSTA (push) Has been cancelled
Lint Bazel / Run buildifier format (push) Has been cancelled
Lint Bazel / Run buildifier lint (push) Has been cancelled
CI / build (push) Has been cancelled
Scan Code with pre commit trigger / Security-Scan (push) Has been cancelled
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
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
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
859982bdc7 StdStringSeq -> StringSeq
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-08 15:51:50 -07:00
James Cherry
ab99512351 spef reader use std::string
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-08 14:48:48 -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
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
e5d8d8c970 test: Remove empty-body assertions and fix test issues from review feedback
Remove useless empty-body if-blocks that check file size/existence without
doing anything, replacing them with meaningful puts output where appropriate.
Split monolithic verilog test files into individual per-test files with
their own .ok golden files. Update .ok files to match actual output.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-22 18:52:36 +09:00
Jaehyun Kim
98e00b0348 test: Delete dead code from Tcl tests and remove broken write_gate_spice tests
Remove dead code blocks that reference non-exposed Tcl commands (e.g.,
sta::find_pi_pole_residue) and delete all write_gate_spice catch blocks
from spice tests since write_gate_spice_cmd SWIG binding is missing,
making all write_gate_spice calls always fail. Added bug report for the
missing binding. All 6531 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 21:40:50 +09:00
Jaehyun Kim
726a64a961 test: Add explanatory comments to all catch blocks in Tcl tests
Document why each catch block is needed across 48 test files,
covering liberty, search, sdc, spice, network, parasitics, util,
and verilog modules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:39:36 +09:00
Jaehyun Kim
812d26f14c test: Apply review feedback - part4
Remove unnecessary catch blocks in network, parasitics, sdc, spice,
and util test modules. Add report_checks after set_wire_load_model
in parasitics_wireload.tcl to verify timing changes per wireload.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:13:55 +09:00
Jaehyun Kim
5c9b4d7a15 test: Apply review feedback - part3
Remove unnecessary catch blocks across all test modules (graph,
liberty, network, parasitics, power, sdc, sdf, search, spice,
verilog), expand C++ tests (TestSearchIncremental 8→36 tests,
TestPower 71→96, TestSpice 98→126), add report_checks after each
set_wire_load_model in liberty_wireload.tcl, and rewrite
liberty_sky130_corners.tcl with actual multi-corner timing analysis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:46:30 +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