DRC clean user_project_wrapper
diff --git a/.gitmodules b/.gitmodules
index 4798126..a20fefd 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,4 @@
 [submodule "caravel"]
 	path = caravel
 	url = https://github.com/efabless/caravel-lite.git
+	branch = mpw-two
diff --git a/openlane/glbl_cfg/config.tcl b/openlane/glbl_cfg/config.tcl
index 3dbd66b..bbdfe91 100755
--- a/openlane/glbl_cfg/config.tcl
+++ b/openlane/glbl_cfg/config.tcl
@@ -5,6 +5,8 @@
 # Name
 set ::env(DESIGN_NAME) glbl_cfg
 
+set ::env(DESIGN_IS_CORE) "0"
+set ::env(FP_PDN_CORE_RING) "0"
 
 # Timing configuration
 set ::env(CLOCK_PERIOD) "10"
@@ -56,3 +58,5 @@
 set ::env(GLB_RT_MAXLAYER) 4
 set ::env(GLB_RT_MAX_DIODE_INS_ITERS) 10
 
+set ::env(DIODE_INSERTION_STRATEGY) 4
+
diff --git a/openlane/sdram/config.tcl b/openlane/sdram/config.tcl
index 45febad..bea0aba 100755
--- a/openlane/sdram/config.tcl
+++ b/openlane/sdram/config.tcl
@@ -6,11 +6,14 @@
 set ::env(DESIGN_NAME) sdrc_top
 
 
+set ::env(DESIGN_IS_CORE) "0"
+set ::env(FP_PDN_CORE_RING) "0"
 
 # Timing configuration
 set ::env(CLOCK_PERIOD) "10"
 set ::env(CLOCK_PORT) "wb_clk_i sdram_clk"
 
+set ::env(SYNTH_MAX_FANOUT) 4
 
 # Sources
 # -------
diff --git a/openlane/spi_master/config.tcl b/openlane/spi_master/config.tcl
index 2e9aa93..6e48edb 100755
--- a/openlane/spi_master/config.tcl
+++ b/openlane/spi_master/config.tcl
@@ -6,6 +6,9 @@
 
 set ::env(DESIGN_NAME) spim_top
 
+set ::env(DESIGN_IS_CORE) "0"
+set ::env(FP_PDN_CORE_RING) "0"
+
 # Timing configuration
 set ::env(CLOCK_PERIOD) "10"
 set ::env(CLOCK_PORT) "mclk"
diff --git a/openlane/syntacore/config.tcl b/openlane/syntacore/config.tcl
index 568494b..7daaadb 100755
--- a/openlane/syntacore/config.tcl
+++ b/openlane/syntacore/config.tcl
@@ -5,6 +5,8 @@
 # Name
 set ::env(DESIGN_NAME) scr1_top_wb
 
+set ::env(DESIGN_IS_CORE) "0"
+set ::env(FP_PDN_CORE_RING) "0"
 
 # Timing configuration
 set ::env(CLOCK_PERIOD) "10"
@@ -75,7 +77,6 @@
 
 
 set ::env(PL_ROUTABILITY_DRIVEN) 1
-#set ::env(PL_BASIC_PLACEMENT) "1"
 
 set ::env(FP_IO_VEXTEND) 4
 set ::env(FP_IO_HEXTEND) 4
diff --git a/openlane/uart/config.tcl b/openlane/uart/config.tcl
index b43cb74..e48f62c 100644
--- a/openlane/uart/config.tcl
+++ b/openlane/uart/config.tcl
@@ -6,11 +6,14 @@
 set ::env(DESIGN_NAME) uart_core
 
 
+set ::env(DESIGN_IS_CORE) "0"
+set ::env(FP_PDN_CORE_RING) "0"
 
 # Timing configuration
 set ::env(CLOCK_PERIOD) "10"
 set ::env(CLOCK_PORT) "app_clk"
 
+set ::env(SYNTH_MAX_FANOUT) 4
 
 # Sources
 # -------
@@ -63,3 +66,5 @@
 set ::env(GLB_RT_MAXLAYER) 4
 set ::env(GLB_RT_MAX_DIODE_INS_ITERS) 10
 
+set ::env(DIODE_INSERTION_STRATEGY) 4
+
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
index 3908fab..7661525 100644
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -26,6 +26,10 @@
 #section end
 
 # User Configurations
+#
+set ::env(DESIGN_IS_CORE) 1
+set ::env(FP_PDN_CORE_RING) 1
+
 
 ## Source Verilog Files
 set ::env(VERILOG_FILES) "\
@@ -83,7 +87,7 @@
 
 set ::env(VERILOG_INCLUDE_DIRS) [glob $script_dir/../../verilog/rtl/syntacore/scr1/src/includes $script_dir/../../verilog/rtl/sdram_ctrl/src/defs ]
 
-set ::env(GLB_RT_MAXLAYER) 5
+set ::env(GLB_RT_MAXLAYER) 6
 
 set ::env(FP_PDN_CHECK_NODES) 0
 
@@ -109,51 +113,4 @@
 
 set ::env(PL_DIAMOND_SEARCH_HEIGHT) "250"
 
