Commit Graph
23 Commits
Author SHA1 Message Date
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
James Cherry 21848bcdd2 clang tidy
Signed-off-by: James Cherry <[email protected]>
2026-04-15 09:38:10 -07:00
James Cherry 6742692876 string squash
Signed-off-by: James Cherry <[email protected]>
2026-03-28 19:13:35 -07:00
James Cherry 134b547501 use std::format squash 2026-03-16 15:01:38 -07:00
James Cherry d6e7b4256c lvf squish
Signed-off-by: James Cherry <[email protected]>
2026-03-13 14:06:35 -07:00
James Cherry 981f44db68 update copyright
Signed-off-by: James Cherry <[email protected]>
2026-03-10 14:57:45 -07:00
James Cherry 28d94b83fa StdStringSet -> StringSet
Signed-off-by: James Cherry <[email protected]>
2026-03-08 15:55:12 -07:00
James Cherry 859982bdc7 StdStringSeq -> StringSeq
Signed-off-by: James Cherry <[email protected]>
2026-03-08 15:51:50 -07:00
James Cherry c7ba405a14 comment
Signed-off-by: James Cherry <[email protected]>
2026-03-08 13:59:22 -07:00
James Cherry 741bf4d561 rm using std::
Signed-off-by: James Cherry <[email protected]>
2026-03-02 12:13:13 -08:00
James Cherry e76f54a068 rm TokenParser
Signed-off-by: James Cherry <[email protected]>
2026-02-28 15:45:34 -08:00
James Cherry 33e480a6c1 liberty memory management
Signed-off-by: James Cherry <[email protected]>
2026-02-04 18:33:04 -07:00
James Cherry 5314489195 rebase
Signed-off-by: James Cherry <[email protected]>
2026-01-13 09:43:13 -07:00
James Cherry d42b821c00 rel 3.0
Signed-off-by: James Cherry <[email protected]>
2026-01-13 09:36:45 -07:00
James Cherry 7f65853afa WriteSpice rm dead code
Signed-off-by: James Cherry <[email protected]>
2026-01-11 19:52:55 -08:00
Matt Liberty 4475f89024 Fix C++20 warning (#337)
warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]

Signed-off-by: Matt Liberty <[email protected]>
2025-11-21 07:02:35 -08:00
James Cherry 8287aec5f6 Verilog make pins for liberty pg_pins resolves #326
commit b4a89c93965c49a8685fd41cb6aee10635d7a7f3
Author: James Cherry <[email protected]>
Date:   Fri Nov 7 11:48:10 2025 -0700

    pg_ -> PwrGnd

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

commit 12ddba4bf220cec8459c15e483a871b13e507bf2
Author: James Cherry <[email protected]>
Date:   Fri Nov 7 08:56:02 2025 -0700

    pg_port

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

Signed-off-by: James Cherry <[email protected]>
2025-11-07 11:55:43 -07:00
James Cherry 0ddca3171d WriteSpice::writeHeader use std::filesystem
Signed-off-by: James Cherry <[email protected]>
2025-07-19 17:07:28 -07:00
James Cherry 71bdfb9904 rm using std::string from headers
Signed-off-by: James Cherry <[email protected]>
2025-05-22 09:25:56 -07:00
James Cherry 1cc9df8804 remove using std from headers
Signed-off-by: James Cherry <[email protected]>
2025-04-11 16:59:48 -07:00
James Cherry 8992827b5b class Path replaces PathVertex etc
commit 08c062d3dd1d0cea846407dda0b5fd75ca64329c
Author: James Cherry <[email protected]>
Date:   Tue Mar 25 16:17:42 2025 -0700

    ApiChanges.txt

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

commit ef72112a00419e466e19b5c1442cac6f2835adaa
Author: James Cherry <[email protected]>
Date:   Sun Mar 23 12:37:10 2025 -0700

    crpr29/30

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

