Skip to content

floonoc sky130hd: fix PSM-0069 (row-0 VSS via blocked by IO-pin obstruction)#214

Open
dhgaddy wants to merge 3 commits into
VLSIDA:mainfrom
dhgaddy:issue202-psm-skill-update
Open

floonoc sky130hd: fix PSM-0069 (row-0 VSS via blocked by IO-pin obstruction)#214
dhgaddy wants to merge 3 commits into
VLSIDA:mainfrom
dhgaddy:issue202-psm-skill-update

Conversation

@dhgaddy

@dhgaddy dhgaddy commented Jun 26, 2026

Copy link
Copy Markdown

Summary

  • Root cause: Bottom-edge IO pins on met2 (placed at edge_margin=5.0μm) had their spacing-expanded obstruction overlapping the row-0 VSS via area. pdngen's Grid::makeVias silently dropped all row-0 via candidates — no PDN-0110 fires for obstruction removal — so the VSS stripe terminated short of row 0, leaving every cell in that row with VGND disconnected (PSM-0069, 827 PSM-0039).
  • Fix: Reduce edge_margin in designs/sky130hd/floonoc/io.tcl from 5.04.37μm (nearest valid met2 y-track below the 4.82μm threshold). Once the obstruction clears, vias insert and the stripe reaches row 0 automatically.
  • Validated: Full _final build passes with [INFO PSM-0040] All shapes on net VSS are connected. and no PSM-0038/PSM-0039/PSM-0069 in the final log.
  • Documented: New row in CLAUDE.md known-bugs table; debug-design skill updated with PSM-0069 recognizer; floonoc DECISIONS.md sky130hd section updated to finishing.

🤖 Generated with Claude Code

dhgaddy added 3 commits June 26, 2026 14:50
Bottom-edge IO pins on met2 at edge_margin=5.0μm had their
spacing-expanded obstruction (obs_yMax=5381nm) overlapping the row-0
VSS via area (y_min=5200nm). pdngen's Grid::makeVias silently dropped
all row-0 met1×met4 via candidates as kObstructed — no PDN-0110 fires
for obstruction removal — leaving every cell in row 0 with VGND
disconnected from VSS (PSM-0069).
Fix: reduce edge_margin from 5.0→4.37μm (nearest valid met2 y-track
below the 4.82μm threshold). obs_yMax drops to 4751nm, clearing the
via area. Also remove -extend_to_boundary from the met4 stripe (not
needed; met4 already reaches core_yMin).
Documents the root cause and fix in CLAUDE.md's known-bugs table and
updates the debug-design skill with a PSM-0069 recognizer.
Initial documentation was too verbose and included floonoc-specific
coordinates in the wrong places. Correct the bug table entry name,
mechanism description, and commit hash; trim the debug-design skill
bullet to a general recognizer; update floonoc DECISIONS.md sky130hd
section to finishing with a dated fix entry.
pdn.tcl was added during manual diagnosis of the PSM-0069 issue and is
now identical to the platform default. No custom PDN is needed since
the final fix was entirely in io.tcl (edge_margin). Remove it and drop
the PDN_TCL reference from BUILD.bazel.
Also fix a stale copy-paste comment in io.tcl: "asap7 layer config"
→ "sky130hd layer config".
@dhgaddy dhgaddy force-pushed the issue202-psm-skill-update branch from 48dd08b to 3f40d52 Compare June 26, 2026 23:00
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.

1 participant