Public

Thread: Most if not all of the DRC errors should

21 Discord messages from ℹ️ - Information/general/threads/most-if-not-all-of-the-drc-errors-should.md.

Category: ℹ️ - Information Parent channel: #general Thread ID: 1424739011846471740

Messages: 21

message-1424739863902814300

2025-10-06T12:47:33.941+00:00 — Leo Moser (mole99) (@mole99)

Reply/reference

<details> <summary>Reference data</summary>
{
  "channelId": "1361349523724570941",
  "guildId": "1361349522684510449",
  "messageId": "1424739011846471740"
}
</details>

Content

<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png",
    "discriminator": "0000",
    "isBot": false,
    "roles": [
      {
        "color": null,
        "id": "1423020172595298314",
        "name": "Mod",
        "position": 4
      }
    ]
  },
  "message": {
    "mentions": [
      {
        "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
        "color": null,
        "discriminator": "0000",
        "id": "220639106915368960",
        "isBot": false,
        "name": "tholin",
        "nickname": "Tholin",
        "roles": []
      }
    ]
  }
}
</details>

message-1424739867081834661

2025-10-06T12:47:34.699+00:00 — Leo Moser (mole99) (@mole99)

Content

Nice! I'm currently integrating the KLayout DRC deck into the gf180mcu LibreLane setup. This should catch any additional errors.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png",
    "discriminator": "0000",
    "isBot": false,
    "roles": [
      {
        "color": null,
        "id": "1423020172595298314",
        "name": "Mod",
        "position": 4
      }
    ]
  },
  "message": {}
}
</details>

message-1424740324219031604

2025-10-06T12:49:23.689+00:00 — Leo Moser (mole99) (@mole99)

Content

If you can still recall, it would be great if you could let @Tim Edwards know which errors didn't show up in magic DRC.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png",
    "discriminator": "0000",
    "isBot": false,
    "roles": [
      {
        "color": null,
        "id": "1423020172595298314",
        "name": "Mod",
        "position": 4
      }
    ]
  },
  "message": {
    "mentions": [
      {
        "avatarUrl": "2025-10_media/6bcc8e61db497b620550682309ace5d5-D89B4.png",
        "color": null,
        "discriminator": "0000",
        "id": "1365118310701600900",
        "isBot": false,
        "name": "rtimothyedwards_19428",
        "nickname": "Tim Edwards",
        "roles": []
      }
    ]
  }
}
</details>

message-1424745841952030860

2025-10-06T13:11:19.219+00:00 — Tholin (@tholin)

Content

CO.6a: Metal1 end-of-line overlap contact
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424746299437092884

2025-10-06T13:13:08.292+00:00 — Tholin (@tholin)

Content

Example being the version of the aoi22_2 cell at this commit:
https://github.com/AvalonSemiconductors/gf180mcu_as_sc_mcu7t3v3/blob/112ea06e961bfe76b10c66805db09410885fccf4/pdk/libs.ref/gf180mcu_as_sc_mcu7t3v3/mag/gf180mcu_as_sc_mcu7t3v3__aoi22_2.mag

Embeds

<details> <summary>Embeds data</summary>
[
  {
    "color": "#1E2327",
    "description": "Custom Standard Cell Library for GF180MCU process node on open PDK. - AvalonSemiconductors/gf180mcu_as_sc_mcu7t3v3",
    "fields": [],
    "images": [],
    "inlineEmojis": [],
    "thumbnail": {
      "height": 600,
      "url": "2025-10_media/gf180mcu_as_sc_mcu7t3v3-14BFE",
      "width": 1200
    },
    "timestamp": null,
    "title": "gf180mcu_as_sc_mcu7t3v3/pdk/libs.ref/gf180mcu_as_sc_mcu7t3v3/mag/gf...",
    "url": "https://github.com/AvalonSemiconductors/gf180mcu_as_sc_mcu7t3v3/blob/112ea06e961bfe76b10c66805db09410885fccf4/pdk/libs.ref/gf180mcu_as_sc_mcu7t3v3/mag/gf180mcu_as_sc_mcu7t3v3__aoi22_2.mag"
  }
]
</details><details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424749247965696100

2025-10-06T13:24:51.276+00:00 — Tim Edwards (@rtimothyedwards_19428)

Content

As far as I can tell, the rule is implemented correctly in magic, and I don't see any error in that layout.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/6bcc8e61db497b620550682309ace5d5-D89B4.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424749786913050676

2025-10-06T13:26:59.771+00:00 — Tholin (@tholin)

Content

I got it after running a flow
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424750007705145344

2025-10-06T13:27:52.412+00:00 — Tim Edwards (@rtimothyedwards_19428)

Content

