Skip to content

Develop#9

Merged
tspyrou merged 5 commits into
masterfrom
develop
Dec 6, 2019
Merged

Develop#9
tspyrou merged 5 commits into
masterfrom
develop

Conversation

@tspyrou
Copy link
Copy Markdown
Contributor

@tspyrou tspyrou commented Dec 6, 2019

No description provided.

jjcherry56 and others added 5 commits December 4, 2019 09:03
Update ioPlacer with fix for Austin's issue where the pins were erroneously grouped.
@tspyrou tspyrou merged commit 51e2dfb into master Dec 6, 2019
tspyrou pushed a commit that referenced this pull request Sep 10, 2020
gudeh pushed a commit to gudeh/OpenROAD that referenced this pull request Sep 29, 2025
…rivate/place-even-only

dpl: disallow odd sites command
RamboJHB pushed a commit to RamboJHB/OpenROAD that referenced this pull request 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 pushed a commit to RamboJHB/OpenROAD that referenced this pull request 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 pushed a commit to RamboJHB/OpenROAD that referenced this pull request May 11, 2026
…inventory

User asked for a per-PG-net debug print at the The-OpenROAD-Project#9 supply-skip gate in
FlexGCWorker::Impl::checkMetalWidthViaTable (FlexGC_cut.cpp). Add it.

Also add a once-per-worker [PG-DRC INV] dump at the end of
FlexGCWorker::Impl::init that classifies every gcNet by owner type
and flags any signal frNet that has routed polygons. Under strict
ingestion (The-OpenROAD-Project#7) a signal gcNet should be pure pins -- only fixed
polygons. If a signal frNet has a routed polygon set, the inventory
prints a [PG-DRC INV] LEAK line naming the net, which directly
identifies how signal-net routed wires reached FlexGC despite the The-OpenROAD-Project#7
strict gate.

Why this matters: user's run shows marker srcs with two signal-net
frNets (sigType=SIGNAL), which should not happen because spacing
checks early-return when both rects are fixed. The leak detector
will tell us whether signal frNets have any routed polygons (which
means drObjs got contaminated upstream) or not (which means the
marker's "non-fixed" rect comes from a different source we haven't
considered yet).

Signed-off-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants