Commit Graph

1834 Commits

Author SHA1 Message Date
Drew Lewis daeea4ab7e
Change DispatchQueue::dispatch to use notify_one. (#308)
This prevents the thundering herd problem and should increase the
scalability of the DispatchQueue significantly.

Additionally the code the DispatchQueue was taken from made this
improvement five years ago:
79ad8a539d

Signed-off-by: Drew Lewis <cannada@google.com>
2025-10-12 14:11:21 -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 c11bb38f58
Include StaConfig.hh once (#305)
* Include StaConfig.hh once

* pragma once
2025-10-07 09:12:54 -07:00
James Cherry 091d69385e CheckCrpr::findCrpr resolves orfs1253
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-10-06 08:34:44 -07:00
Akash Levy 9550c99f0c
Package require test (#303) 2025-10-04 10:36:22 -07:00
Henner Zeller 745ee606f9
Mark choice of delay implementation with IWYU export pragma. (#300)
The Delay header is meant to provide the Delay implementation
to whoever is including it; it chooses the right implementation
via an include which this PR marks as providing a symbol that is
to be exported.

Without that annotation, tools such as `clang-tidy` or the `clangd` language server (as well as many other tools) will complain about headers not directly providing a symbol if users just include Delay.hh; With this annotation, they know.

Documentation about these IWYU pragmas:
https://clangd.llvm.org/design/include-cleaner#iwyu-pragmas
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUPragmas.md#iwyu-pragma-begin_exportsend_exports

Signed-off-by: Henner Zeller <h.zeller@acm.org>
2025-10-04 08:50:11 -07:00
James Cherry b553e636a0 CodingGuildlines
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-10-04 08:25:17 -07:00
Drew Lewis 76324bbabb
Fix typo in CodingGuidelines.txt (#307)
Signed-off-by: Drew Lewis <cannada@google.com>
2025-09-30 14:08:05 -07:00
James Cherry e7bffbfef5 PropActivityVisitor::visit null port check PR 301
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-29 21:02:17 -07:00
James Cherry b456589007 PropActivityVisitor::visit null port check PR 301
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-29 19:45:04 -07:00
Matt Liberty 37e1d15433
fix stray character typo (#302)
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-09-29 18:23:59 -07:00
James Cherry 8236a89ef6 latch D->Q crpr path pruniing (eagle 20250923)
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-29 15:47:20 -07:00
James Cherry d565906c2b tag/glk_info debug
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-29 09:48:57 -07:00
James Cherry f18df8a1a2 Edge::arcDelayAnnotateBit resolves issue #299
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-18 15:48:37 -07:00
James Cherry 892a9a4a3d vcd min time resolves #165
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-18 08:47:43 -07:00
James Cherry c020334e07 power propagate activies across test_cell resolves #295
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-17 15:59:00 -07:00
Mike Inouye cf060169aa
Add PropertyRegistry for Clock. (#298)
* Add PropertyRegistry for Clock.

Signed-off-by: Mike Inouye <mikeinouye@google.com>

* Remove extra blank line.

---------

Signed-off-by: Mike Inouye <mikeinouye@google.com>
2025-09-17 14:19:22 -07:00
James Cherry 8e50916693 deleteFilterTags
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-17 09:10:14 -07:00
James Cherry 17cf87b4c6 Tag::clkInfo const
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-16 15:30:16 -07:00
James Cherry 8580cfd813 pathIndexMapEqual
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-16 15:16:05 -07:00
James Cherry a296abc15c Tag use static cmp functions
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-16 14:49:01 -07:00
James Cherry 7c6a473bbc cleanup
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-16 14:25:24 -07:00
James Cherry 7a41a7f839 ClkInfo::hash resolves #287
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-16 14:17:30 -07:00
James Cherry 84989688b7 ClkInfo, Tag cmp
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-16 13:53:16 -07:00
James Cherry 9f9ad0b4ab clkInfoCmp, tagCmp
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-14 11:43:59 -07:00
James Cherry ab39366f7b tagStateCmp use +exceptionStateLess
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-12 09:10:03 -07:00
Vitor Bandeira 9870b14640
Use STA_HOME instead of CMAKE_SOURCE_DIR (#296)
When using OpenSTA as a submodule/external dependency CMAKE_SOURCE_DIR
resolves to the root of the top project instead of OpenSTA's. Using
STA_HOME resolves the path correctly and is used in other places in the
project already.

Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
2025-09-12 08:52:55 -07:00
James Cherry 30c8230f68 tag group ref count w/threads
commit d7e45e73e7b3a5b9b3b00eeaaff6c5608fd15a44
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Sep 12 08:41:14 2025 -0700

    tag group ref count w/threads

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

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-12 08:50:58 -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 aa27e3372e Genclks:: deleteGenclkSrcPaths
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-08 16:08:26 -07:00
James Cherry dcbaaf4c05 ExpandedExceptionVisitor
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-07 15:22:06 -07:00
James Cherry 26be60906c ExpandedExceptionVisitor memory error
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-06 16:18:21 -07:00
James Cherry 2163a5c6b9 parallel dcalc with diff arc counts resolves #288
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-06 14:43:01 -07:00
James Cherry 433f9aa7d7 report_tag_arrivals
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-05 15:52:38 -07:00
James Cherry 5d02db77d7 rm Search::checkDefaultArrivalPaths
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-05 15:52:19 -07:00
James Cherry 594537b719 latch do not propagate unclked paths (eagle 20250905)
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-05 15:51:59 -07:00
James Cherry 774c3c68f1 setVertexArrivals use tag_group_lock
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-04 18:36:18 -07:00
Mateusz Gancarz 45a8a1bcc0
search: fix truncating path ends list if sorting by slack (#291) 2025-09-03 16:45:33 -07:00
James Cherry 1731dd0c38 group_path -default doc resolves #292
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-03 16:08:06 -07:00
Waylander 849832a951
Fix an undefined behaviour and a memory leak (#289)
* Use a unique_ptr to avoid leaks

* Use memmove instead of memcopy

As both arguments can overlap, use memmove instead of memcopy

* Fix code style issues
2025-09-03 15:12:26 -07:00
James Cherry e4a1ebf00e TaGGroup refcount to reclaim memory
commit cd7169f99ab8b67323c444d4c22d065487e439c1
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Aug 31 16:02:03 2025 -0700

    reportArrivals report_tag_index

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

commit 658f842a776bb43eef7dbfd9a08e191c31fb9f11
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Aug 25 16:20:50 2025 -0700

    tag group ref count

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

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-09-03 15:05:14 -07:00
Drew Lewis 255988633f
Change DmpAlg to use preallocated arrays (#283)
* Change DmpAlg to use preallocated arrays

DmpAlg isn't called with nr_order_ > 3 so this change saves 9 news and 9
frees for each construction and destruction of the class.

* Remove nr_order size check in DmpAlg constructor

Signed-off-by: Drew Lewis <cannada@google.com>

---------

Signed-off-by: Drew Lewis <cannada@google.com>
2025-08-23 11:34:32 -07:00
James Cherry b654fd48a8 read_liberty leak resolves ORFS#1184
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-08-20 16:00:33 -07:00
James Cherry 70f4bc0459 latch nworst thru D->Q (eagle 20250815)
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-08-18 13:27:30 -07:00
Matt Liberty 872f611fea
Support redirection for report_clock_min_period (#286)
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-08-15 11:28:05 -07:00
James Cherry 5b56558e7a GraphDelayCalc::findDelays no need to visit if iter empty
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-08-13 11:43:40 -07:00
Akash Levy 4920f673a8
JSON reporting: split out source clock path (#285) 2025-08-13 09:53:44 -07:00
James Cherry 0cd16e504a set_max_delay -from pos_latch -to neg_latch (eagle 20250808)
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-08-12 18:08:01 -07:00
James Cherry d31e3b06e2 doc spell check
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-08-12 12:32:36 -07:00
Ethan Mahintorabi 6d18003c04
util: Fix memory leak in PatternMatch (#282)
When allocating a new string object in tcl you need increment and
then decremenet the ref counter in order for objects to be correctly
collected.

Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2025-08-11 16:25:47 -07:00