mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
fix(tt_tool): vary RT_MAX_LAYER per tech
Each tech has a different metal stackup, so user projects get a different top routing metal layer. tt-support-tools now handles this instead of the user having to worry about this when switching PDKs.
This commit is contained in:
@@ -482,6 +482,7 @@ class Project:
|
||||
"VERILOG_FILES": [f"dir::{src}" for src in self.sources],
|
||||
"DIE_AREA": die_area,
|
||||
"FP_DEF_TEMPLATE": def_template,
|
||||
"RT_MAX_LAYER": self.tech.project_top_metal_layer,
|
||||
}
|
||||
write_config(config, os.path.join(self.src_dir, "user_config"), ("json",))
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ class Tech(Protocol):
|
||||
tt_corner: str
|
||||
cell_regexp: str
|
||||
netlist_type: Literal["pnl", "nl"]
|
||||
project_top_metal_layer: str
|
||||
|
||||
""" These layers will be removed from the SVG render of the layout """
|
||||
label_layers: List[Tuple[int, int]]
|
||||
@@ -43,6 +44,7 @@ class Sky130Tech(Tech):
|
||||
tt_corner = "nom_tt_025C_1v80"
|
||||
cell_regexp = r"sky130_(?P<cell_lib>\S+)__(?P<cell_name>\S+)_(?P<cell_drive>\d+)"
|
||||
netlist_type = "pnl"
|
||||
project_top_metal_layer = "met4"
|
||||
label_layers = [
|
||||
(64, 59), # pwell.label
|
||||
(64, 5), # nwell.label
|
||||
@@ -94,6 +96,7 @@ class IHPTech(Tech):
|
||||
tt_corner = "nom_typ_1p20V_25C"
|
||||
cell_regexp = r"sg13g2_(?P<cell_name>\S+)_(?P<cell_drive>\d+)"
|
||||
netlist_type = "nl"
|
||||
project_top_metal_layer = "Metal5"
|
||||
label_layers = [
|
||||
(8, 1), # Metal1.label
|
||||
(8, 25), # Metal1.text
|
||||
|
||||
Reference in New Issue
Block a user