diff --git a/project.py b/project.py index 8e18b1c..fb2fdc5 100644 --- a/project.py +++ b/project.py @@ -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",)) diff --git a/tech.py b/tech.py index d1af1f3..1c63b81 100644 --- a/tech.py +++ b/tech.py @@ -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\S+)__(?P\S+)_(?P\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\S+)_(?P\d+)" netlist_type = "nl" + project_top_metal_layer = "Metal5" label_layers = [ (8, 1), # Metal1.label (8, 25), # Metal1.text