PDN ring on macro grid, VDD/VSS not connecting despite ring + straps over macro footprint (gf180mcuC) #11110
Unanswered
RakshithSuresh2001
asked this question in
Q&A
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Related to a similar issue I opened for IHP SG13G2 (#11087), but this is a genuinely different case: different PDK, different metal stack, and different fix status.
Setup
Integrating a real SRAM macro (gf180mcu_fd_ip_sram__sram512x8m8wm1, single-port, 512x8) into a design on gf180mcuC, via LibreLane. The macro's power pins (VDD, VSS) sit on Metal3. The design's main power grid uses Metal4 (vertical) / Metal5 (horizontal). No via layer needs bridging across a skipped layer here, Metal3 to Metal4 is a direct, adjacent hop.
What I've tried
Started with a macro-scoped add_pdn_ring (Metal3 <-> Metal4), width kept narrow (0.3um, close to this PDK's 0.28um MINWIDTH) based on a min-cut-density lesson from the IHP case. Got most connections working, unconnected node count dropped substantially, but a couple of floating shapes remained regardless of halo (tried 10um and 40um, identical result both times, same coordinates).
Per gadfort's guidance on the IHP thread, added add_pdn_stripe over the macro's own footprint (not just the ring around its perimeter), same Metal3 layer, same 0.3um width, in addition to the existing ring. Rerun produced byte-for-byte identical output, same coordinates, same violation count, same PSM-0069 failure. Wondering if I'm missing something in how the stripe needs to be scoped relative to the ring, or if there's a different mechanism needed here than what worked (partially) for IHP.
Question
Is there a known pattern for combining a macro-grid ring with stripe coverage correctly, specifically whether the stripe needs its own halo/extent settings distinct from the ring's, or whether there's an ordering dependency between the two calls that I'm missing?
Reproducer attached, confirmed to run standalone (no LibreLane needed, run_ol.sh eject) with bash run.sh.
gf180_reproducible_v2.tar.gz
All reactions