-set ::env(GLB_RT_OBS) " \
-           met1 300.000000  2700.000000 700.000000  3300.000000, \
-           met2 300.000000  2700.000000 700.000000  3300.000000, \
-           met3 300.000000  2700.000000 700.000000  3300.000000, \
-           met4 300.000000  2700.000000 700.000000  3300.000000, \
-           met5 300.000000  2700.000000 700.000000  3300.000000, \
-           met1 1000.000000 2700.000000 1700.000000 3200.000000, \
-           met2 1000.000000 2700.000000 1700.000000 3200.000000, \
-           met3 1000.000000 2700.000000 1700.000000 3200.000000, \
-           met4 1000.000000 2700.000000 1700.000000 3200.000000, \
-           met5 1000.000000 2700.000000 1700.000000 3200.000000, \
-           met1 2000.000000 2700.000000 2300.000000 3100.000000, \
-           met2 2000.000000 2700.000000 2300.000000 3100.000000, \
-           met3 2000.000000 2700.000000 2300.000000 3100.000000, \
-           met4 2000.000000 2700.000000 2300.000000 3100.000000, \
-           met5 2000.000000 2700.000000 2300.000000 3100.000000, \
-           met1 300.000000  800.000000  1800.000000  2000.000000, \
-           met2 300.000000  800.000000  1800.000000  2000.000000, \
-           met3 300.000000  800.000000  1800.000000  2000.000000, \
-           met4 300.000000  800.000000  1800.000000  2000.000000, \
-           met5 300.000000  800.000000  1800.000000  2000.000000, \
-           met1 2000.000000  1600.000000  2300.000000  2000.000000, \
-           met2 2000.000000  1600.000000  2300.000000  2000.000000, \
-           met3 2000.000000  1600.000000  2300.000000  2000.000000, \
-           met4 2000.000000  1600.000000  2300.000000  2000.000000, \
-           met5 2000.000000  1600.000000  2300.000000  2000.000000, \
-           met1 300.0000 450.0000 650.0000 500.0000, \
-           met2 300.0000 450.0000 650.0000 500.0000, \
-           met3 300.0000 450.0000 650.0000 500.0000, \
-           met4 300.0000 450.0000 650.0000 500.0000, \
-           met5 300.0000 450.0000 650.0000 500.0000, \
-           met1 300.0000 1000.0000 650.0000 1100.0000, \
-           met2 300.0000 1000.0000 650.0000 1100.0000, \
-           met3 300.0000 1000.0000 650.0000 1100.0000, \
-           met4 300.0000 1000.0000 650.0000 1100.0000, \
-           met5 300.0000 1000.0000 650.0000 1100.0000, \
-           met1 300.0000 1700.0000 350.0000 1750.0000, \
-           met2 300.0000 1700.0000 350.0000 1750.0000, \
-           met3 300.0000 1700.0000 350.0000 1750.0000, \
-           met4 300.0000 1700.0000 350.0000 1750.0000, \
-           met5 300.0000 1700.0000 350.0000 1750.0000, \
-           met1 300.0000 3150.0000 350.0000 3200.0000, \
-           met2 300.0000 3150.0000 350.0000 3200.0000, \
-           met3 300.0000 3150.0000 350.0000 3200.0000, \
-           met4 300.0000 3150.0000 350.0000 3200.0000, \
-           met5 300.0000 3150.0000 350.0000 3200.0000 \
-           "
 
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg
index 26d4b30..9ef1988 100644
--- a/openlane/user_project_wrapper/macro.cfg
+++ b/openlane/user_project_wrapper/macro.cfg
@@ -1,7 +1,7 @@
-u_core.u_riscv_top	       300	       800	       N
-u_core.u_glbl_cfg              2000            2700            N
-u_core.u_uart_core             2000            1600            N
-u_core.u_intercon              300             2300            N
 u_core.u_spi_master            300             2700            N
 u_core.u_sdram_ctrl            1000            2700            N
+u_core.u_glbl_cfg              2000            2700            N
+u_core.u_riscv_top	       500	       800	       N
+u_core.u_uart_core             2200            1600            N
+u_core.u_intercon              300             2300            N
 u_core.u_wb_host               300             300             N
diff --git a/openlane/wb_host/config.tcl b/openlane/wb_host/config.tcl
index 6706f2a..d7c4471 100755
--- a/openlane/wb_host/config.tcl
+++ b/openlane/wb_host/config.tcl
@@ -6,6 +6,9 @@
 
 set ::env(DESIGN_NAME) wb_host
 
+set ::env(DESIGN_IS_CORE) "0"
+set ::env(FP_PDN_CORE_RING) "0"
+
 # Timing configuration
 set ::env(CLOCK_PERIOD) "10"
 set ::env(CLOCK_PORT) "wbm_clk_i wbs_clk_i"
@@ -55,3 +58,5 @@
 set ::env(GLB_RT_MAXLAYER) 4
 set ::env(GLB_RT_MAX_DIODE_INS_ITERS) 10
 
+set ::env(DIODE_INSERTION_STRATEGY) 5
+
diff --git a/openlane/wb_host/pin_order.cfg b/openlane/wb_host/pin_order.cfg
index dca5594..488bc22 100644
--- a/openlane/wb_host/pin_order.cfg
+++ b/openlane/wb_host/pin_order.cfg
@@ -4,6 +4,7 @@
 
 #E
 wbs_clk_i     0000 0 2   
+wbs_clk_out   
 
 
 
diff --git a/openlane/wb_interconnect/config.tcl b/openlane/wb_interconnect/config.tcl
index 144a5f2..9fcb282 100755
--- a/openlane/wb_interconnect/config.tcl
+++ b/openlane/wb_interconnect/config.tcl
@@ -5,7 +5,9 @@
 # Name
 set ::env(DESIGN_NAME) wb_interconnect
 
-#set ::env(SYNTH_READ_BLACKBOX_LIB) 1
+
+set ::env(DESIGN_IS_CORE) "0"
+set ::env(FP_PDN_CORE_RING) "0"
 
 # Timing configuration
 set ::env(CLOCK_PERIOD) "10"
@@ -37,33 +39,26 @@
 # Floorplanning
 # -------------
 
-#set ::env(PL_BASIC_PLACEMENT) 1
-#set ::env(FP_DEF_TEMPLATE) $script_dir/floorplan.def
 set ::env(FP_PIN_ORDER_CFG) $::env(DESIGN_DIR)/pin_order.cfg
 
 set ::env(FP_SIZING) absolute
-set ::env(DIE_AREA) "0 0 2000 200"
+set ::env(DIE_AREA) "0 0 2200 200"
 
 
+# If you're going to use multiple power domains, then keep this disabled.
+set ::env(RUN_CVC) 0
 
-set ::env(FP_PDN_VPITCH) 50
 #set ::env(PDN_CFG) $script_dir/pdn.tcl
 
-set ::env(FP_VERTICAL_HALO) 6
-set ::env(PL_TARGET_DENSITY) 0.32
-set ::env(PL_TARGET_DENSITY_CELLS) 0.2
-set ::env(PL_OPENPHYSYN_OPTIMIZATIONS) 1
-set ::env(CELL_PAD) 4
 