commit 2065acfbfbaa84307fde1c46ff51a1c619c45f50
Author: James Cherry <[email protected]>
Date:   Sun Mar 23 12:33:55 2025 -0700

    compile error

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

commit d3133015b90b59f7e8e934c20d1ed8449d543d7b
Author: James Cherry <[email protected]>
Date:   Mon Mar 17 15:20:55 2025 -0700

    rebase falout

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

commit 8a4b81755765db823e18ffb497f1fb3f0c64ec7b
Author: James Cherry <[email protected]>
Date:   Mon Mar 17 09:22:01 2025 -0700

    rebase fallout

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

commit 7ef00dcaa4ed0b6db3f4205da47013e4f2ef1049
Author: James Cherry <[email protected]>
Date:   Sat Mar 15 17:00:51 2025 -0700

    deleteEdge clear to path prev_paths

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

commit 912dacbca8f5c286f623f13659c831be6ed4d93e
Author: James Cherry <[email protected]>
Date:   Sat Mar 15 12:05:06 2025 -0700

    undo 7f8c7adb

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

commit 9944c2ec907e9f07ab46f71af55ec947f3815de0
Author: James Cherry <[email protected]>
Date:   Fri Mar 14 21:25:10 2025 -0700

    rm Path::path()

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

commit a42c28b8447466a445cd8f6fb022eb42e6dcc0f2
Author: James Cherry <[email protected]>
Date:   Fri Mar 14 17:12:17 2025 -0700

    const

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

commit 3f72adf1b5ad5581adc81afd3e00be7343ae4183
Author: James Cherry <[email protected]>
Date:   Fri Mar 14 17:03:04 2025 -0700

    PathExpanded rm prev_arcs_

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

commit 25879e66eddf9f12db38705807e1270459661810
Author: James Cherry <[email protected]>
Date:   Thu Mar 13 12:34:12 2025 -0700

    worst path init path

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

commit 5c7a4fbdf3b8823a1944074a7eb663c6ea8e32df
Author: James Cherry <[email protected]>
Date:   Thu Mar 13 10:47:02 2025 -0700

    delete edge -> xelete paths of to vertex

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

commit aa8d3035489de2cd25f27f7531177193be7a40ac
Author: James Cherry <[email protected]>
Date:   Thu Mar 13 09:17:27 2025 -0700

    debug

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

commit 53741b6c624b1313b0464a31e3900472d0b7c8d2
Author: James Cherry <[email protected]>
Date:   Thu Mar 13 08:50:01 2025 -0700

    debug

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

commit cdebd8f3e476e5a2afab1a949449b75dcec9ed97
Author: James Cherry <[email protected]>
Date:   Thu Mar 13 08:14:58 2025 -0700

    dbg network_edit

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

commit 60cc960439e65cda8cd244723456b81242ced458
Author: James Cherry <[email protected]>
Date:   Thu Mar 13 07:42:22 2025 -0700

    dbg network edit

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

commit f4e4264ac1c11dafddbe18971ca35127a0ffc171
Author: James Cherry <[email protected]>
Date:   Tue Mar 11 19:23:17 2025 -0700

    rm PathVertex.hh

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

commit aeba9b293f095aecd01d0f5d16de51640f3d2381
Author: James Cherry <[email protected]>
Date:   Tue Mar 11 13:33:21 2025 -0700

    PathEnum rm divEdge

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

commit ad97706562da7ceb41b9fbf4c882083de36d578d
Author: James Cherry <[email protected]>
Date:   Tue Mar 11 13:18:38 2025 -0700

    genclks use path vector

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

commit a9c2563199d0cee3dee3d420c70f8117cfd69221
Author: James Cherry <[email protected]>
Date:   Tue Mar 11 12:42:12 2025 -0700

    group_path_count, end_path_count use size_t

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

commit f16309a8e09e22964b998bf1b7e0922fbb9f02c1
Author: James Cherry <[email protected]>
Date:   Tue Mar 11 12:30:08 2025 -0700

    Path rm uused

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

