Public

Thread: Pin Placement

9 Discord messages from ℹ️ - Information/⁉️-questions/threads/pin-placement.md.

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

Messages: 9

message-1444418732343427175

2025-11-29T20:04:21.793+00:00 — Buck (@buck_042)

Content

Hi all. I’m using the template project to PnR some small digital modules and plan to integrate them into a larger analog block. I’m not using the template configs, just the Librelane environment.
I have a question: how can I more precisely customize pin locations? Is there any script or config that lets me specify the absolute position of each pin on the floorplan? With pin_order.cfg I can only spread pins evenly along one side.
Any help will be appreciated.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-11_media/1-B2132.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1444429809227923556

2025-11-29T20:48:22.728+00:00 — tnt (@246tnt)

Content

The easiest is to the the "DEF template" feature. See FP_DEF_TEMPLATE.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1444429848188813537

2025-11-29T20:48:32.017+00:00 — tnt (@246tnt)

Content

Then you can write a DEF that define exact positions of the pins you want.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1444464425275883632

2025-11-29T23:05:55.837+00:00 — Buck (@buck_042)

Content

Thank you! Are there any DEF template files that I can use as a reference?
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-11_media/1-B2132.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1444608239756120215

2025-11-30T08:37:23.881+00:00 — bailey (@bailey8889)

Content

@Buck the caravel's user_project_wrapper uses one. https://github.com/chipfoundry/caravel_user_project/blob/main/openlane/user_project_wrapper/fixed_dont_change/user_project_wrapper_gf180mcu.def

Embeds

<details> <summary>Embeds data</summary>
[
  {
    "color": "#1E2327",
    "description": "Contribute to chipfoundry/caravel_user_project development by creating an account on GitHub.",
    "fields": [],
    "images": [],
    "inlineEmojis": [],
    "thumbnail": {
      "height": 600,
      "url": "2025-11_media/caravel_user_project-AE990",
      "width": 1200
    },
    "timestamp": null,
    "title": "caravel_user_project/openlane/user_project_wrapper/fixed_dont_chang...",
    "url": "https://github.com/chipfoundry/caravel_user_project/blob/main/openlane/user_project_wrapper/fixed_dont_change/user_project_wrapper_gf180mcu.def"
  }
]
</details><details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-11_media/0-EB806.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {
    "mentions": [
      {
        "avatarUrl": "2025-11_media/1-B2132.png",
        "color": null,
        "discriminator": "0000",
        "id": "839883081896689765",
        "isBot": false,
        "name": "buck_042",
        "nickname": "Buck",
        "roles": []
      }
    ]
  }
}
</details>

message-1444609370460782592

2025-11-30T08:41:53.462+00:00 — tnt (@246tnt)

Content

https://github.com/TinyTapeout/tt-support-tools/blob/main/tech/gf180mcuD/def/tt_block_1x1_pgvdd.def

Embeds

<details> <summary>Embeds data</summary>
[
  {
    "color": "#1E2327",
    "description": "Tiny Tapeout project build tools + chip integration scripts - TinyTapeout/tt-support-tools",
    "fields": [],
    "images": [],
    "inlineEmojis": [],
    "thumbnail": {
      "height": 600,
      "url": "2025-11_media/tt-support-tools-64586",
      "width": 1200
    },
    "timestamp": null,
    "title": "tt-support-tools/tech/gf180mcuD/def/tt_block_1x1_pgvdd.def at main ...",
    "url": "https://github.com/TinyTapeout/tt-support-tools/blob/main/tech/gf180mcuD/def/tt_block_1x1_pgvdd.def"
  }
]
</details><details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1444609428199575654

2025-11-30T08:42:07.228+00:00 — tnt (@246tnt)

Content

Tiny Tapeout  above also use some and they're pretty minimal.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1444740867431862433

2025-11-30T17:24:24.783+00:00 — Buck (@buck_042)

Content

Thank for everyone's help!
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-11_media/1-B2132.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1444742078377492501

2025-11-30T17:29:13.495+00:00 — Egor Lukyanchenko (@egorxe)

Content

If you have an abstract LEF (for example after LibreLane run with pin placement you would like to fix) you could easily make a template DEF from it with magic, [like this](https://github.com/egorxe/gf180mcu-sram-wrappers/blob/main/utils/magic_def.tcl).

Reactions

<details> <summary>Reactions data</summary>
[
  {
    "count": 1,
    "emoji": {
      "code": "thumbsup",
      "id": "",
      "imageUrl": "2025-11_media/1f44d-27259.svg",
      "isAnimated": false,
      "name": "👍"
    },
    "users": [
      {
        "avatarUrl": "2025-11_media/1-B2132.png",
        "color": null,
        "discriminator": "0000",
        "id": "839883081896689765",
        "isBot": false,
        "name": "buck_042",
        "nickname": "Buck"
      }
    ]
  }
]
</details><details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-11_media/3-FB033.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>