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>
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>
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>
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>
- 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>
The Cell may come from LEF which doesn't have internal pins that
Liberty does. This used to work by dumb luck where the extra two
power pins in LEF happened to align to the extra two internal pins
from Liberty. With the change to pg_pins this no longer works.
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
* Add parser support for specify blocks and specparam
Treated like regular parameters, and so ignored
* Add regression test
* Apply PR feedback
* missed the verilog_lang
* msg: Turn warnings into errors with more explicit meaning and make script returns an error code.
Signed-off-by: Christian Costa <titan.costa@gmail.com>
* msg: Generate messages.txt during build and stop in case of duplicated message ids.
Signed-off-by: Christian Costa <titan.costa@gmail.com>
* msg: Fix duplicate messages ids.
Signed-off-by: Christian Costa <titan.costa@gmail.com>
* msg: Do not fail build on duplicated ids and turn errors into warnings.
Signed-off-by: Christian Costa <titan.costa@gmail.com>
* msg: Remove messages.txt and use full path to it in gitignore.
Signed-off-by: Christian Costa <titan.costa@gmail.com>
---------
Signed-off-by: Christian Costa <titan.costa@gmail.com>
* made module deletion optional in linkNetwork
Signed-off-by: Cho Moon <cmoon@precisioninno.com>
* merged with master
Signed-off-by: Cho Moon <cmoon@precisioninno.com>
---------
Signed-off-by: Cho Moon <cmoon@precisioninno.com>
The Liberty, Sdf, and Verilog parsers were writing to the same files
causing random failures in parallel builds. position.hh and stack.hh
are removed by switching to 3.0 to 3.2 in the require statement.
location.hh is renamed per-parser with api.location.file.
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
commit 1abf72bc3430d34a51d82992f1c753f0274a662a
Author: James Cherry <cherry@parallaxsw.com>
Date: Mon Jan 27 08:01:04 2025 -0700
rm unused lib visitors
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 1e76acfc7829a8ba82f96d369fae6225a7361844
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 21:15:46 2025 -0700
verilog/sdf stream->is_open
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit c4a57c0354ffb6c4edfc3269d56a937c11ad9609
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 19:54:41 2025 -0700
leak
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit b992ed1124a862cb04f0c7617a4575f916c3fe01
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 16:39:16 2025 -0700
liberty mv string_buf to scanner
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 894cbfa5d5b731738dcc60d492689fad9d13bd40
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 16:29:42 2025 -0700
liberty use regex to parse include file
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 176225849d3fcac0b2be1a5b623270c386daed3d
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 15:48:09 2025 -0700
liberty include filename
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 516e12721d7185015d8c29e8b16fa185f0f46983
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 15:31:18 2025 -0700
liberty include
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 32098a2159798dfbb80140927949bb36f480093d
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 15:01:47 2025 -0700
liberty include
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 880214e632d756c3199b000fee88fd4fdffac371
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 13:55:02 2025 -0700
liberty include
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit ad1efca842a6d7ee608ffd5a19a69885786b77fa
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 10:11:07 2025 -0700
liberty passes all but include
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit e71cf1f39dd09e81cf2b0e5a12dcf51675f2a6fd
Author: James Cherry <cherry@parallaxsw.com>
Date: Sun Jan 26 10:01:08 2025 -0700
liberty parser use class compiles
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 02dea0ff753b0fa12f280661a46e2c0ef2432357
Author: James Cherry <cherry@parallaxsw.com>
Date: Sat Jan 25 19:08:06 2025 -0700
liberty parser compiles
Signed-off-by: James Cherry <cherry@parallaxsw.com>
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 1f29e7bd737c70e408d61cd6c55be567a97c2aec
Author: James Cherry <cherry@parallaxsw.com>
Date: Sat Dec 28 15:31:41 2024 -0800
mv unconnected_net_name_ into VerilogReader
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 1824cc9609c6b3d44792ebfa19b550472ff1306d
Author: James Cherry <cherry@parallaxsw.com>
Date: Sat Dec 28 14:45:22 2024 -0800
verilog reader use std::string for filename
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 8d1d4c6639c54efcae85c476d46734e50909854c
Author: James Cherry <cherry@parallaxsw.com>
Date: Sat Dec 28 13:49:59 2024 -0800
attribute_stmts() -> attributeStmts()
Signed-off-by: James Cherry <cherry@parallaxsw.com>
commit 7e6bb731a279c0827a43dd3f66ab5885aea73014
Author: James Cherry <cherry@parallaxsw.com>
Date: Sat Dec 28 13:47:15 2024 -0800
Sta::readerilog
Signed-off-by: James Cherry <cherry@parallaxsw.com>
Signed-off-by: James Cherry <cherry@parallaxsw.com>
Fixes parsing attributes of the form
```systemverilog
(* bottom_bound = 1'sh0 *)
sky130_fd_sc_hd__dfrtp_1 _1415_ (
.CLK(clk),
.D(in),
.Q(out),
.RESET_B(reset)
);
```
In particular "supporting" the signed indicator.
Co-authored-by: Mike Inouye <mikeinouye@google.com>
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
There appears to be two leaks one with string handling, and
one with Dcl not freeing the attribute stmt list when it returns
nullptr.
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>