From 2c48b34352f74dc002b7bc4ef84ea3315c7c1fbd Mon Sep 17 00:00:00 2001 From: Mohamed Gaber Date: Wed, 19 Nov 2025 19:23:20 +0200 Subject: [PATCH] misc: work around power pin copying issues --- openlane/Makefile | 6 ++++- .../openframe_project_wrapper/config.json | 27 +++++++++++-------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/openlane/Makefile b/openlane/Makefile index 17c488f..4fbc98d 100644 --- a/openlane/Makefile +++ b/openlane/Makefile @@ -27,7 +27,7 @@ ifeq ($(origin LIBRELANE_RUN_TAG), undefined) export LIBRELANE_RUN_TAG := $(shell date '+%y_%m_%d_%H_%M') endif ifeq ($(origin CF_LIBRELANE_TAG), undefined) -export CF_LIBRELANE_TAG := CC2509c +export CF_LIBRELANE_TAG := CI2511 endif export CARAVEL_ROOT := $(CARAVEL_ROOT) @@ -57,8 +57,12 @@ docker_mounts += -m $(MCW_ROOT) endif ifeq ($(LIBRELANE_USE_NIX),1) +ifeq ($(origin UPSTREAM_LIBRELANE_TAG), undefined) librelane_run = nix run github:chipfoundry/openlane-2/$(CF_LIBRELANE_TAG) -- else +librelane_run = nix run github:librelane/librelane/$(UPSTREAM_LIBRELANE_TAG) -- +endif +else librelane_docker_args = $(shell test -t 0 || echo "--docker-no-tty") librelane_run = $(PROJECT_ROOT)/openlane/.venv/bin/python3 -m librelane $(docker_mounts) $(librelane_docker_args) --dockerized endif diff --git a/openlane/openframe_project_wrapper/config.json b/openlane/openframe_project_wrapper/config.json index 621e5c3..d993b68 100644 --- a/openlane/openframe_project_wrapper/config.json +++ b/openlane/openframe_project_wrapper/config.json @@ -69,6 +69,21 @@ "GND_NETS": [ "vssd1" ], + "DIE_AREA": "0 0 3166.63 4766.630", + "CORE_AREA": "40 40 3126.63 4726.630", + "RUN_IRDROP_REPORT": 0, + "FP_PDN_MACRO_HOOKS": "mprj vccd1 vssd1 vccd1 vssd1", + "FP_PDN_CFG": "dir::pdn_cfg.tcl", + "FP_DEF_TEMPLATE": "dir::fixed_dont_change/openframe_project_wrapper.def", + "MACRO_PLACEMENT_CFG": "dir::macro.cfg", + "RUN_LINTER": 0, + "RUN_LVS": 0, + "MAGIC_DEF_LABELS": 0, + "MAGIC_EXT_USE_GDS": true, + "// ApplyDEFTemplate": "permissive because of a bug in LibreLane where the power pins have to be at least declared in strict mode.", + "FP_TEMPLATE_COPY_POWER_PINS": true, + "FP_TEMPLATE_MATCH_MODE": "permissive", + "// CustomApplyDEFTemplate": "deprecated, for use with the plugin", "FP_TEMPLATE_PINS": [ "vccd1", "vssd1", @@ -84,15 +99,5 @@ "vdda2", "vddio", "vssio" - ], - "DIE_AREA": "0 0 3166.63 4766.630", - "CORE_AREA": "40 40 3126.63 4726.630", - "RUN_IRDROP_REPORT": 0, - "FP_PDN_MACRO_HOOKS": "mprj vccd1 vssd1 vccd1 vssd1", - "FP_PDN_CFG": "dir::pdn_cfg.tcl", - "FP_DEF_TEMPLATE": "dir::fixed_dont_change/openframe_project_wrapper.def", - "MACRO_PLACEMENT_CFG": "dir::macro.cfg", - "RUN_LINTER": 0, - "RUN_LVS": 0, - "MAGIC_DEF_LABELS": 0 + ] }