Public

Thread: Generate clean padring

5 Discord messages from ℹ️ - Information/⁉️-questions/threads/generate-clean-padring.md.

Category: ℹ️ - Information Parent channel: #⁉️-questions Thread ID: 1445219364906336448

Messages: 5

message-1445219364906336448

2025-12-02T01:05:47.471+00:00 — Evansika (@xintingjiang_36756)

Content

Hi all,
I am trying to generate a clean pad frame for manual top level connections following the script here: https://github.com/wafer-space/gf180mcu-project-template/pull/29/commits/34fc81fc1c3d354f5d73af2510585641c9bfa93c

Since for a clean pad frame, we don't have the chip_core, just chip_top, what is the proper way of providing the config pins of these instantiated pads? I've tried
 1) '0/'1: leads to magic-klayout XOR errors and some lvs errors of the pad frame
2) VSS/VDD: leads to lvs errors for short-connect the power grids.

Thanks for your help!

Attachments

<details> <summary>Attachments data</summary>
[
  {
    "fileName": "image.png",
    "fileSizeBytes": 98342,
    "id": "1445219365216583750",
    "url": "2025-12_media/image-91E0C.png"
  }
]
</details><details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-12_media/079dacdd621abb17caecd8882513a32e-13E97.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1445316536993710283

2025-12-02T07:31:55.102+00:00 — Leo Moser (mole99) (@mole99)

Content

Since you do manual top-level connections the padring is streamed out before any of the stdcells are placed and routed. Therefore you cannot connect any constants to the pins (you can, but there will be no connections).
You need to manually tie these pins after the GDS for the padring has been generated.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-12_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png",
    "discriminator": "0000",
    "isBot": false,
    "roles": [
      {
        "color": null,
        "id": "1423020172595298314",
        "name": "Mod",
        "position": 4
      }
    ]
  },
  "message": {}
}
</details>

message-1445455715857600522

2025-12-02T16:44:57.929+00:00 — Evansika (@xintingjiang_36756)

Content

Got it, thanks!
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-12_media/079dacdd621abb17caecd8882513a32e-13E97.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1446952956451881161

2025-12-06T19:54:27.904+00:00 — Evansika (@xintingjiang_36756)

Content

Just to double check, this clean pad ring generator script is still valid after the project template update right?
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-12_media/079dacdd621abb17caecd8882513a32e-13E97.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1446955229164601374

2025-12-06T20:03:29.761+00:00 — Leo Moser (mole99) (@mole99)

Content

Yes, I merged the PR into main. You can create a standalone padring via `make librelane-padring`.

Reactions

<details> <summary>Reactions data</summary>
[
  {
    "count": 1,
    "emoji": {
      "code": "thumbsup",
      "id": "",
      "imageUrl": "2025-12_media/1f44d-27259.svg",
      "isAnimated": false,
      "name": "👍"
    },
    "users": [
      {
        "avatarUrl": "2025-12_media/079dacdd621abb17caecd8882513a32e-13E97.png",
        "color": null,
        "discriminator": "0000",
        "id": "1413605821430104114",
        "isBot": false,
        "name": "xintingjiang_36756",
        "nickname": "Evansika"
      }
    ]
  }
]
</details><details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-12_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png",
    "discriminator": "0000",
    "isBot": false,
    "roles": [
      {
        "color": null,
        "id": "1423020172595298314",
        "name": "Mod",
        "position": 4
      }
    ]
  },
  "message": {}
}
</details>