-set ::env(GLB_RT_ADJUSTMENT) 0
-set ::env(GLB_RT_L2_ADJUSTMENT) 0.2
-set ::env(GLB_RT_L3_ADJUSTMENT) 0.25
-set ::env(GLB_RT_L4_ADJUSTMENT) 0.2
-set ::env(GLB_RT_L5_ADJUSTMENT) 0.1
-set ::env(GLB_RT_L6_ADJUSTMENT) 0.1
-set ::env(GLB_RT_TILES) 14
-set ::env(GLB_RT_MAXLAYER) 5
+set ::env(PL_ROUTABILITY_DRIVEN) 1
+
+set ::env(FP_IO_VEXTEND) 4
+set ::env(FP_IO_HEXTEND) 4
+
+
+set ::env(GLB_RT_MAXLAYER) 4
+set ::env(GLB_RT_MAX_DIODE_INS_ITERS) 10
 
 set ::env(DIODE_INSERTION_STRATEGY) 4
 
-
diff --git a/openlane/wb_interconnect/pin_order.cfg b/openlane/wb_interconnect/pin_order.cfg
index 120e132..d9a23b2 100644
--- a/openlane/wb_interconnect/pin_order.cfg
+++ b/openlane/wb_interconnect/pin_order.cfg
@@ -114,7 +114,9 @@
 m0_wbd_err_o        
 m0_wbd_cyc_i        
 
-m1_wbd_stb_i        0500 0 2
+
+
+m1_wbd_stb_i        200 0 2
 m1_wbd_we_i         
 m1_wbd_adr_i\[31\]  
 m1_wbd_adr_i\[30\]  
@@ -220,7 +222,113 @@
 m1_wbd_err_o        
 m1_wbd_cyc_i        
 
-s3_wbd_stb_o        1700 0 2
+m2_wbd_stb_i        0700 0 2
+m2_wbd_we_i         
+m2_wbd_adr_i\[31\]  
+m2_wbd_adr_i\[30\]  
+m2_wbd_adr_i\[29\]  
+m2_wbd_adr_i\[28\]  
+m2_wbd_adr_i\[27\]  
+m2_wbd_adr_i\[26\]  
+m2_wbd_adr_i\[25\]  
+m2_wbd_adr_i\[24\]  
+m2_wbd_adr_i\[23\]  
+m2_wbd_adr_i\[22\]  
+m2_wbd_adr_i\[21\]  
+m2_wbd_adr_i\[20\]  
+m2_wbd_adr_i\[19\]  
+m2_wbd_adr_i\[18\]  
+m2_wbd_adr_i\[17\]  
+m2_wbd_adr_i\[16\]  
+m2_wbd_adr_i\[15\]  
+m2_wbd_adr_i\[14\]  
+m2_wbd_adr_i\[13\]  
+m2_wbd_adr_i\[12\]  
+m2_wbd_adr_i\[11\]  
+m2_wbd_adr_i\[10\]  
+m2_wbd_adr_i\[9\]   
+m2_wbd_adr_i\[8\]   
+m2_wbd_adr_i\[7\]   
+m2_wbd_adr_i\[6\]   
+m2_wbd_adr_i\[5\]   
+m2_wbd_adr_i\[4\]   
+m2_wbd_adr_i\[3\]   
+m2_wbd_adr_i\[2\]   
+m2_wbd_adr_i\[1\]   
+m2_wbd_adr_i\[0\]   
+m2_wbd_sel_i\[3\]   
+m2_wbd_sel_i\[2\]   
+m2_wbd_sel_i\[1\]   
+m2_wbd_sel_i\[0\]   
+m2_wbd_dat_i\[31\]  
+m2_wbd_dat_i\[30\]  
+m2_wbd_dat_i\[29\]  
+m2_wbd_dat_i\[28\]  
+m2_wbd_dat_i\[27\]  
+m2_wbd_dat_i\[26\]  
+m2_wbd_dat_i\[25\]  
+m2_wbd_dat_i\[24\]  
+m2_wbd_dat_i\[23\]  
+m2_wbd_dat_i\[22\]  
+m2_wbd_dat_i\[21\]  
+m2_wbd_dat_i\[20\]  
+m2_wbd_dat_i\[19\]  
+m2_wbd_dat_i\[18\]  
+m2_wbd_dat_i\[17\]  
+m2_wbd_dat_i\[16\]  
+m2_wbd_dat_i\[15\]  
+m2_wbd_dat_i\[14\]  
+m2_wbd_dat_i\[13\]  
+m2_wbd_dat_i\[12\]  
+m2_wbd_dat_i\[11\]  
+m2_wbd_dat_i\[10\]  
+m2_wbd_dat_i\[9\]   
+m2_wbd_dat_i\[8\]   
+m2_wbd_dat_i\[7\]   
+m2_wbd_dat_i\[6\]   
+m2_wbd_dat_i\[5\]   
+m2_wbd_dat_i\[4\]   
+m2_wbd_dat_i\[3\]   
+m2_wbd_dat_i\[2\]   
+m2_wbd_dat_i\[1\]   
+m2_wbd_dat_i\[0\]   
+m2_wbd_dat_o\[31\]  
+m2_wbd_dat_o\[30\]  
+m2_wbd_dat_o\[29\]  
+m2_wbd_dat_o\[28\]  
+m2_wbd_dat_o\[27\]  
+m2_wbd_dat_o\[26\]  
+m2_wbd_dat_o\[25\]  
+m2_wbd_dat_o\[24\]  
+m2_wbd_dat_o\[23\]  
+m2_wbd_dat_o\[22\]  
+m2_wbd_dat_o\[21\]  
+m2_wbd_dat_o\[20\]  
+m2_wbd_dat_o\[19\]  
+m2_wbd_dat_o\[18\]  
+m2_wbd_dat_o\[17\]  
+m2_wbd_dat_o\[16\]  
+m2_wbd_dat_o\[15\]  
+m2_wbd_dat_o\[14\]  
+m2_wbd_dat_o\[13\]  
+m2_wbd_dat_o\[12\]  
+m2_wbd_dat_o\[11\]  
+m2_wbd_dat_o\[10\]  
+m2_wbd_dat_o\[9\]   
+m2_wbd_dat_o\[8\]   
+m2_wbd_dat_o\[7\]   
+m2_wbd_dat_o\[6\]   
+m2_wbd_dat_o\[5\]   
+m2_wbd_dat_o\[4\]   
+m2_wbd_dat_o\[3\]   
+m2_wbd_dat_o\[2\]   
+m2_wbd_dat_o\[1\]   
+m2_wbd_dat_o\[0\]   
+m2_wbd_ack_o        
+m2_wbd_err_o        
+m2_wbd_cyc_i        
+
+s3_wbd_stb_o        1900 0 2
 s3_wbd_we_o         
 s3_wbd_adr_o\[7\]   
 s3_wbd_adr_o\[6\]   
