floonoc sky130hd: fix PSM-0069 (row-0 VSS via blocked by IO-pin obstruction)#214
Open
dhgaddy wants to merge 3 commits into
Open
floonoc sky130hd: fix PSM-0069 (row-0 VSS via blocked by IO-pin obstruction)#214dhgaddy wants to merge 3 commits into
dhgaddy wants to merge 3 commits into
Conversation
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".
48dd08b to
3f40d52
Compare
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
edge_margin=5.0μm) had their spacing-expanded obstruction overlapping the row-0 VSS via area.pdngen'sGrid::makeViassilently dropped all row-0 via candidates — noPDN-0110fires 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).edge_marginindesigns/sky130hd/floonoc/io.tclfrom5.0→4.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._finalbuild passes with[INFO PSM-0040] All shapes on net VSS are connected.and no PSM-0038/PSM-0039/PSM-0069 in the final log.CLAUDE.mdknown-bugs table;debug-designskill updated with PSM-0069 recognizer;floonocDECISIONS.md sky130hd section updated to finishing.🤖 Generated with Claude Code