Update install target to also install the /etc directory with the flu…#1
Closed
tspyrou wants to merge 1 commit into
Closed
Update install target to also install the /etc directory with the flu…#1tspyrou wants to merge 1 commit into
tspyrou wants to merge 1 commit into
Conversation
…te magic files. Its expected these will go away soon but installing the /etc directory is typically done.
jjcherry56
reviewed
Nov 20, 2019
Contributor
jjcherry56
left a comment
There was a problem hiding this comment.
I think it belongs in src/CMakeLists.txt alone with the other install specific target and should only copy the 2 specific files.
Contributor
Author
|
I will make that change. It will avoid etc becoming an install dumping ground. |
antonblanchard
added a commit
to antonblanchard/OpenROAD
that referenced
this pull request
Jan 10, 2021
LLVM address sanitizer hits an array out of bounds access:
#0 in fr::FlexGridGraph::getEdgeLength(int, int, int, fr::frDirEnum) const src/TritonRoute/src/dr/FlexGridGraph.h
The-OpenROAD-Project#1 in fr::FlexDRWorker::initMazeCost_ap_planarGrid_helper(fr::FlexMazeIdx const&, fr::frDirEnum const&, int, bool) src/TritonRoute/src/dr/FlexDR_init.cpp
The-OpenROAD-Project#2 in fr::FlexDRWorker::initMazeCost_ap_helper(fr::drNet*, bool) src/TritonRoute/src/dr/FlexDR_init.cpp:2314:11
The-OpenROAD-Project#3 in fr::FlexDRWorker::mazeNetInit(fr::drNet*) src/TritonRoute/src/dr/FlexDR_maze.cpp:1767:3
There is already a call to isValid() to check the array indexes are
valid, but it is commented out. Add it back in.
vvbandeira
pushed a commit
that referenced
this pull request
Aug 15, 2024
Signed-off-by: Lia Vardanyan <liav@vorak-solutions.com>
osamahammad21
pushed a commit
to osamahammad21/OpenROAD
that referenced
this pull request
Jan 19, 2025
…sform_fix drt: fix transform applied to ap pathsegs
gudeh
added a commit
to gudeh/OpenROAD
that referenced
this pull request
Jun 26, 2025
defect message: CID 1587327: (The-OpenROAD-Project#1 of 1): Uninitialized scalar variable (UNINIT) 2. uninit_use_in_call: Using uninitialized value solver.m_error when calling error. Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
gudeh
added a commit
to gudeh/OpenROAD
that referenced
this pull request
Jun 26, 2025
defect message: CID 1444310: (The-OpenROAD-Project#1 of 1): Uninitialized pointer field (UNINIT_CTOR) 1. member_not_init_in_gen_ctor: The compiler-generated constructor for this class does not initialize hpwl_gauge_. Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
gudeh
added a commit
to gudeh/OpenROAD
that referenced
this pull request
Jun 26, 2025
defect message: 16. uninit_member: Non-static class member npVars_ is not initialized in this constructor nor in any functions that it calls. CID 1512693: (The-OpenROAD-Project#1 of 1): Uninitialized pointer field (UNINIT_CTOR) 18. uninit_member: Non-static class member reprint_iter_header is not initialized in this constructor nor in any functions that it calls. Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
gudeh
added a commit
to gudeh/OpenROAD
that referenced
this pull request
Jun 26, 2025
defect message: CID 1544660: (The-OpenROAD-Project#1 of 1): Structurally dead code (UNREACHABLE) unreachable: Since the loop increment ++<anonymous>; is unreachable, the loop body will never execute more than once. Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
gudeh
added a commit
to gudeh/OpenROAD
that referenced
this pull request
Jun 26, 2025
defect message: CID 1559432: (The-OpenROAD-Project#1 of 1): Division or modulo by float zero (DIVIDE_BY_ZERO) 3. divide_by_zero: In expression tot / num_flops, division by expression num_flops which may be zero has undefined behavior. Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
gudeh
added a commit
to gudeh/OpenROAD
that referenced
this pull request
Jun 26, 2025
defect message: CID 1586137: (The-OpenROAD-Project#1 of 1): Explicit null dereferenced (FORWARD_NULL) 48. var_deref_model: Passing null pointer power to connect, which dereferences it. it warned only about power->connect(), although I opted to also check at ground, since logic is similar Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
gudeh
added a commit
to gudeh/OpenROAD
that referenced
this pull request
Jun 26, 2025
medium defect reported: CID 1610083: (The-OpenROAD-Project#1 of 1): Explicit null dereferenced (FORWARD_NULL) 3. dereference: Attempting to access the managed object of an empty smart pointer this->nbc_. Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
This was referenced Jul 10, 2025
gudeh
pushed a commit
to gudeh/OpenROAD
that referenced
this pull request
Sep 29, 2025
…rivate/dpl-pin-edge dpl: disallow abutting pin edges
2 tasks
RamboJHB
referenced
this pull request
in RamboJHB/OpenROAD
May 8, 2026
Number every PG-DRC code change in the order data flows from the user-facing Tcl flag down to the FlexGC checks, so a reader can grep for [PG-DRC #1] .. [PG-DRC The-OpenROAD-Project#11] and walk the chain end to end: #1 TritonRoute.tcl -- parse -check_pg_nets The-OpenROAD-Project#2 TritonRoute.i -- SWIG bridge The-OpenROAD-Project#3 TritonRoute.h -- public API param The-OpenROAD-Project#4 TritonRoute.cpp -- write router_cfg_->CHECK_PG_NETS The-OpenROAD-Project#5 global.h -- RouterConfiguration field The-OpenROAD-Project#6 serialization.h -- distributed-worker serialization The-OpenROAD-Project#7 frRegionQuery.cpp -- feed PG snets to drObjs rtree The-OpenROAD-Project#8 FlexGC_init.cpp -- skip PG in fixed-obstacle pass The-OpenROAD-Project#9 FlexGC_cut.cpp -- gate via-table supply-skip The-OpenROAD-Project#10 drc_test_pg.tcl -- end-to-end smoke regression The-OpenROAD-Project#11 CMakeLists.txt / BUILD -- register test in both build systems Also document why FlexGCWorker::Impl::checkCutSpacing_spc() is deliberately left alone: that skip honors LEF SAMENETPGONLY and must keep exempting same-PG-net cuts even when PG DRC is on. Signed-off-by: Claude <noreply@anthropic.com>
RamboJHB
referenced
this pull request
in RamboJHB/OpenROAD
May 8, 2026
…cfg field
Previous version stashed CHECK_PG_NETS in RouterConfiguration so every
downstream stage could read it via router_cfg_. That made the flag a
hidden global: it lived for the lifetime of the router, would persist
across calls, and forced a serialization entry for distributed
workers. Refactor to plumb the bool as an explicit parameter end to
end so PG checking happens only when, and exactly where, the user
asks for it.
- Drop RouterConfiguration::CHECK_PG_NETS and its serialize line.
- frRegionQuery::initDRObj gains an include_pg_nets bool (default
false). All routing/repair callers keep the default; only
TritonRoute::checkDRC passes true when -check_pg_nets is set.
- FlexGCWorker gets setCheckPgNets(bool) + Impl::checkPgNets_;
FlexGC_init.cpp / FlexGC_cut.cpp read the worker member instead
of router_cfg_.
- TritonRoute::getDRCMarkers takes the bool and forwards it to
each FlexGCWorker before init.
- TritonRoute::checkDRC body re-runs initDRObj(true) only when the
flag is on (idempotent rebuild) and forwards the bool to
getDRCMarkers; default check_drc and the routing flow are
bit-identical to before.
Renumber [PG-DRC #N] markers to follow the new linear chain (#1..The-OpenROAD-Project#10):
#1 Tcl flag parse
The-OpenROAD-Project#2 SWIG bridge
The-OpenROAD-Project#3 TritonRoute::checkDRC declaration
The-OpenROAD-Project#4 TritonRoute::checkDRC body -> initDRObj(true)
The-OpenROAD-Project#5 frRegionQuery::Impl::initDRObj feeds PG to drObjs
The-OpenROAD-Project#6 TritonRoute::getDRCMarkers + FlexGCWorker::setCheckPgNets / member
The-OpenROAD-Project#7 FlexGCWorker::Impl::initDesign obstacle-pass skip
The-OpenROAD-Project#8 FlexGCWorker::Impl::checkMetalWidthViaTable supply-skip gate
The-OpenROAD-Project#9 drc_test_pg.tcl smoke regression
The-OpenROAD-Project#10 CMakeLists.txt / BUILD registration
Signed-off-by: Claude <noreply@anthropic.com>
RamboJHB
referenced
this pull request
in RamboJHB/OpenROAD
May 9, 2026
When the user reports "same output with -check_pg_nets on", we have no visibility into where the chain is failing. Wire a small set of gated trace prints that fire only when -check_pg_nets is set, and drop a per-rule comment block at every spec rule's check entry function so the spec table maps 1:1 onto the source. Trace points (chain order, all gated on CHECK_PG_NETS): #1 (TritonRoute.tcl) Tcl proc parsed flag, forwarding to SWIG The-OpenROAD-Project#4 (TritonRoute.cpp) checkDRC entered with the flag The-OpenROAD-Project#7 (frRegionQuery.cpp) initDRObj summary: how many supply nets ingested into drObjs, how many non-supply specials skipped (left as obstacles), how many signal nets skipped entirely The-OpenROAD-Project#8 (FlexGC_init.cpp) FlexGC obstacle pass: how many shapes loaded as fixed obstacles, how many supply shapes deferred to the drObj pass The-OpenROAD-Project#10 (TritonRoute.cpp) output filter: markers in / kept / dropped RULE-N (FlexGC.cpp addMarker) every emitted marker is classified into spec rule #1..The-OpenROAD-Project#4 by frConstraintTypeEnum and printed with layer, bbox, and whether any src is a supply owner Per-rule comment annotations (no per-rect prints; addMarker handles those centrally to avoid log spam): RULE-1 PG-PG spacing checkMetalSpacing_main (FlexGC_main.cpp) RULE-2 Blockage / keepout checkMetalSpacing_short_obs (FlexGC_main), checKeepOutZone_main (FlexGC_cut) RULE-3 Width / grid checkMetalShape_minWidth, checkMetalShape_offGrid (FlexGC_main.cpp) RULE-4 Via physical checkMetalWidthViaTable, checkLef58Enclosure_main (FlexGC_cut.cpp) Default check_drc (no flag) emits zero new output and the routing flow is byte-identical. To diagnose "same result": rebuild and run check_drc -check_pg_nets; the missing [PG-DRC #N] trace identifies the broken link. Signed-off-by: Claude <noreply@anthropic.com>
Ava4wonder
added a commit
to Ava4wonder/OpenROAD
that referenced
this pull request
May 11, 2026
…recursive routeNet)
The first commit that runs ACTUAL alternative-bias maze search
per net. When OPENROAD_DRT_REDESIGN_DRIVE_REAL_K > 1, for each
admitted net:
1. Save variant 0 as drConnFig clones
2. TEARDOWN drNet (V2.6.f.2 sub+remove+modEol cycle)
3. For each k in 1..real_k-1:
MazeBiasOverride RAII applies the k-th bias schedule
FlexGridGraph::resetStatus() clears search-frame state
g_v26f5_in_kbias_inner_ = true → recursive routeNet → false
(the recursion guard from V2.6.f.5.a prevents inner re-entry)
capture variant k's drConnFig count for logging
TEARDOWN drNet again
gcWorker_->clearPWires() to discard accumulated patches
4. REBUILD variant 0 from saved clones (addRoute + addPathCost +
modEol add + gcWorker setTargetNet/updateDRNet/resetTargetNet)
5. Log per-net stats to stderr
Bias schedule (Khan-Rovinski-informed, DATE 2026 arXiv 2512.03594):
variant 1: (4×, 1×, 1×) — higher DRC penalty (their The-OpenROAD-Project#1 finding)
variant 2: (1×, 4×, 1×) — higher marker penalty (K≥3)
variant 3: (1×, 1×, 4×) — higher fixed-shape penalty (K≥4)
Baseline multipliers applied to upstream's ROUTESHAPECOST,
MARKERCOST, BLOCKCOST from router_cfg_. Khan-Rovinski's Fig 2
found OPTIMAL DRC weight is ~10-30× baseline; 4× is a
conservative midpoint chosen to avoid frUInt4 overflow.
V2.6.f.5.b SCOPE — SHADOW only. Always rebuilds variant 0 at the
end, so production routing is byte-identical to baseline. V2.6.f.5.c
will flip the rebuild to use the winning variant.
Integration gates (asap7_ibex, REAL_K=2, K=1):
v26f5b_n10_gate (DRIVE_N=10):
md5 = 769d9e675c8bec2eaff38434e6effd45 (baseline-identical)
Wall 152s; convergence identical (5841→690→427→9→0)
Per-net empirical signal: net 270 went 2→6 connFigs; net 456
went 8→12. 2 of 10 admits show size differences.
v26f5b_n100_gate (DRIVE_N=100):
md5 = 769d9e675c8bec2eaff38434e6effd45 (baseline-identical)
Wall 152s; convergence identical.
Aggregate signal:
total admits = 100
variant 1 failed = 0 (4× DRC bias stays routable)
drConnFig count differs from variant 0 = 14 / 100 (14%)
86% have identical counts but may still differ in content
(V2.6.f.5.c will add per-shape content-diff stats).
Empirical interpretation: 14% size-differing rate validates that
4× DRC bias reaches deeply enough into upstream's maze cost map
to change ~1 in 7 routes' topology. Higher bias multipliers (10×
or 20×, closer to Khan-Rovinski's empirical optima) would likely
push that fraction higher. This is the FIRST direct evidence on
asap7_ibex that Option 3's K-bias exploration produces real
multi-candidate diversity at per-net granularity.
V2.6.f.5.c (next) will flip the rebuild step to use the winning
variant. Then hash will diverge from baseline by construction —
and convergence + DRC count gates become the meaningful
quality checks.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
…te magic files. Its expected these will go away soon but installing the /etc directory is typically done.