mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
feat(precheck): initial IHP support
still missing the IHP Klayout DRC deck
This commit is contained in:
@@ -477,14 +477,14 @@ def test_klayout_beol_fail(gds_fail_met1_poly: str):
|
||||
|
||||
|
||||
def test_klayout_checks_pass(gds_valid: str):
|
||||
precheck.klayout_checks(gds_valid, "TEST_valid")
|
||||
precheck.klayout_checks(gds_valid, "TEST_valid", "sky130")
|
||||
|
||||
|
||||
def test_klayout_checks_fail_metal5(gds_fail_metal5_poly: str):
|
||||
with pytest.raises(
|
||||
precheck.PrecheckFailure, match=r"Forbidden layer met5\.drawing found in .+"
|
||||
):
|
||||
precheck.klayout_checks(gds_fail_metal5_poly, "TEST_met5_error")
|
||||
precheck.klayout_checks(gds_fail_metal5_poly, "TEST_met5_error", "sky130")
|
||||
|
||||
|
||||
def test_klayout_checks_fail_pr_boundary(gds_no_pr_boundary: str):
|
||||
@@ -492,7 +492,7 @@ def test_klayout_checks_fail_pr_boundary(gds_no_pr_boundary: str):
|
||||
precheck.PrecheckFailure,
|
||||
match=r"prBoundary.boundary \(235/4\) layer not found in .+",
|
||||
):
|
||||
precheck.klayout_checks(gds_no_pr_boundary, "TEST_no_prboundary")
|
||||
precheck.klayout_checks(gds_no_pr_boundary, "TEST_no_prboundary", "sky130")
|
||||
|
||||
|
||||
def test_klayout_top_module_name(gds_invalid_macro_name: str):
|
||||
@@ -500,7 +500,9 @@ def test_klayout_top_module_name(gds_invalid_macro_name: str):
|
||||
precheck.PrecheckFailure,
|
||||
match="Top macro name mismatch: expected TEST_invalid_macro_name, got wrong_name",
|
||||
):
|
||||
precheck.klayout_checks(gds_invalid_macro_name, "TEST_invalid_macro_name")
|
||||
precheck.klayout_checks(
|
||||
gds_invalid_macro_name, "TEST_invalid_macro_name", "sky130"
|
||||
)
|
||||
|
||||
|
||||
def test_klayout_zero_area_drc_pass(gds_valid: str):
|
||||
@@ -514,7 +516,7 @@ def test_klayout_zero_area_drc_fail(gds_zero_area: str):
|
||||
|
||||
def test_shapes_outside_area(gds_shapes_outside_area: str):
|
||||
with pytest.raises(precheck.PrecheckFailure, match="Shapes outside project area"):
|
||||
precheck.boundary_check(gds_shapes_outside_area)
|
||||
precheck.boundary_check(gds_shapes_outside_area, "sky130")
|
||||
|
||||
|
||||
def test_wrong_power_pins_1(verilog_lef_wrong_power_pins: tuple[str, str]):
|
||||
@@ -558,6 +560,7 @@ def test_pin_analog_example(gds_lef_analog_example: tuple[str, str]):
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_example",
|
||||
False,
|
||||
"sky130",
|
||||
)
|
||||
|
||||
|
||||
@@ -569,6 +572,7 @@ def test_pin_analog_power_compat(gds_lef_analog_power_compat: tuple[str, str]):
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_power_compat",
|
||||
False,
|
||||
"sky130",
|
||||
)
|
||||
|
||||
|
||||
@@ -584,6 +588,7 @@ def test_pin_analog_wrong_vgnd(gds_lef_analog_wrong_vgnd: tuple[str, str]):
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_wrong_vgnd",
|
||||
False,
|
||||
"sky130",
|
||||
)
|
||||
|
||||
|
||||
@@ -599,6 +604,7 @@ def test_pin_analog_overlapping_vgnd(gds_lef_analog_overlapping_vgnd: tuple[str,
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_overlapping_vgnd",
|
||||
False,
|
||||
"sky130",
|
||||
)
|
||||
|
||||
|
||||
@@ -610,6 +616,7 @@ def test_pin_analog_compound_vgnd(gds_lef_analog_compound_vgnd: tuple[str, str])
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_compound_vgnd",
|
||||
False,
|
||||
"sky130",
|
||||
)
|
||||
|
||||
|
||||
@@ -621,6 +628,7 @@ def test_pin_analog_example_3v3(gds_lef_analog_example_3v3: tuple[str, str]):
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_example_3v3",
|
||||
True,
|
||||
"sky130",
|
||||
)
|
||||
|
||||
|
||||
@@ -636,6 +644,7 @@ def test_pin_analog_3v3_mismatch1(gds_lef_analog_example: tuple[str, str]):
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_example",
|
||||
True,
|
||||
"sky130",
|
||||
)
|
||||
|
||||
|
||||
@@ -651,6 +660,7 @@ def test_pin_analog_3v3_mismatch2(gds_lef_analog_example_3v3: tuple[str, str]):
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_example_3v3",
|
||||
False,
|
||||
"sky130",
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user