Commit Graph
2223 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
James Cherry f29b6a43c6 prima merge noise branch changes and rm iterator uses
Signed-off-by: James Cherry <[email protected]>
2026-07-28 16:22:42 -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
James Cherry 99eb809fff Dockerfile.centos7 bison server
Signed-off-by: James Cherry <[email protected]>
2026-07-26 17:01:06 -07:00
James Cherry fbf4d5e3a8 Dockerfile.centos7 tcl server
Signed-off-by: James Cherry <[email protected]>
2026-07-26 14:58:32 -07:00
James Cherry 534e21abcf Dockerfile.centos7 tcl server
Signed-off-by: James Cherry <[email protected]>
2026-07-26 06:29:39 -07:00
James Cherry 4f2c3d4ca5 thread_count_ -> size_t
Signed-off-by: James Cherry <[email protected]>
2026-07-19 10:28:43 -07:00
James Cherry dc5ccd2d69 ArrivalVisitor::pruneCrprArrivals() seg fault (replace pr477)
Signed-off-by: James Cherry <[email protected]>
2026-07-18 18:29:04 -07:00
James Cherry 76bc0496ec Sta::reportPathVerbose
Signed-off-by: James Cherry <[email protected]>
2026-07-18 15:40:15 -07:00
Akash LevyandCursor 6d30081013 SMALLFIX: Use reliable mirrors for Bison and TCL in CentOS 7 Dockerfile (#460)
* Use more reliable mirrors for Bison and TCL in CentOS 7 Dockerfile.

ftp.gnu.org and SourceForge prdownloads are flaky in CI; switch to
dotsrc and OSUOSL mirrors.

Co-authored-by: Cursor <[email protected]>

* Use GNU ftpmirror and SourceForge project URLs.

Switch CentOS 7 Dockerfile downloads to the reviewer-suggested
ftpmirror.gnu.org redirector for Bison and the SourceForge project
download URL for TCL.

Co-authored-by: Cursor <[email protected]>

---------

Co-authored-by: Cursor <[email protected]>
2026-07-16 16:42:52 -07:00
James Cherry 29b6a1039b PrimaDelayCalc no not copy node_index_map_ pr 458
Signed-off-by: James Cherry <[email protected]>
2026-07-16 16:41:19 -07:00
James Cherry 12f1577fe4 doc report field nets->net
Signed-off-by: James Cherry <[email protected]>
2026-07-14 15:30:19 -07:00
James Cherry 03786a7035 rm redundant stmt
Signed-off-by: James Cherry <[email protected]>
2026-07-14 15:30:19 -07:00
James Cherry affd539b3f GraphDelayCalc::findVertexDelay incr
Signed-off-by: James Cherry <[email protected]>
2026-07-14 15:30:19 -07:00
James Cherry dbb19a2687 rm GraphDelayCalc::incremental_
Signed-off-by: James Cherry <[email protected]>
2026-07-14 15:30:19 -07:00
James Cherry dd657bf250 GraphDelayCalc::findVertexDelay bidir load->driver
Signed-off-by: James Cherry <[email protected]>
2026-07-14 15:30:19 -07:00
Akash Levy 87e837a8be feat(ci): expand CI with macOS and CentOS 7 (Docker) platform coverage (#473) 2026-07-12 13:22:43 +08:00
James Cherry 08cf90d3fd format
Signed-off-by: James Cherry <[email protected]>
2026-07-10 18:48:14 -07:00
James Cherry f29b200bcd EvalPred::searchThru disabled loop edges
Signed-off-by: James Cherry <[email protected]>
2026-07-10 18:45:58 -07:00
James Cherry d05c37e3a6 Graph::visitFaninEdges
Signed-off-by: James Cherry <[email protected]>
2026-07-10 17:07:55 -07:00
James Cherry 8648521ece GraphDelayCalc::findVertexDelay bidir driver
Signed-off-by: James Cherry <[email protected]>
2026-07-10 17:05:56 -07:00
James Cherry 3dfeabd864 GraphDelayCalc::findVertexDelay rm bidir enqueue
Signed-off-by: James Cherry <[email protected]>
2026-07-10 09:38:24 -07:00
James Cherry 55e9bb5a88 Sta::replaceEquivCellBefore
Signed-off-by: James Cherry <[email protected]>
2026-07-10 09:38:24 -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
James Cherry 8f03c823c7 Search::findRequireds ensureSize
Signed-off-by: James Cherry <[email protected]>
2026-07-04 20:26:22 -07:00
James Cherry 2c866d5f2d bfs update kahns prep
commit 4075953c9798444b9d5275f8fa0320f74b9bf1ef
Author: James Cherry <[email protected]>
Date:   Sat Jul 4 09:00:48 2026 -0700

    bfs resort hasNext

    Signed-off-by: James Cherry <[email protected]>

commit 4fb0dd19e479f507935129fe940bcd1cf93b29d0
Author: James Cherry <[email protected]>
Date:   Thu Jul 2 12:23:54 2026 -0700

    ApiChanges

    Signed-off-by: James Cherry <[email protected]>

commit 510afbc1403c9fd2b764b4f3a71dddabd696f052
Author: James Cherry <[email protected]>
Date:   Thu Jul 2 11:07:44 2026 -0700

    bfs enqueueFanin/out

    Signed-off-by: James Cherry <[email protected]>

commit 9a5aa570e910c289b276a519bdf532dfa2e28c5f
Author: James Cherry <[email protected]>
Date:   Thu Jul 2 10:41:27 2026 -0700

    Revert "bfs continueFrom/enqueueFanin/out"

    This reverts commit d18498c947a7df2b615fafda38fbdbe8033eca9d.

commit 02a253ab252f6637cfea29bdd788cb25da16813d
Author: James Cherry <[email protected]>
Date:   Thu Jul 2 08:21:49 2026 -0700

    Revert "Bfs rm search_pred"

    This reverts commit d858b3380b5e1d81ff6162b6378672a6099a246f.

commit 0adf03613d91c5774545d12cba1dc52052ca732a
Author: James Cherry <[email protected]>
Date:   Thu Jul 2 08:08:04 2026 -0700

    Genclks::ensureMaster

    Signed-off-by: James Cherry <[email protected]>

commit 089b373c548b77f9189a2617c3168867de620dfe
Author: James Cherry <[email protected]>
Date:   Wed Jul 1 17:50:43 2026 -0700

    Search::ensureDownstreamClkPins() use dfs

    Signed-off-by: James Cherry <[email protected]>

commit 000ca16adb9bdcb92266e5f242629bc3e8612658
Author: James Cherry <[email protected]>
Date:   Wed Jul 1 10:03:57 2026 -0700

    ApiChangeLog

    Signed-off-by: James Cherry <[email protected]>

commit d858b3380b5e1d81ff6162b6378672a6099a246f
Author: James Cherry <[email protected]>
Date:   Wed Jul 1 09:56:53 2026 -0700

    Bfs rm search_pred

    Signed-off-by: James Cherry <[email protected]>

commit d18498c947a7df2b615fafda38fbdbe8033eca9d
Author: James Cherry <[email protected]>
Date:   Wed Jul 1 08:07:15 2026 -0700

    bfs continueFrom/enqueueFanin/out

    Signed-off-by: James Cherry <[email protected]>

commit a8c55b12b3ad7a1041766775727ad758ae8c6d18
Author: James Cherry <[email protected]>
Date:   Tue Jun 30 10:07:46 2026 -0700

    bfs continue

    Signed-off-by: James Cherry <[email protected]>

commit 8530dcd86b7ee736f1858143c3b2cee57cdbc991
Author: James Cherry <[email protected]>
Date:   Tue Jun 30 07:15:28 2026 -0700

    Graph::visitFanin/out uninline edge iter

    Signed-off-by: James Cherry <[email protected]>

commit 1ba1f4576f4b72c64db742369a63dcf8726ba002
Author: James Cherry <[email protected]>
Date:   Mon Jun 29 21:09:17 2026 -0700

    BfsIterator rm Iterator<Vector> subclass

    Signed-off-by: James Cherry <[email protected]>

commit b3ddd2580298958ad6da8225ecac0d255315504c
Author: James Cherry <[email protected]>
Date:   Mon Jun 29 20:15:23 2026 -0700

    ClkNetwork::findClkPins use VertexQueue instead of bfs

    Signed-off-by: James Cherry <[email protected]>

commit 9e73154db48a7301be4039a25aec1fef589ef18a
Author: James Cherry <[email protected]>
Date:   Mon Jun 29 18:39:39 2026 -0700

    Search::ensureDownstreamClkPins use VertexQueue

    Signed-off-by: James Cherry <[email protected]>

commit 9cd1b160e126ccacc47375ef508fdbb580bfa162
Author: James Cherry <[email protected]>
Date:   Mon Jun 29 11:18:03 2026 -0700

    comment

    Signed-off-by: James Cherry <[email protected]>

commit 0baf3838e2b8faa5fea560b0c95431b277631fea
Author: James Cherry <[email protected]>
Date:   Mon Jun 29 10:57:39 2026 -0700

    findClkArrivals use invalid for clk fringe

    Signed-off-by: James Cherry <[email protected]>

commit e82ccd10a5e4bd69e41ce889685d7a130ae79ed6
Author: James Cherry <[email protected]>
Date:   Sun Jun 28 20:36:48 2026 -0700

    Search::findClkArrivals

    Signed-off-by: James Cherry <[email protected]>

commit cb66a72686c8728141c72ceb593b8a4b895ff696
Author: James Cherry <[email protected]>
Date:   Sun Jun 28 10:11:55 2026 -0700

    rm Search::postponeClkFanouts

    Signed-off-by: James Cherry <[email protected]>

Signed-off-by: James Cherry <[email protected]>
2026-07-04 09:04:31 -07:00
James Cherry 900116cf72 comment
Signed-off-by: James Cherry <[email protected]>
2026-07-01 08:12:34 -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
James Cherry 310107acd8 revert 458c277 resolves #455
Signed-off-by: James Cherry <[email protected]>
2026-06-30 09:10:17 -07:00
James Cherry 3f5f18cb9b doc
Signed-off-by: James Cherry <[email protected]>
2026-06-27 20:43:49 -07:00
James Cherry c222b49a7a ConcreteNetwork/Library member alignment
Signed-off-by: James Cherry <[email protected]>
2026-06-26 21:11:13 -07:00
James Cherry 1796b158a2 Graph member alignment
Signed-off-by: James Cherry <[email protected]>
2026-06-26 20:20:09 -07:00
Deepashree Sengupta 37b0b20a62 fix missing path issue (#452)
Signed-off-by: dsengupta0628 <[email protected]>
2026-06-25 16:55:29 -07:00
James Cherry 666b9214d0 LibertyWriter::writeBusDcls() resolves #436
Signed-off-by: James Cherry <[email protected]>
2026-06-25 16:50:43 -07:00
James Cherry bfdd2be0ee ArrivalVisitor::srch_adj_ -> search_adj_
Signed-off-by: James Cherry <[email protected]>
2026-06-25 10:43:43 -07:00
James Cherry 0b938d71eb SearchAdjLoop predicate
Signed-off-by: James Cherry <[email protected]>
2026-06-25 10:04:39 -07:00
James Cherry 2f26c1e21a make_net check for existing
Signed-off-by: James Cherry <[email protected]>
2026-06-24 18:02:47 -07:00
James Cherry 7527553111 leak
Signed-off-by: James Cherry <[email protected]>
2026-06-24 17:00:00 -07:00
James Cherry e603b7abe0 dynamic loop do not use search pred
Signed-off-by: James Cherry <[email protected]>
2026-06-24 16:55:51 -07:00
James Cherry f1adf5b26a Graph::visitFanouts, visitFanins
Signed-off-by: James Cherry <[email protected]>
2026-06-23 15:09:08 -07:00
James Cherry a456c352cf rename LibertyCell::hasSequentials to isSequential
Signed-off-by: James Cherry <[email protected]>
2026-06-22 19:20:39 -07:00
James Cherry 458c277c80 Sta::delaysInvalidFromFanin
Signed-off-by: James Cherry <[email protected]>
2026-06-22 19:14:30 -07:00
James Cherry c81f0c169d cleanup
Signed-off-by: James Cherry <[email protected]>
2026-06-22 16:54:27 -07:00
James Cherry 0939625580 .cursor
Signed-off-by: James Cherry <[email protected]>
2026-06-22 09:31:54 -07:00
James Cherry 2349b76a95 Genclks::findFanin use queue instead of BfsIterator
Signed-off-by: James Cherry <[email protected]>
2026-06-22 09:30:45 -07:00
James Cherry 266061fcee Genclks::ensureMaster use queue instead of BfsIterator
Signed-off-by: James Cherry <[email protected]>
2026-06-22 09:08:39 -07:00