commit 51295613c4ab6a6a4170080252397e2846a61bf1
Author: James Cherry <[email protected]>
Date:   Tue Mar 11 12:22:23 2025 -0700

    network_edit3

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

commit 5de6da2190460183cf07d0d4ffc1d1c6ebbe3e10
Author: James Cherry <[email protected]>
Date:   Tue Mar 11 10:33:09 2025 -0700

    leak

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

commit f52dbc18ce08bd2b14d7107b61a57e614b1e3a07
Author: James Cherry <[email protected]>
Date:   Tue Mar 11 08:06:56 2025 -0700

    valgrind 3 leaks left

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

commit de1a3727d908c4494f3039ff714ddb939d3390b5
Author: James Cherry <[email protected]>
Date:   Mon Mar 10 18:21:50 2025 -0700

    Path::prevPath

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

commit c40aadcac8d2cd6d6dd8ba18f2e9db607358a01f
Author: James Cherry <[email protected]>
Date:   Mon Mar 10 18:21:31 2025 -0700

    clk_skew init

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

commit 041c97194553e7f7a4746f506be251ee42eb83ee
Author: James Cherry <[email protected]>
Date:   Mon Mar 10 07:38:49 2025 -0700

    delete path groups before paths

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

commit fb4aed589f9f67ddb39f4260cb2901764cf49a98
Author: James Cherry <[email protected]>
Date:   Sun Mar 9 17:23:27 2025 -0700

    leak

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

commit 70b3062872cefdcf1358847025bc7bb1a85f4a5b
Author: James Cherry <[email protected]>
Date:   Sun Mar 9 17:09:45 2025 -0700

    1 failure

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

commit 92cd7c33c1eb22e4f574a767a645c5db1c9efe4d
Author: James Cherry <[email protected]>
Date:   Sun Mar 9 11:19:59 2025 -0700

    7 failures

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

commit 537ec153a5f8ab30d800cd36130e7668047b67af
Author: James Cherry <[email protected]>
Date:   Sun Mar 9 09:05:31 2025 -0700

    11 failures

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

commit df514124c4daaf90175a89138ed954e20573e02f
Author: James Cherry <[email protected]>
Date:   Sun Mar 9 08:37:00 2025 -0700

    25 failures

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

commit 0096e8ee5a83194aee84da2cba95f410931f5c0e
Author: James Cherry <[email protected]>
Date:   Sat Mar 8 16:05:04 2025 -0700

    33 failures

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

commit 02ba7ffdf38b538cd1659df25837d37e8317e741
Author: James Cherry <[email protected]>
Date:   Fri Mar 7 21:39:53 2025 -0700

    delete path groups before pahts

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

commit 270dbad6bc9303f9255256b5b85cac84deb27a94
Author: James Cherry <[email protected]>
Date:   Fri Mar 7 18:27:52 2025 -0700

    no seg faults, 42 failures

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

commit 3ceca5981fd6032294523cd23dc1334b9619f6a0
Author: James Cherry <[email protected]>
Date:   Thu Mar 6 15:43:28 2025 -0700

    multiclk1,2 seg fault

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

commit 0441c00dc172817cc1a39bbb740d6369cf163869
Author: James Cherry <[email protected]>
Date:   Thu Mar 6 15:29:47 2025 -0700

    gated_clocks15

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

commit 7a1f87737e9c8247acd2c78138ee482d46123952
Author: James Cherry <[email protected]>
Date:   Thu Mar 6 09:05:09 2025 -0700

    nworst, crpr

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

commit 74b52e5ac0ed9dac5b7c31835393c4e2dd30ca95
Author: James Cherry <[email protected]>
Date:   Wed Mar 5 17:18:47 2025 -0700

    check_timiing6

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

commit 93bddf0d940e9b833d5bc47d5af8b3bdefac67a5
Author: James Cherry <[email protected]>
Date:   Wed Mar 5 17:13:24 2025 -0700

    nworst10

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

