Merge pull request #30 from Manarabdelaty/wb_mprj_port

Connect WB MI A port outputs to the wb bus
diff --git a/openlane/digital_pll/config.tcl b/openlane/digital_pll/config.tcl
index faa4d1b..bcaa7d1 100644
--- a/openlane/digital_pll/config.tcl
+++ b/openlane/digital_pll/config.tcl
@@ -10,12 +10,16 @@
 set ::env(CLOCK_TREE_SYNTH) 0
 
 set ::env(PDN_CFG) $script_dir/pdn.tcl
+set ::env(FP_PDN_CORE_RING) 1
+set ::env(FP_PDN_VPITCH) 50
+set ::env(FP_PDN_HPITCH) 50
+
 
 set ::env(SYNTH_BUFFERING) 0
 set ::env(SYNTH_SIZING) 0
 
-set ::env(CELL_PAD) 8
+set ::env(CELL_PAD) 4
 
-set ::env(FP_CORE_UTIL) 60
-set ::env(PL_TARGET_DENSITY) 0.60
+set ::env(FP_CORE_UTIL) 50
+set ::env(PL_TARGET_DENSITY) 0.55
 set ::env(SYNTH_MAX_FANOUT) 6
diff --git a/openlane/digital_pll/pdn.tcl b/openlane/digital_pll/pdn.tcl
index edd041e..c6a8d30 100644
--- a/openlane/digital_pll/pdn.tcl
+++ b/openlane/digital_pll/pdn.tcl
@@ -6,13 +6,17 @@
 
 pdngen::specify_grid stdcell {
     name grid
-    rails {
+	core_ring {
+		met3 {width $::env(FP_PDN_CORE_RING_HWIDTH) spacing $::env(FP_PDN_CORE_RING_HSPACING) core_offset $::env(FP_PDN_CORE_RING_HOFFSET)}
+		met4 {width $::env(FP_PDN_CORE_RING_VWIDTH) spacing $::env(FP_PDN_CORE_RING_VSPACING) core_offset $::env(FP_PDN_CORE_RING_VOFFSET)}
+	}
+	rails {
 	    met1 {width 0.48 pitch $::env(PLACE_SITE_HEIGHT) offset 0}
-    }
+	}
     straps {
 	    met4 {width 1.6 pitch $::env(FP_PDN_VPITCH) offset $::env(FP_PDN_VOFFSET)}
     }
-    connect {{met1 met4}}
+    connect {{met1 met4} {met3 met4}}
 }
 
 
diff --git a/openlane/mgmt_core/config.tcl b/openlane/mgmt_core/config.tcl
index af7808e..51987a9 100644
--- a/openlane/mgmt_core/config.tcl
+++ b/openlane/mgmt_core/config.tcl
@@ -2,36 +2,42 @@
 
 set ::env(DESIGN_NAME) mgmt_core
 
-set ::env(CLOCK_PORT) "core_clk"
+set ::env(CLOCK_PORT) "clock"
 set ::env(CLOCK_PERIOD) "50"
+set ::env(SYNTH_STRATEGY) 2
 
 set ::env(PDN_CFG) $script_dir/pdn.tcl
 
+set ::env(FP_VERTICAL_HALO) 6
 set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
-#set ::env(FP_CORE_UTIL) 40
 set ::env(FP_SIZING) absolute
-set ::env(DIE_AREA) "0 0 2700 2000"
+set ::env(DIE_AREA) "0 0 1800 1900"
 
 
 set ::env(MACRO_PLACEMENT_CFG) $script_dir/macro_placement.cfg
-set ::env(PL_TARGET_DENSITY) 0.3
+set ::env(PL_TARGET_DENSITY) 0.37
 set ::env(PL_OPENPHYSYN_OPTIMIZATIONS) 0
-
+set ::env(CELL_PAD) 10
 
 set ::env(GLB_RT_ADJUSTMENT) 0
-#set ::env(GLB_RT_TILES) 12
+set ::env(GLB_RT_TILES) 14
 
-set ::env(DIODE_INSERTION_STRATEGY) 1
+set ::env(DIODE_INSERTION_STRATEGY) 0
 
 set ::env(VERILOG_FILES) "\
+	$script_dir/../../verilog/rtl/defines.v\
+	$script_dir/../../verilog/rtl/storage_bridge_wb.v\
 	$script_dir/../../verilog/rtl/clock_div.v\
 	$script_dir/../../verilog/rtl/caravel_clocking.v\
 	$script_dir/../../verilog/rtl/mgmt_core.v\
 	$script_dir/../../verilog/rtl/mgmt_soc.v\
 	$script_dir/../../verilog/rtl/housekeeping_spi.v"
 
-# The removal of this pending the IO verilog files being parsable by yosys...
-set ::env(VERILOG_FILES_BLACKBOX) "$script_dir/../../verilog/rtl/digital_pll.v"
+set ::env(VERILOG_FILES_BLACKBOX) "\
+	$script_dir/../../verilog/rtl/digital_pll.v"
 
-set ::env(EXTRA_LEFS) "$script_dir/../../lef/digital_pll.lef"
-set ::env(EXTRA_GDS_FILES) "$script_dir/../../gds/digital_pll.gds"
+set ::env(EXTRA_LEFS) "\
+	$script_dir/../../lef/digital_pll.lef"
+set ::env(EXTRA_GDS_FILES) "\
+	$script_dir/../../gds/digital_pll.gds"
+
diff --git a/openlane/mgmt_core/macro_placement.cfg b/openlane/mgmt_core/macro_placement.cfg
index a472af1..c81fd53 100644
--- a/openlane/mgmt_core/macro_placement.cfg
+++ b/openlane/mgmt_core/macro_placement.cfg
@@ -1 +1 @@
-pll 665.460 756.05500 N
+pll 15.225 1159.305 N
diff --git a/openlane/mgmt_core/pin_order.cfg b/openlane/mgmt_core/pin_order.cfg
index 88bd4a6..db43fd6 100644
--- a/openlane/mgmt_core/pin_order.cfg
+++ b/openlane/mgmt_core/pin_order.cfg
@@ -5,6 +5,7 @@
 mprj.*
 
 #S
+prob
 resetb
 clock
 flash_csb.*
@@ -14,6 +15,7 @@
 gpio.*
 
 #E
+pwr_.*
 core_.*
 jtag.*
 sdo.*