Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Changed
Timing analysis could omit combinational clock-gating checks and asynchronous endpoints, and stale SPEF connectivity could replace the linked netlist's loads. This change restores those checks and retains netlist loads when an extracted net has incompatible terminals.
set_false_path -fromselector from becoming an unrestricted exception.-small_rc_fanout_reductionand-check_constant_capacitancethrough native, Tcl, and Python configuration, preserving their default values of 1 and 0.Scope
Runtime And Packaging Impact
New check types and graph state require native consumers to rebuild. CMake registers the checker and its tests; dependency and toolchain requirements are unchanged. Python method signatures are unchanged, with two additional validated configuration options. Local documentation and generated benchmark artifacts are intentionally excluded from this PR.
Validation
clang-format 18.1.8 --dry-run --Werror --style=fileon all 53 changed/new C++ files (equivalent to the repository formatting hook).cmake --build build/release -j 8 --target ecc_bin ecc_py <all 69 test_ista_* executable targets>; all 275 build steps completed.ctest --test-dir build/release -R '^ista_' --output-on-failure -j 8— 123/123 passed after the final rebuild.git diff --check, independent code review, and an explicit 55-file code/build/test allowlist; documentation hashes remained unchanged.Skipped checks and remaining limitations:
FastSTAInputFactsTest.cc:385:icts::SdcClockReaderis not declared. This file matches the main-branch base; the error is outside the changed files.small_rc_fanout_reduction=0andcheck_constant_capacitance=1, rather than defaults. The historical William bridge inputs still have 62 cross-corner sign differences, and ord_000038 lacks the required reference inputs. This PR does not claim complete PrimeTime equivalence or SI support.Checklist
uv.lockor version metadata when dependencies changed (N/A: no dependency or version change).