Commit Graph

2153 Commits

Author SHA1 Message Date
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 10104f85ea test: load ECSM liberty from checked-in file
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-22 20:37:11 +09:00
Jaehyun Kim b55fcabee4 test: improve test stability and assertions
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-22 20:34:07 +09:00
Jaehyun Kim 76b12eb2d2 test: Improve test assertions and stabilize multimodule write test
Strengthen C++ test assertions in TestSdc and TestSearch with actual
value checks. Stabilize verilog_multimodule_write by using clear_sta
for isolated roundtrips. Add report_checks to wireload model tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-22 19:25:58 +09:00
Jaehyun Kim 0693e7d479 test: Strengthen C++ test assertions with meaningful checks
Replace empty-body checks and trivial file-existence assertions with
actual content verification and state validation in C++ unit tests.

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 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 2d2762437a test: Remove unnecessary catch blocks from Tcl tests across all modules
Remove bare catch blocks that silently swallowed errors instead of
properly testing them. Fix underlying issues revealed by catch removal
including wrong API calls ([$role name] on strings, invalid properties
like cell_leakage_power/is_register, nonexistent Tcl bindings) and
incorrect library names. Update golden .ok files to match new output.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 21:07:40 +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 ce45133c84 test: Fix wrong API calls in Tcl tests and remove unnecessary catches
Replace wrong/non-existent command calls with correct OpenSTA APIs:
- sta::pin_slack → get_property $pin slack_max_rise
- sta::slow_drivers_cmd → sta::slow_drivers
- set_latch_borrow_limit → set_max_time_borrow
- remove_data_check → unset_data_check
- remove_clock → delete_clock
- reset_path → unset_path_exceptions
- sta::report_path_end 3-arg → sta::report_path_end2
- sta::design_power "NULL" → sta::design_power [sta::cmd_corner]
- report_path $path → sta::report_path_cmd $path
- connect_pin 3-arg → connect_pin net inst/port
- set_power_activity positional → -input_ports flag
- sta::is_clock [get_ports] → sta::is_clock [sta::get_port_pin]
- get_property $inst lib_name → liberty_cell/liberty_library
- get_property $pin net_name → [$pin net] + get_full_name
- get_property $net is_power → $net is_power method
- Removed unnecessary catch around sta::write_liberty

23 catch blocks removed. Tests now execute real API calls instead
of silently failing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:32:08 +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
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 fdb24d8132 test: Remove redundant results folder
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-14 00:06:27 +09:00
Jaehyun Kim c147d63880 sdc: Fix dangling pointer issue in `Sdc::deleteDeratingFactors()`
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-13 22:53:41 +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
Matt Liberty e872c55bfe Merge remote-tracking branch 'parallax/master' 2026-02-05 04:12:23 +00:00
James Cherry cde32a1572 leakage power well pg pin resolves #377
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-04 16:50:28 -07:00
Matt Liberty ec62b3a5b9 Merge remote-tracking branch 'parallax/master' 2026-02-04 07:51:04 +00:00
James Cherry 3136871ecd LibertyCell::isClockGateLatchNegedge resolves #375
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-03 08:33:46 -07:00
James Cherry 87ea907884 defineScalingFactorVisitors min_pulse_width resolves #376
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-03 08:18:41 -07:00
James Cherry 0c6c3d3d35 leakage power if uncond, ignore cell power resolves #373
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-29 19:44:18 -07:00
Matt Liberty 087793e8a0 Merge remote-tracking branch 'parallax/master' 2026-01-28 19:13:58 +00:00
James Cherry 25ea7a3795 network edits invalidate power resolves #371
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-28 12:06:40 -07:00
James Cherry 08acc67c05 Sta::networkChanged() comment
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-28 11:56:40 -07:00
Akash Levy 117e4094bc
Fix for invalid operator error handling (#366)
* Fix for invalid operator error handling

* Revisions
2026-01-23 11:39:56 -08:00
James Cherry dda887bc6e report_checks -unique_edges resolves #354
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-17 11:45:40 -07:00
James Cherry 0429ac324b rm dbg print
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-15 15:00:48 -07:00
James Cherry 7f65853afa WriteSpice rm dead code
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-11 19:52:55 -08:00
James Cherry b58ff962d6 msg id conflict
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-11 15:01:04 -08:00
Matt Liberty 638c03a1c9 Fix: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-01-11 01:34:48 +00:00
Matt Liberty 94dc4a04c6 Merge remote-tracking branch 'parallax/master' 2026-01-10 18:17:05 +00:00
James Cherry 3618838be0 read_vcd missing $dumpvars resolves #360
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-10 09:10:42 -08:00
Matt Liberty 4966240d28 Merge remote-tracking branch 'parallax/master' 2026-01-09 18:28:40 +00:00
Mike Inouye 128ea3cf28
Use Map with a deterministic instance power iterator (#359)
* Use deterministic instance power iterator

* Use deterministic instance power iterator

* Use std::map instead of sta::Map
2026-01-09 09:49:00 -08:00
James Cherry 808ac488ef error msg id
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-07 09:05:40 -08:00
James Cherry 6a8ffcd898 dcalc bfs incr level/hercules_is_int 0.3 correlation
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-06 15:26:25 -08:00
James Cherry 9d401d1c0e dcalc bfs incr level/hercules_is_int 0.3 correlation
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-06 14:37:26 -08:00
James Cherry 4afa443892 rm PR #342 turd
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-12-20 11:45:48 -07:00
James Cherry fb61208148 fix and simplify power_json test
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-12-20 10:45:17 -07:00
nataliakokoromyti 56e4bd8ce1
Report power as JSON (#342)
* fix power_json.tcl

* get rid of the if/else statements throughout
2025-12-20 08:13:15 -08:00
James Cherry 1bf9426e96 power activity propagation thru reg/latch resolves #350
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-12-20 09:11:41 -07:00
James Cherry 323906cb1a prima3 use asap7_small
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-12-19 09:40:16 -07:00
James Cherry d0f5a962c8 power debug
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-12-19 09:40:16 -07:00
Ethan Mahintorabi 7ac4a47db1
util: Add method to get thread count from dispatch queue (#324)
I'm looking to try to have unified thread pool with OpenSTA and OpenROAD
and having this method would make it easier to understand how much
parallelism is available in the pool.

Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2025-12-12 15:49:22 -08:00
James Cherry 3bda441305 report_clock_skews cache results resolves #113
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-12-12 15:37:30 -07:00
James Cherry 0dd7d1bbdc rm write_verilog -sort
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-12-12 09:40:45 -07:00