openlane config updates (PR #30 and #31):

-    no_synth.cells cleanup
-    first go at no_synth.cells reduction
-    variables cleanup
-    core_ring support
-    Initial attempt at creating a more generic common_pdn.tcl (covering macros and cores)
diff --git a/sky130/openlane/common_pdn.tcl b/sky130/openlane/common_pdn.tcl
index 51f9329..a7a271b 100644
--- a/sky130/openlane/common_pdn.tcl
+++ b/sky130/openlane/common_pdn.tcl
@@ -4,10 +4,11 @@
 
 set ::macro_blockage_layer_list "li1 met1 met2 met3 met4 met5"
 
-pdngen::specify_grid stdcell {
+# Used if the design is the core of the chip
+set stdcell_core {
     name grid
     rails {
-	    met1 {width $::env(PDN_RAIL_WIDTH) pitch $::env(PLACE_SITE_HEIGHT) offset 0}
+	    met1 {width $::env(FP_PDN_RAIL_WIDTH) pitch $::env(PLACE_SITE_HEIGHT) offset $::env(FP_PDN_RAIL_OFFSET)}
     }
     straps {
 	    met4 {width $::env(FP_PDN_VWIDTH) pitch $::env(FP_PDN_VPITCH) offset $::env(FP_PDN_VOFFSET)}
@@ -16,6 +17,42 @@
     connect {{met1 met4} {met4 met5}}
 }
 
+# Used if the design is a macro in the core
+set stdcell_macro {
+    name grid
+    rails {
+	    met1 {width $::env(FP_PDN_RAIL_WIDTH) pitch $::env(PLACE_SITE_HEIGHT) offset $::env(FP_PDN_RAIL_OFFSET)}
+    }
+    straps {
+	    met4 {width $::env(FP_PDN_VWIDTH) pitch $::env(FP_PDN_VPITCH) offset $::env(FP_PDN_VOFFSET)}
+    }
+    connect {{met1 met4}}
+}
+
+# Assesses whether the deisgn is the core of the chip or not based on the value of $::env(DESIGN_IS_CORE) and uses the appropriate stdcell section
+if { [info exists ::env(DESIGN_IS_CORE)] } {
+    if { $::env(DESIGN_IS_CORE) == 1 } {
+        set stdcell $stdcell_core
+    } else {
+        set stdcell $stdcell_macro
+    }
+} else {
+    set stdcell $stdcell_core
+}
+
+# Adds the core ring if enabled.
+if { [info exists ::env(FP_PDN_CORE_RING)] } {
+    if { $::env(FP_PDN_CORE_RING) == 1 } {
+        dict append stdcell core_ring {
+                met4 {width $::env(FP_PDN_CORE_RING_VWIDTH) spacing $::env(FP_PDN_CORE_RING_VSPACING) core_offset $::env(FP_PDN_CORE_RING_VOFFSET)}
+                met5 {width $::env(FP_PDN_CORE_RING_HWIDTH) spacing $::env(FP_PDN_CORE_RING_HSPACING) core_offset $::env(FP_PDN_CORE_RING_HOFFSET)}
+            }
+    }
+}
+
+pdngen::specify_grid stdcell $stdcell
+
+# A general macro that follows the premise of the set heirarchy. You may want to modify this or add other macro configs
 pdngen::specify_grid macro {
     orient {R0 R180 MX MY R90 R270 MXR90 MYR90}
     power_pins "VDDE"
@@ -23,7 +60,7 @@
     blockages "li1 met1 met2 met3 met4 met5" 
     straps { 
     } 
-    connect { }
+    connect {{met4_PIN_ver met5}}
 }
 
 set ::halo 0