@@ -542,109 +650,3 @@
 s2_wbd_ack_i        
 s2_wbd_cyc_o        
 
-#W
-m2_wbd_stb_i        0 0 2
-m2_wbd_we_i         
-m2_wbd_adr_i\[31\]  
-m2_wbd_adr_i\[30\]  
-m2_wbd_adr_i\[29\]  
-m2_wbd_adr_i\[28\]  
-m2_wbd_adr_i\[27\]  
-m2_wbd_adr_i\[26\]  
-m2_wbd_adr_i\[25\]  
-m2_wbd_adr_i\[24\]  
-m2_wbd_adr_i\[23\]  
-m2_wbd_adr_i\[22\]  
-m2_wbd_adr_i\[21\]  
-m2_wbd_adr_i\[20\]  
-m2_wbd_adr_i\[19\]  
-m2_wbd_adr_i\[18\]  
-m2_wbd_adr_i\[17\]  
-m2_wbd_adr_i\[16\]  
-m2_wbd_adr_i\[15\]  
-m2_wbd_adr_i\[14\]  
-m2_wbd_adr_i\[13\]  
-m2_wbd_adr_i\[12\]  
-m2_wbd_adr_i\[11\]  
-m2_wbd_adr_i\[10\]  
-m2_wbd_adr_i\[9\]   
-m2_wbd_adr_i\[8\]   
-m2_wbd_adr_i\[7\]   
-m2_wbd_adr_i\[6\]   
-m2_wbd_adr_i\[5\]   
-m2_wbd_adr_i\[4\]   
-m2_wbd_adr_i\[3\]   
-m2_wbd_adr_i\[2\]   
-m2_wbd_adr_i\[1\]   
-m2_wbd_adr_i\[0\]   
-m2_wbd_sel_i\[3\]   
-m2_wbd_sel_i\[2\]   
-m2_wbd_sel_i\[1\]   
-m2_wbd_sel_i\[0\]   
-m2_wbd_dat_i\[31\]  
-m2_wbd_dat_i\[30\]  
-m2_wbd_dat_i\[29\]  
-m2_wbd_dat_i\[28\]  
-m2_wbd_dat_i\[27\]  
-m2_wbd_dat_i\[26\]  
-m2_wbd_dat_i\[25\]  
-m2_wbd_dat_i\[24\]  
-m2_wbd_dat_i\[23\]  
-m2_wbd_dat_i\[22\]  
-m2_wbd_dat_i\[21\]  
-m2_wbd_dat_i\[20\]  
-m2_wbd_dat_i\[19\]  
-m2_wbd_dat_i\[18\]  
-m2_wbd_dat_i\[17\]  
-m2_wbd_dat_i\[16\]  
-m2_wbd_dat_i\[15\]  
-m2_wbd_dat_i\[14\]  
-m2_wbd_dat_i\[13\]  
-m2_wbd_dat_i\[12\]  
-m2_wbd_dat_i\[11\]  
-m2_wbd_dat_i\[10\]  
-m2_wbd_dat_i\[9\]   
-m2_wbd_dat_i\[8\]   
-m2_wbd_dat_i\[7\]   
-m2_wbd_dat_i\[6\]   
-m2_wbd_dat_i\[5\]   
-m2_wbd_dat_i\[4\]   
-m2_wbd_dat_i\[3\]   
-m2_wbd_dat_i\[2\]   
-m2_wbd_dat_i\[1\]   
-m2_wbd_dat_i\[0\]   
-m2_wbd_dat_o\[31\]  
-m2_wbd_dat_o\[30\]  
-m2_wbd_dat_o\[29\]  
-m2_wbd_dat_o\[28\]  
-m2_wbd_dat_o\[27\]  
-m2_wbd_dat_o\[26\]  
-m2_wbd_dat_o\[25\]  
-m2_wbd_dat_o\[24\]  
-m2_wbd_dat_o\[23\]  
-m2_wbd_dat_o\[22\]  
-m2_wbd_dat_o\[21\]  
-m2_wbd_dat_o\[20\]  
-m2_wbd_dat_o\[19\]  
-m2_wbd_dat_o\[18\]  
-m2_wbd_dat_o\[17\]  
-m2_wbd_dat_o\[16\]  
-m2_wbd_dat_o\[15\]  
-m2_wbd_dat_o\[14\]  
-m2_wbd_dat_o\[13\]  
-m2_wbd_dat_o\[12\]  
-m2_wbd_dat_o\[11\]  
-m2_wbd_dat_o\[10\]  
-m2_wbd_dat_o\[9\]   
-m2_wbd_dat_o\[8\]   
-m2_wbd_dat_o\[7\]   
-m2_wbd_dat_o\[6\]   
-m2_wbd_dat_o\[5\]   
-m2_wbd_dat_o\[4\]   
-m2_wbd_dat_o\[3\]   
-m2_wbd_dat_o\[2\]   
-m2_wbd_dat_o\[1\]   
-m2_wbd_dat_o\[0\]   
-m2_wbd_ack_o        
-m2_wbd_err_o        
-m2_wbd_cyc_i        
diff --git a/signoff/glbl_cfg/final_summary_report.csv b/signoff/glbl_cfg/final_summary_report.csv
index f301c47..cddcb14 100644
--- a/signoff/glbl_cfg/final_summary_report.csv
+++ b/signoff/glbl_cfg/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/glbl_cfg,glbl_cfg,glbl_cfg,Flow_completed,0h4m50s,0h3m3s,47033.33333333334,0.12,23516.66666666667,37,549.19,2822,0,0,0,0,0,0,0,1,0,-1,0,141778,20879,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,114388749,0.0,22.5,30.02,0.23,-1,-1,2676,2872,476,672,0,0,0,2822,1,0,3,9,474,0,3,571,588,548,10,278,1410,0,1688,100.0,10.0,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,3
+0,/project/openlane/glbl_cfg,glbl_cfg,glbl_cfg,Flow_completed,0h5m48s,0h3m34s,47033.33333333334,0.12,23516.66666666667,41,556.01,2822,0,0,0,0,0,0,0,2,0,-1,0,156023,24257,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,114388749,0.0,31.41,31.61,0.34,-1,-1,2676,2872,476,672,0,0,0,2822,1,0,3,9,474,0,3,571,588,548,10,278,1410,0,1688,100.0,10.0,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,4
diff --git a/signoff/sdram/final_summary_report.csv b/signoff/sdram/final_summary_report.csv
index 9bc481d..5971cda 100644
--- a/signoff/sdram/final_summary_report.csv
+++ b/signoff/sdram/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/sdram,sdrc_top,sdram,Flow_completed,0h9m21s,0h5m21s,37194.28571428572,0.35,18597.14285714286,25,636.34,6509,0,0,0,0,0,0,0,10,0,-1,0,288514,47774,-3.59,-3.59,-3.59,-3.59,-4.29,-3.59,-3.59,-3.59,-3.59,-4.29,227214856,0.0,19.78,15.07,1.47,-1,-1,6444,6672,1140,1368,0,0,0,6509,132,107,80,108,350,212,30,2197,1189,1088,29,350,4248,0,4598,69.97900629811058,14.29,10,AREA 0,5,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,3
+0,/project/openlane/sdram,sdrc_top,sdram,Flow_completed,0h8m14s,0h4m9s,39520.0,0.35,19760.0,26,632.18,6916,0,0,0,0,0,0,0,10,0,-1,0,290277,48450,-3.59,-3.59,-3.59,-3.59,-4.13,-3.59,-3.59,-3.59,-3.59,-4.13,232393261,0.0,19.76,15.43,1.33,-1,-1,6851,7079,1140,1368,0,0,0,6916,132,107,80,108,350,212,30,2197,1189,1088,27,350,4248,0,4598,70.7714083510262,14.129999999999999,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,3
diff --git a/signoff/spi_master/final_summary_report.csv b/signoff/spi_master/final_summary_report.csv
index 5e8e8e6..e0a826c 100644
--- a/signoff/spi_master/final_summary_report.csv
+++ b/signoff/spi_master/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/spi_master,spim_top,spi_master,Flow_completed,0h9m29s,0h6m55s,25416.66666666667,0.24,12708.333333333336,19,587.51,3050,0,0,0,0,0,0,0,5,0,-1,0,162786,26689,-1.48,-1.48,-1.55,-1.55,-2.28,-86.69,-86.69,-158.7,-158.7,-255.68,121954058,0.0,9.59,19.86,0.04,-1,-1,3016,3128,433,545,0,0,0,3050,83,0,92,79,1118,89,19,920,527,458,28,424,2889,0,3313,81.43322475570034,12.28,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,3
+0,/project/openlane/spi_master,spim_top,spi_master,Flow_completed,0h8m3s,0h5m35s,25416.66666666667,0.24,12708.333333333336,19,591.97,3050,0,0,0,0,0,0,0,5,0,-1,0,162786,26689,-1.48,-1.48,-1.55,-1.55,-2.28,-86.69,-86.69,-158.7,-158.7,-255.68,121954058,0.0,9.59,19.86,0.04,-1,-1,3016,3128,433,545,0,0,0,3050,83,0,92,79,1118,89,19,920,527,458,28,424,2889,0,3313,81.43322475570034,12.28,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,3
diff --git a/signoff/syntacore/final_summary_report.csv b/signoff/syntacore/final_summary_report.csv
index 7830877..1c146a1 100644
--- a/signoff/syntacore/final_summary_report.csv
+++ b/signoff/syntacore/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/syntacore,scr1_top_wb,syntacore,Flow_completed,0h55m24s,0h32m1s,34420.0,1.8,17210.0,23,1196.24,30978,0,0,0,0,0,0,0,84,2,-1,0,1618669,250632,-0.3,-0.3,-0.44,-0.44,-0.73,-12.11,-12.11,-18.83,-18.83,-29.4,1353757569,0.0,19.59,15.78,4.41,0.64,-1,30864,31102,2807,3045,0,0,0,30978,631,0,685,2044,4015,2105,1318,7432,2838,2786,94,866,22836,0,23702,93.19664492078284,10.73,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,3
+0,/project/openlane/syntacore,scr1_top_wb,syntacore,Flow_completed,0h57m56s,0h33m31s,34420.0,1.8,17210.0,23,1202.9,30978,0,0,0,0,0,0,0,82,2,-1,0,1618491,250568,-0.3,-0.3,-0.44,-0.44,-0.73,-12.11,-12.11,-18.83,-18.83,-29.4,1353757569,0.0,19.59,15.78,4.41,0.64,-1,30864,31102,2807,3045,0,0,0,30978,631,0,685,2044,4015,2105,1318,7432,2838,2786,94,866,22836,0,23702,93.19664492078284,10.73,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,3
diff --git a/signoff/uart/final_summary_report.csv b/signoff/uart/final_summary_report.csv
index 6d20ca0..e37c172 100644
--- a/signoff/uart/final_summary_report.csv
+++ b/signoff/uart/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/uart,uart_core,uart,Flow_completed,0h5m17s,0h3m27s,43433.333333333336,0.12,21716.666666666668,32,525.34,2606,0,0,0,0,0,0,0,0,0,-1,0,82639,18254,-0.57,-0.57,-0.5,-0.5,-0.67,-40.55,-40.55,-39.96,-39.96,-45.73,60185370,0.0,13.32,18.01,0.0,-1,-1,2605,2625,454,474,0,0,0,2606,59,0,30,41,182,125,26,685,435,396,16,278,1410,0,1688,93.72071227741331,10.67,10,AREA 0,5,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,3
+0,/project/openlane/uart,uart_core,uart,Flow_completed,0h6m30s,0h4m1s,46133.33333333334,0.12,23066.66666666667,35,545.72,2768,0,0,0,0,0,0,0,1,0,-1,0,91647,20662,-0.67,-0.67,-0.47,-0.47,-0.73,-37.32,-37.32,-45.39,-45.39,-68.63,62910936,0.0,19.11,18.79,0.06,-1,-1,2767,2787,454,474,0,0,0,2768,59,0,30,41,182,125,26,685,435,396,17,278,1410,0,1688,93.19664492078284,10.73,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,4
diff --git a/signoff/user_project_wrapper/final_summary_report.csv b/signoff/user_project_wrapper/final_summary_report.csv
index 1eda607..b4b1f0b 100644
--- a/signoff/user_project_wrapper/final_summary_report.csv
+++ b/signoff/user_project_wrapper/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/user_project_wrapper,user_project_wrapper,user_project_wrapper,Flow_completed,0h48m32s,0h6m22s,3.1133250311332503,10.2784,1.5566625155666252,0,574.53,16,0,0,0,0,0,0,65,0,23,-1,6,1272729,5759,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1,0.0,2.81,4.04,0.21,1.09,-1,852,1470,843,1461,0,0,0,16,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,100.0,10.0,10,AREA 0,5,50,1,180,180,0.55,0,sky130_fd_sc_hd,4,0
+0,/project/openlane/user_project_wrapper,user_project_wrapper,user_project_wrapper,Flow_completed,0h38m39s,0h5m4s,1.362079701120797,10.2784,0.6810398505603985,0,575.3,7,0,0,0,0,0,0,0,0,0,-1,-1,1229122,6052,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1,0.0,2.38,3.7,0.68,1.42,0.27,842,1460,842,1460,0,0,0,7,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,100.0,10.0,10,AREA 0,5,50,1,180,180,0.55,0,sky130_fd_sc_hd,4,0
diff --git a/signoff/wb_host/final_summary_report.csv b/signoff/wb_host/final_summary_report.csv
index d8a99da..ca1bdbe 100644
--- a/signoff/wb_host/final_summary_report.csv
+++ b/signoff/wb_host/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/wb_host,wb_host,wb_host,Flow_completed,0h7m33s,0h4m35s,35490.0,0.2,17745.0,24,610.75,3549,0,0,0,0,0,0,0,22,0,-1,0,305549,29594,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,264347444,0.0,37.57,10.91,25.23,-1,-1,3270,3912,529,1171,0,0,0,3549,85,0,5,9,30,27,13,915,660,813,16,130,2343,137,2610,100.0,10.0,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,3
+0,/project/openlane/wb_host,wb_host,wb_host,Flow_completed,0h9m40s,0h6m56s,30470.0,0.2,15235.0,25,613.2,3047,0,0,0,0,0,0,0,1,0,-1,0,335681,32215,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,282222295,0.0,47.7,13.38,29.5,-1,-1,2769,3411,458,1100,0,0,0,3047,83,0,5,8,30,27,9,776,590,739,15,130,2343,0,2473,100.0,10.0,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,5
diff --git a/signoff/wb_interconnect/final_summary_report.csv b/signoff/wb_interconnect/final_summary_report.csv
index fcbedf8..751e1e1 100644
--- a/signoff/wb_interconnect/final_summary_report.csv
+++ b/signoff/wb_interconnect/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/wb_interconnect,wb_interconnect,wb_interconnect,Flow_completed,0h7m29s,0h3m50s,6465.0,0.4,3232.5,6,563.65,1293,0,0,0,0,0,0,0,9,0,0,0,468040,17506,0.0,0.0,0.0,0.0,-1.15,0.0,0.0,0.0,0.0,-29.57,415332616,0.0,44.92,11.38,31.98,0.1,-1,1043,1616,204,777,0,0,0,1293,244,0,75,15,111,0,0,180,431,418,11,130,4719,0,4849,89.68609865470852,11.15,10,AREA 0,4,50,1,50,153.18,0.32,0,sky130_fd_sc_hd,4,4
+0,/project/openlane/wb_interconnect,wb_interconnect,wb_interconnect,Flow_completed,0h10m43s,0h6m55s,5877.272727272727,0.44,2938.6363636363635,5,580.27,1293,0,0,0,0,0,0,0,2,0,-1,0,496849,21106,0.0,0.0,0.0,0.0,-0.83,0.0,0.0,0.0,0.0,-79.64,424741802,0.0,31.77,8.67,21.85,-1,-1,1043,1616,204,777,0,0,0,1293,244,0,75,15,111,0,0,180,431,418,11,130,5189,0,5319,92.33610341643582,10.83,10,AREA 0,4,50,1,153.6,153.18,0.55,0,sky130_fd_sc_hd,4,4
diff --git a/verilog/rtl/digital_core/src/digital_core.sv b/verilog/rtl/digital_core/src/digital_core.sv
index 7e76212..53dcb62 100644
--- a/verilog/rtl/digital_core/src/digital_core.sv
+++ b/verilog/rtl/digital_core/src/digital_core.sv
@@ -59,6 +59,12 @@
 ////          u_risc_top - test_mode & test_rst_n                 ////
 ////          u_intercon - s*_wbd_err_i                           ////
 ////          unused wb_cti_i is removed from u_sdram_ctrl        ////
