feat(precheck): add testcase for overlapping pins

This commit is contained in:
htfab
2024-05-08 20:08:10 +03:00
committed by Uri Shaked
parent 41b9907da4
commit 96bfcce676
+34
View File
@@ -203,6 +203,26 @@ def gds_lef_analog_wrong_vgnd(tmp_path_factory: pytest.TempPathFactory):
return str(gds_file), str(lef_file) return str(gds_file), str(lef_file)
@pytest.fixture(scope="session")
def gds_lef_analog_overlapping_vgnd(tmp_path_factory: pytest.TempPathFactory):
"""Creates a GDS and LEF using the 1x2 analog template, with VGND overlapping uio_oe[7]"""
tcl_file = tmp_path_factory.mktemp("tcl") / "TEST_analog_overlapping_vgnd.tcl"
gds_file = tmp_path_factory.mktemp("gds") / "TEST_analog_overlapping_vgnd.gds"
lef_file = tmp_path_factory.mktemp("lef") / "TEST_analog_overlapping_vgnd.lef"
generate_analog_example(
str(tcl_file),
str(gds_file),
str(lef_file),
"TEST_analog_overlapping_vgnd",
"met4",
"100 500 250 22076",
"met4",
"349 20 549 22504",
)
return str(gds_file), str(lef_file)
def test_magic_drc_pass(gds_valid: str): def test_magic_drc_pass(gds_valid: str):
precheck.magic_drc(gds_valid, "TEST_valid") precheck.magic_drc(gds_valid, "TEST_valid")
@@ -288,3 +308,17 @@ def test_pin_analog_wrong_vgnd(gds_lef_analog_wrong_vgnd: tuple[str, str]):
"../def/analog/tt_block_1x2_pg_ana.def", "../def/analog/tt_block_1x2_pg_ana.def",
"TEST_analog_wrong_vgnd", "TEST_analog_wrong_vgnd",
) )
def test_pin_analog_overlapping_vgnd(gds_lef_analog_overlapping_vgnd: tuple[str, str]):
with pytest.raises(
precheck.PrecheckFailure,
match="Some ports are missing or have wrong dimensions",
):
gds_file, lef_file = gds_lef_analog_wrong_vgnd
precheck.pin_check(
gds_file,
lef_file,
"../def/analog/tt_block_1x2_pg_ana.def",
"TEST_analog_overlapping_vgnd",
)