Commit Graph
131 Commits
Author SHA1 Message Date
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
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
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
Deepashree Sengupta 37b0b20a62 fix missing path issue (#452)
Signed-off-by: dsengupta0628 <[email protected]>
2026-06-25 16:55:29 -07:00
Drew Lewis 424cb1dff1 Add native gzip compression support to write_verilog (#448) 2026-06-10 09:12:19 -07: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
James Cherry 6eb6911d30 regression
Signed-off-by: James Cherry <[email protected]>
2026-05-06 08:51:10 -07: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
James Cherry 6bcf7b8156 rm unnecessary sta:: in tcl
Signed-off-by: James Cherry <[email protected]>
2026-04-16 16:12:59 -07: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
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
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
James Cherry f4048cdf3e read_saif ref missing instance resolves #406
Signed-off-by: James Cherry <[email protected]>
2026-03-24 10:31:24 -07:00
James Cherry 7b0281014e regression usage
Signed-off-by: James Cherry <[email protected]>
2026-03-22 10:13:57 -07:00
James Cherry bacb61feaa regression -j
Signed-off-by: James Cherry <[email protected]>
2026-03-21 10:18:55 -07:00
Deepashree Sengupta fbe9da3fb7 Fix for OpenSTA issue 398 and OpenROAD issue 9454 with regression (#401)
* Fix for OpenSTA issue 398 and OpenROAD issue 9454 with regression

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

* Incorporated feedbacks from previous version

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

* rename tests

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

* remove unnecessary newline

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

* Updated to use network_->portBitIterator

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

---------

Signed-off-by: dsengupta0628 <[email protected]>
2026-03-10 14:57:21 -07:00
Deepashree Sengupta eb0446d4e2 Write verilog escape (#394)
* Fir for write_verilog issue 3826

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

* staToVerilog2 remove escaped_name+=ch

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

* updated regression to remove \ from module name

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

* Using helpers.tcl function to redirect results

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

* add std::string and remove trailing space, update regression name

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

* update regression to reflect correct output verilog name

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

---------

Signed-off-by: dsengupta0628 <[email protected]>
2026-03-02 16:48:15 -08:00
James Cherry d31372ef9a regression sta_dir
Signed-off-by: James Cherry <[email protected]>
2026-02-27 17:54:32 -08:00
James Cherry c010a0f99e liberty reader rewrite
Signed-off-by: James Cherry <[email protected]>
2026-02-27 17:12:50 -08:00
Kazuto Iris a47a8dd831 Add GitHub Action for CI and fix broken testcases (#391)
* feat(ci): add GitHub Action for push and pull request

* fix(ci): fix broken testcases

* chore: add CODEOWNERS for ci

* ci: bump actions/upload-artifact from 6 to 7
2026-02-27 13:51:28 -08:00
James Cherry 95d5ebb47c test/helpers.tcl
Signed-off-by: James Cherry <[email protected]>
2026-02-26 09:32:20 -08:00
James Cherry db01a2122e Merge branch 'master' into rel_3.0 2026-01-23 12:40:57 -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 d42b821c00 rel 3.0
Signed-off-by: James Cherry <[email protected]>
2026-01-13 09:36:45 -07:00
James Cherry fb61208148 fix and simplify power_json test
Signed-off-by: James Cherry <[email protected]>
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 323906cb1a prima3 use asap7_small
Signed-off-by: James Cherry <[email protected]>
2025-12-19 09:40:16 -07:00
James Cherry 967f512fdc rename test groups
Signed-off-by: James Cherry <[email protected]>
2025-12-05 14:47:27 -07:00
James Cherry 75c2b1e80d rm read_vcd test
Signed-off-by: James Cherry <[email protected]>
2025-12-05 12:53:55 -07:00
James Cherry e09e1b7dcf rm set_units_float test
Signed-off-by: James Cherry <[email protected]>
2025-12-05 09:56:14 -07:00
Stan Lee 85b790ce45 Large bus width bug with read_vcd (#348)
* a

* Revert "a"

This reverts commit 2717585799dc829618bc523a4b1525df2a298cf1.

* bus issue

* reverse string to match vcd bits

* requested changes

* clearer

* this makes more sense

* revert

* comment

* add test case
2025-12-04 17:04:23 -08:00
Akash Levy 6e16c3f189 Allow set_units/set_cmd_units to support floats properly (#349) 2025-12-04 08:30:05 -08:00
Akash Levy 16a92707fb Fix isBuffer (#329)
* Add support for "well" direction type (nwell, pwell, etc.), and fix isBuffer (+ other functions) to accommodate wells

* Just fix isBuffer issue
2025-11-16 15:34:37 -08:00
James Cherry db3a1dd6e6 disconnect_pin do not delete pin from exceptions
Signed-off-by: James Cherry <[email protected]>
2025-11-13 10:31:43 -07:00
James Cherry 7fab248f56 disconnect_mcp_pin.ok
Signed-off-by: James Cherry <[email protected]>
2025-11-13 10:17:08 -07:00
James Cherry 4dad6ab3b1 disconnect/disconnect pin set_multicycle_path resolves #327
Signed-off-by: James Cherry <[email protected]>
2025-11-13 10:06:57 -07:00
James Cherry 265e7f2d10 get_filter comment
Signed-off-by: James Cherry <[email protected]>
2025-11-01 13:25:32 -07:00
James Cherry de0f5440a6 Sta::isPathGroupName
Signed-off-by: James Cherry <[email protected]>
2025-10-26 09:23:16 -07:00
ambd161 36e516924f Recognize some basic specify blocks and ignore them (#309)
* 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
2025-10-12 14:11:00 -07:00
Akash Levy 9550c99f0c Package require test (#303) 2025-10-04 10:36:22 -07:00