+////    0.7 - 28th June 2021, Dinesh A                            ////
+////          wb_interconnect master port are interchanged for    ////
+////          better physical placement.                          ////
+////          m0 - External HOST                                  ////
+////          m1 - RISC IMEM                                      ////
+////          m2 - RISC DMEM                                      ////
 ////                                                              ////
 //////////////////////////////////////////////////////////////////////
 ////                                                              ////
@@ -288,6 +294,7 @@
        .wbm_err_o        (                     ),  
 
     // Slave Port
+       .wbs_clk_out      (wbd_clk_int          ),  
        .wbs_clk_i        (wbd_clk_int          ),  
        .wbs_cyc_o        (wbd_int_cyc_i        ),  
        .wbs_stb_o        (wbd_int_stb_i        ),  
@@ -450,39 +457,39 @@
 wb_interconnect  u_intercon (
          .clk_i         (wbd_clk_int           ), 
          .rst_n         (wbd_int_rst_n         ),
+
+         // Master 0 Interface
+         .m0_wbd_dat_i  (wbd_int_dat_i         ),
+         .m0_wbd_adr_i  (wbd_int_adr_i         ),
+         .m0_wbd_sel_i  (wbd_int_sel_i         ),
+         .m0_wbd_we_i   (wbd_int_we_i          ),
+         .m0_wbd_cyc_i  (wbd_int_cyc_i         ),
+         .m0_wbd_stb_i  (wbd_int_stb_i         ),
+         .m0_wbd_dat_o  (wbd_int_dat_o         ),
+         .m0_wbd_ack_o  (wbd_int_ack_o         ),
+         .m0_wbd_err_o  (wbd_int_err_o         ),
          
          // Master 0 Interface
-         .m0_wbd_dat_i  (wbd_riscv_imem_dat_i  ),
-         .m0_wbd_adr_i  (wbd_riscv_imem_adr_i  ),
-         .m0_wbd_sel_i  (wbd_riscv_imem_sel_i  ),
-         .m0_wbd_we_i   (wbd_riscv_imem_we_i   ),
-         .m0_wbd_cyc_i  (wbd_riscv_imem_stb_i  ),
-         .m0_wbd_stb_i  (wbd_riscv_imem_stb_i  ),
-         .m0_wbd_dat_o  (wbd_riscv_imem_dat_o  ),
-         .m0_wbd_ack_o  (wbd_riscv_imem_ack_o  ),
-         .m0_wbd_err_o  (wbd_riscv_imem_err_o  ),
+         .m1_wbd_dat_i  (wbd_riscv_imem_dat_i  ),
+         .m1_wbd_adr_i  (wbd_riscv_imem_adr_i  ),
+         .m1_wbd_sel_i  (wbd_riscv_imem_sel_i  ),
+         .m1_wbd_we_i   (wbd_riscv_imem_we_i   ),
+         .m1_wbd_cyc_i  (wbd_riscv_imem_stb_i  ),
+         .m1_wbd_stb_i  (wbd_riscv_imem_stb_i  ),
+         .m1_wbd_dat_o  (wbd_riscv_imem_dat_o  ),
+         .m1_wbd_ack_o  (wbd_riscv_imem_ack_o  ),
+         .m1_wbd_err_o  (wbd_riscv_imem_err_o  ),
          
          // Master 1 Interface
-         .m1_wbd_dat_i  (wbd_riscv_dmem_dat_i  ),
-         .m1_wbd_adr_i  (wbd_riscv_dmem_adr_i  ),
-         .m1_wbd_sel_i  (wbd_riscv_dmem_sel_i  ),
-         .m1_wbd_we_i   (wbd_riscv_dmem_we_i   ),
-         .m1_wbd_cyc_i  (wbd_riscv_dmem_stb_i  ),
-         .m1_wbd_stb_i  (wbd_riscv_dmem_stb_i  ),
-         .m1_wbd_dat_o  (wbd_riscv_dmem_dat_o  ),
-         .m1_wbd_ack_o  (wbd_riscv_dmem_ack_o  ),
-         .m1_wbd_err_o  (wbd_riscv_dmem_err_o  ),
-         
-         // Master 2 Interface
-         .m2_wbd_dat_i  (wbd_int_dat_i  ),
-         .m2_wbd_adr_i  (wbd_int_adr_i  ),
-         .m2_wbd_sel_i  (wbd_int_sel_i  ),
-         .m2_wbd_we_i   (wbd_int_we_i   ),
-         .m2_wbd_cyc_i  (wbd_int_cyc_i  ),
-         .m2_wbd_stb_i  (wbd_int_stb_i  ),
-         .m2_wbd_dat_o  (wbd_int_dat_o  ),
-         .m2_wbd_ack_o  (wbd_int_ack_o  ),
-         .m2_wbd_err_o  (wbd_int_err_o  ),
+         .m2_wbd_dat_i  (wbd_riscv_dmem_dat_i  ),
+         .m2_wbd_adr_i  (wbd_riscv_dmem_adr_i  ),
+         .m2_wbd_sel_i  (wbd_riscv_dmem_sel_i  ),
+         .m2_wbd_we_i   (wbd_riscv_dmem_we_i   ),
+         .m2_wbd_cyc_i  (wbd_riscv_dmem_stb_i  ),
+         .m2_wbd_stb_i  (wbd_riscv_dmem_stb_i  ),
+         .m2_wbd_dat_o  (wbd_riscv_dmem_dat_o  ),
+         .m2_wbd_ack_o  (wbd_riscv_dmem_ack_o  ),
+         .m2_wbd_err_o  (wbd_riscv_dmem_err_o  ),
          
          
          // Slave 0 Interface
diff --git a/verilog/rtl/lib/async_wb.sv b/verilog/rtl/lib/async_wb.sv
index 48bce58..6174875 100644
--- a/verilog/rtl/lib/async_wb.sv
+++ b/verilog/rtl/lib/async_wb.sv
@@ -18,6 +18,11 @@
 ////  Revision :                                                  ////
 ////    0.1 - 25th Feb 2021, Dinesh A                             ////
 ////          initial version                                     ////
+////    0.2 - 28th Feb 2021, Dinesh A                             ////
+////          reduced the response FIFO path depth to 2 as        ////
+////          return path used by only read logic and read is     ////
+////          blocking request and expect only one location will  ////
+////          be used                                             ////
 //////////////////////////////////////////////////////////////////////
 ////                                                              ////
 //// Copyright (C) 2000 Authors and OPENCORES.ORG                 ////
@@ -165,7 +170,10 @@
                    .rd_data       (s_cmd_rd_data     )
 	     );
 
