mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
refactor: separate tech specific code
Make the codebase more PDK-agnostic by moving tech-specific code to `tech.py` and tech specific files (e.g. def files, tile_sizes.yaml) to `tech/<pdkname>` subdirectory.
This commit is contained in:
@@ -317,15 +317,16 @@ def main():
|
||||
pinout = yaml_data.get("pinout", {})
|
||||
if uses_3v3 and not is_analog:
|
||||
raise PrecheckFailure("Projects with 3v3 power need at least one analog pin")
|
||||
def_root = f"../tech/{tech}/def"
|
||||
if is_analog:
|
||||
if uses_3v3:
|
||||
template_def = f"../def/analog/tt_analog_{tiles}_3v3.def"
|
||||
template_def = f"{def_root}/analog/tt_analog_{tiles}_3v3.def"
|
||||
else:
|
||||
template_def = f"../def/analog/tt_analog_{tiles}.def"
|
||||
template_def = f"{def_root}/analog/tt_analog_{tiles}.def"
|
||||
elif tech == "ihp-sg13g2":
|
||||
template_def = f"../ihp/def/tt_block_{tiles}_pgvdd.def"
|
||||
template_def = f"{def_root}/tt_block_{tiles}_pgvdd.def"
|
||||
else:
|
||||
template_def = f"../def/tt_block_{tiles}_pg.def"
|
||||
template_def = f"{def_root}/tt_block_{tiles}_pg.def"
|
||||
logging.info(f"using def template {template_def}")
|
||||
|
||||
lef_file = gds_stem + ".lef"
|
||||
|
||||
@@ -251,7 +251,7 @@ def generate_analog_example(
|
||||
|
||||
tcl_append(
|
||||
f"""
|
||||
def read ../def/analog/tt_analog_1x2.def
|
||||
def read ../tech/sky130A/def/analog/tt_analog_1x2.def
|
||||
cellname rename tt_um_template {toplevel}
|
||||
"""
|
||||
)
|
||||
@@ -557,7 +557,7 @@ def test_pin_analog_example(gds_lef_analog_example: tuple[str, str]):
|
||||
precheck.pin_check(
|
||||
gds_file,
|
||||
lef_file,
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"../tech/sky130A/def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_example",
|
||||
False,
|
||||
"sky130",
|
||||
@@ -569,7 +569,7 @@ def test_pin_analog_power_compat(gds_lef_analog_power_compat: tuple[str, str]):
|
||||
precheck.pin_check(
|
||||
gds_file,
|
||||
lef_file,
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"../tech/sky130A/def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_power_compat",
|
||||
False,
|
||||
"sky130",
|
||||
@@ -585,7 +585,7 @@ def test_pin_analog_wrong_vgnd(gds_lef_analog_wrong_vgnd: tuple[str, str]):
|
||||
precheck.pin_check(
|
||||
gds_file,
|
||||
lef_file,
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"../tech/sky130A/def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_wrong_vgnd",
|
||||
False,
|
||||
"sky130",
|
||||
@@ -601,7 +601,7 @@ def test_pin_analog_overlapping_vgnd(gds_lef_analog_overlapping_vgnd: tuple[str,
|
||||
precheck.pin_check(
|
||||
gds_file,
|
||||
lef_file,
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"../tech/sky130A/def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_overlapping_vgnd",
|
||||
False,
|
||||
"sky130",
|
||||
@@ -613,7 +613,7 @@ def test_pin_analog_compound_vgnd(gds_lef_analog_compound_vgnd: tuple[str, str])
|
||||
precheck.pin_check(
|
||||
gds_file,
|
||||
lef_file,
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"../tech/sky130A/def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_compound_vgnd",
|
||||
False,
|
||||
"sky130",
|
||||
@@ -625,7 +625,7 @@ def test_pin_analog_example_3v3(gds_lef_analog_example_3v3: tuple[str, str]):
|
||||
precheck.pin_check(
|
||||
gds_file,
|
||||
lef_file,
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"../tech/sky130A/def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_example_3v3",
|
||||
True,
|
||||
"sky130",
|
||||
@@ -641,7 +641,7 @@ def test_pin_analog_3v3_mismatch1(gds_lef_analog_example: tuple[str, str]):
|
||||
precheck.pin_check(
|
||||
gds_file,
|
||||
lef_file,
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"../tech/sky130A/def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_example",
|
||||
True,
|
||||
"sky130",
|
||||
@@ -657,7 +657,7 @@ def test_pin_analog_3v3_mismatch2(gds_lef_analog_example_3v3: tuple[str, str]):
|
||||
precheck.pin_check(
|
||||
gds_file,
|
||||
lef_file,
|
||||
"../def/analog/tt_analog_1x2.def",
|
||||
"../tech/sky130A/def/analog/tt_analog_1x2.def",
|
||||
"TEST_analog_example_3v3",
|
||||
False,
|
||||
"sky130",
|
||||
|
||||
Reference in New Issue
Block a user