sync#2
Open
nanocoh wants to merge 2194 commits into
Open
Conversation
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
This runs the depend-on-what-you-use command of bant https://github.com/hzeller/bant#dwyu--depend-on-what-you-use It should be possible to make new `cc_libraries()`, add a bunch of `srcs=[]` and i`hdrs=[]` to it, and have the build cleaner figure out all the dependencies needed, emitting an edit script to make it happen. Signed-off-by: Henner Zeller <h.zeller@acm.org>
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
…zer6-apply [DO NOT MERGE] Remove redundant STA calls in RepairDesign
etc: Use _execute for bison download to get log only on failure as for others.
Signed-off-by: Joao Luis Sombrio <sombrio@sombrasoft.dev>
Add a --config=coverage so `bazel coverage --config=coverage` emits one
combined lcov file (bazel-out/_coverage/_coverage_report.dat) that CI
renders with genhtml. The instrumentation_filter reproduces the
exclusions of the retired cmake/lcov flow (etc/CodeCoverage.sh _lcov).
The hermetic-llvm toolchain implements no coverage feature (no
instrumentation flags, broken/undeclared gcov tool), so the config
instruments explicitly with clang source-based coverage and points the
collector at llvm-profdata/llvm-cov via --test_env; test actions run
unsandboxed because the sandbox omits the undeclared coverage tools.
gcov-style -fprofile-arcs is not usable: its objects break ld.lld
('.eh_frame: relocation is not in any piece' as of LLVM 22.1.8).
Verified on //src/utl/test:cpp_tests: combined report carries real DA
data (1464 lines, all SF entries under src/) and genhtml renders it
(39.6% lines, 44.2% functions).
Install lcov (provides genhtml) in bazel/Dockerfile so the report can be
rendered inside the bazel-ci image the Jenkins coverage pipeline runs in.
Also install parallel and tcl: the migrated nightly pipeline runs
src/drt/test/run-ispd.py (shells out to GNU parallel) and
src/gpl/test/regression-large (an `exec tclsh` script) inside this
image, both previously provided by the ubuntu22.04-dev image.
Signed-off-by: Joao Luis Sombrio <sombrio@sombrasoft.dev>
now that negotiation is the default we swap these tests so they use the non-default diamond search algorithm, also adjust the obstrcution2.tcl test so it does not fail anymore, now we check the overlap with core area for fixed instances. Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
…erage-config bazel: add coverage config and lcov to bazel-ci image
…aner Add a build-cleaner tool.
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
dpl: modify default algorithm to negotiation legalizer
…8s-pipelines ci: delegate coverage/coverity/nightly to k8s shared-library pipelines
rcx: refactor to isolate extraction rules parsing logic into its own function
Signed-off-by: Naveen Venkat <archgen.guest@nyayanidhi.in>
Signed-off-by: Naveen Venkat <archgen.guest@nyayanidhi.in>
Signed-off-by: Minju Kim <mkim@precisioninno.com> # Conflicts: # test/aes_sky130hd.metrics # test/aes_sky130hd.metrics_limits # test/ibex_sky130hs.metrics # test/ibex_sky130hs.metrics_limits # test/jpeg_sky130hs.metrics # test/jpeg_sky130hs.metrics_limits # test/upf_aes.defok # test/upf_aes.ok
repairHoldPass() calls estimate_parasitics_->updateParasitics() at the top
of every iteration of its loop over hold_failures, right before
repairEndHold(). This per-endpoint flush is redundant.
Every path through repairEndHold() that can invalidate parasitics already
flushes them before returning:
- buffer-insert path: makeHoldDelay() calls updateParasitics() after
insertBufferBeforeLoads() (and again after any resizeToTargetSlew());
- rollback path: Resizer::journalRestore() calls updateParasitics() after
undoEco().
The updateParasitics() kept before the loop covers the initial flush ahead of
the first endpoint. So parasitics are always current when control reaches the
loop head, and the loop-top flush has nothing to do.
Confirmed empirically: instrumenting the call on an ASAP7 block measured zero
invalidated nets on every invocation while still paying the fixed per-flush
overhead. Removing it is behavior- and QoR-neutral.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
rcx: make setBlockFromChip actually have a chip argument
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
…ROAD into grt-fix-resaware-restore
rcx: fix repeated message id
…ition Replace the hand-rolled minmax/containment check with odb::Rect::intersects(Point), which has the same inclusive-boundary semantics. Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
findInstNetsMatching had two branches: glob went through netIterator (scoped, correct), exact went through findNet. For a non-top instance, findNet falls back to a flat block lookup of pathName(instance)+"/"+name, so get_nets -hierarchical <name> could return a top-scope net like u1/foo while visiting leaf instance u1, even though u1 has no local net foo. Collapse to the scoped iterator for both cases. PatternMatch::match does an exact compare when there are no wildcards, so the branch was redundant and the source of the false match. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
isConnected decremented the group counter for every intersecting segment pair, even when both segments already shared the same union-find root. Cycles in the segment connectivity graph (multi-fanout junctions) therefore over-decremented the counter, masking genuinely disconnected segments elsewhere in the net. Decrement only when uniteGroups merges two distinct groups. Add read_segments_error6 test: the read_segments1.segs clock route plus one isolated segment, which previously passed validation silently and now fails with GRT-0262. Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…ROAD into grt_merge_nets
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…_nets grt: fix layer stack when merging nets
cmake: fix a redundant flag causing the build to fail with newer GCC versions
syn: Add gate remapping by Ashenhurst-Curtis decomposition with shared set
…rhold Fix dependencies for //src/rsz/test:TestRepairHoldRollback
dbSta: make get_nets glob patterns find hierarchical nets
…-macro-edgetype-numeric odb: accept numeric edge type names in macro LEF58_EDGETYPE parser
By running the build-cleaner: ``` source <(etc/run-build-cleaner.sh //src/syn/test:acd_test) ``` Signed-off-by: Henner Zeller <h.zeller@acm.org>
Fix dependencies in `:acd_test`
…ove_banking MBFF clock-tree power credit - promote higher banking ratios
…-pattern Fix moire pattern
est: add multi-tech wire RC support
…g-threshold syn: Add option to keep names based on fanout
Organize and better document .bazelignore
Simplify bant macro
tap: check if selected master cells are placeable
…lay-controls-layers Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Move the or_layer_patterns store from a cookie to sessionStorage so fill patterns behave like the hidden/non-selectable layer sets: they survive the reload triggered by opening a database but start fresh in a new session, matching the Qt GUI (which does not persist layer options across sessions). Addresses review feedback on #10795. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
The per-layer fill-pattern feature had inlined the overlaps->intersect->toPixels->drawFilledRect sequence at each site that paints a shape with the layer pattern, duplicating what draw_box_in_tile already does. Give the lambda an optional pattern argument (default solid, capturing pat_ox/pat_oy) so the routing/special-net/pin sites call draw_box_in_tile(box, color, layer_pattern) while OBS, fills and markers keep calling it with no pattern. Net -21 lines, no behavior change. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Cover the previously untested per-layer fill-pattern and layer-category work: C++ (TestTileGenerator): - FillPatternParsingClampsToEnum: the "pattern" request field maps to TileVisibility::fill_pattern, absent defaults to solid, and out-of-range values clamp to solid. - FillPatternControlsShapeCoverage: a hatch paints fewer pixels than solid but more than zero; kNone paints nothing. C++ (TestSaveReport): - SerializeTechResponseGroupsOtherLayers: non-routing tech layers land in an "Other" category node in the layer hierarchy. JS: - nonSolidPatterns: drops solid entries, tolerates null/undefined. - buildTileRequest: emits the pattern field only for non-solid layers. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…ebGUI-display-controls-layers web: add Implant/Other layer categories and per-layer fill patterns
…ap-warn gui: load heatmap before onShow
…on-pins mpl: pin-aware macro halos
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.
Summary
[Describe your changes here]
Type of Change
Impact
[How does this change the tool's behavior?]
Verification
./etc/Build.sh).Related Issues
[Link issues here]