-async_fifo #(.W(33), .DP(4), .WR_FAST(1), .RD_FAST(1)) u_resp_if (
+
+// Response used only read path, read is blocking access, expect
+// only one location used in return path - reduced the depth to 2
+async_fifo #(.W(33), .DP(2), .WR_FAST(1), .RD_FAST(1)) u_resp_if (
 	           // Sync w.r.t WR clock
 	           .wr_clk        (wbs_clk_i          ),
                    .wr_reset_n    (wbs_rst_n          ),
diff --git a/verilog/rtl/wb_host/src/wb_host.sv b/verilog/rtl/wb_host/src/wb_host.sv
index c642421..0dc98b6 100644
--- a/verilog/rtl/wb_host/src/wb_host.sv
+++ b/verilog/rtl/wb_host/src/wb_host.sv
@@ -66,7 +66,8 @@
        output  logic               wbm_err_o        ,  // error
 
     // Slave Port
-       output  logic               wbs_clk_i        ,  // System clock
+       output  logic               wbs_clk_out      ,  // System clock
+       input   logic               wbs_clk_i        ,  // System clock
        output  logic               wbs_cyc_o        ,  // strobe/request
        output  logic               wbs_stb_o        ,  // strobe/request
        output  logic [31:0]        wbs_adr_o        ,  // address
