mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
feat(precheck): IHP KLayout DRC
This commit is contained in:
@@ -81,6 +81,7 @@ def klayout_drc(gds: str, check: str, script=f"{PDK_NAME}_mr.drc", extra_vars=[]
|
|||||||
f"{check}=true",
|
f"{check}=true",
|
||||||
f"input={gds}",
|
f"input={gds}",
|
||||||
f"report={report_file}",
|
f"report={report_file}",
|
||||||
|
f"report_file={report_file}",
|
||||||
]
|
]
|
||||||
klayout_args = ["klayout", "-b", "-r", f"tech-files/{script}"]
|
klayout_args = ["klayout", "-b", "-r", f"tech-files/{script}"]
|
||||||
for v in script_vars + extra_vars:
|
for v in script_vars + extra_vars:
|
||||||
@@ -102,6 +103,10 @@ def klayout_zero_area(gds: str):
|
|||||||
return klayout_drc(gds, "zero_area", "zeroarea.rb.drc")
|
return klayout_drc(gds, "zero_area", "zeroarea.rb.drc")
|
||||||
|
|
||||||
|
|
||||||
|
def klayout_sg13g2(gds: str):
|
||||||
|
return klayout_drc(gds, "sg13g2", "sg13g2_mr.lydrc", extra_vars=[f"in_gds={gds}"])
|
||||||
|
|
||||||
|
|
||||||
def klayout_checks(gds: str, expected_name: str, tech: str):
|
def klayout_checks(gds: str, expected_name: str, tech: str):
|
||||||
layout = pya.Layout()
|
layout = pya.Layout()
|
||||||
layout.read(gds)
|
layout.read(gds)
|
||||||
@@ -355,6 +360,11 @@ def main():
|
|||||||
"pin_label_purposes_overlapping_drawing.rb.drc",
|
"pin_label_purposes_overlapping_drawing.rb.drc",
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "KLayout SG13G2 DRC",
|
||||||
|
"check": lambda: klayout_sg13g2(gds_file),
|
||||||
|
"tech": "ihp-sg13g2",
|
||||||
|
},
|
||||||
{"name": "KLayout zero area", "check": lambda: klayout_zero_area(gds_file)},
|
{"name": "KLayout zero area", "check": lambda: klayout_zero_area(gds_file)},
|
||||||
{
|
{
|
||||||
"name": "KLayout Checks",
|
"name": "KLayout Checks",
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ drc_offgrid.xml
|
|||||||
drc_pin_label_purposes_overlapping_drawing.xml
|
drc_pin_label_purposes_overlapping_drawing.xml
|
||||||
drc_zero_area.xml
|
drc_zero_area.xml
|
||||||
drc_nwell_urpm.xml
|
drc_nwell_urpm.xml
|
||||||
|
drc_sg13g2.xml
|
||||||
magic_drc.mag
|
magic_drc.mag
|
||||||
magic_drc.txt
|
magic_drc.txt
|
||||||
results.md
|
results.md
|
||||||
|
|||||||
@@ -2,3 +2,9 @@ sky130A_mr.drc from https://github.com/chipfoundry/mpw_precheck revision 3467a4c
|
|||||||
pin_label_purposes_overlapping_drawing.rb.drc from https://github.com/chipfoundry/mpw_precheck revision f6b9c3d3f00694f96dce8444149449b4719180f0
|
pin_label_purposes_overlapping_drawing.rb.drc from https://github.com/chipfoundry/mpw_precheck revision f6b9c3d3f00694f96dce8444149449b4719180f0
|
||||||
zeroarea.rb.drc from https://github.com/chipfoundry/mpw_precheck revision 4fd5283b124e931c9e71219f47270075176f84e2
|
zeroarea.rb.drc from https://github.com/chipfoundry/mpw_precheck revision 4fd5283b124e931c9e71219f47270075176f84e2
|
||||||
nwell_urpm.drc from https://open-source-silicon.slack.com/archives/C05FW1VMY5A/p1729112262642699?thread_ts=1728921677.220509&cid=C05FW1VMY5A
|
nwell_urpm.drc from https://open-source-silicon.slack.com/archives/C05FW1VMY5A/p1729112262642699?thread_ts=1728921677.220509&cid=C05FW1VMY5A
|
||||||
|
|
||||||
|
sg13g2_mr.lydrc:
|
||||||
|
from https://github.com/IHP-GmbH/TO_Apr2025 revision 772a369f3ceabc2c6e1eba57d91ae755682c8323
|
||||||
|
with the following minimum density rules disabled:
|
||||||
|
- M1.j, M2.j, M3.j, M4.j, M5.j
|
||||||
|
- M1Fil.h, M2Fil.h, M3Fil.h, M4Fil.h, M5Fil.h
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user