Openlane configs
diff --git a/openlane/core0/config.json b/openlane/core0/config.json
new file mode 100644
index 0000000..28b74f3
--- /dev/null
+++ b/openlane/core0/config.json
@@ -0,0 +1,53 @@
+{
+    "DESIGN_NAME": "core0",
+    "DESIGN_IS_CORE": 0,
+    "VERILOG_FILES": [
+        "dir::../../verilog/rtl/defines.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/core.v",
+
+        "dir::../../verilog/rtl/ppcpu/rtl/core/alu_mul_div.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/alu.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/decode.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/execute.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/fetch.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/memwb.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/pc.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/rf.v"
+    ],
+    "VERILOG_INCLUDE_DIRS": ["dir::../../verilog/rtl/ppcpu/rtl/"],
+    "CLOCK_PERIOD": 10,
+    "CLOCK_PORT": "i_clk",
+    "CLOCK_NET": "i_clk",
+    "FP_SIZING": "absolute",
+    "DIE_AREA": "0 0 400 800",
+    "FP_PIN_ORDER_CFG": "dir::pin_order.cfg",
+    "PL_BASIC_PLACEMENT": 0,
+    "PL_TARGET_DENSITY": 0.26,
+    "VDD_NETS": ["vccd1"],
+    "GND_NETS": ["vssd1"],
+    "DIODE_INSERTION_STRATEGY": 4,
+    "RUN_CVC": 1,
+    "pdk::sky130*": {
+        "FP_CORE_UTIL": 45,
+        "RT_MAX_LAYER": "met4",
+        "scl::sky130_fd_sc_hd": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hdll": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hs": {
+            "CLOCK_PERIOD": 8
+        },
+        "scl::sky130_fd_sc_ls": {
+            "CLOCK_PERIOD": 10,
+            "SYNTH_MAX_FANOUT": 5
+        },
+        "scl::sky130_fd_sc_ms": {
+            "CLOCK_PERIOD": 10
+        }
+    },
+    "PL_RESIZER_SETUP_SLACK_MARGIN": 0.2,
+    "GLB_RESIZER_SETUP_SLACK_MARGIN": 0.8,
+    "ROUTING_CORES": 6
+}
diff --git a/openlane/core0/pin_order.cfg b/openlane/core0/pin_order.cfg
new file mode 100644
index 0000000..56d3119
--- /dev/null
+++ b/openlane/core0/pin_order.cfg
@@ -0,0 +1,4 @@
+#BUS_SORT
+
+#E
+.*
diff --git a/openlane/core1/config.json b/openlane/core1/config.json
new file mode 100644
index 0000000..dc6ef79
--- /dev/null
+++ b/openlane/core1/config.json
@@ -0,0 +1,53 @@
+{
+    "DESIGN_NAME": "core1",
+    "DESIGN_IS_CORE": 0,
+    "VERILOG_FILES": [
+        "dir::../../verilog/rtl/defines.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/core.v",
+
+        "dir::../../verilog/rtl/ppcpu/rtl/core/alu_mul_div.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/alu.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/decode.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/execute.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/fetch.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/memwb.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/pc.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/rf.v"
+    ],
+    "VERILOG_INCLUDE_DIRS": ["dir::../../verilog/rtl/ppcpu/rtl/"],
+    "CLOCK_PERIOD": 10,
+    "CLOCK_PORT": "i_clk",
+    "CLOCK_NET": "i_clk",
+    "FP_SIZING": "absolute",
+    "DIE_AREA": "0 0 400 800",
+    "FP_PIN_ORDER_CFG": "dir::pin_order.cfg",
+    "PL_BASIC_PLACEMENT": 0,
+    "PL_TARGET_DENSITY": 0.26,
+    "VDD_NETS": ["vccd1"],
+    "GND_NETS": ["vssd1"],
+    "DIODE_INSERTION_STRATEGY": 4,
+    "RUN_CVC": 1,
+    "pdk::sky130*": {
+        "FP_CORE_UTIL": 45,
+        "RT_MAX_LAYER": "met4",
+        "scl::sky130_fd_sc_hd": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hdll": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hs": {
+            "CLOCK_PERIOD": 8
+        },
+        "scl::sky130_fd_sc_ls": {
+            "CLOCK_PERIOD": 10,
+            "SYNTH_MAX_FANOUT": 5
+        },
+        "scl::sky130_fd_sc_ms": {
+            "CLOCK_PERIOD": 10
+        }
+    },
+    "PL_RESIZER_SETUP_SLACK_MARGIN": 0.2,
+    "GLB_RESIZER_SETUP_SLACK_MARGIN": 0.8,
+    "ROUTING_CORES": 6
+}
diff --git a/openlane/core1/pin_order.cfg b/openlane/core1/pin_order.cfg
new file mode 100644
index 0000000..56d3119
--- /dev/null
+++ b/openlane/core1/pin_order.cfg
@@ -0,0 +1,4 @@
+#BUS_SORT
+
+#E
+.*
diff --git a/openlane/dcache/config.json b/openlane/dcache/config.json
new file mode 100644
index 0000000..37da70a
--- /dev/null
+++ b/openlane/dcache/config.json
@@ -0,0 +1,31 @@
+{
+    "DESIGN_NAME": "dcache",
+    "DESIGN_IS_CORE": 0,
+    "VERILOG_FILES": [
+        "dir::../../verilog/rtl/defines.v", 
+        "dir::../../verilog/rtl/ppcpu/rtl/dcache/dcache.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/dcache/dcache_ram.v"
+    ],
+    "VERILOG_INCLUDE_DIRS": ["dir::../../verilog/rtl/ppcpu/rtl/"],
+    "CLOCK_PERIOD": 12,
+    "CLOCK_PORT": "i_clk",
+    "CLOCK_NET": "i_clk",
+    "FP_SIZING": "absolute",
+    "DIE_AREA": "0 0 1450 1400",
+    "FP_PIN_ORDER_CFG": "dir::pin_order.cfg",
+    "PL_BASIC_PLACEMENT": 0,
+    "PL_TARGET_DENSITY": 0.26,
+    "VDD_NETS": ["vccd1"],
+    "GND_NETS": ["vssd1"],
+    "DIODE_INSERTION_STRATEGY": 4,
+    "RUN_CVC": 1,
+    "RT_MAX_LAYER": "met4",
+    "PL_RESIZER_HOLD_SLACK_MARGIN": 0.8,
+    "GLB_RESIZER_HOLD_SLACK_MARGIN": 0.8,
+    "PL_RESIZER_SETUP_SLACK_MARGIN": 3,
+    "GLB_RESIZER_SETUP_SLACK_MARGIN": 3,
+    "PL_RESIZER_SETUP_MAX_BUFFER_PERCENT": 80,
+    "GLB_RESIZER_SETUP_MAX_BUFFER_PERCENT": 80,
+    "SYNTH_STRATEGY": "DELAY 4",
+    "ROUTING_CORES": 6
+}
diff --git a/openlane/dcache/pin_order.cfg b/openlane/dcache/pin_order.cfg
new file mode 100644
index 0000000..912bc61
--- /dev/null
+++ b/openlane/dcache/pin_order.cfg
@@ -0,0 +1,4 @@
+#BUS_SORT
+
+#W
+.*
diff --git a/openlane/icache/config.json b/openlane/icache/config.json
new file mode 100644
index 0000000..0a06059
--- /dev/null
+++ b/openlane/icache/config.json
@@ -0,0 +1,47 @@
+{
+    "DESIGN_NAME": "icache",
+    "DESIGN_IS_CORE": 0,
+    "VERILOG_FILES": [
+        "dir::../../verilog/rtl/defines.v", 
+        "dir::../../verilog/rtl/ppcpu/rtl/icache/icache.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/icache/icache_ram.v"
+    ],
+    "VERILOG_INCLUDE_DIRS": ["dir::../../verilog/rtl/ppcpu/rtl/"],
+    "CLOCK_PERIOD": 10,
+    "CLOCK_PORT": "i_clk",
+    "CLOCK_NET": "i_clk",
+    "FP_SIZING": "absolute",
+    "DIE_AREA": "0 0 1600 600",
+    "FP_PIN_ORDER_CFG": "dir::pin_order.cfg",
+    "PL_BASIC_PLACEMENT": 0,
+    "PL_TARGET_DENSITY": 0.30,
+    "VDD_NETS": ["vccd1"],
+    "GND_NETS": ["vssd1"],
+    "DIODE_INSERTION_STRATEGY": 4,
+    "RUN_CVC": 1,
+    "pdk::sky130*": {
+        "FP_CORE_UTIL": 45,
+        "RT_MAX_LAYER": "met4",
+        "scl::sky130_fd_sc_hd": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hdll": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hs": {
+            "CLOCK_PERIOD": 8
+        },
+        "scl::sky130_fd_sc_ls": {
+            "CLOCK_PERIOD": 10,
+            "SYNTH_MAX_FANOUT": 5
+        },
+        "scl::sky130_fd_sc_ms": {
+            "CLOCK_PERIOD": 10
+        }
+    },
+    "PL_RESIZER_HOLD_SLACK_MARGIN": 0.7,
+    "GLB_RESIZER_HOLD_SLACK_MARGIN": 0.7,
+    "PL_RESIZER_SETUP_SLACK_MARGIN": 1.5,
+    "GLB_RESIZER_SETUP_SLACK_MARGIN": 2,
+    "ROUTING_CORES": 6
+}
diff --git a/openlane/icache/pin_order.cfg b/openlane/icache/pin_order.cfg
new file mode 100644
index 0000000..912bc61
--- /dev/null
+++ b/openlane/icache/pin_order.cfg
@@ -0,0 +1,4 @@
+#BUS_SORT
+
+#W
+.*
diff --git a/openlane/interconnect_inner/config.json b/openlane/interconnect_inner/config.json
new file mode 100644
index 0000000..38938a5
--- /dev/null
+++ b/openlane/interconnect_inner/config.json
@@ -0,0 +1,48 @@
+{
+    "DESIGN_NAME": "interconnect_inner",
+    "DESIGN_IS_CORE": 0,
+    "VERILOG_FILES": [
+        "dir::../../verilog/rtl/defines.v",
+
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/interconnect_inner.v",
+
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/inner/dmmu.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/inner/immu.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/inner/intercore_sregs.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/inner/mem_dcache_arb.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/inner/wishbone_arbiter.v"
+    ],
+    "VERILOG_INCLUDE_DIRS": ["dir::../../verilog/rtl/ppcpu/rtl/"],
+    "CLOCK_PERIOD": 10,
+    "CLOCK_PORT": "core_clock",
+    "CLOCK_NET": "core_clock",
+    "FP_SIZING": "absolute",
+    "DIE_AREA": "0 0 300 800",
+    "FP_PIN_ORDER_CFG": "dir::pin_order.cfg",
+    "PL_BASIC_PLACEMENT": 0,
+    "PL_TARGET_DENSITY": 0.25,
+    "VDD_NETS": ["vccd1"],
+    "GND_NETS": ["vssd1"],
+    "DIODE_INSERTION_STRATEGY": 4,
+    "RUN_CVC": 1,
+    "pdk::sky130*": {
+        "RT_MAX_LAYER": "met4",
+        "scl::sky130_fd_sc_hd": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hdll": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hs": {
+            "CLOCK_PERIOD": 8
+        },
+        "scl::sky130_fd_sc_ls": {
+            "CLOCK_PERIOD": 10,
+            "SYNTH_MAX_FANOUT": 5
+        },
+        "scl::sky130_fd_sc_ms": {
+            "CLOCK_PERIOD": 10
+        }
+    },
+    "ROUTING_CORES": 6
+}
diff --git a/openlane/interconnect_inner/pin_order.cfg b/openlane/interconnect_inner/pin_order.cfg
new file mode 100644
index 0000000..74b1bf4
--- /dev/null
+++ b/openlane/interconnect_inner/pin_order.cfg
@@ -0,0 +1,16 @@
+#BUS_SORT
+
+#N
+core.*
+inner.*
+
+#W
+c0.*
+c1.*
+
+#E
+ic0.*
+ic1.*
+
+#S
+dcache.*
diff --git a/openlane/interconnect_outer/config.json b/openlane/interconnect_outer/config.json
new file mode 100644
index 0000000..856a967
--- /dev/null
+++ b/openlane/interconnect_outer/config.json
@@ -0,0 +1,53 @@
+{
+    "DESIGN_NAME": "interconnect_outer",
+    "DESIGN_IS_CORE": 0,
+    "VERILOG_FILES": [
+        "dir::../../verilog/rtl/defines.v", 
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/interconnect_outer.v",
+
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/outer/clk_div.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/outer/ff_mb_sync.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/outer/reset_sync.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/outer/wb_compressor.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/outer/wb_cross_clk.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/embed/gpio.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/embed/sspi.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/inner/wishbone_arbiter.v"
+    ],
+    "VERILOG_INCLUDE_DIRS": ["dir::../../verilog/rtl/ppcpu/rtl/"],
+    "CLOCK_PERIOD": 10,
+    "CLOCK_PORT": "user_clock2",
+    "CLOCK_NET": "user_clock2 soc_clock cw_clk core_clock",
+    "FP_SIZING": "absolute",
+    "DIE_AREA": "0 0 300 400",
+    "FP_PIN_ORDER_CFG": "dir::pin_order.cfg",
+    "PL_BASIC_PLACEMENT": 0,
+    "PL_TARGET_DENSITY": 0.35,
+    "VDD_NETS": ["vccd1"],
+    "GND_NETS": ["vssd1"],
+    "DIODE_INSERTION_STRATEGY": 4,
+    "RUN_CVC": 1,
+    "pdk::sky130*": {
+        "FP_CORE_UTIL": 45,
+        "RT_MAX_LAYER": "met4",
+        "scl::sky130_fd_sc_hd": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hdll": {
+            "CLOCK_PERIOD": 10
+        },
+        "scl::sky130_fd_sc_hs": {
+            "CLOCK_PERIOD": 8
+        },
+        "scl::sky130_fd_sc_ls": {
+            "CLOCK_PERIOD": 10,
+            "SYNTH_MAX_FANOUT": 5
+        },
+        "scl::sky130_fd_sc_ms": {
+            "CLOCK_PERIOD": 10
+        }
+    },
+    "PL_RESIZER_HOLD_SLACK_MARGIN": 0.5,
+    "GLB_RESIZER_HOLD_SLACK_MARGIN": 0.5,
+    "ROUTING_CORES": 6
+}
diff --git a/openlane/interconnect_outer/pin_order.cfg b/openlane/interconnect_outer/pin_order.cfg
new file mode 100644
index 0000000..51d57b6
--- /dev/null
+++ b/openlane/interconnect_outer/pin_order.cfg
@@ -0,0 +1,14 @@
+#BUS_SORT
+
+#N
+mgt.*
+m_io.*
+la.*
+irq.*
+user.*
+
+#S
+inner.*
+
+#E
+iram.*
\ No newline at end of file
diff --git a/openlane/user_proj_example/config.json b/openlane/user_proj_example/config.json
deleted file mode 100644
index 370d74c..0000000
--- a/openlane/user_proj_example/config.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    "DESIGN_NAME": "user_proj_example",
-    "DESIGN_IS_CORE": 0,
-    "VERILOG_FILES": ["dir::../../verilog/rtl/defines.v", "dir::../../verilog/rtl/user_proj_example.v"],
-    "CLOCK_PERIOD": 10,
-    "CLOCK_PORT": "wb_clk_i",
-    "CLOCK_NET": "counter.clk",
-    "FP_SIZING": "absolute",
-    "DIE_AREA": "0 0 900 600",
-    "FP_PIN_ORDER_CFG": "dir::pin_order.cfg",
-    "PL_BASIC_PLACEMENT": 0,
-    "PL_TARGET_DENSITY": 0.55,
-    "VDD_NETS": ["vccd1"],
-    "GND_NETS": ["vssd1"],
-    "DIODE_INSERTION_STRATEGY": 4,
-    "RUN_CVC": 1,
-    "pdk::sky130*": {
-        "FP_CORE_UTIL": 45,
-        "RT_MAX_LAYER": "met4",
-        "scl::sky130_fd_sc_hd": {
-            "CLOCK_PERIOD": 10
-        },
-        "scl::sky130_fd_sc_hdll": {
-            "CLOCK_PERIOD": 10
-        },
-        "scl::sky130_fd_sc_hs": {
-            "CLOCK_PERIOD": 8
-        },
-        "scl::sky130_fd_sc_ls": {
-            "CLOCK_PERIOD": 10,
-            "SYNTH_MAX_FANOUT": 5
-        },
-        "scl::sky130_fd_sc_ms": {
-            "CLOCK_PERIOD": 10
-        }
-    },
-    "pdk::gf180mcuC": {
-        "STD_CELL_LIBRARY": "gf180mcu_fd_sc_mcu7t5v0",
-        "CLOCK_PERIOD": 24.0,
-        "FP_CORE_UTIL": 40,
-        "RT_MAX_LAYER": "Metal4",
-        "SYNTH_MAX_FANOUT": 4,
-        "PL_TARGET_DENSITY": 0.45
-    }
-}
\ No newline at end of file
diff --git a/openlane/user_proj_example/pin_order.cfg b/openlane/user_proj_example/pin_order.cfg
deleted file mode 100644
index 2fda806..0000000
--- a/openlane/user_proj_example/pin_order.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#BUS_SORT
-
-#S
-wb_.*
-wbs_.*
-la_.*
-irq.*
-
-#N
-io_.*
diff --git a/openlane/user_project_wrapper/config.json b/openlane/user_project_wrapper/config.json
index 22a00ee..cdd8dfb 100644
--- a/openlane/user_project_wrapper/config.json
+++ b/openlane/user_project_wrapper/config.json
@@ -1,14 +1,54 @@
 {
     "DESIGN_NAME": "user_project_wrapper",
-    "VERILOG_FILES": ["dir::../../verilog/rtl/defines.v", "dir::../../verilog/rtl/user_project_wrapper.v"],
-    "CLOCK_PERIOD": 10,
+    "VERILOG_FILES": [
+        "dir::../../verilog/rtl/defines.v",
+        "dir::../../verilog/rtl/user_project_wrapper.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/top.v"
+    ],
+    "CLOCK_PERIOD": 12,
     "CLOCK_PORT": "user_clock2",
     "CLOCK_NET": "mprj.clk",
     "FP_PDN_MACRO_HOOKS": "mprj vccd1 vssd1 vccd1 vssd1",
     "MACRO_PLACEMENT_CFG": "dir::macro.cfg",
-    "VERILOG_FILES_BLACKBOX": ["dir::../../verilog/rtl/defines.v", "dir::../../verilog/rtl/user_proj_example.v"],
-    "EXTRA_LEFS": "dir::../../lef/user_proj_example.lef",
-    "EXTRA_GDS_FILES": "dir::../../gds/user_proj_example.gds",
+    "VERILOG_INCLUDE_DIRS": ["dir::../../verilog/rtl/ppcpu/rtl/"],
+    
+    "VERILOG_FILES_BLACKBOX": [
+        "dir::../../verilog/rtl/defines.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/core/core.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/interconnect_inner.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/interconnect/interconnect_outer.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/dcache/dcache.v",
+        "dir::../../verilog/rtl/ppcpu/rtl/icache/icache.v",
+        "pdk_dir::libs.ref/sky130_sram_macros/verilog/sky130_sram_1kbyte_1rw1r_32x256_8.v"
+    ],
+    "EXTRA_LEFS": [
+        "dir::../../lef/core0.lef",
+        "dir::../../lef/core1.lef",
+        "dir::../../lef/dcache.lef",
+        "dir::../../lef/icache.lef",
+        "dir::../../lef/interconnect_inner.lef",
+        "dir::../../lef/interconnect_outer.lef",
+        "pdk_dir::libs.ref/sky130_sram_macros/lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef"
+    ], 
+    "EXTRA_S_FILES": [
+        "dir::../../gds/core0.gds",
+        "dir::../../gds/core1.gds",
+        "dir::../../gds/dcache.gds",
+        "dir::../../gds/icache.gds",
+        "dir::../../gds/interconnect_inner.gds",
+        "dir::../../gds/interconnect_outer.gds",
+        "pdk_dir::libs.ref/sky130_sram_macros/gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds"
+    ],
+    "EXTRA_LIBS": [
+        "dir::../../lib/core0.lib",
+        "dir::../../lib/core1.lib",
+        "dir::../../lib/dcache.lib",
+        "dir::../../lib/icache.lib",
+        "dir::../../lib/interconnect_inner.lib",
+        "dir::../../lib/interconnect_outer.lib",
+        "pdk_dir::libs.ref/sky130_sram_macros/lib/sky130_sram_1kbyte_1rw1r_32x256_8.lib"
+    ],
+    
     "FP_PDN_CHECK_NODES": 0,
     "SYNTH_ELABORATE_ONLY": 1,
     "PL_RANDOM_GLB_PLACEMENT": 1,
@@ -68,18 +108,6 @@
         "scl::sky130_fd_sc_ms": {
             "CLOCK_PERIOD": 10
         }
-     },
-    "pdk::gf180mcuC": {
-        "STD_CELL_LIBRARY": "gf180mcu_fd_sc_mcu7t5v0",
-        "FP_PDN_CHECK_NODES": 0,
-        "FP_PDN_ENABLE_RAILS": 0,
-        "RT_MAX_LAYER": "Metal4",
-        "DIE_AREA": "0 0 3000 3000",
-        "FP_DEF_TEMPLATE": "dir::fixed_dont_change/user_project_wrapper_gf180mcu.def",
-        "PL_OPENPHYSYN_OPTIMIZATIONS": 0,
-        "DIODE_INSERTION_STRATEGY": 0,
-        "FP_PDN_CHECK_NODES": 0,
-        "MAGIC_WRITE_FULL_LEF": 0,
-        "FP_PDN_ENABLE_RAILS": 0
-   }
+    },
+   "ROUTING_CORES": 6
 }
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg
index a7365ab..9a84a0e 100644
--- a/openlane/user_project_wrapper/macro.cfg
+++ b/openlane/user_project_wrapper/macro.cfg
@@ -1 +1,8 @@
-mprj 1175 1690 N
+mprj/core0 150 400 N
+mprj/core1 150 1800 N
+mprj/dcache 1360 190 N
+mprj/icache_0 1270 1900 N
+mprj/icache_1 1270 2650 N
+mprj/interconnect_inner 770 1250 N
+mprj/interconnect_outer 770 2500 N
+mprj/int_ram 150 2800 N