@@ -120,7 +121,7 @@
 assign wbm_rst_n = !wbm_rst_i;
 assign wbs_rst_n = !wbm_rst_i;
 
-assign wbs_clk_i =  wbm_clk_i;
+assign wbs_clk_out =  wbm_clk_i;
 
 assign  wbm_dat_o   = (reg_sel) ? reg_rdata : wbm_dat_int;  // data input
 assign  wbm_ack_o   = (reg_sel) ? reg_ack   : wbm_ack_int; // acknowlegement
diff --git a/verilog/rtl/wb_interconnect/src/wb_interconnect.sv b/verilog/rtl/wb_interconnect/src/wb_interconnect.sv
index e6c9f40..9ef5574 100644
--- a/verilog/rtl/wb_interconnect/src/wb_interconnect.sv
+++ b/verilog/rtl/wb_interconnect/src/wb_interconnect.sv
@@ -28,6 +28,12 @@
 ////    0.4 - 27th June 2021, Dinesh A                            ////
 ////          unused tie off at digital core level brought inside ////
 ////          to avoid core level power hook up                   ////
+////    0.5 - 28th June 2021, Dinesh A                            ////
+////          interchange the Master port for better physical     ////
+////          placement                                           ////
+////          m0: external host                                   ////
+////          m1: risc imem                                       ////
+////          m2: risc dmem                                       ////
 ////                                                              ////
 //////////////////////////////////////////////////////////////////////
 ////                                                              ////