But I'm looking at the layout and I don't see an error.  Was there a coordinate shown indicating where the error is (or where it thinks the error is)?
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/6bcc8e61db497b620550682309ace5d5-D89B4.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424750552633315369

2025-10-06T13:30:02.333+00:00 — Tim Edwards (@rtimothyedwards_19428)

Content

And what tool flagged an error?
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/6bcc8e61db497b620550682309ace5d5-D89B4.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424750563534442697

2025-10-06T13:30:04.932+00:00 — Tholin (@tholin)

Content

It indeed does not show up if the DRC in run on the cell in isolation.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424750600876200006

2025-10-06T13:30:13.835+00:00 — Tholin (@tholin)

Content

I got it after running KLayout DRC on a flow output
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424750993710649345

2025-10-06T13:31:47.494+00:00 — Tim Edwards (@rtimothyedwards_19428)

Content

I don't get how that's possible, other than a bad implementation in klayout.  How can a minimum overlap be satisified within a cell but violating in a larger context?
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/6bcc8e61db497b620550682309ace5d5-D89B4.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424751345386127474

2025-10-06T13:33:11.34+00:00 — Leo Moser (mole99) (@mole99)

Content

It would definitely be useful to have the flow output in order to reproduce the error.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png",
    "discriminator": "0000",
    "isBot": false,
    "roles": [
      {
        "color": null,
        "id": "1423020172595298314",
        "name": "Mod",
        "position": 4
      }
    ]
  },
  "message": {}
}
</details>

message-1424753378973454338

2025-10-06T13:41:16.185+00:00 — Tholin (@tholin)

Content

Here’s the whole run.

Attachments

<details> <summary>Attachments data</summary>
[
  {
    "fileName": "latest.zip",
    "fileSizeBytes": 6828631,
    "id": "1424753379137028167",
    "url": "2025-10_media/latest-63DB3.zip"
  }
]
</details><details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424753766309171302

2025-10-06T13:42:48.533+00:00 — Tholin (@tholin)

Content

Attachments

<details> <summary>Attachments data</summary>
[
  {
    "fileName": "image.png",
    "fileSizeBytes": 6220,
    "id": "1424753765973757982",
    "url": "2025-10_media/image-DF2FD.png"
  }
]
</details><details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424767428671311954

2025-10-06T14:37:05.894+00:00 — Tim Edwards (@rtimothyedwards_19428)

Content

@Tholin :  I can't find the error anywhere in the files.  Where should I be looking?
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/6bcc8e61db497b620550682309ace5d5-D89B4.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {
    "mentions": [
      {
        "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
        "color": null,
        "discriminator": "0000",
        "id": "220639106915368960",
        "isBot": false,
        "name": "tholin",
        "nickname": "Tholin",
        "roles": []
      }
    ]
  }
}
</details>

message-1424770433084817438

2025-10-06T14:49:02.202+00:00 — Tholin (@tholin)

Content

Currently, you have to run KLayout DRC separately through `python $PDK_ROOT/$PDK/libs.tech/klayout/drc/run_drc.py --variant=D --run_dir=drc --path=runs/latest/final/gds/user_project_example.gds`
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424770461681848390

2025-10-06T14:49:09.02+00:00 — Tholin (@tholin)

Content

Which is what I’m doing manually after each run.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424789490123276418

2025-10-06T16:04:45.754+00:00 — Tim Edwards (@rtimothyedwards_19428)

Content

That might require klayout with ruby support (which I haven't tried to compile yet)?  I get `ERROR: Can't run macro (no interpreter): /home/tim/devel/open_pdks/Tholin/latest/drc/main.drc`.

Can you post the DRC database output from klayout?
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/6bcc8e61db497b620550682309ace5d5-D89B4.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424795202727706835

2025-10-06T16:27:27.745+00:00 — Tholin (@tholin)

Content

Attachments

<details> <summary>Attachments data</summary>
[
  {
    "fileName": "user_project_example_main.lyrdb",
    "fileSizeBytes": 121124,
    "id": "1424795202249425018",
    "url": "2025-10_media/user_project_example_main-F4D13.lyrdb"
  }
]
</details><details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>

message-1424808156097413180

2025-10-06T17:18:56.069+00:00 — Tim Edwards (@rtimothyedwards_19428)

Content

It appears that whether or not this is a rule violation entirely depends on the definition of "end of line".  Since the DRC document does not (as far as I could find) define "end of line", then it remains unknown whether the klayout rule is overly conservative or if the magic rule is not conservative enough.  If the latter, I'm not sure that there is an edge rule in magic that would capture the rule intent.
<details> <summary>Other message metadata</summary>
{
  "author": {
    "avatarUrl": "2025-10_media/6bcc8e61db497b620550682309ace5d5-D89B4.png",
    "discriminator": "0000",
    "isBot": false
  },
  "message": {}
}
</details>