commit f1edddbffb2e0d23bc3f4a10733203b9756f2e2e
Author: James Cherry <[email protected]>
Date:   Wed Mar 5 16:22:25 2025 -0700

    path enum

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

commit c57d241b668d305f0492e55e273b3411320692b4
Author: James Cherry <[email protected]>
Date:   Wed Mar 5 16:09:11 2025 -0700

    most nwost pass

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

commit c6fca38e28571e5f2d63236aa67233d572c3a1d6
Author: James Cherry <[email protected]>
Date:   Wed Mar 5 09:15:47 2025 -0700

    most genclks

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

commit 82f5e6e9252987433f9699919c5716b3a4321a5d
Author: James Cherry <[email protected]>
Date:   Tue Mar 4 17:51:29 2025 -0700

    genclks

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

commit 19f4035496e004c543110b063482928e55bddbc9
Author: James Cherry <[email protected]>
Date:   Tue Mar 4 17:33:28 2025 -0700

    nworst1

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

commit edafefa4e4f98291a3edebe5c7b3e2630988723f
Author: James Cherry <[email protected]>
Date:   Tue Mar 4 15:02:38 2025 -0700

    path enum

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

commit 3e4684fd67eacdb474574eee9e51741e75bba907
Author: James Cherry <[email protected]>
Date:   Mon Mar 3 21:07:18 2025 -0700

    rm unused Path* files

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

commit 3f04819c01002f8b5eec0f4b8f0caf6798f3a20f
Author: James Cherry <[email protected]>
Date:   Mon Mar 3 19:43:35 2025 -0700

    more regressions pass

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

commit 276d70283cda14dfd6c48d1e2e4f45d326bf286c
Author: James Cherry <[email protected]>
Date:   Mon Mar 3 10:43:30 2025 -0700

    arrival1

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

commit 383a480450833741144b57383bb40a33310fad44
Author: James Cherry <[email protected]>
Date:   Sun Mar 2 19:23:40 2025 -0700

    arrival1 no segfault

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

commit 36e3a6b8d8b19f185a5a71fb4547e17586ea2c44
Author: James Cherry <[email protected]>
Date:   Sun Mar 2 18:40:23 2025 -0700

    VertexPathIterator

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

commit 083c76201e1a5482726e5856f124b15a523453d6
Author: James Cherry <[email protected]>
Date:   Sun Mar 2 18:18:15 2025 -0700

    report_checks3 passes

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

commit 834c076b7e2cb733655d917881463c76ce6196f6
Author: James Cherry <[email protected]>
Date:   Sun Mar 2 14:10:34 2025 -0800

    links

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

commit 371792b1e6dd44ad0c72399b999d86cd2557cbe1
Author: James Cherry <[email protected]>
Date:   Sun Mar 2 13:37:33 2025 -0800

    link errors

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

commit 158e9dafa6d11e0a4fd4e7ef253b0b6cb7595bf6
Author: James Cherry <[email protected]>
Date:   Sun Mar 2 12:30:29 2025 -0800

    compiles

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

commit 8df515dab15c0744abe04eae7e4a7d7688455f03
Author: James Cherry <[email protected]>
Date:   Sun Mar 2 09:41:51 2025 -0800

    PathEnd compiles

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

commit d94f241d0803376b1526f32e4f5111d081c604af
Author: James Cherry <[email protected]>
Date:   Sun Mar 2 07:42:51 2025 -0800

    compile progress

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

commit 591997e3bb496c4cc2fd6963c3798a8e17b8f587
Author: James Cherry <[email protected]>
Date:   Sat Mar 1 10:42:11 2025 -0800

    path unification

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

Signed-off-by: James Cherry <[email protected]>
2025-03-26 18:21:03 -07:00
James Cherry 2a4fd08211 update copyright
Signed-off-by: James Cherry <[email protected]>
2025-01-21 18:54:33 -07:00
James Cherry d0287e5a47 rel 2.6.0
Signed-off-by: James Cherry <[email protected]>
2024-07-24 09:04:08 -07:00