@@ -195,26 +201,6 @@
 
 type_wb_wr_intf  s_bus_wr;  // Multiplexed Master I/F
 type_wb_rd_intf  s_bus_rd;  // Multiplexed Slave I/F
-//------------------------------
-// RISC Data Memory Map
-// 0x0000_0000 to 0x0FFF_FFFF  - SPI FLASH MEMORY
-// 0x1000_0000 to 0x1000_00FF  - SPI REGISTER
-// 0x2000_0000 to 0x2FFF_FFFF  - SDRAM
-// 0x3000_0000 to 0x3000_00FF  - GLOBAL REGISTER
-// 0x3000_0000 to 0x3001_00FF  - UART Register
-//-----------------------------
-// 
-wire [3:0] m0_wbd_tid_i     = (m0_wbd_adr_i[31:28] ==  4'b0000 ) ? 4'b0000 :
-                              (m0_wbd_adr_i[31:28] ==  4'b0001 ) ? 4'b0000 :
-                              (m0_wbd_adr_i[31:28] ==  4'b0010 ) ? 4'b0001 :
-                              (m0_wbd_adr_i[31:16] == 16'h3000 ) ? 4'b0010 : 
-                              (m0_wbd_adr_i[31:16] == 16'h3001 ) ? 4'b0011 : 4'b0000; 
-
-wire [3:0] m1_wbd_tid_i     = (m1_wbd_adr_i[31:28] ==  4'b0000 ) ? 4'b0000 :
-                              (m1_wbd_adr_i[31:28] ==  4'b0001 ) ? 4'b0000 :
-                              (m1_wbd_adr_i[31:28] ==  4'b0010 ) ? 4'b0001 : 
-                              (m1_wbd_adr_i[31:16] == 16'h3000 ) ? 4'b0010 : 
-                              (m1_wbd_adr_i[31:16] == 16'h3001 ) ? 4'b0011 : 4'b0000; 
 
 
 //-------------------------------------------------------------------
@@ -227,12 +213,32 @@
 // 0x3080_0000 to 0x3080_00FF  - WB HOST (This decoding happens at wb_host block)
 // ---------------------------------------------------------------------------
 //
-wire [3:0] m2_wbd_tid_i       = (m2_wbd_adr_i[31:28] == 4'b0000  ) ? 4'b0000 :
-                                (m2_wbd_adr_i[31:28] == 4'b0001  ) ? 4'b0000 :
-                                (m2_wbd_adr_i[31:28] == 4'b0010  ) ? 4'b0001 :
-                                (m2_wbd_adr_i[31:16] == 16'h3000 ) ? 4'b0010 : 
-                                (m2_wbd_adr_i[31:16] == 16'h3001 ) ? 4'b0011 : 4'b0000; 
+wire [3:0] m0_wbd_tid_i       = (m0_wbd_adr_i[31:28] == 4'b0000  ) ? 4'b0000 :
+                                (m0_wbd_adr_i[31:28] == 4'b0001  ) ? 4'b0000 :
+                                (m0_wbd_adr_i[31:28] == 4'b0010  ) ? 4'b0001 :
+                                (m0_wbd_adr_i[31:16] == 16'h3000 ) ? 4'b0010 : 
+                                (m0_wbd_adr_i[31:16] == 16'h3001 ) ? 4'b0011 : 4'b0000; 
 
+//------------------------------
+// RISC Data Memory Map
+// 0x0000_0000 to 0x0FFF_FFFF  - SPI FLASH MEMORY
+// 0x1000_0000 to 0x1000_00FF  - SPI REGISTER
+// 0x2000_0000 to 0x2FFF_FFFF  - SDRAM
+// 0x3000_0000 to 0x3000_00FF  - GLOBAL REGISTER
+// 0x3000_0000 to 0x3001_00FF  - UART Register
+//-----------------------------
+// 
+wire [3:0] m1_wbd_tid_i     = (m1_wbd_adr_i[31:28] ==  4'b0000 ) ? 4'b0000 :
+                              (m1_wbd_adr_i[31:28] ==  4'b0001 ) ? 4'b0000 :
+                              (m1_wbd_adr_i[31:28] ==  4'b0010 ) ? 4'b0001 :
+                              (m1_wbd_adr_i[31:16] == 16'h3000 ) ? 4'b0010 : 
+                              (m1_wbd_adr_i[31:16] == 16'h3001 ) ? 4'b0011 : 4'b0000; 
+
+wire [3:0] m2_wbd_tid_i     = (m2_wbd_adr_i[31:28] ==  4'b0000 ) ? 4'b0000 :
+                              (m2_wbd_adr_i[31:28] ==  4'b0001 ) ? 4'b0000 :
+                              (m2_wbd_adr_i[31:28] ==  4'b0010 ) ? 4'b0001 : 
+                              (m2_wbd_adr_i[31:16] == 16'h3000 ) ? 4'b0010 : 
+                              (m2_wbd_adr_i[31:16] == 16'h3001 ) ? 4'b0011 : 4'b0000; 
 //----------------------------------------
 // Master Mapping
 // -------------------------------------