Commit Graph

152 Commits

Author SHA1 Message Date
dsengupta0628 b5f647cb7f update test infra to accomodate std::string instead of const char*
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-30 19:44:26 +00:00
dsengupta0628 5f46ad3dfb Merge remote-tracking branch 'upstream/master' into sta_latest_merge_strings 2026-03-30 16:22:27 +00:00
James Cherry 6742692876 string squash
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-28 19:13:35 -07:00
dsengupta0628 4238a057dd combined latest osta
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-25 20:03:03 +00:00
Robert O'Callahan d233581e16
Make `wire_load_tree_` default to unknown so we can detect when it's not present in a Liberty file. (#402)
This is potentially a behavior change, but I think omitting this is rare. I've only seen it in some DTCD Liberty files.
In those Liberty libraries, it seems to be expected that the Liberty data is valid for all `WireloadTree` types.
Thus it is necessary to distinguish between "wire load tree was specified as 'balanced'" and "wire load tree
was not specified".
2026-03-24 12:35:18 -07:00
dsengupta0628 af791b9974 Merge branch 'master' into sta_update_upstream_lvf_stuff 2026-03-20 19:50:24 +00:00
dsengupta0628 8e45eff4b9 clkTreeDelay to check arc without assuming it exists
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-19 16:54:09 +00: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 <cherry@parallaxsw.com>
2026-03-13 14:06:35 -07:00
James Cherry 981f44db68 update copyright
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-10 14:57:45 -07:00
James Cherry 4f540792a0 rm StringSet
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-08 15:39:41 -07:00
James Cherry a419f0a721 LibertyPortPair calls
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-08 13:36:54 -07:00
James Cherry f1e5587fef rapidus liberty latch D->Q/EN->Q matching
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-05 18:41:25 -07:00
James Cherry 741bf4d561 rm using std::
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-03-02 12:13:13 -08:00
James Cherry cd21c43693 rm LibertyPort::clkTreeDelays, clockTreePathDelays
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-28 14:57:00 -08:00
James Cherry c010a0f99e liberty reader rewrite
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-27 17:12:50 -08:00
James Cherry 4c157f46ee InternalPower::related_pg_port string->port
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-11 08:33:09 -07:00
James Cherry 33e480a6c1 liberty memory management
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-04 18:33:04 -07:00
James Cherry 0ae888b619 Merge branch 'master' into rel_3.0
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-02-03 08:40:58 -07: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 d42b821c00 rel 3.0
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2026-01-13 09:36:45 -07: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 8287aec5f6 Verilog make pins for liberty pg_pins resolves #326
commit b4a89c93965c49a8685fd41cb6aee10635d7a7f3
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Nov 7 11:48:10 2025 -0700

    pg_ -> PwrGnd

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 12ddba4bf220cec8459c15e483a871b13e507bf2
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Nov 7 08:56:02 2025 -0700

    pg_port

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-11-07 11:55:43 -07:00
Matt Liberty 2412feec33
pad cells are not buffers or inverters (#294)
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-09-08 17:04:21 -07:00
James Cherry 0d7c89f544 cp liberty bus properties to bit ports resolves #273
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-21 14:35:53 -07:00
Matt Liberty 06f94cafd8
Add a less operator to BddPortVarMap (#258)
bdd_port_var_map_, of type BddPortVarMap, is iterated over in
Power::evalBddActivity.  Previously the map used pointer comparison so
the iteration order was non-deterministic.  The computed density was
therefore non-deterministic due to the non-associativity of
floating-point addition.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-07-13 10:59:51 -07:00
James Cherry 606c666180 set_min/max_delay -from reg/D startpoint warning resolves #265
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-03 17:08:44 -07:00
James Cherry c5b62b5cc8 liberty valgrind issues
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-06-23 08:19:27 -07:00
James Cherry c2a0c4db30 liberty bundle ports apply func's to members resolves #256
commit d7629119c261bbc1551f7a6b008475b194a9ff91
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Jun 10 13:59:36 2025 +0200

    issue256

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-06-16 16:45:21 +02:00
G 79c90c3c70
fix: free default_ocv_derate_ in LibertyLibrary destructor (#249) 2025-05-31 11:11:44 -07:00
James Cherry 71bdfb9904 rm using std::string from headers
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-05-22 09:25:56 -07:00
James Cherry 932525bd87 name, asString -> to_string, const
commit d122d05822e02dcc08c665ac6ec7513791dd7209
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Mar 27 08:58:22 2025 -0700

    rebase

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 9c7ae9a7ddd885ebdab102d48b3f39dc5dacf948
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Mar 25 16:21:52 2025 -0700

    write_spice8

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 2bd088f03bb2e414305232d9ebd76c9d1958ec81
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Mar 25 10:08:00 2025 -0700

    liberty reader stringify

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 86974caf063433b37ed1378e7103db4b2e55a04c
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 20:25:39 2025 -0700

    ConcreteLiberary/Cell/Port use string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 334476e185149a90b35cdd859e0a760ec9aa242a
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 20:16:08 2025 -0700

    leak

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 5130e8d44804f483d9099d48bb413a7f3362b4e1
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 15:57:14 2025 -0700

    liberty parser stringify

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit d48eba88cbde9093e3eb12bcee8eb48ccd444434
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 11:16:04 2025 -0700

    stringify

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 6913fb198d642f6b05a94fb1852064706a748b81
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 11:06:17 2025 -0700

    stringify

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 371bca08ecf9bf816b7adcbb7ae1458c4073f5f8
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 10:44:31 2025 -0700

    TableTemplate use string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 326465920a1f4a33dbe6be35cff5ca2245b6677e
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 09:04:55 2025 -0700

    use string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit b93a542ddfbcb5c793c9b533cbe64ea20ec08f4a
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 08:59:01 2025 -0700

    timingSenseString -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 6c121a0ff4231b37df076a62e83832897be62ff4
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Mar 23 16:09:47 2025 -0700

    Corner use string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 07b989a5a43bf5d341aa6ba2880be663997577d5
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Mar 23 16:05:43 2025 -0700

    Tag::to_string()

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 0b9480cc5a3fa9ef0cb1c6e8ba0d4a29de2df816
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Mar 23 15:53:29 2025 -0700

    PathAnalysisPt::to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit a028659091e99270f7501615285730681ed59523
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Mar 23 12:19:03 2025 -0700

    TimingRole stati alloc

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 495be6a57bda23d82e511282f5db7c188b32971b
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 21:36:52 2025 -0700

    RiseFall/RiseFallBoth/Transition const

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 4c4b28adb383321b1172f4b774c7c4d9a1aee69f
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 20:38:26 2025 -0700

    TimingRole const

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 54ab58ec7200d420bf3b5e709e74b652af88d508
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 14:15:07 2025 -0700

    const MinMax

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit f70bb38df17b2ed758c7b6ba5647b7355366c0c0
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 13:14:31 2025 -0700

    Transition::to_string(()

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit b3f3d67328194351fb8efac2219bcfbcec331552
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 12:33:25 2025 -0700

    RiseFall::to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 4046f8a376926dfde980860c51d2c5c70cf4a867
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Mar 20 09:04:10 2025 -0700

    TimingRole::name -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit cf4dd918eccb05d459f1804ced8365c81a5c6a50
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 20:14:42 2025 -0700

    MinMax::asString -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit d80118117dda25be7b2b4896f19e955645c27f73
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 17:43:08 2025 -0700

    TimingRole::name -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 284fa25c28aca998e8ce92e7b7bb927697494a13
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 17:02:27 2025 -0700

    comment

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 646f19749b997e03dc4cbdf165cd7637010276d3
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 14:47:40 2025 -0700

    FuncExpr::asString -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 4f73d8e7ad21feac6f41130b7b070f3e345b6fb5
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 14:04:13 2025 -0700

    Vertex::name -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 7c7ec486aaea86f6607a1ef72bb1a74dca603831
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 13:39:24 2025 -0700

    Vertex::name -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-30 15:27:53 -07:00
James Cherry 2a4fd08211 update copyright
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-21 18:54:33 -07:00
James Molloy 7fbe386d35
[liberty] Fix use-before-free bug (#170)
Before this change, findTableTemplate captured `name` always. This caused a segfault
when LibertyReader::beginTable calls it with `template_name`:

  const char *template_name = group->firstName();
  if (library_ && template_name) {
    tbl_template_ = library_->findTableTemplate(template_name, type);

This pointer is owned by the group and is freed when we hit sta::libertyGroupEnd.

Ensure that findTableTemplate does not capture `name` by using findKey.

Co-authored-by: jmolloy <jmolloy@google.com>
2025-01-11 09:03:53 -08:00
James Cherry 0d13839330 liberty test_cell port signal_type
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-11-15 15:53:02 -08:00
James Cherry dfb95b1cfe liberty test_cell name
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-10-25 08:41:22 -07:00
James Cherry 21a62ebccf liberty test_cell parse internals
commit 6a290928a1e554df63682ec416ead0d463c89b4a
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Oct 24 11:33:24 2024 -0700

    liberty test signal_types

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 662b68e3def20b467c5dc1a2d9ca14b399ad27c1
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Oct 24 11:28:25 2024 -0700

    liberty test_cell

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit d91e9a824b46149fb1f803c76714971043fe21b6
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Oct 24 10:35:17 2024 -0700

    readme

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit cbe980545669379ac25c5721c488168de98e9120
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Oct 24 09:38:29 2024 -0700

    message ids

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit f0234ddefae5ad82bad75839afc18baf458ebdab
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Oct 23 12:52:39 2024 -0700

    rm test_cell disable edge support

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit db798869bc85a6c7be5f938f4c4eb27402c177ad
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Oct 23 08:20:24 2024 -0700

    liberty test_cell

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit d8fe710d551737f899a770abd2ca0b5e3a261d32
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Oct 22 17:37:04 2024 -0700

    liberty test_cell

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 9ad676ec78df99223ecd82e27c941341b28eb4e4
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Oct 21 19:50:44 2024 -0700

    liberty testcell

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-10-24 11:37:07 -07:00
Matt Liberty 26f20e48b5
Parse and store user_function_class from Liberty. (#90)
Added user_function_class and cell_footprint to LibertyWriter for testing.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2024-10-15 17:37:57 -07:00
James Cherry 41fe4d2844 issue88 missing arc warning for liberty clock tree path
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-09-12 17:00:06 -07:00
Arthur Koucher 2de024f6e8 return nullptr rather than empty string
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
2024-09-06 11:44:17 -03:00
Arthur Koucher c0cf80ef56 keep footprint string inside its cell
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
2024-09-04 18:17:47 -03:00
Arthur Koucher 253b6bf458 add cell footprint support
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
2024-09-03 19:02:55 -03:00
James Cherry f54ab5b170 prima thread safety
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-08-17 11:39:47 -07:00
James Cherry 81c68379a3 liberty delay_model default to table_lookup
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-08-10 17:17:19 -07:00
James Cherry 7b8720985c liberty statetables
commit 02bf64b7d48b36a7ed68ee0781f3039d2cf86b4a
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Aug 3 15:20:51 2024 -0700

    power gated clk w/statetable

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 587c217900e92551393a882aa4792369760dbff9
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Aug 2 16:59:11 2024 -0700

    statetable equivalence

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 7093b22a41316b346834c63b1f3de132c4301105
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Jul 28 16:54:40 2024 -0700

    libert Statetable

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit becfdfc6852d01feb184256c8f966a19e57791d4
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Jul 28 10:17:11 2024 -0700

    parse statetables

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-08-04 17:10:04 -07:00
James Cherry ad83b05e5b liberty latches require matching when
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-07-31 19:47:15 -07:00
James Cherry 79c4fff78c leak
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-07-31 16:36:24 -07:00
James Cherry 5f6ff47d83 prima multi-corner
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-07-30 09:15:45 -07:00
James Cherry d315767d00 gcc compile warning
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-07-28 22:51:39 -07:00
James Cherry d0287e5a47 rel 2.6.0
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2024-07-24 09:04:08 -07:00