mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
feat(shuttle): ihp power switch support
This commit is contained in:
+25
-7
@@ -14,6 +14,27 @@ from config import Config
|
|||||||
from project import Project
|
from project import Project
|
||||||
from shuttle_index import ShuttleIndex, ShuttleIndexLayout, ShuttleIndexProject
|
from shuttle_index import ShuttleIndex, ShuttleIndexLayout, ShuttleIndexProject
|
||||||
|
|
||||||
|
# Power gate macros for each PDK. We need to copy them to the multiplexer directory:
|
||||||
|
SHUTTLE_PG_MACROS = {
|
||||||
|
"sky130": [
|
||||||
|
"tt_pg_1v8_hp_1",
|
||||||
|
"tt_pg_1v8_hp_2",
|
||||||
|
"tt_pg_1v8_hp_4",
|
||||||
|
"tt_pg_1v8_ll_1",
|
||||||
|
"tt_pg_1v8_ll_2",
|
||||||
|
"tt_pg_1v8_ll_4",
|
||||||
|
"tt_pg_3v3_2",
|
||||||
|
],
|
||||||
|
"ihp-sg13g2": [
|
||||||
|
"tt_pg_1v5_hp_1",
|
||||||
|
"tt_pg_1v5_hp_2",
|
||||||
|
"tt_pg_1v5_hp_4",
|
||||||
|
"tt_pg_1v5_ll_1",
|
||||||
|
"tt_pg_1v5_ll_2",
|
||||||
|
"tt_pg_1v5_ll_4",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def copy_print(src: str, dest: str):
|
def copy_print(src: str, dest: str):
|
||||||
os.makedirs(os.path.dirname(dest), exist_ok=True)
|
os.makedirs(os.path.dirname(dest), exist_ok=True)
|
||||||
@@ -262,13 +283,10 @@ class ShuttleConfig:
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Copy power gate / analog switch macros:
|
# Copy power gate / analog switch macros:
|
||||||
self.copy_mux_macro("pg/sky130/tt_pg_1v8_1", "tt_pg_1v8_1")
|
for pdk, pg_macros in SHUTTLE_PG_MACROS.items():
|
||||||
self.copy_mux_macro("pg/sky130/tt_pg_1v8_2", "tt_pg_1v8_2")
|
for pg_macro in pg_macros:
|
||||||
self.copy_mux_macro("pg/sky130/tt_pg_1v8_4", "tt_pg_1v8_4")
|
self.copy_mux_macro(f"pg/{pdk}/{pg_macro}", pg_macro)
|
||||||
self.copy_mux_macro("pg/sky130/tt_pg_1v8_ll_1", "tt_pg_1v8_ll_1")
|
|
||||||
self.copy_mux_macro("pg/sky130/tt_pg_1v8_ll_2", "tt_pg_1v8_ll_2")
|
|
||||||
self.copy_mux_macro("pg/sky130/tt_pg_1v8_ll_4", "tt_pg_1v8_ll_4")
|
|
||||||
self.copy_mux_macro("pg/sky130/tt_pg_3v3_2", "tt_pg_3v3_2")
|
|
||||||
self.copy_mux_macro("asw/sky130/tt_asw_3v3", "tt_asw_3v3")
|
self.copy_mux_macro("asw/sky130/tt_asw_3v3", "tt_asw_3v3")
|
||||||
|
|
||||||
# Copy logo & shuttle ID
|
# Copy logo & shuttle ID
|
||||||
|
|||||||
Reference in New Issue
Block a user