OpenLane support for other sky130 variants

- Added support for ls, ms, hdll, and hvl
- power nets are named after the VDD and GND pin names; makes LVS report super
  clean
- Added support for both EF_STYLEs in OpenLane configuration files
diff --git a/sky130/Makefile b/sky130/Makefile
index d8eb452..d545e4e 100644
--- a/sky130/Makefile
+++ b/sky130/Makefile
@@ -271,11 +271,15 @@
 	${CPP} ${SKY130A_DEFS} klayout/${TECH}.lyp > ${KLAYOUT_STAGING_A}/${SKY130A}.lyp
 	${CPP} ${SKY130A_DEFS} klayout/${TECH}.lyt > ${KLAYOUT_STAGING_A}/${SKY130A}.lyt
 
-openlane-a: openlane/common_pdn.tcl openlane/config.tcl openlane/sky130_fd_sc_hd/config.tcl  openlane/sky130_fd_sc_hs/config.tcl
+openlane-a: openlane/common_pdn.tcl openlane/config.tcl openlane/sky130_fd_sc_hd/config.tcl  openlane/sky130_fd_sc_hs/config.tcl openlane/sky130_fd_sc_ms/config.tcl openlane/sky130_fd_sc_ls/config.tcl openlane/sky130_fd_sc_hdll/config.tcl
 	mkdir -p ${OPENLANETOP_STAGING_A}
 	mkdir -p ${OPENLANE_STAGING_A}
 	mkdir -p ${OPENLANE_STAGING_A}/sky130_fd_sc_hd
 	mkdir -p ${OPENLANE_STAGING_A}/sky130_fd_sc_hs
+	mkdir -p ${OPENLANE_STAGING_A}/sky130_fd_sc_ls
+	mkdir -p ${OPENLANE_STAGING_A}/sky130_fd_sc_ms
+	mkdir -p ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll
+	mkdir -p ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl
 	rm -f ${OPENLANE_STAGING_A}/common_pdn.info
 	rm -f ${OPENLANE_STAGING_A}/config.tcl
 	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/config.tcl
@@ -285,6 +289,18 @@
 	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/config.tcl
 	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/tracks.info
 	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/no_synth.cells
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/config.tcl
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/tracks.info
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/no_synth.cells
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/config.tcl
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/tracks.info
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/no_synth.cells
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/config.tcl
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/tracks.info
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/no_synth.cells
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/config.tcl
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/tracks.info
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/no_synth.cells
 	${CPP} ${SKY130A_DEFS} openlane/common_pdn.tcl > ${OPENLANE_STAGING_A}/common_pdn.tcl
 	${CPP} ${SKY130A_DEFS} openlane/config.tcl > ${OPENLANE_STAGING_A}/config.tcl
 	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/config.tcl
@@ -294,6 +310,18 @@
 	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/config.tcl
 	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/tracks.info
 	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/no_synth.cells
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/config.tcl
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/tracks.info
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/no_synth.cells
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/config.tcl
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/tracks.info
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/no_synth.cells
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/config.tcl
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/tracks.info
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/no_synth.cells
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/config.tcl
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/tracks.info
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/no_synth.cells	
 
 vendor-a:
 	# Install base device models from vendor files
diff --git a/sky130/openlane/common_pdn.tcl b/sky130/openlane/common_pdn.tcl
index 60ad840..872688a 100644
--- a/sky130/openlane/common_pdn.tcl
+++ b/sky130/openlane/common_pdn.tcl
@@ -1,6 +1,6 @@
 # Power nets
-set ::power_nets "VDD"
-set ::ground_nets "VSS"
+set ::power_nets $::env(VDD_PIN)
+set ::ground_nets $::env(GND_PIN)
 
 set ::macro_blockage_layer_list "li1 met1 met2 met3 met4 met5"
 
diff --git a/sky130/openlane/config.tcl b/sky130/openlane/config.tcl
index 7c4f7fb..9c4ecb8 100755
--- a/sky130/openlane/config.tcl
+++ b/sky130/openlane/config.tcl
@@ -2,26 +2,40 @@
 set ::env(PROCESS) 130
 set ::env(DEF_UNITS_PER_MICRON) 1000
 
-
 # Placement site for core cells
 # This can be found in the technology lef
 
-set ::env(VDD_PIN) "vpwr"
-set ::env(GND_PIN) "vgnd"
+set ::env(VDD_PIN) "VPWR"
+set ::env(GND_PIN) "VGND"
 
 # Technology LEF
-set ::env(TECH_LEF) "$::env(PDK_ROOT)/TECHNAME/libs.ref/techLEF/$::env(PDK_VARIANT)/*.tlef"
-set ::env(CELLS_LEF) [glob "$::env(PDK_ROOT)/TECHNAME/libs.ref/lef/$::env(PDK_VARIANT)/*.lef"]
-set ::env(MAGIC_TECH_FILE) "$::env(PDK_ROOT)/TECHNAME/libs.tech/magic/sky130A.tech"
-set ::env(MAGIC_MAGICRC) "$::env(PDK_ROOT)/TECHNAME/libs.tech/magic/sky130A.magicrc"
-set ::env(GPIO_PADS_LEF) [glob "$::env(PDK_ROOT)/TECHNAME/libs.ref/sky130_fd_io/lef/routing_abstract.lef"]
+#ifdef EF_FORMAT
+set ::env(TECH_LEF) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/techLEF/$::env(PDK_VARIANT)/$::env(PDK_VARIANT).tlef"
+set ::env(CELLS_LEF) [glob "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lef/$::env(PDK_VARIANT)/*.lef"]
+set ::env(GPIO_PADS_LEF) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lef/sky130_fd_io/sky130_fd_io.lef"
+#else (!EF_FORMAT)
+set ::env(TECH_LEF) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/techlef/$::env(PDK_VARIANT).tlef"
+set ::env(CELLS_LEF) [glob "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lef/*.lef"]
+set ::env(GPIO_PADS_LEF) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_fd_io/lef/sky130_fd_io.lef"
+#endif (!EF_FORMAT)
+
+# magic setup
+#ifdef EF_FORMAT
+set ::env(MAGIC_MAGICRC) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/magic/20200508/TECHNAME.magicrc"
+set ::env(MAGIC_TECH_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/magic/20200508/TECHNAME.tech"
+#else (!EF_FORMAT)
+set ::env(MAGIC_MAGICRC) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/magic/TECHNAME.magicrc"
+set ::env(MAGIC_TECH_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/magic/TECHNAME.tech"
+#endif (!EF_FORMAT)
 
 # netgen setup
-set ::env(NETGEN_SETUP_FILE) $::env(PDK_ROOT)/TECHNAME/libs.tech/netgen/TECHNAME_setup.tcl
+set ::env(NETGEN_SETUP_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/netgen/TECHNAME_setup.tcl"
 # CTS luts
 set ::env(CTS_TECH_DIR) "N/A"
 
 set ::env(FP_TAPCELL_DIST) 14
 
+# Tracks info
+set ::env(TRACKS_INFO_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(PDK_VARIANT)/tracks.info"
 
 set ::env(GLB_RT_L1_ADJUSTMENT) 0.99
diff --git a/sky130/openlane/sky130_fd_sc_hd/config.tcl b/sky130/openlane/sky130_fd_sc_hd/config.tcl
index 37586f9..7c243e7 100755
--- a/sky130/openlane/sky130_fd_sc_hd/config.tcl
+++ b/sky130/openlane/sky130_fd_sc_hd/config.tcl
@@ -1,16 +1,18 @@
 set current_folder [file dirname [file normalize [info script]]]
 # Technology lib
 
-set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/TECHNAME/libs.ref/sky130_fd_sc_hd/lib/sky130_fd_sc_hd__tt_025C_1v80.lib"
-set ::env(LIB_MAX) "$::env(PDK_ROOT)/TECHNAME/libs.ref/sky130_fd_sc_hd/lib/sky130_fd_sc_hd__ff_n40C_1v95.lib"
-set ::env(LIB_MIN) "$::env(PDK_ROOT)/TECHNAME/libs.ref/sky130_fd_sc_hd/lib/sky130_fd_sc_hd__ss_100C_1v60.lib"
+#ifdef EF_FORMAT
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hd__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hd__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hd__ss_100C_1v60.lib"
+#else (!EF_FORMAT)
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hd__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hd__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hd__ss_100C_1v60.lib"
+#endif (!EF_FORMAT)
 
 set ::env(LIB_TYPICAL) $::env(LIB_SYNTH)
 
-# Tracks info
-set ::env(TRACKS_INFO_FILE) "$::env(PDK_ROOT)/TECHNAME/libs.tech/openlane/sky130_fd_sc_hd/tracks.info"
-
-
 # Placement site for core cells
 # This can be found in the technology lef
 set ::env(PLACE_SITE) "unithd"
diff --git a/sky130/openlane/sky130_fd_sc_hd/no_synth.cells b/sky130/openlane/sky130_fd_sc_hd/no_synth.cells
index dbc3264..192afe1 100644
--- a/sky130/openlane/sky130_fd_sc_hd/no_synth.cells
+++ b/sky130/openlane/sky130_fd_sc_hd/no_synth.cells
@@ -1,3 +1,5 @@
+sky130_fd_sc_hd__probe_p_8
+sky130_fd_sc_hd__probec_p_8
 sky130_fd_sc_hd__dfstp_2
 sky130_fd_sc_hd__xor3_4
 sky130_fd_sc_hd__or2b_2
diff --git a/sky130/openlane/sky130_fd_sc_hdll/config.tcl b/sky130/openlane/sky130_fd_sc_hdll/config.tcl
new file mode 100755
index 0000000..c1e4d0b
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hdll/config.tcl
@@ -0,0 +1,68 @@
+set current_folder [file dirname [file normalize [info script]]]
+# Technology lib
+
+#ifdef EF_FORMAT
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hdll__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hdll__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hdll__ss_100C_1v60.lib"
+#else (!EF_FORMAT)
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hdll__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hdll__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hdll__ss_100C_1v60.lib"
+#endif (!EF_FORMAT)
+
+
+set ::env(LIB_TYPICAL) $::env(LIB_SYNTH)
+
+# Placement site for core cells
+# This can be found in the technology lef
+set ::env(PLACE_SITE) "unithd"
+set ::env(PLACE_SITE_WIDTH) 0.460
+set ::env(PLACE_SITE_HEIGHT) 2.720
+
+
+
+# welltap and endcap cells
+#set ::env(FP_WELLTAP_CELL) "sky130_fd_sc_hd__tapvpwrvgnd_1"
+set ::env(FP_ENDCAP_CELL) "sky130_fd_sc_hdll__decap_3"
+
+# defaults (can be overridden by designs):
+set ::env(SYNTH_DRIVING_CELL) "sky130_fd_sc_hdll__inv_8"
+#capacitance : 0.017653;
+set ::env(SYNTH_DRIVING_CELL_PIN) "Y"
+# update these
+set ::env(SYNTH_CAP_LOAD) "17.895" ; # femtofarad _inv_8 pin A cap
+set ::env(SYNTH_MIN_BUF_PORT) "sky130_fd_sc_hdll__buf_2 A X"
+set ::env(SYNTH_TIEHI_PORT) "sky130_fd_sc_hdll__conb_1 HI"
+set ::env(SYNTH_TIELO_PORT) "sky130_fd_sc_hdll__conb_1 LO"
+
+# cts defaults
+set ::env(CTS_ROOT_BUFFER) sky130_fd_sc_hdll__clkbuf_16
+set ::env(CELL_CLK_PORT) CLK
+
+# Placement defaults
+set ::env(PL_LIB) $::env(LIB_TYPICAL)
+
+# Fillcell insertion
+set ::env(FILL_CELL) "sky130_fd_sc_hdll__fill_"
+set ::env(DECAP_CELL) "sky130_fd_sc_hdll__decap_"
+set ::env(RE_BUFFER_CELL) "sky130_fd_sc_hdll__buf_4"
+
+
+# Diode insertaion
+set ::env(DIODE_CELL) "sky130_fd_sc_hdll__diode_2"
+set ::env(FAKEDIODE_CELL) "sky130_fd_sc_hdll__fakediode_2"
+set ::env(DIODE_CELL_PIN) "DIODE"
+
+set ::env(CELL_PAD) 8
+set ::env(CELL_PAD_EXECLUDE) "$::env(PDK_VARIANT)__tap* $::env(PDK_VARIANT)__decap* $::env(PDK_VARIANT)__fill*"
+
+# Clk Buffers info CTS data
+set ::env(ROOT_CLK_BUFFER) $::env(PDK_VARIANT)__clkbuf_16
+set ::env(CLK_BUFFER) $::env(PDK_VARIANT)__clkbuf_4
+set ::env(CLK_BUFFER_INPUT) A
+set ::env(CLK_BUFFER_OUTPUT) X
+set ::env(CTS_CLK_BUFFER_LIST) "sky130_fd_sc_hdll__clkbuf_1 sky130_fd_sc_hdll__clkbuf_2 sky130_fd_sc_hdll__clkbuf_4 sky130_fd_sc_hdll__clkbuf_8"
+set ::env(CTS_SQR_CAP) 0.258e-3
+set ::env(CTS_SQR_RES) 0.125
+set ::env(CTS_MAX_CAP) 1.53169
diff --git a/sky130/openlane/sky130_fd_sc_hdll/no_synth.cells b/sky130/openlane/sky130_fd_sc_hdll/no_synth.cells
new file mode 100644
index 0000000..b3fd884
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hdll/no_synth.cells
@@ -0,0 +1,430 @@
+sky130_fd_sc_hdll__clkbuf_6
+sky130_fd_sc_hdll__clkbuf_12
+sky130_fd_sc_hdll__inputiso0n_1
+sky130_fd_sc_hdll__inputiso1p_1
+sky130_fd_sc_hdll__clkinv_12
+sky130_fd_sc_hdll__muxb16to1_4
+sky130_fd_sc_hdll__probe_p_8
+sky130_fd_sc_hdll__probec_p_8
+sky130_fd_sc_hdll__dfstp_2
+sky130_fd_sc_hdll__xor3_4
+sky130_fd_sc_hdll__or2b_2
+sky130_fd_sc_hdll__xnor3_2
+sky130_fd_sc_hdll__sdfbbn_2
+sky130_fd_sc_hdll__sdfxtp_2
+sky130_fd_sc_hdll__dfxtp_2
+sky130_fd_sc_hdll__xor2_2
+sky130_fd_sc_hdll__o311ai_2
+sky130_fd_sc_hdll__nand2_2
+sky130_fd_sc_hdll__sdfrtp_2
+sky130_fd_sc_hdll__and4_2
+sky130_fd_sc_hdll__dfsbp_2
+sky130_fd_sc_hdll__or4_2
+sky130_fd_sc_hdll__inv_2
+sky130_fd_sc_hdll__dlymetal6s4s_1
+sky130_fd_sc_hdll__o31ai_2
+sky130_fd_sc_hdll__bufbuf_16
+sky130_fd_sc_hdll__dlygate4sd3_1
+sky130_fd_sc_hdll__o22ai_2
+sky130_fd_sc_hdll__o32ai_2
+sky130_fd_sc_hdll__and3_2
+sky130_fd_sc_hdll__o2111ai_2
+sky130_fd_sc_hdll__dlrbp_2
+sky130_fd_sc_hdll__and4bb_2
+sky130_fd_sc_hdll__nand3b_2
+sky130_fd_sc_hdll__buf_6
+sky130_fd_sc_hdll__and4b_2
+sky130_fd_sc_hdll__a2bb2oi_2
+sky130_fd_sc_hdll__buf_12
+sky130_fd_sc_hdll__and2_2
+sky130_fd_sc_hdll__dlxbn_2
+sky130_fd_sc_hdll__dlrtp_2
+sky130_fd_sc_hdll__xor3_1
+sky130_fd_sc_hdll__a21oi_2
+sky130_fd_sc_hdll__inv_12
+sky130_fd_sc_hdll__o21ai_2
+sky130_fd_sc_hdll__a311oi_2
+sky130_fd_sc_hdll__o21bai_2
+sky130_fd_sc_hdll__nand3_2
+sky130_fd_sc_hdll__dlygate4sd2_1
+sky130_fd_sc_hdll__o211ai_2
+sky130_fd_sc_hdll__or4b_2
+sky130_fd_sc_hdll__and3b_2
+sky130_fd_sc_hdll__or4bb_2
+sky130_fd_sc_hdll__sdfrbp_2
+sky130_fd_sc_hdll__o2bb2ai_2
+sky130_fd_sc_hdll__bufinv_16
+sky130_fd_sc_hdll__xor3_2
+sky130_fd_sc_hdll__o41ai_2
+sky130_fd_sc_hdll__or3b_2
+sky130_fd_sc_hdll__or2_2
+sky130_fd_sc_hdll__dfrtp_2
+sky130_fd_sc_hdll__bufbuf_8
+sky130_fd_sc_hdll__bufinv_8
+sky130_fd_sc_hdll__buf_2
+sky130_fd_sc_hdll__inv_6
+sky130_fd_sc_hdll__xnor3_4
+sky130_fd_sc_hdll__and2b_2
+sky130_fd_sc_hdll__a2111oi_2
+sky130_fd_sc_hdll__xnor3_1
+sky130_fd_sc_hdll__dlymetal6s6s_1
+sky130_fd_sc_hdll__o221ai_2
+sky130_fd_sc_hdll__sdfstp_2
+sky130_fd_sc_hdll__a31oi_2
+sky130_fd_sc_hdll__a211oi_2
+sky130_fd_sc_hdll__nand2b_2
+sky130_fd_sc_hdll__a22oi_2
+sky130_fd_sc_hdll__dlymetal6s2s_1
+sky130_fd_sc_hdll__dlxtn_2
+sky130_fd_sc_hdll__a21boi_2
+sky130_fd_sc_hdll__dlrtn_2
+sky130_fd_sc_hdll__a221oi_2
+sky130_fd_sc_hdll__or3_2
+sky130_fd_sc_hdll__sdfsbp_2
+sky130_fd_sc_hdll__xnor2_2
+sky130_fd_sc_hdll__sdfxbp_2
+sky130_fd_sc_hdll__clkbuf_1
+sky130_fd_sc_hdll__clkbuf_2
+sky130_fd_sc_hdll__clkbuf_4
+sky130_fd_sc_hdll__clkbuf_8
+sky130_fd_sc_hdll__clkbuf_16
+sky130_fd_sc_hdll__o22a_1
+sky130_fd_sc_hdll__o22ai_1
+sky130_fd_sc_hdll__o21a_1
+sky130_fd_sc_hdll__o21ai_1
+sky130_fd_sc_hdll__a211o_1
+sky130_fd_sc_hdll__a211oi_2
+sky130_fd_sc_hdll__a21oi_2
+sky130_fd_sc_hdll__a22oi_2
+sky130_fd_sc_hdll__a311oi_2
+sky130_fd_sc_hdll__and2_2
+sky130_fd_sc_hdll__and3_2
+sky130_fd_sc_hdll__and4_2
+sky130_fd_sc_hdll__and4bb_2
+sky130_fd_sc_hdll__buf_6
+sky130_fd_sc_hdll__bufbuf_8
+sky130_fd_sc_hdll__bufinv_8
+sky130_fd_sc_hdll__clkbuf_16
+sky130_fd_sc_hdll__clkbuf_4
+sky130_fd_sc_hdll__dfrtp_2
+sky130_fd_sc_hdll__dfstp_2
+sky130_fd_sc_hdll__dlrbp_2
+sky130_fd_sc_hdll__dlrtp_2
+sky130_fd_sc_hdll__dlxtn_2
+sky130_fd_sc_hdll__dlygate4sd3_1
+sky130_fd_sc_hdll__dlymetal6s4s_1
+sky130_fd_sc_hdll__inv_12
+sky130_fd_sc_hdll__inv_6
+sky130_fd_sc_hdll__nand2b_2
+sky130_fd_sc_hdll__nand3b_2
+sky130_fd_sc_hdll__o211ai_2
+sky130_fd_sc_hdll__o21ai_1
+sky130_fd_sc_hdll__o21bai_2
+sky130_fd_sc_hdll__o22a_1
+sky130_fd_sc_hdll__o22ai_2
+sky130_fd_sc_hdll__o311ai_2
+sky130_fd_sc_hdll__o32ai_2
+sky130_fd_sc_hdll__or2_2
+sky130_fd_sc_hdll__or3_2
+sky130_fd_sc_hdll__or4_2
+sky130_fd_sc_hdll__or4bb_2
+sky130_fd_sc_hdll__sdfrbp_2
+sky130_fd_sc_hdll__sdfsbp_2
+sky130_fd_sc_hdll__sdfxbp_2
+sky130_fd_sc_hdll__xnor2_2
+sky130_fd_sc_hdll__xnor3_2
+sky130_fd_sc_hdll__xor2_2
+sky130_fd_sc_hdll__xor3_2
+sky130_fd_sc_hdll__buf_12
+sky130_fd_sc_hdll__a2111o_1
+sky130_fd_sc_hdll__a2111o_2
+sky130_fd_sc_hdll__a2111oi_0
+sky130_fd_sc_hdll__a2111oi_1
+sky130_fd_sc_hdll__a211o_2
+sky130_fd_sc_hdll__a211oi_1
+sky130_fd_sc_hdll__a211oi_4
+sky130_fd_sc_hdll__a21bo_1
+sky130_fd_sc_hdll__a21bo_2
+sky130_fd_sc_hdll__a21boi_0
+sky130_fd_sc_hdll__a21boi_1
+sky130_fd_sc_hdll__a21o_1
+sky130_fd_sc_hdll__a21o_2
+sky130_fd_sc_hdll__a21oi_1
+sky130_fd_sc_hdll__a221o_1
+sky130_fd_sc_hdll__a221o_2
+sky130_fd_sc_hdll__a221o_4
+sky130_fd_sc_hdll__a221oi_1
+sky130_fd_sc_hdll__a221oi_4
+sky130_fd_sc_hdll__a222oi_1
+sky130_fd_sc_hdll__a22o_1
+sky130_fd_sc_hdll__a22o_2
+sky130_fd_sc_hdll__a22o_4
+sky130_fd_sc_hdll__a22oi_1
+sky130_fd_sc_hdll__a2bb2o_1
+sky130_fd_sc_hdll__a2bb2o_2
+sky130_fd_sc_hdll__a2bb2oi_1
+sky130_fd_sc_hdll__a311o_1
+sky130_fd_sc_hdll__a311o_2
+sky130_fd_sc_hdll__a311o_4
+sky130_fd_sc_hdll__a311oi_1
+sky130_fd_sc_hdll__a311oi_4
+sky130_fd_sc_hdll__a31o_1
+sky130_fd_sc_hdll__a31o_2
+sky130_fd_sc_hdll__a31o_4
+sky130_fd_sc_hdll__a31oi_1
+sky130_fd_sc_hdll__a31oi_4
+sky130_fd_sc_hdll__a32o_1
+sky130_fd_sc_hdll__a32o_2
+sky130_fd_sc_hdll__a32oi_1
+sky130_fd_sc_hdll__a32oi_2
+sky130_fd_sc_hdll__a41o_1
+sky130_fd_sc_hdll__a41o_2
+sky130_fd_sc_hdll__a41oi_1
+sky130_fd_sc_hdll__a41oi_2
+sky130_fd_sc_hdll__and2_0
+sky130_fd_sc_hdll__and2_1
+sky130_fd_sc_hdll__and2b_1
+sky130_fd_sc_hdll__and2b_4
+sky130_fd_sc_hdll__and3_1
+sky130_fd_sc_hdll__and3b_1
+sky130_fd_sc_hdll__and3b_4
+sky130_fd_sc_hdll__and4_1
+sky130_fd_sc_hdll__and4b_1
+sky130_fd_sc_hdll__and4b_4
+sky130_fd_sc_hdll__and4bb_1
+sky130_fd_sc_hdll__and4bb_4
+sky130_fd_sc_hdll__clkdlybuf4s15_1
+sky130_fd_sc_hdll__clkdlybuf4s15_2
+sky130_fd_sc_hdll__clkdlybuf4s18_1
+sky130_fd_sc_hdll__clkdlybuf4s18_2
+sky130_fd_sc_hdll__clkdlybuf4s25_1
+sky130_fd_sc_hdll__clkdlybuf4s25_2
+sky130_fd_sc_hdll__clkdlybuf4s50_1
+sky130_fd_sc_hdll__clkdlybuf4s50_2
+sky130_fd_sc_hdll__clkinv_1
+sky130_fd_sc_hdll__clkinv_16
+sky130_fd_sc_hdll__clkinv_2
+sky130_fd_sc_hdll__clkinv_4
+sky130_fd_sc_hdll__clkinv_8
+sky130_fd_sc_hdll__clkinvlp_2
+sky130_fd_sc_hdll__clkinvlp_4
+sky130_fd_sc_hdll__decap_12
+sky130_fd_sc_hdll__decap_3
+sky130_fd_sc_hdll__decap_4
+sky130_fd_sc_hdll__decap_6
+sky130_fd_sc_hdll__decap_8
+sky130_fd_sc_hdll__dfbbn_1
+sky130_fd_sc_hdll__dfbbp_1
+sky130_fd_sc_hdll__dfrbp_1
+sky130_fd_sc_hdll__dfrtn_1
+sky130_fd_sc_hdll__dfrtp_1
+sky130_fd_sc_hdll__dfsbp_1
+sky130_fd_sc_hdll__dfstp_1
+sky130_fd_sc_hdll__dfxbp_1
+sky130_fd_sc_hdll__dfxtp_1
+sky130_fd_sc_hdll__diode_2
+sky130_fd_sc_hdll__dlclkp_1
+sky130_fd_sc_hdll__dlclkp_2
+sky130_fd_sc_hdll__dlclkp_4
+sky130_fd_sc_hdll__dlrbn_1
+sky130_fd_sc_hdll__dlrbn_2
+sky130_fd_sc_hdll__dlrbp_1
+sky130_fd_sc_hdll__dlrtn_1
+sky130_fd_sc_hdll__dlrtn_4
+sky130_fd_sc_hdll__dlrtp_1
+sky130_fd_sc_hdll__dlrtp_4
+sky130_fd_sc_hdll__dlxbn_1
+sky130_fd_sc_hdll__dlxbp_1
+sky130_fd_sc_hdll__dlxtn_1
+sky130_fd_sc_hdll__dlxtn_4
+sky130_fd_sc_hdll__dlxtp_1
+sky130_fd_sc_hdll__dlygate4sd1_1
+sky130_fd_sc_hdll__ebufn_1
+sky130_fd_sc_hdll__ebufn_2
+sky130_fd_sc_hdll__ebufn_4
+sky130_fd_sc_hdll__ebufn_8
+sky130_fd_sc_hdll__edfxbp_1
+sky130_fd_sc_hdll__edfxtp_1
+sky130_fd_sc_hdll__einvn_0
+sky130_fd_sc_hdll__einvn_1
+sky130_fd_sc_hdll__einvn_2
+sky130_fd_sc_hdll__einvn_4
+sky130_fd_sc_hdll__einvn_8
+sky130_fd_sc_hdll__einvp_1
+sky130_fd_sc_hdll__einvp_2
+sky130_fd_sc_hdll__einvp_4
+sky130_fd_sc_hdll__einvp_8
+sky130_fd_sc_hdll__fa_1
+sky130_fd_sc_hdll__fa_2
+sky130_fd_sc_hdll__fa_4
+sky130_fd_sc_hdll__fah_1
+sky130_fd_sc_hdll__fahcin_1
+sky130_fd_sc_hdll__fahcon_1
+sky130_fd_sc_hdll__ha_1
+sky130_fd_sc_hdll__ha_2
+sky130_fd_sc_hdll__ha_4
+sky130_fd_sc_hdll__inv_1
+sky130_fd_sc_hdll__inv_4
+sky130_fd_sc_hdll__lpflow_bleeder_1
+sky130_fd_sc_hdll__lpflow_clkbufkapwr_1
+sky130_fd_sc_hdll__lpflow_clkbufkapwr_16
+sky130_fd_sc_hdll__lpflow_clkbufkapwr_2
+sky130_fd_sc_hdll__lpflow_clkbufkapwr_4
+sky130_fd_sc_hdll__lpflow_clkbufkapwr_8
+sky130_fd_sc_hdll__lpflow_clkinvkapwr_1
+sky130_fd_sc_hdll__lpflow_clkinvkapwr_16
+sky130_fd_sc_hdll__lpflow_clkinvkapwr_2
+sky130_fd_sc_hdll__lpflow_clkinvkapwr_4
+sky130_fd_sc_hdll__lpflow_clkinvkapwr_8
+sky130_fd_sc_hdll__lpflow_decapkapwr_12
+sky130_fd_sc_hdll__lpflow_decapkapwr_3
+sky130_fd_sc_hdll__lpflow_decapkapwr_4
+sky130_fd_sc_hdll__lpflow_decapkapwr_6
+sky130_fd_sc_hdll__lpflow_decapkapwr_8
+sky130_fd_sc_hdll__lpflow_inputiso0n_1
+sky130_fd_sc_hdll__lpflow_inputiso0p_1
+sky130_fd_sc_hdll__lpflow_inputiso1n_1
+sky130_fd_sc_hdll__lpflow_inputiso1p_1
+sky130_fd_sc_hdll__lpflow_inputisolatch_1
+sky130_fd_sc_hdll__lpflow_isobufsrc_1
+sky130_fd_sc_hdll__lpflow_isobufsrc_16
+sky130_fd_sc_hdll__lpflow_isobufsrc_2
+sky130_fd_sc_hdll__lpflow_isobufsrc_4
+sky130_fd_sc_hdll__lpflow_isobufsrc_8
+sky130_fd_sc_hdll__lpflow_isobufsrckapwr_16
+sky130_fd_sc_hdll__lpflow_lsbuf_lh_isowell_4
+sky130_fd_sc_hdll__lpflow_lsbuf_lh_isowell_tap_1
+sky130_fd_sc_hdll__lpflow_lsbuf_lh_isowell_tap_2
+sky130_fd_sc_hdll__lpflow_lsbuf_lh_isowell_tap_4
+sky130_fd_sc_hdll__macro_sparecell
+sky130_fd_sc_hdll__maj3_1
+sky130_fd_sc_hdll__maj3_2
+sky130_fd_sc_hdll__mux2_1
+sky130_fd_sc_hdll__mux2_2
+sky130_fd_sc_hdll__mux2_4
+sky130_fd_sc_hdll__mux2_8
+sky130_fd_sc_hdll__mux2i_1
+sky130_fd_sc_hdll__mux2i_2
+sky130_fd_sc_hdll__mux2i_4
+sky130_fd_sc_hdll__mux4_1
+sky130_fd_sc_hdll__mux4_2
+sky130_fd_sc_hdll__nand2_1
+sky130_fd_sc_hdll__nand2_8
+sky130_fd_sc_hdll__nand2b_1
+sky130_fd_sc_hdll__nand2b_4
+sky130_fd_sc_hdll__nand3_1
+sky130_fd_sc_hdll__nand3b_1
+sky130_fd_sc_hdll__nand3b_4
+sky130_fd_sc_hdll__nand4_1
+sky130_fd_sc_hdll__nand4_2
+sky130_fd_sc_hdll__nand4b_1
+sky130_fd_sc_hdll__nand4b_2
+sky130_fd_sc_hdll__nand4b_4
+sky130_fd_sc_hdll__nand4bb_1
+sky130_fd_sc_hdll__nand4bb_2
+sky130_fd_sc_hdll__nand4bb_4
+sky130_fd_sc_hdll__nor2_1
+sky130_fd_sc_hdll__nor2_2
+sky130_fd_sc_hdll__nor2_8
+sky130_fd_sc_hdll__nor2b_1
+sky130_fd_sc_hdll__nor2b_2
+sky130_fd_sc_hdll__nor2b_4
+sky130_fd_sc_hdll__nor3_1
+sky130_fd_sc_hdll__nor3_2
+sky130_fd_sc_hdll__nor3b_1
+sky130_fd_sc_hdll__nor3b_2
+sky130_fd_sc_hdll__nor3b_4
+sky130_fd_sc_hdll__nor4_1
+sky130_fd_sc_hdll__nor4_2
+sky130_fd_sc_hdll__nor4b_1
+sky130_fd_sc_hdll__nor4b_2
+sky130_fd_sc_hdll__nor4b_4
+sky130_fd_sc_hdll__nor4bb_1
+sky130_fd_sc_hdll__nor4bb_2
+sky130_fd_sc_hdll__nor4bb_4
+sky130_fd_sc_hdll__o2111a_1
+sky130_fd_sc_hdll__o2111a_2
+sky130_fd_sc_hdll__o2111a_4
+sky130_fd_sc_hdll__o2111ai_1
+sky130_fd_sc_hdll__o2111ai_4
+sky130_fd_sc_hdll__o211a_1
+sky130_fd_sc_hdll__o211a_2
+sky130_fd_sc_hdll__o211a_4
+sky130_fd_sc_hdll__o211ai_1
+sky130_fd_sc_hdll__o211ai_4
+sky130_fd_sc_hdll__o21a_2
+sky130_fd_sc_hdll__o21ai_0
+sky130_fd_sc_hdll__o21ba_1
+sky130_fd_sc_hdll__o21ba_2
+sky130_fd_sc_hdll__o21ba_4
+sky130_fd_sc_hdll__o21bai_1
+sky130_fd_sc_hdll__o21bai_4
+sky130_fd_sc_hdll__o221a_1
+sky130_fd_sc_hdll__o221a_2
+sky130_fd_sc_hdll__o221a_4
+sky130_fd_sc_hdll__o221ai_1
+sky130_fd_sc_hdll__o221ai_4
+sky130_fd_sc_hdll__o22a_2
+sky130_fd_sc_hdll__o22ai_4
+sky130_fd_sc_hdll__o2bb2a_1
+sky130_fd_sc_hdll__o2bb2a_2
+sky130_fd_sc_hdll__o2bb2a_4
+sky130_fd_sc_hdll__o2bb2ai_1
+sky130_fd_sc_hdll__o2bb2ai_4
+sky130_fd_sc_hdll__o311a_1
+sky130_fd_sc_hdll__o311a_2
+sky130_fd_sc_hdll__o311a_4
+sky130_fd_sc_hdll__o311ai_0
+sky130_fd_sc_hdll__o311ai_1
+sky130_fd_sc_hdll__o311ai_4
+sky130_fd_sc_hdll__o31a_1
+sky130_fd_sc_hdll__o31a_2
+sky130_fd_sc_hdll__o31a_4
+sky130_fd_sc_hdll__o31ai_1
+sky130_fd_sc_hdll__o31ai_4
+sky130_fd_sc_hdll__o32a_1
+sky130_fd_sc_hdll__o32a_2
+sky130_fd_sc_hdll__o32ai_1
+sky130_fd_sc_hdll__o41a_1
+sky130_fd_sc_hdll__o41a_2
+sky130_fd_sc_hdll__o41ai_1
+sky130_fd_sc_hdll__or2_0
+sky130_fd_sc_hdll__or2_1
+sky130_fd_sc_hdll__or2b_1
+sky130_fd_sc_hdll__or2b_4
+sky130_fd_sc_hdll__or3_1
+sky130_fd_sc_hdll__or3b_1
+sky130_fd_sc_hdll__or3b_4
+sky130_fd_sc_hdll__or4_1
+sky130_fd_sc_hdll__or4b_1
+sky130_fd_sc_hdll__or4b_4
+sky130_fd_sc_hdll__or4bb_1
+sky130_fd_sc_hdll__or4bb_4
+sky130_fd_sc_hdll__probe_s8p_8
+sky130_fd_sc_hdll__probec_s8p_8
+sky130_fd_sc_hdll__sdfbbn_1
+sky130_fd_sc_hdll__sdfbbp_1
+sky130_fd_sc_hdll__sdfrbp_1
+sky130_fd_sc_hdll__sdfrtn_1
+sky130_fd_sc_hdll__sdfrtp_1
+sky130_fd_sc_hdll__sdfrtp_4
+sky130_fd_sc_hdll__sdfsbp_1
+sky130_fd_sc_hdll__sdfstp_1
+sky130_fd_sc_hdll__sdfstp_4
+sky130_fd_sc_hdll__sdfxbp_1
+sky130_fd_sc_hdll__sdfxtp_1
+sky130_fd_sc_hdll__sdfxtp_4
+sky130_fd_sc_hdll__sdlclkp_1
+sky130_fd_sc_hdll__sdlclkp_2
+sky130_fd_sc_hdll__sdlclkp_4
+sky130_fd_sc_hdll__sedfxbp_1
+sky130_fd_sc_hdll__sedfxbp_2
+sky130_fd_sc_hdll__sedfxtp_1
+sky130_fd_sc_hdll__sedfxtp_2
+sky130_fd_sc_hdll__sedfxtp_4
+sky130_fd_sc_hdll__xnor2_1
+sky130_fd_sc_hdll__xor2_1
+sky130_fd_sc_hdll__buf_16
+sky130_fd_sc_hdll__lpflow_lsbuf_lh_hl_isowell_tap_1
+sky130_fd_sc_hdll__lpflow_lsbuf_lh_hl_isowell_tap_2
+sky130_fd_sc_hdll__lpflow_lsbuf_lh_hl_isowell_tap_4
diff --git a/sky130/openlane/sky130_fd_sc_hdll/tracks.info b/sky130/openlane/sky130_fd_sc_hdll/tracks.info
new file mode 100644
index 0000000..948dbd2
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hdll/tracks.info
@@ -0,0 +1,12 @@
+li1 X 0.23 0.46
+li1 Y 0.17 0.34
+met1 X 0.17 0.34
+met1 Y 0.17 0.34
+met2 X 0.23 0.46
+met2 Y 0.23 0.46
+met3 X 0.34 0.68
+met3 Y 0.34 0.68
+met4 X 0.46 0.92
+met4 Y 0.46 0.92
+met5 X 1.70 3.40
+met5 Y 1.70 3.40
diff --git a/sky130/openlane/sky130_fd_sc_hs/config.tcl b/sky130/openlane/sky130_fd_sc_hs/config.tcl
index 2f28bf7..eed0033 100755
--- a/sky130/openlane/sky130_fd_sc_hs/config.tcl
+++ b/sky130/openlane/sky130_fd_sc_hs/config.tcl
@@ -1,16 +1,18 @@
 set current_folder [file dirname [file normalize [info script]]]
 # Technology lib
 
-set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/TECHNAME/libs.ref/sky130_fd_sc_hs/lib/sky130_fd_sc_hs__tt_025C_1v80.lib"
-set ::env(LIB_MAX) "$::env(PDK_ROOT)/TECHNAME/libs.ref/sky130_fd_sc_hs/lib/sky130_fd_sc_hs__ff_n40C_1v95.lib"
-set ::env(LIB_MIN) "$::env(PDK_ROOT)/TECHNAME/libs.ref/sky130_fd_sc_hs/lib/sky130_fd_sc_hs__ss_100C_1v60.lib"
+#ifdef EF_FORMAT
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hs__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hs__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hs__ss_100C_1v60.lib"
+#else (!EF_FORMAT)
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hs__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hs__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hs__ss_100C_1v60.lib"
+#endif (!EF_FORMAT)
 
 set ::env(LIB_TYPICAL) $::env(LIB_SYNTH)
 
-#tracks info
-set ::env(TRACKS_INFO_FILE) "$::env(PDK_ROOT)/TECHNAME/libs.tech/openlane/sky130_fd_sc_hs/tracks.info"
-
-
 # Placement site for core cells
 # This can be found in the technology lef
 set ::env(PLACE_SITE) "unit"
@@ -44,8 +46,10 @@
 set ::env(DECAP_CELL) "sky130_fd_sc_hs__decap_"
 
 # Diode insertaion
-set ::env(DIODE_CELL) "sky130_fd_sc_hs__diode_2"
-set ::env(DIODE_CELL_PIN) "DIODE"
+set ::env(DIODE_CELL) ""
+set ::env(FAKEDIODE_CELL) ""
+set ::env(DIODE_CELL_PIN) ""
+set ::env(DIODE_INSERTION_STRATEGY) 0
 
 set ::env(CELL_PAD) 8
 set ::env(CELL_PAD_EXECLUDE) "sky130_fd_sc_hs__tap* sky130_fd_sc_hs__decap* sky130_fd_sc_hs__fill*"
@@ -54,3 +58,7 @@
 set ::env(CLK_BUFFER) sky130_fd_sc_hs__clkbuf_4
 set ::env(CLK_BUFFER_INPUT) A
 set ::env(CLK_BUFFER_OUTPUT) X
+set ::env(CTS_CLK_BUFFER_LIST) "sky130_fd_sc_hs__clkbuf_2 sky130_fd_sc_hs__clkbuf_4 sky130_fd_sc_hs__clkbuf_8"
+set ::env(CTS_SQR_CAP) 0.469e-3
+set ::env(CTS_SQR_RES) 0.125
+set ::env(CTS_MAX_CAP) 1.8894300000
diff --git a/sky130/openlane/sky130_fd_sc_hs/no_synth.cells b/sky130/openlane/sky130_fd_sc_hs/no_synth.cells
index e69de29..61dccae 100644
--- a/sky130/openlane/sky130_fd_sc_hs/no_synth.cells
+++ b/sky130/openlane/sky130_fd_sc_hs/no_synth.cells
@@ -0,0 +1,428 @@
+sky130_fd_sc_hs__nand4bb_1
+sky130_fd_sc_hs__clkdlyinv3sd3_1
+sky130_fd_sc_hs__clkdlyinv3sd1_1
+sky130_fd_sc_hs__clkdlyinv3sd2_1
+sky130_fd_sc_hs__probe_p_8
+sky130_fd_sc_hs__probec_p_8
+sky130_fd_sc_hs__dfstp_2
+sky130_fd_sc_hs__xor3_4
+sky130_fd_sc_hs__or2b_2
+sky130_fd_sc_hs__xnor3_2
+sky130_fd_sc_hs__sdfbbn_2
+sky130_fd_sc_hs__sdfxtp_2
+sky130_fd_sc_hs__dfxtp_2
+sky130_fd_sc_hs__xor2_2
+sky130_fd_sc_hs__o311ai_2
+sky130_fd_sc_hs__nand2_2
+sky130_fd_sc_hs__sdfrtp_2
+sky130_fd_sc_hs__and4_2
+sky130_fd_sc_hs__dfsbp_2
+sky130_fd_sc_hs__or4_2
+sky130_fd_sc_hs__inv_2
+sky130_fd_sc_hs__dlymetal6s4s_1
+sky130_fd_sc_hs__o31ai_2
+sky130_fd_sc_hs__bufbuf_16
+sky130_fd_sc_hs__dlygate4sd3_1
+sky130_fd_sc_hs__o22ai_2
+sky130_fd_sc_hs__o32ai_2
+sky130_fd_sc_hs__and3_2
+sky130_fd_sc_hs__o2111ai_2
+sky130_fd_sc_hs__dlrbp_2
+sky130_fd_sc_hs__and4bb_2
+sky130_fd_sc_hs__nand3b_2
+sky130_fd_sc_hs__buf_6
+sky130_fd_sc_hs__and4b_2
+sky130_fd_sc_hs__a2bb2oi_2
+sky130_fd_sc_hs__buf_12
+sky130_fd_sc_hs__and2_2
+sky130_fd_sc_hs__dlxbn_2
+sky130_fd_sc_hs__dlrtp_2
+sky130_fd_sc_hs__xor3_1
+sky130_fd_sc_hs__a21oi_2
+sky130_fd_sc_hs__inv_12
+sky130_fd_sc_hs__o21ai_2
+sky130_fd_sc_hs__a311oi_2
+sky130_fd_sc_hs__o21bai_2
+sky130_fd_sc_hs__nand3_2
+sky130_fd_sc_hs__dlygate4sd2_1
+sky130_fd_sc_hs__o211ai_2
+sky130_fd_sc_hs__or4b_2
+sky130_fd_sc_hs__and3b_2
+sky130_fd_sc_hs__or4bb_2
+sky130_fd_sc_hs__sdfrbp_2
+sky130_fd_sc_hs__o2bb2ai_2
+sky130_fd_sc_hs__bufinv_16
+sky130_fd_sc_hs__xor3_2
+sky130_fd_sc_hs__o41ai_2
+sky130_fd_sc_hs__or3b_2
+sky130_fd_sc_hs__or2_2
+sky130_fd_sc_hs__dfrtp_2
+sky130_fd_sc_hs__bufbuf_8
+sky130_fd_sc_hs__bufinv_8
+sky130_fd_sc_hs__buf_2
+sky130_fd_sc_hs__inv_6
+sky130_fd_sc_hs__xnor3_4
+sky130_fd_sc_hs__and2b_2
+sky130_fd_sc_hs__a2111oi_2
+sky130_fd_sc_hs__xnor3_1
+sky130_fd_sc_hs__dlymetal6s6s_1
+sky130_fd_sc_hs__o221ai_2
+sky130_fd_sc_hs__sdfstp_2
+sky130_fd_sc_hs__a31oi_2
+sky130_fd_sc_hs__a211oi_2
+sky130_fd_sc_hs__nand2b_2
+sky130_fd_sc_hs__a22oi_2
+sky130_fd_sc_hs__dlymetal6s2s_1
+sky130_fd_sc_hs__dlxtn_2
+sky130_fd_sc_hs__a21boi_2
+sky130_fd_sc_hs__dlrtn_2
+sky130_fd_sc_hs__a221oi_2
+sky130_fd_sc_hs__or3_2
+sky130_fd_sc_hs__sdfsbp_2
+sky130_fd_sc_hs__xnor2_2
+sky130_fd_sc_hs__sdfxbp_2
+sky130_fd_sc_hs__clkbuf_1
+sky130_fd_sc_hs__clkbuf_2
+sky130_fd_sc_hs__clkbuf_4
+sky130_fd_sc_hs__clkbuf_8
+sky130_fd_sc_hs__clkbuf_16
+sky130_fd_sc_hs__o22a_1
+sky130_fd_sc_hs__o22ai_1
+sky130_fd_sc_hs__o21a_1
+sky130_fd_sc_hs__o21ai_1
+sky130_fd_sc_hs__a211o_1
+sky130_fd_sc_hs__a211oi_2
+sky130_fd_sc_hs__a21oi_2
+sky130_fd_sc_hs__a22oi_2
+sky130_fd_sc_hs__a311oi_2
+sky130_fd_sc_hs__and2_2
+sky130_fd_sc_hs__and3_2
+sky130_fd_sc_hs__and4_2
+sky130_fd_sc_hs__and4bb_2
+sky130_fd_sc_hs__buf_6
+sky130_fd_sc_hs__bufbuf_8
+sky130_fd_sc_hs__bufinv_8
+sky130_fd_sc_hs__clkbuf_16
+sky130_fd_sc_hs__clkbuf_4
+sky130_fd_sc_hs__dfrtp_2
+sky130_fd_sc_hs__dfstp_2
+sky130_fd_sc_hs__dlrbp_2
+sky130_fd_sc_hs__dlrtp_2
+sky130_fd_sc_hs__dlxtn_2
+sky130_fd_sc_hs__dlygate4sd3_1
+sky130_fd_sc_hs__dlymetal6s4s_1
+sky130_fd_sc_hs__inv_12
+sky130_fd_sc_hs__inv_6
+sky130_fd_sc_hs__nand2b_2
+sky130_fd_sc_hs__nand3b_2
+sky130_fd_sc_hs__o211ai_2
+sky130_fd_sc_hs__o21ai_1
+sky130_fd_sc_hs__o21bai_2
+sky130_fd_sc_hs__o22a_1
+sky130_fd_sc_hs__o22ai_2
+sky130_fd_sc_hs__o311ai_2
+sky130_fd_sc_hs__o32ai_2
+sky130_fd_sc_hs__or2_2
+sky130_fd_sc_hs__or3_2
+sky130_fd_sc_hs__or4_2
+sky130_fd_sc_hs__or4bb_2
+sky130_fd_sc_hs__sdfrbp_2
+sky130_fd_sc_hs__sdfsbp_2
+sky130_fd_sc_hs__sdfxbp_2
+sky130_fd_sc_hs__xnor2_2
+sky130_fd_sc_hs__xnor3_2
+sky130_fd_sc_hs__xor2_2
+sky130_fd_sc_hs__xor3_2
+sky130_fd_sc_hs__buf_12
+sky130_fd_sc_hs__a2111o_1
+sky130_fd_sc_hs__a2111o_2
+sky130_fd_sc_hs__a2111oi_0
+sky130_fd_sc_hs__a2111oi_1
+sky130_fd_sc_hs__a211o_2
+sky130_fd_sc_hs__a211oi_1
+sky130_fd_sc_hs__a211oi_4
+sky130_fd_sc_hs__a21bo_1
+sky130_fd_sc_hs__a21bo_2
+sky130_fd_sc_hs__a21boi_0
+sky130_fd_sc_hs__a21boi_1
+sky130_fd_sc_hs__a21o_1
+sky130_fd_sc_hs__a21o_2
+sky130_fd_sc_hs__a21oi_1
+sky130_fd_sc_hs__a221o_1
+sky130_fd_sc_hs__a221o_2
+sky130_fd_sc_hs__a221o_4
+sky130_fd_sc_hs__a221oi_1
+sky130_fd_sc_hs__a221oi_4
+sky130_fd_sc_hs__a222oi_1
+sky130_fd_sc_hs__a22o_1
+sky130_fd_sc_hs__a22o_2
+sky130_fd_sc_hs__a22o_4
+sky130_fd_sc_hs__a22oi_1
+sky130_fd_sc_hs__a2bb2o_1
+sky130_fd_sc_hs__a2bb2o_2
+sky130_fd_sc_hs__a2bb2oi_1
+sky130_fd_sc_hs__a311o_1
+sky130_fd_sc_hs__a311o_2
+sky130_fd_sc_hs__a311o_4
+sky130_fd_sc_hs__a311oi_1
+sky130_fd_sc_hs__a311oi_4
+sky130_fd_sc_hs__a31o_1
+sky130_fd_sc_hs__a31o_2
+sky130_fd_sc_hs__a31o_4
+sky130_fd_sc_hs__a31oi_1
+sky130_fd_sc_hs__a31oi_4
+sky130_fd_sc_hs__a32o_1
+sky130_fd_sc_hs__a32o_2
+sky130_fd_sc_hs__a32oi_1
+sky130_fd_sc_hs__a32oi_2
+sky130_fd_sc_hs__a41o_1
+sky130_fd_sc_hs__a41o_2
+sky130_fd_sc_hs__a41oi_1
+sky130_fd_sc_hs__a41oi_2
+sky130_fd_sc_hs__and2_0
+sky130_fd_sc_hs__and2_1
+sky130_fd_sc_hs__and2b_1
+sky130_fd_sc_hs__and2b_4
+sky130_fd_sc_hs__and3_1
+sky130_fd_sc_hs__and3b_1
+sky130_fd_sc_hs__and3b_4
+sky130_fd_sc_hs__and4_1
+sky130_fd_sc_hs__and4b_1
+sky130_fd_sc_hs__and4b_4
+sky130_fd_sc_hs__and4bb_1
+sky130_fd_sc_hs__and4bb_4
+sky130_fd_sc_hs__clkdlybuf4s15_1
+sky130_fd_sc_hs__clkdlybuf4s15_2
+sky130_fd_sc_hs__clkdlybuf4s18_1
+sky130_fd_sc_hs__clkdlybuf4s18_2
+sky130_fd_sc_hs__clkdlybuf4s25_1
+sky130_fd_sc_hs__clkdlybuf4s25_2
+sky130_fd_sc_hs__clkdlybuf4s50_1
+sky130_fd_sc_hs__clkdlybuf4s50_2
+sky130_fd_sc_hs__clkinv_1
+sky130_fd_sc_hs__clkinv_16
+sky130_fd_sc_hs__clkinv_2
+sky130_fd_sc_hs__clkinv_4
+sky130_fd_sc_hs__clkinv_8
+sky130_fd_sc_hs__clkinvlp_2
+sky130_fd_sc_hs__clkinvlp_4
+sky130_fd_sc_hs__decap_12
+sky130_fd_sc_hs__decap_3
+sky130_fd_sc_hs__decap_4
+sky130_fd_sc_hs__decap_6
+sky130_fd_sc_hs__decap_8
+sky130_fd_sc_hs__dfbbn_1
+sky130_fd_sc_hs__dfbbp_1
+sky130_fd_sc_hs__dfrbp_1
+sky130_fd_sc_hs__dfrtn_1
+sky130_fd_sc_hs__dfrtp_1
+sky130_fd_sc_hs__dfsbp_1
+sky130_fd_sc_hs__dfstp_1
+sky130_fd_sc_hs__dfxbp_1
+sky130_fd_sc_hs__dfxtp_1
+sky130_fd_sc_hs__diode_2
+sky130_fd_sc_hs__dlclkp_1
+sky130_fd_sc_hs__dlclkp_2
+sky130_fd_sc_hs__dlclkp_4
+sky130_fd_sc_hs__dlrbn_1
+sky130_fd_sc_hs__dlrbn_2
+sky130_fd_sc_hs__dlrbp_1
+sky130_fd_sc_hs__dlrtn_1
+sky130_fd_sc_hs__dlrtn_4
+sky130_fd_sc_hs__dlrtp_1
+sky130_fd_sc_hs__dlrtp_4
+sky130_fd_sc_hs__dlxbn_1
+sky130_fd_sc_hs__dlxbp_1
+sky130_fd_sc_hs__dlxtn_1
+sky130_fd_sc_hs__dlxtn_4
+sky130_fd_sc_hs__dlxtp_1
+sky130_fd_sc_hs__dlygate4sd1_1
+sky130_fd_sc_hs__ebufn_1
+sky130_fd_sc_hs__ebufn_2
+sky130_fd_sc_hs__ebufn_4
+sky130_fd_sc_hs__ebufn_8
+sky130_fd_sc_hs__edfxbp_1
+sky130_fd_sc_hs__edfxtp_1
+sky130_fd_sc_hs__einvn_0
+sky130_fd_sc_hs__einvn_1
+sky130_fd_sc_hs__einvn_2
+sky130_fd_sc_hs__einvn_4
+sky130_fd_sc_hs__einvn_8
+sky130_fd_sc_hs__einvp_1
+sky130_fd_sc_hs__einvp_2
+sky130_fd_sc_hs__einvp_4
+sky130_fd_sc_hs__einvp_8
+sky130_fd_sc_hs__fa_1
+sky130_fd_sc_hs__fa_2
+sky130_fd_sc_hs__fa_4
+sky130_fd_sc_hs__fah_1
+sky130_fd_sc_hs__fahcin_1
+sky130_fd_sc_hs__fahcon_1
+sky130_fd_sc_hs__ha_1
+sky130_fd_sc_hs__ha_2
+sky130_fd_sc_hs__ha_4
+sky130_fd_sc_hs__inv_1
+sky130_fd_sc_hs__inv_4
+sky130_fd_sc_hs__lpflow_bleeder_1
+sky130_fd_sc_hs__lpflow_clkbufkapwr_1
+sky130_fd_sc_hs__lpflow_clkbufkapwr_16
+sky130_fd_sc_hs__lpflow_clkbufkapwr_2
+sky130_fd_sc_hs__lpflow_clkbufkapwr_4
+sky130_fd_sc_hs__lpflow_clkbufkapwr_8
+sky130_fd_sc_hs__lpflow_clkinvkapwr_1
+sky130_fd_sc_hs__lpflow_clkinvkapwr_16
+sky130_fd_sc_hs__lpflow_clkinvkapwr_2
+sky130_fd_sc_hs__lpflow_clkinvkapwr_4
+sky130_fd_sc_hs__lpflow_clkinvkapwr_8
+sky130_fd_sc_hs__lpflow_decapkapwr_12
+sky130_fd_sc_hs__lpflow_decapkapwr_3
+sky130_fd_sc_hs__lpflow_decapkapwr_4
+sky130_fd_sc_hs__lpflow_decapkapwr_6
+sky130_fd_sc_hs__lpflow_decapkapwr_8
+sky130_fd_sc_hs__lpflow_inputiso0n_1
+sky130_fd_sc_hs__lpflow_inputiso0p_1
+sky130_fd_sc_hs__lpflow_inputiso1n_1
+sky130_fd_sc_hs__lpflow_inputiso1p_1
+sky130_fd_sc_hs__lpflow_inputisolatch_1
+sky130_fd_sc_hs__lpflow_isobufsrc_1
+sky130_fd_sc_hs__lpflow_isobufsrc_16
+sky130_fd_sc_hs__lpflow_isobufsrc_2
+sky130_fd_sc_hs__lpflow_isobufsrc_4
+sky130_fd_sc_hs__lpflow_isobufsrc_8
+sky130_fd_sc_hs__lpflow_isobufsrckapwr_16
+sky130_fd_sc_hs__lpflow_lsbuf_lh_isowell_4
+sky130_fd_sc_hs__lpflow_lsbuf_lh_isowell_tap_1
+sky130_fd_sc_hs__lpflow_lsbuf_lh_isowell_tap_2
+sky130_fd_sc_hs__lpflow_lsbuf_lh_isowell_tap_4
+sky130_fd_sc_hs__macro_sparecell
+sky130_fd_sc_hs__maj3_1
+sky130_fd_sc_hs__maj3_2
+sky130_fd_sc_hs__mux2_1
+sky130_fd_sc_hs__mux2_2
+sky130_fd_sc_hs__mux2_4
+sky130_fd_sc_hs__mux2_8
+sky130_fd_sc_hs__mux2i_1
+sky130_fd_sc_hs__mux2i_2
+sky130_fd_sc_hs__mux2i_4
+sky130_fd_sc_hs__mux4_1
+sky130_fd_sc_hs__mux4_2
+sky130_fd_sc_hs__nand2_1
+sky130_fd_sc_hs__nand2_8
+sky130_fd_sc_hs__nand2b_1
+sky130_fd_sc_hs__nand2b_4
+sky130_fd_sc_hs__nand3_1
+sky130_fd_sc_hs__nand3b_1
+sky130_fd_sc_hs__nand3b_4
+sky130_fd_sc_hs__nand4_1
+sky130_fd_sc_hs__nand4_2
+sky130_fd_sc_hs__nand4b_1
+sky130_fd_sc_hs__nand4b_2
+sky130_fd_sc_hs__nand4b_4
+sky130_fd_sc_hs__nand4bb_1
+sky130_fd_sc_hs__nand4bb_2
+sky130_fd_sc_hs__nand4bb_4
+sky130_fd_sc_hs__nor2_1
+sky130_fd_sc_hs__nor2_2
+sky130_fd_sc_hs__nor2_8
+sky130_fd_sc_hs__nor2b_1
+sky130_fd_sc_hs__nor2b_2
+sky130_fd_sc_hs__nor2b_4
+sky130_fd_sc_hs__nor3_1
+sky130_fd_sc_hs__nor3_2
+sky130_fd_sc_hs__nor3b_1
+sky130_fd_sc_hs__nor3b_2
+sky130_fd_sc_hs__nor3b_4
+sky130_fd_sc_hs__nor4_1
+sky130_fd_sc_hs__nor4_2
+sky130_fd_sc_hs__nor4b_1
+sky130_fd_sc_hs__nor4b_2
+sky130_fd_sc_hs__nor4b_4
+sky130_fd_sc_hs__nor4bb_1
+sky130_fd_sc_hs__nor4bb_2
+sky130_fd_sc_hs__nor4bb_4
+sky130_fd_sc_hs__o2111a_1
+sky130_fd_sc_hs__o2111a_2
+sky130_fd_sc_hs__o2111a_4
+sky130_fd_sc_hs__o2111ai_1
+sky130_fd_sc_hs__o2111ai_4
+sky130_fd_sc_hs__o211a_1
+sky130_fd_sc_hs__o211a_2
+sky130_fd_sc_hs__o211a_4
+sky130_fd_sc_hs__o211ai_1
+sky130_fd_sc_hs__o211ai_4
+sky130_fd_sc_hs__o21a_2
+sky130_fd_sc_hs__o21ai_0
+sky130_fd_sc_hs__o21ba_1
+sky130_fd_sc_hs__o21ba_2
+sky130_fd_sc_hs__o21ba_4
+sky130_fd_sc_hs__o21bai_1
+sky130_fd_sc_hs__o21bai_4
+sky130_fd_sc_hs__o221a_1
+sky130_fd_sc_hs__o221a_2
+sky130_fd_sc_hs__o221a_4
+sky130_fd_sc_hs__o221ai_1
+sky130_fd_sc_hs__o221ai_4
+sky130_fd_sc_hs__o22a_2
+sky130_fd_sc_hs__o22ai_4
+sky130_fd_sc_hs__o2bb2a_1
+sky130_fd_sc_hs__o2bb2a_2
+sky130_fd_sc_hs__o2bb2a_4
+sky130_fd_sc_hs__o2bb2ai_1
+sky130_fd_sc_hs__o2bb2ai_4
+sky130_fd_sc_hs__o311a_1
+sky130_fd_sc_hs__o311a_2
+sky130_fd_sc_hs__o311a_4
+sky130_fd_sc_hs__o311ai_0
+sky130_fd_sc_hs__o311ai_1
+sky130_fd_sc_hs__o311ai_4
+sky130_fd_sc_hs__o31a_1
+sky130_fd_sc_hs__o31a_2
+sky130_fd_sc_hs__o31a_4
+sky130_fd_sc_hs__o31ai_1
+sky130_fd_sc_hs__o31ai_4
+sky130_fd_sc_hs__o32a_1
+sky130_fd_sc_hs__o32a_2
+sky130_fd_sc_hs__o32ai_1
+sky130_fd_sc_hs__o41a_1
+sky130_fd_sc_hs__o41a_2
+sky130_fd_sc_hs__o41ai_1
+sky130_fd_sc_hs__or2_0
+sky130_fd_sc_hs__or2_1
+sky130_fd_sc_hs__or2b_1
+sky130_fd_sc_hs__or2b_4
+sky130_fd_sc_hs__or3_1
+sky130_fd_sc_hs__or3b_1
+sky130_fd_sc_hs__or3b_4
+sky130_fd_sc_hs__or4_1
+sky130_fd_sc_hs__or4b_1
+sky130_fd_sc_hs__or4b_4
+sky130_fd_sc_hs__or4bb_1
+sky130_fd_sc_hs__or4bb_4
+sky130_fd_sc_hs__probe_s8p_8
+sky130_fd_sc_hs__probec_s8p_8
+sky130_fd_sc_hs__sdfbbn_1
+sky130_fd_sc_hs__sdfbbp_1
+sky130_fd_sc_hs__sdfrbp_1
+sky130_fd_sc_hs__sdfrtn_1
+sky130_fd_sc_hs__sdfrtp_1
+sky130_fd_sc_hs__sdfrtp_4
+sky130_fd_sc_hs__sdfsbp_1
+sky130_fd_sc_hs__sdfstp_1
+sky130_fd_sc_hs__sdfstp_4
+sky130_fd_sc_hs__sdfxbp_1
+sky130_fd_sc_hs__sdfxtp_1
+sky130_fd_sc_hs__sdfxtp_4
+sky130_fd_sc_hs__sdlclkp_1
+sky130_fd_sc_hs__sdlclkp_2
+sky130_fd_sc_hs__sdlclkp_4
+sky130_fd_sc_hs__sedfxbp_1
+sky130_fd_sc_hs__sedfxbp_2
+sky130_fd_sc_hs__sedfxtp_1
+sky130_fd_sc_hs__sedfxtp_2
+sky130_fd_sc_hs__sedfxtp_4
+sky130_fd_sc_hs__xnor2_1
+sky130_fd_sc_hs__xor2_1
+sky130_fd_sc_hs__buf_16
+sky130_fd_sc_hs__lpflow_lsbuf_lh_hl_isowell_tap_1
+sky130_fd_sc_hs__lpflow_lsbuf_lh_hl_isowell_tap_2
+sky130_fd_sc_hs__lpflow_lsbuf_lh_hl_isowell_tap_4
diff --git a/sky130/openlane/sky130_fd_sc_hvl/config.tcl b/sky130/openlane/sky130_fd_sc_hvl/config.tcl
new file mode 100644
index 0000000..ffe1f48
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hvl/config.tcl
@@ -0,0 +1,61 @@
+set current_folder [file dirname [file normalize [info script]]]
+# Technology lib
+
+#ifdef EF_FORMAT
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hvl__tt_025C_3v30.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hvl__ff_n40C_5v50.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hvl__ss_150C_1v65.lib"
+#else (!EF_FORMAT)
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hvl__tt_025C_3v30.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hvl__ff_n40C_5v50.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_hvl__ss_150C_1v65.lib"
+#endif (!EF_FORMAT)
+
+
+
+set ::env(LIB_TYPICAL) $::env(LIB_SYNTH)
+
+
+
+# Placement site for core cells
+# This can be found in the technology lef
+set ::env(PLACE_SITE) "unithv"
+set ::env(PLACE_SITE_WIDTH) 0.480
+set ::env(PLACE_SITE_HEIGHT) 4.070
+
+# welltap and endcap cells
+#set ::env(FP_WELLTAP_CELL) ""
+set ::env(FP_ENDCAP_CELL) "sky130_fd_sc_hvl__decap_4"
+
+# defaults (can be overridden by designs):
+set ::env(SYNTH_DRIVING_CELL) "sky130_fd_sc_hvl_inv_16"
+#capacitance : 0.017653;
+set ::env(SYNTH_DRIVING_CELL_PIN) "Y"
+# update these
+set ::env(SYNTH_CAP_LOAD) "70.77" ; # femtofarad __inv_8 pin A cap
+set ::env(SYNTH_MIN_BUF_PORT) "sky130_fd_sc_hvl__buf_1 A X"
+set ::env(SYNTH_TIEHI_PORT) "sky130_fd_sc_hvl__conb_1 HI"
+set ::env(SYNTH_TIELO_PORT) "sky130_fd_sc_hvl__conb_1 LO"
+
+# cts defaults
+set ::env(CTS_ROOT_BUFFER) ""
+#set ::env(CELL_CLK_PORT) CLK
+
+# Placement defaults
+set ::env(PL_LIB) $::env(LIB_TYPICAL)
+
+# Fillcell insertion
+set ::env(FILL_CELL) "sky130_fd_sc_hvl__fill_"
+set ::env(DECAP_CELL) "sky130_fd_sc_hvl__decap_"
+set ::env(RE_BUFFER_CELL) "sky130_fd_sc_hvl__buf_1"
+
+
+# Diode insertaion
+set ::env(DIODE_CELL) "sky130_fd_sc_hvl__diode_2"
+set ::env(DIODE_CELL_PIN) "DIODE"
+
+set ::env(CELL_PAD) 8
+set ::env(CELL_PAD_EXECLUDE) "sky130_fd_sc_hvl__tap* sky130_fd_sc_hvl__decap* sky130_fd_sc_hvl__fill*"
+
+# Clk Buffers info CTS data
+set ::env(CLOCK_TREE_SYNTH) 0
diff --git a/sky130/openlane/sky130_fd_sc_hvl/no_synth.cells b/sky130/openlane/sky130_fd_sc_hvl/no_synth.cells
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hvl/no_synth.cells
diff --git a/sky130/openlane/sky130_fd_sc_hvl/tracks.info b/sky130/openlane/sky130_fd_sc_hvl/tracks.info
new file mode 100644
index 0000000..ceee4d4
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hvl/tracks.info
@@ -0,0 +1,12 @@
+li1 X 0.24 0.48
+li1 Y 0.24 0.48
+met1 X 0.185 0.37
+met1 Y 0.185 0.37
+met2 X 0.24 0.48
+met2 Y 0.24 0.48
+met3 X 0.37 0.74
+met3 Y 0.37 0.74
+met4 X 0.48 0.96
+met4 Y 0.48 0.96
+met5 X 1.665 3.33
+met5 Y 1.665 3.33
diff --git a/sky130/openlane/sky130_fd_sc_ls/config.tcl b/sky130/openlane/sky130_fd_sc_ls/config.tcl
new file mode 100755
index 0000000..3394be3
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_ls/config.tcl
@@ -0,0 +1,67 @@
+set current_folder [file dirname [file normalize [info script]]]
+# Technology lib
+
+#ifdef EF_FORMAT
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_ls__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_ls__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_ls__ss_100C_1v60.lib"
+#else (!EF_FORMAT)
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_ls__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_ls__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_ls__ss_100C_1v60.lib"
+#endif (!EF_FORMAT)
+
+set ::env(LIB_TYPICAL) $::env(LIB_SYNTH)
+
+# Placement site for core cells
+# This can be found in the technology lef
+set ::env(PLACE_SITE) "unit"
+set ::env(PLACE_SITE_WIDTH) 0.480
+set ::env(PLACE_SITE_HEIGHT) 3.330
+
+
+
+# welltap and endcap cells
+#set ::env(FP_WELLTAP_CELL) "sky130_fd_sc_ls__tapvpwrvgnd_1"
+set ::env(FP_ENDCAP_CELL) "sky130_fd_sc_ls__decap_4"
+
+# defaults (can be overridden by designs):
+set ::env(SYNTH_DRIVING_CELL) "sky130_fd_sc_ls__inv_8"
+#capacitance : 0.017653;
+set ::env(SYNTH_DRIVING_CELL_PIN) "Y"
+# update these
+set ::env(SYNTH_CAP_LOAD) "22.050" ; # femtofarad _inv_8 pin A cap
+set ::env(SYNTH_MIN_BUF_PORT) "sky130_fd_sc_ls__buf_2 A X"
+set ::env(SYNTH_TIEHI_PORT) "sky130_fd_sc_ls__conb_1 HI"
+set ::env(SYNTH_TIELO_PORT) "sky130_fd_sc_ls__conb_1 LO"
+
+# cts defaults
+set ::env(CTS_ROOT_BUFFER) sky130_fd_sc_ls__clkbuf_16
+set ::env(CELL_CLK_PORT) CLK
+
+# Placement defaults
+set ::env(PL_LIB) $::env(LIB_TYPICAL)
+
+# Fillcell insertion
+set ::env(FILL_CELL) "sky130_fd_sc_ls__fill_"
+set ::env(DECAP_CELL) "sky130_fd_sc_ls__decap_"
+set ::env(RE_BUFFER_CELL) "sky130_fd_sc_ls__buf_4"
+
+
+# Diode insertaion
+set ::env(DIODE_CELL) "sky130_fd_sc_ls__diode_2"
+set ::env(FAKEDIODE_CELL) "sky130_fd_sc_ls__fakediode_2"
+set ::env(DIODE_CELL_PIN) "DIODE"
+
+set ::env(CELL_PAD) 8
+set ::env(CELL_PAD_EXECLUDE) "$::env(PDK_VARIANT)__tap* $::env(PDK_VARIANT)__decap* $::env(PDK_VARIANT)__fill*"
+
+# Clk Buffers info CTS data
+set ::env(ROOT_CLK_BUFFER) $::env(PDK_VARIANT)__clkbuf_16
+set ::env(CLK_BUFFER) $::env(PDK_VARIANT)__clkbuf_4
+set ::env(CLK_BUFFER_INPUT) A
+set ::env(CLK_BUFFER_OUTPUT) X
+set ::env(CTS_CLK_BUFFER_LIST) "sky130_fd_sc_ls__clkbuf_1 sky130_fd_sc_ls__clkbuf_2 sky130_fd_sc_ls__clkbuf_4 sky130_fd_sc_ls__clkbuf_8"
+set ::env(CTS_SQR_CAP) 0.258e-3
+set ::env(CTS_SQR_RES) 0.125
+set ::env(CTS_MAX_CAP) 1.53169
diff --git a/sky130/openlane/sky130_fd_sc_ls/no_synth.cells b/sky130/openlane/sky130_fd_sc_ls/no_synth.cells
new file mode 100644
index 0000000..3220076
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_ls/no_synth.cells
@@ -0,0 +1,433 @@
+sky130_fd_sc_ls__clkdlyinv3sd1_1
+sky130_fd_sc_ls__clkdlyinv3sd2_1
+sky130_fd_sc_ls__clkdlyinv3sd3_1
+sky130_fd_sc_ls__clkbuf_6
+sky130_fd_sc_ls__clkbuf_12
+sky130_fd_sc_ls__inputiso0n_1
+sky130_fd_sc_ls__inputiso1p_1
+sky130_fd_sc_ls__clkinv_12
+sky130_fd_sc_ls__muxb16to1_4
+sky130_fd_sc_ls__probe_p_8
+sky130_fd_sc_ls__probec_p_8
+sky130_fd_sc_ls__dfstp_2
+sky130_fd_sc_ls__xor3_4
+sky130_fd_sc_ls__or2b_2
+sky130_fd_sc_ls__xnor3_2
+sky130_fd_sc_ls__sdfbbn_2
+sky130_fd_sc_ls__sdfxtp_2
+sky130_fd_sc_ls__dfxtp_2
+sky130_fd_sc_ls__xor2_2
+sky130_fd_sc_ls__o311ai_2
+sky130_fd_sc_ls__nand2_2
+sky130_fd_sc_ls__sdfrtp_2
+sky130_fd_sc_ls__and4_2
+sky130_fd_sc_ls__dfsbp_2
+sky130_fd_sc_ls__or4_2
+sky130_fd_sc_ls__inv_2
+sky130_fd_sc_ls__dlymetal6s4s_1
+sky130_fd_sc_ls__o31ai_2
+sky130_fd_sc_ls__bufbuf_16
+sky130_fd_sc_ls__dlygate4sd3_1
+sky130_fd_sc_ls__o22ai_2
+sky130_fd_sc_ls__o32ai_2
+sky130_fd_sc_ls__and3_2
+sky130_fd_sc_ls__o2111ai_2
+sky130_fd_sc_ls__dlrbp_2
+sky130_fd_sc_ls__and4bb_2
+sky130_fd_sc_ls__nand3b_2
+sky130_fd_sc_ls__buf_6
+sky130_fd_sc_ls__and4b_2
+sky130_fd_sc_ls__a2bb2oi_2
+sky130_fd_sc_ls__buf_12
+sky130_fd_sc_ls__and2_2
+sky130_fd_sc_ls__dlxbn_2
+sky130_fd_sc_ls__dlrtp_2
+sky130_fd_sc_ls__xor3_1
+sky130_fd_sc_ls__a21oi_2
+sky130_fd_sc_ls__inv_12
+sky130_fd_sc_ls__o21ai_2
+sky130_fd_sc_ls__a311oi_2
+sky130_fd_sc_ls__o21bai_2
+sky130_fd_sc_ls__nand3_2
+sky130_fd_sc_ls__dlygate4sd2_1
+sky130_fd_sc_ls__o211ai_2
+sky130_fd_sc_ls__or4b_2
+sky130_fd_sc_ls__and3b_2
+sky130_fd_sc_ls__or4bb_2
+sky130_fd_sc_ls__sdfrbp_2
+sky130_fd_sc_ls__o2bb2ai_2
+sky130_fd_sc_ls__bufinv_16
+sky130_fd_sc_ls__xor3_2
+sky130_fd_sc_ls__o41ai_2
+sky130_fd_sc_ls__or3b_2
+sky130_fd_sc_ls__or2_2
+sky130_fd_sc_ls__dfrtp_2
+sky130_fd_sc_ls__bufbuf_8
+sky130_fd_sc_ls__bufinv_8
+sky130_fd_sc_ls__buf_2
+sky130_fd_sc_ls__inv_6
+sky130_fd_sc_ls__xnor3_4
+sky130_fd_sc_ls__and2b_2
+sky130_fd_sc_ls__a2111oi_2
+sky130_fd_sc_ls__xnor3_1
+sky130_fd_sc_ls__dlymetal6s6s_1
+sky130_fd_sc_ls__o221ai_2
+sky130_fd_sc_ls__sdfstp_2
+sky130_fd_sc_ls__a31oi_2
+sky130_fd_sc_ls__a211oi_2
+sky130_fd_sc_ls__nand2b_2
+sky130_fd_sc_ls__a22oi_2
+sky130_fd_sc_ls__dlymetal6s2s_1
+sky130_fd_sc_ls__dlxtn_2
+sky130_fd_sc_ls__a21boi_2
+sky130_fd_sc_ls__dlrtn_2
+sky130_fd_sc_ls__a221oi_2
+sky130_fd_sc_ls__or3_2
+sky130_fd_sc_ls__sdfsbp_2
+sky130_fd_sc_ls__xnor2_2
+sky130_fd_sc_ls__sdfxbp_2
+sky130_fd_sc_ls__clkbuf_1
+sky130_fd_sc_ls__clkbuf_2
+sky130_fd_sc_ls__clkbuf_4
+sky130_fd_sc_ls__clkbuf_8
+sky130_fd_sc_ls__clkbuf_16
+sky130_fd_sc_ls__o22a_1
+sky130_fd_sc_ls__o22ai_1
+sky130_fd_sc_ls__o21a_1
+sky130_fd_sc_ls__o21ai_1
+sky130_fd_sc_ls__a211o_1
+sky130_fd_sc_ls__a211oi_2
+sky130_fd_sc_ls__a21oi_2
+sky130_fd_sc_ls__a22oi_2
+sky130_fd_sc_ls__a311oi_2
+sky130_fd_sc_ls__and2_2
+sky130_fd_sc_ls__and3_2
+sky130_fd_sc_ls__and4_2
+sky130_fd_sc_ls__and4bb_2
+sky130_fd_sc_ls__buf_6
+sky130_fd_sc_ls__bufbuf_8
+sky130_fd_sc_ls__bufinv_8
+sky130_fd_sc_ls__clkbuf_16
+sky130_fd_sc_ls__clkbuf_4
+sky130_fd_sc_ls__dfrtp_2
+sky130_fd_sc_ls__dfstp_2
+sky130_fd_sc_ls__dlrbp_2
+sky130_fd_sc_ls__dlrtp_2
+sky130_fd_sc_ls__dlxtn_2
+sky130_fd_sc_ls__dlygate4sd3_1
+sky130_fd_sc_ls__dlymetal6s4s_1
+sky130_fd_sc_ls__inv_12
+sky130_fd_sc_ls__inv_6
+sky130_fd_sc_ls__nand2b_2
+sky130_fd_sc_ls__nand3b_2
+sky130_fd_sc_ls__o211ai_2
+sky130_fd_sc_ls__o21ai_1
+sky130_fd_sc_ls__o21bai_2
+sky130_fd_sc_ls__o22a_1
+sky130_fd_sc_ls__o22ai_2
+sky130_fd_sc_ls__o311ai_2
+sky130_fd_sc_ls__o32ai_2
+sky130_fd_sc_ls__or2_2
+sky130_fd_sc_ls__or3_2
+sky130_fd_sc_ls__or4_2
+sky130_fd_sc_ls__or4bb_2
+sky130_fd_sc_ls__sdfrbp_2
+sky130_fd_sc_ls__sdfsbp_2
+sky130_fd_sc_ls__sdfxbp_2
+sky130_fd_sc_ls__xnor2_2
+sky130_fd_sc_ls__xnor3_2
+sky130_fd_sc_ls__xor2_2
+sky130_fd_sc_ls__xor3_2
+sky130_fd_sc_ls__buf_12
+sky130_fd_sc_ls__a2111o_1
+sky130_fd_sc_ls__a2111o_2
+sky130_fd_sc_ls__a2111oi_0
+sky130_fd_sc_ls__a2111oi_1
+sky130_fd_sc_ls__a211o_2
+sky130_fd_sc_ls__a211oi_1
+sky130_fd_sc_ls__a211oi_4
+sky130_fd_sc_ls__a21bo_1
+sky130_fd_sc_ls__a21bo_2
+sky130_fd_sc_ls__a21boi_0
+sky130_fd_sc_ls__a21boi_1
+sky130_fd_sc_ls__a21o_1
+sky130_fd_sc_ls__a21o_2
+sky130_fd_sc_ls__a21oi_1
+sky130_fd_sc_ls__a221o_1
+sky130_fd_sc_ls__a221o_2
+sky130_fd_sc_ls__a221o_4
+sky130_fd_sc_ls__a221oi_1
+sky130_fd_sc_ls__a221oi_4
+sky130_fd_sc_ls__a222oi_1
+sky130_fd_sc_ls__a22o_1
+sky130_fd_sc_ls__a22o_2
+sky130_fd_sc_ls__a22o_4
+sky130_fd_sc_ls__a22oi_1
+sky130_fd_sc_ls__a2bb2o_1
+sky130_fd_sc_ls__a2bb2o_2
+sky130_fd_sc_ls__a2bb2oi_1
+sky130_fd_sc_ls__a311o_1
+sky130_fd_sc_ls__a311o_2
+sky130_fd_sc_ls__a311o_4
+sky130_fd_sc_ls__a311oi_1
+sky130_fd_sc_ls__a311oi_4
+sky130_fd_sc_ls__a31o_1
+sky130_fd_sc_ls__a31o_2
+sky130_fd_sc_ls__a31o_4
+sky130_fd_sc_ls__a31oi_1
+sky130_fd_sc_ls__a31oi_4
+sky130_fd_sc_ls__a32o_1
+sky130_fd_sc_ls__a32o_2
+sky130_fd_sc_ls__a32oi_1
+sky130_fd_sc_ls__a32oi_2
+sky130_fd_sc_ls__a41o_1
+sky130_fd_sc_ls__a41o_2
+sky130_fd_sc_ls__a41oi_1
+sky130_fd_sc_ls__a41oi_2
+sky130_fd_sc_ls__and2_0
+sky130_fd_sc_ls__and2_1
+sky130_fd_sc_ls__and2b_1
+sky130_fd_sc_ls__and2b_4
+sky130_fd_sc_ls__and3_1
+sky130_fd_sc_ls__and3b_1
+sky130_fd_sc_ls__and3b_4
+sky130_fd_sc_ls__and4_1
+sky130_fd_sc_ls__and4b_1
+sky130_fd_sc_ls__and4b_4
+sky130_fd_sc_ls__and4bb_1
+sky130_fd_sc_ls__and4bb_4
+sky130_fd_sc_ls__clkdlybuf4s15_1
+sky130_fd_sc_ls__clkdlybuf4s15_2
+sky130_fd_sc_ls__clkdlybuf4s18_1
+sky130_fd_sc_ls__clkdlybuf4s18_2
+sky130_fd_sc_ls__clkdlybuf4s25_1
+sky130_fd_sc_ls__clkdlybuf4s25_2
+sky130_fd_sc_ls__clkdlybuf4s50_1
+sky130_fd_sc_ls__clkdlybuf4s50_2
+sky130_fd_sc_ls__clkinv_1
+sky130_fd_sc_ls__clkinv_16
+sky130_fd_sc_ls__clkinv_2
+sky130_fd_sc_ls__clkinv_4
+sky130_fd_sc_ls__clkinv_8
+sky130_fd_sc_ls__clkinvlp_2
+sky130_fd_sc_ls__clkinvlp_4
+sky130_fd_sc_ls__decap_12
+sky130_fd_sc_ls__decap_3
+sky130_fd_sc_ls__decap_4
+sky130_fd_sc_ls__decap_6
+sky130_fd_sc_ls__decap_8
+sky130_fd_sc_ls__dfbbn_1
+sky130_fd_sc_ls__dfbbp_1
+sky130_fd_sc_ls__dfrbp_1
+sky130_fd_sc_ls__dfrtn_1
+sky130_fd_sc_ls__dfrtp_1
+sky130_fd_sc_ls__dfsbp_1
+sky130_fd_sc_ls__dfstp_1
+sky130_fd_sc_ls__dfxbp_1
+sky130_fd_sc_ls__dfxtp_1
+sky130_fd_sc_ls__diode_2
+sky130_fd_sc_ls__dlclkp_1
+sky130_fd_sc_ls__dlclkp_2
+sky130_fd_sc_ls__dlclkp_4
+sky130_fd_sc_ls__dlrbn_1
+sky130_fd_sc_ls__dlrbn_2
+sky130_fd_sc_ls__dlrbp_1
+sky130_fd_sc_ls__dlrtn_1
+sky130_fd_sc_ls__dlrtn_4
+sky130_fd_sc_ls__dlrtp_1
+sky130_fd_sc_ls__dlrtp_4
+sky130_fd_sc_ls__dlxbn_1
+sky130_fd_sc_ls__dlxbp_1
+sky130_fd_sc_ls__dlxtn_1
+sky130_fd_sc_ls__dlxtn_4
+sky130_fd_sc_ls__dlxtp_1
+sky130_fd_sc_ls__dlygate4sd1_1
+sky130_fd_sc_ls__ebufn_1
+sky130_fd_sc_ls__ebufn_2
+sky130_fd_sc_ls__ebufn_4
+sky130_fd_sc_ls__ebufn_8
+sky130_fd_sc_ls__edfxbp_1
+sky130_fd_sc_ls__edfxtp_1
+sky130_fd_sc_ls__einvn_0
+sky130_fd_sc_ls__einvn_1
+sky130_fd_sc_ls__einvn_2
+sky130_fd_sc_ls__einvn_4
+sky130_fd_sc_ls__einvn_8
+sky130_fd_sc_ls__einvp_1
+sky130_fd_sc_ls__einvp_2
+sky130_fd_sc_ls__einvp_4
+sky130_fd_sc_ls__einvp_8
+sky130_fd_sc_ls__fa_1
+sky130_fd_sc_ls__fa_2
+sky130_fd_sc_ls__fa_4
+sky130_fd_sc_ls__fah_1
+sky130_fd_sc_ls__fahcin_1
+sky130_fd_sc_ls__fahcon_1
+sky130_fd_sc_ls__ha_1
+sky130_fd_sc_ls__ha_2
+sky130_fd_sc_ls__ha_4
+sky130_fd_sc_ls__inv_1
+sky130_fd_sc_ls__inv_4
+sky130_fd_sc_ls__lpflow_bleeder_1
+sky130_fd_sc_ls__lpflow_clkbufkapwr_1
+sky130_fd_sc_ls__lpflow_clkbufkapwr_16
+sky130_fd_sc_ls__lpflow_clkbufkapwr_2
+sky130_fd_sc_ls__lpflow_clkbufkapwr_4
+sky130_fd_sc_ls__lpflow_clkbufkapwr_8
+sky130_fd_sc_ls__lpflow_clkinvkapwr_1
+sky130_fd_sc_ls__lpflow_clkinvkapwr_16
+sky130_fd_sc_ls__lpflow_clkinvkapwr_2
+sky130_fd_sc_ls__lpflow_clkinvkapwr_4
+sky130_fd_sc_ls__lpflow_clkinvkapwr_8
+sky130_fd_sc_ls__lpflow_decapkapwr_12
+sky130_fd_sc_ls__lpflow_decapkapwr_3
+sky130_fd_sc_ls__lpflow_decapkapwr_4
+sky130_fd_sc_ls__lpflow_decapkapwr_6
+sky130_fd_sc_ls__lpflow_decapkapwr_8
+sky130_fd_sc_ls__lpflow_inputiso0n_1
+sky130_fd_sc_ls__lpflow_inputiso0p_1
+sky130_fd_sc_ls__lpflow_inputiso1n_1
+sky130_fd_sc_ls__lpflow_inputiso1p_1
+sky130_fd_sc_ls__lpflow_inputisolatch_1
+sky130_fd_sc_ls__lpflow_isobufsrc_1
+sky130_fd_sc_ls__lpflow_isobufsrc_16
+sky130_fd_sc_ls__lpflow_isobufsrc_2
+sky130_fd_sc_ls__lpflow_isobufsrc_4
+sky130_fd_sc_ls__lpflow_isobufsrc_8
+sky130_fd_sc_ls__lpflow_isobufsrckapwr_16
+sky130_fd_sc_ls__lpflow_lsbuf_lh_isowell_4
+sky130_fd_sc_ls__lpflow_lsbuf_lh_isowell_tap_1
+sky130_fd_sc_ls__lpflow_lsbuf_lh_isowell_tap_2
+sky130_fd_sc_ls__lpflow_lsbuf_lh_isowell_tap_4
+sky130_fd_sc_ls__macro_sparecell
+sky130_fd_sc_ls__maj3_1
+sky130_fd_sc_ls__maj3_2
+sky130_fd_sc_ls__mux2_1
+sky130_fd_sc_ls__mux2_2
+sky130_fd_sc_ls__mux2_4
+sky130_fd_sc_ls__mux2_8
+sky130_fd_sc_ls__mux2i_1
+sky130_fd_sc_ls__mux2i_2
+sky130_fd_sc_ls__mux2i_4
+sky130_fd_sc_ls__mux4_1
+sky130_fd_sc_ls__mux4_2
+sky130_fd_sc_ls__nand2_1
+sky130_fd_sc_ls__nand2_8
+sky130_fd_sc_ls__nand2b_1
+sky130_fd_sc_ls__nand2b_4
+sky130_fd_sc_ls__nand3_1
+sky130_fd_sc_ls__nand3b_1
+sky130_fd_sc_ls__nand3b_4
+sky130_fd_sc_ls__nand4_1
+sky130_fd_sc_ls__nand4_2
+sky130_fd_sc_ls__nand4b_1
+sky130_fd_sc_ls__nand4b_2
+sky130_fd_sc_ls__nand4b_4
+sky130_fd_sc_ls__nand4bb_1
+sky130_fd_sc_ls__nand4bb_2
+sky130_fd_sc_ls__nand4bb_4
+sky130_fd_sc_ls__nor2_1
+sky130_fd_sc_ls__nor2_2
+sky130_fd_sc_ls__nor2_8
+sky130_fd_sc_ls__nor2b_1
+sky130_fd_sc_ls__nor2b_2
+sky130_fd_sc_ls__nor2b_4
+sky130_fd_sc_ls__nor3_1
+sky130_fd_sc_ls__nor3_2
+sky130_fd_sc_ls__nor3b_1
+sky130_fd_sc_ls__nor3b_2
+sky130_fd_sc_ls__nor3b_4
+sky130_fd_sc_ls__nor4_1
+sky130_fd_sc_ls__nor4_2
+sky130_fd_sc_ls__nor4b_1
+sky130_fd_sc_ls__nor4b_2
+sky130_fd_sc_ls__nor4b_4
+sky130_fd_sc_ls__nor4bb_1
+sky130_fd_sc_ls__nor4bb_2
+sky130_fd_sc_ls__nor4bb_4
+sky130_fd_sc_ls__o2111a_1
+sky130_fd_sc_ls__o2111a_2
+sky130_fd_sc_ls__o2111a_4
+sky130_fd_sc_ls__o2111ai_1
+sky130_fd_sc_ls__o2111ai_4
+sky130_fd_sc_ls__o211a_1
+sky130_fd_sc_ls__o211a_2
+sky130_fd_sc_ls__o211a_4
+sky130_fd_sc_ls__o211ai_1
+sky130_fd_sc_ls__o211ai_4
+sky130_fd_sc_ls__o21a_2
+sky130_fd_sc_ls__o21ai_0
+sky130_fd_sc_ls__o21ba_1
+sky130_fd_sc_ls__o21ba_2
+sky130_fd_sc_ls__o21ba_4
+sky130_fd_sc_ls__o21bai_1
+sky130_fd_sc_ls__o21bai_4
+sky130_fd_sc_ls__o221a_1
+sky130_fd_sc_ls__o221a_2
+sky130_fd_sc_ls__o221a_4
+sky130_fd_sc_ls__o221ai_1
+sky130_fd_sc_ls__o221ai_4
+sky130_fd_sc_ls__o22a_2
+sky130_fd_sc_ls__o22ai_4
+sky130_fd_sc_ls__o2bb2a_1
+sky130_fd_sc_ls__o2bb2a_2
+sky130_fd_sc_ls__o2bb2a_4
+sky130_fd_sc_ls__o2bb2ai_1
+sky130_fd_sc_ls__o2bb2ai_4
+sky130_fd_sc_ls__o311a_1
+sky130_fd_sc_ls__o311a_2
+sky130_fd_sc_ls__o311a_4
+sky130_fd_sc_ls__o311ai_0
+sky130_fd_sc_ls__o311ai_1
+sky130_fd_sc_ls__o311ai_4
+sky130_fd_sc_ls__o31a_1
+sky130_fd_sc_ls__o31a_2
+sky130_fd_sc_ls__o31a_4
+sky130_fd_sc_ls__o31ai_1
+sky130_fd_sc_ls__o31ai_4
+sky130_fd_sc_ls__o32a_1
+sky130_fd_sc_ls__o32a_2
+sky130_fd_sc_ls__o32ai_1
+sky130_fd_sc_ls__o41a_1
+sky130_fd_sc_ls__o41a_2
+sky130_fd_sc_ls__o41ai_1
+sky130_fd_sc_ls__or2_0
+sky130_fd_sc_ls__or2_1
+sky130_fd_sc_ls__or2b_1
+sky130_fd_sc_ls__or2b_4
+sky130_fd_sc_ls__or3_1
+sky130_fd_sc_ls__or3b_1
+sky130_fd_sc_ls__or3b_4
+sky130_fd_sc_ls__or4_1
+sky130_fd_sc_ls__or4b_1
+sky130_fd_sc_ls__or4b_4
+sky130_fd_sc_ls__or4bb_1
+sky130_fd_sc_ls__or4bb_4
+sky130_fd_sc_ls__probe_s8p_8
+sky130_fd_sc_ls__probec_s8p_8
+sky130_fd_sc_ls__sdfbbn_1
+sky130_fd_sc_ls__sdfbbp_1
+sky130_fd_sc_ls__sdfrbp_1
+sky130_fd_sc_ls__sdfrtn_1
+sky130_fd_sc_ls__sdfrtp_1
+sky130_fd_sc_ls__sdfrtp_4
+sky130_fd_sc_ls__sdfsbp_1
+sky130_fd_sc_ls__sdfstp_1
+sky130_fd_sc_ls__sdfstp_4
+sky130_fd_sc_ls__sdfxbp_1
+sky130_fd_sc_ls__sdfxtp_1
+sky130_fd_sc_ls__sdfxtp_4
+sky130_fd_sc_ls__sdlclkp_1
+sky130_fd_sc_ls__sdlclkp_2
+sky130_fd_sc_ls__sdlclkp_4
+sky130_fd_sc_ls__sedfxbp_1
+sky130_fd_sc_ls__sedfxbp_2
+sky130_fd_sc_ls__sedfxtp_1
+sky130_fd_sc_ls__sedfxtp_2
+sky130_fd_sc_ls__sedfxtp_4
+sky130_fd_sc_ls__xnor2_1
+sky130_fd_sc_ls__xor2_1
+sky130_fd_sc_ls__buf_16
+sky130_fd_sc_ls__lpflow_lsbuf_lh_hl_isowell_tap_1
+sky130_fd_sc_ls__lpflow_lsbuf_lh_hl_isowell_tap_2
+sky130_fd_sc_ls__lpflow_lsbuf_lh_hl_isowell_tap_4
diff --git a/sky130/openlane/sky130_fd_sc_ls/tracks.info b/sky130/openlane/sky130_fd_sc_ls/tracks.info
new file mode 100644
index 0000000..ceee4d4
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_ls/tracks.info
@@ -0,0 +1,12 @@
+li1 X 0.24 0.48
+li1 Y 0.24 0.48
+met1 X 0.185 0.37
+met1 Y 0.185 0.37
+met2 X 0.24 0.48
+met2 Y 0.24 0.48
+met3 X 0.37 0.74
+met3 Y 0.37 0.74
+met4 X 0.48 0.96
+met4 Y 0.48 0.96
+met5 X 1.665 3.33
+met5 Y 1.665 3.33
diff --git a/sky130/openlane/sky130_fd_sc_ms/config.tcl b/sky130/openlane/sky130_fd_sc_ms/config.tcl
new file mode 100755
index 0000000..9c4bd97
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_ms/config.tcl
@@ -0,0 +1,68 @@
+set current_folder [file dirname [file normalize [info script]]]
+# Technology lib
+
+#ifdef EF_FORMAT
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_ms__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_ms__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_ms__ss_100C_1v60.lib"
+#else (!EF_FORMAT)
+set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_ms__tt_025C_1v80.lib"
+set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_ms__ff_n40C_1v95.lib"
+set ::env(LIB_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/$::env(PDK_VARIANT)/lib/sky130_fd_sc_ms__ss_100C_1v60.lib"
+#endif (!EF_FORMAT)
+
+set ::env(LIB_TYPICAL) $::env(LIB_SYNTH)
+
+# Placement site for core cells
+# This can be found in the technology lef
+set ::env(PLACE_SITE) "unit"
+set ::env(PLACE_SITE_WIDTH) 0.480
+set ::env(PLACE_SITE_HEIGHT) 3.330
+
+
+
+# welltap and endcap cells
+set ::env(FP_WELLTAP_CELL) "sky130_fd_sc_ms__tapvpwrvgnd_1"
+set ::env(FP_ENDCAP_CELL) "sky130_fd_sc_ms__decap_4"
+
+# defaults (can be overridden by designs):
+set ::env(SYNTH_DRIVING_CELL) "sky130_fd_sc_ms__inv_8"
+#capacitance : 0.017653;
+set ::env(SYNTH_DRIVING_CELL_PIN) "Y"
+# update these
+set ::env(SYNTH_CAP_LOAD) "22.66" ; # femtofarad _inv_8 pin A cap
+set ::env(SYNTH_MIN_BUF_PORT) "sky130_fd_sc_ms__buf_2 A X"
+set ::env(SYNTH_TIEHI_PORT) "sky130_fd_sc_ms__conb_1 HI"
+set ::env(SYNTH_TIELO_PORT) "sky130_fd_sc_ms__conb_1 LO"
+
+# cts defaults
+set ::env(CTS_ROOT_BUFFER) sky130_fd_sc_ms__clkbuf_16
+set ::env(CELL_CLK_PORT) CLK
+
+# Placement defaults
+set ::env(PL_LIB) $::env(LIB_TYPICAL)
+
+# Fillcell insertion
+set ::env(FILL_CELL) "sky130_fd_sc_ms__fill_"
+set ::env(DECAP_CELL) "sky130_fd_sc_ms__decap_"
+set ::env(RE_BUFFER_CELL) "sky130_fd_sc_ms__buf_4"
+
+
+# Diode insertaion
+set ::env(DIODE_CELL) ""
+set ::env(FAKEDIODE_CELL) ""
+set ::env(DIODE_CELL_PIN) ""
+set ::env(DIODE_INSERTION_STRATEGY) 0 
+
+set ::env(CELL_PAD) 8
+set ::env(CELL_PAD_EXECLUDE) "$::env(PDK_VARIANT)__tap* $::env(PDK_VARIANT)__decap* $::env(PDK_VARIANT)__fill*"
+
+# Clk Buffers info CTS data
+set ::env(ROOT_CLK_BUFFER) $::env(PDK_VARIANT)__clkbuf_16
+set ::env(CLK_BUFFER) $::env(PDK_VARIANT)__clkbuf_4
+set ::env(CLK_BUFFER_INPUT) A
+set ::env(CLK_BUFFER_OUTPUT) X
+set ::env(CTS_CLK_BUFFER_LIST) "sky130_fd_sc_ms__clkbuf_2 sky130_fd_sc_ms__clkbuf_4 sky130_fd_sc_ms__clkbuf_8"
+set ::env(CTS_SQR_CAP) 0.258e-3
+set ::env(CTS_SQR_RES) 0.125
+set ::env(CTS_MAX_CAP) 1.53169
diff --git a/sky130/openlane/sky130_fd_sc_ms/no_synth.cells b/sky130/openlane/sky130_fd_sc_ms/no_synth.cells
new file mode 100644
index 0000000..5094f22
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_ms/no_synth.cells
@@ -0,0 +1,425 @@
+sky130_fd_sc_ms__clkdlyinv3sd1_1
+sky130_fd_sc_ms__clkdlyinv3sd2_1
+sky130_fd_sc_ms__clkdlyinv3sd3_1
+sky130_fd_sc_ms__dfstp_2
+sky130_fd_sc_ms__xor3_4
+sky130_fd_sc_ms__or2b_2
+sky130_fd_sc_ms__xnor3_2
+sky130_fd_sc_ms__sdfbbn_2
+sky130_fd_sc_ms__sdfxtp_2
+sky130_fd_sc_ms__dfxtp_2
+sky130_fd_sc_ms__xor2_2
+sky130_fd_sc_ms__o311ai_2
+sky130_fd_sc_ms__nand2_2
+sky130_fd_sc_ms__sdfrtp_2
+sky130_fd_sc_ms__and4_2
+sky130_fd_sc_ms__dfsbp_2
+sky130_fd_sc_ms__or4_2
+sky130_fd_sc_ms__inv_2
+sky130_fd_sc_ms__dlymetal6s4s_1
+sky130_fd_sc_ms__o31ai_2
+sky130_fd_sc_ms__bufbuf_16
+sky130_fd_sc_ms__dlygate4sd3_1
+sky130_fd_sc_ms__o22ai_2
+sky130_fd_sc_ms__o32ai_2
+sky130_fd_sc_ms__and3_2
+sky130_fd_sc_ms__o2111ai_2
+sky130_fd_sc_ms__dlrbp_2
+sky130_fd_sc_ms__and4bb_2
+sky130_fd_sc_ms__nand3b_2
+sky130_fd_sc_ms__buf_6
+sky130_fd_sc_ms__and4b_2
+sky130_fd_sc_ms__a2bb2oi_2
+sky130_fd_sc_ms__buf_12
+sky130_fd_sc_ms__and2_2
+sky130_fd_sc_ms__dlxbn_2
+sky130_fd_sc_ms__dlrtp_2
+sky130_fd_sc_ms__xor3_1
+sky130_fd_sc_ms__a21oi_2
+sky130_fd_sc_ms__inv_12
+sky130_fd_sc_ms__o21ai_2
+sky130_fd_sc_ms__a311oi_2
+sky130_fd_sc_ms__o21bai_2
+sky130_fd_sc_ms__nand3_2
+sky130_fd_sc_ms__dlygate4sd2_1
+sky130_fd_sc_ms__o211ai_2
+sky130_fd_sc_ms__or4b_2
+sky130_fd_sc_ms__and3b_2
+sky130_fd_sc_ms__or4bb_2
+sky130_fd_sc_ms__sdfrbp_2
+sky130_fd_sc_ms__o2bb2ai_2
+sky130_fd_sc_ms__bufinv_16
+sky130_fd_sc_ms__xor3_2
+sky130_fd_sc_ms__o41ai_2
+sky130_fd_sc_ms__or3b_2
+sky130_fd_sc_ms__or2_2
+sky130_fd_sc_ms__dfrtp_2
+sky130_fd_sc_ms__bufbuf_8
+sky130_fd_sc_ms__bufinv_8
+sky130_fd_sc_ms__buf_2
+sky130_fd_sc_ms__inv_6
+sky130_fd_sc_ms__xnor3_4
+sky130_fd_sc_ms__and2b_2
+sky130_fd_sc_ms__a2111oi_2
+sky130_fd_sc_ms__xnor3_1
+sky130_fd_sc_ms__dlymetal6s6s_1
+sky130_fd_sc_ms__o221ai_2
+sky130_fd_sc_ms__sdfstp_2
+sky130_fd_sc_ms__a31oi_2
+sky130_fd_sc_ms__a211oi_2
+sky130_fd_sc_ms__nand2b_2
+sky130_fd_sc_ms__a22oi_2
+sky130_fd_sc_ms__dlymetal6s2s_1
+sky130_fd_sc_ms__dlxtn_2
+sky130_fd_sc_ms__a21boi_2
+sky130_fd_sc_ms__dlrtn_2
+sky130_fd_sc_ms__a221oi_2
+sky130_fd_sc_ms__or3_2
+sky130_fd_sc_ms__sdfsbp_2
+sky130_fd_sc_ms__xnor2_2
+sky130_fd_sc_ms__sdfxbp_2
+sky130_fd_sc_ms__clkbuf_1
+sky130_fd_sc_ms__clkbuf_2
+sky130_fd_sc_ms__clkbuf_4
+sky130_fd_sc_ms__clkbuf_8
+sky130_fd_sc_ms__clkbuf_16
+sky130_fd_sc_ms__o22a_1
+sky130_fd_sc_ms__o22ai_1
+sky130_fd_sc_ms__o21a_1
+sky130_fd_sc_ms__o21ai_1
+sky130_fd_sc_ms__a211o_1
+sky130_fd_sc_ms__a211oi_2
+sky130_fd_sc_ms__a21oi_2
+sky130_fd_sc_ms__a22oi_2
+sky130_fd_sc_ms__a311oi_2
+sky130_fd_sc_ms__and2_2
+sky130_fd_sc_ms__and3_2
+sky130_fd_sc_ms__and4_2
+sky130_fd_sc_ms__and4bb_2
+sky130_fd_sc_ms__buf_6
+sky130_fd_sc_ms__bufbuf_8
+sky130_fd_sc_ms__bufinv_8
+sky130_fd_sc_ms__clkbuf_16
+sky130_fd_sc_ms__clkbuf_4
+sky130_fd_sc_ms__dfrtp_2
+sky130_fd_sc_ms__dfstp_2
+sky130_fd_sc_ms__dlrbp_2
+sky130_fd_sc_ms__dlrtp_2
+sky130_fd_sc_ms__dlxtn_2
+sky130_fd_sc_ms__dlygate4sd3_1
+sky130_fd_sc_ms__dlymetal6s4s_1
+sky130_fd_sc_ms__inv_12
+sky130_fd_sc_ms__inv_6
+sky130_fd_sc_ms__nand2b_2
+sky130_fd_sc_ms__nand3b_2
+sky130_fd_sc_ms__o211ai_2
+sky130_fd_sc_ms__o21ai_1
+sky130_fd_sc_ms__o21bai_2
+sky130_fd_sc_ms__o22a_1
+sky130_fd_sc_ms__o22ai_2
+sky130_fd_sc_ms__o311ai_2
+sky130_fd_sc_ms__o32ai_2
+sky130_fd_sc_ms__or2_2
+sky130_fd_sc_ms__or3_2
+sky130_fd_sc_ms__or4_2
+sky130_fd_sc_ms__or4bb_2
+sky130_fd_sc_ms__sdfrbp_2
+sky130_fd_sc_ms__sdfsbp_2
+sky130_fd_sc_ms__sdfxbp_2
+sky130_fd_sc_ms__xnor2_2
+sky130_fd_sc_ms__xnor3_2
+sky130_fd_sc_ms__xor2_2
+sky130_fd_sc_ms__xor3_2
+sky130_fd_sc_ms__buf_12
+sky130_fd_sc_ms__a2111o_1
+sky130_fd_sc_ms__a2111o_2
+sky130_fd_sc_ms__a2111oi_0
+sky130_fd_sc_ms__a2111oi_1
+sky130_fd_sc_ms__a211o_2
+sky130_fd_sc_ms__a211oi_1
+sky130_fd_sc_ms__a211oi_4
+sky130_fd_sc_ms__a21bo_1
+sky130_fd_sc_ms__a21bo_2
+sky130_fd_sc_ms__a21boi_0
+sky130_fd_sc_ms__a21boi_1
+sky130_fd_sc_ms__a21o_1
+sky130_fd_sc_ms__a21o_2
+sky130_fd_sc_ms__a21oi_1
+sky130_fd_sc_ms__a221o_1
+sky130_fd_sc_ms__a221o_2
+sky130_fd_sc_ms__a221o_4
+sky130_fd_sc_ms__a221oi_1
+sky130_fd_sc_ms__a221oi_4
+sky130_fd_sc_ms__a222oi_1
+sky130_fd_sc_ms__a22o_1
+sky130_fd_sc_ms__a22o_2
+sky130_fd_sc_ms__a22o_4
+sky130_fd_sc_ms__a22oi_1
+sky130_fd_sc_ms__a2bb2o_1
+sky130_fd_sc_ms__a2bb2o_2
+sky130_fd_sc_ms__a2bb2oi_1
+sky130_fd_sc_ms__a311o_1
+sky130_fd_sc_ms__a311o_2
+sky130_fd_sc_ms__a311o_4
+sky130_fd_sc_ms__a311oi_1
+sky130_fd_sc_ms__a311oi_4
+sky130_fd_sc_ms__a31o_1
+sky130_fd_sc_ms__a31o_2
+sky130_fd_sc_ms__a31o_4
+sky130_fd_sc_ms__a31oi_1
+sky130_fd_sc_ms__a31oi_4
+sky130_fd_sc_ms__a32o_1
+sky130_fd_sc_ms__a32o_2
+sky130_fd_sc_ms__a32oi_1
+sky130_fd_sc_ms__a32oi_2
+sky130_fd_sc_ms__a41o_1
+sky130_fd_sc_ms__a41o_2
+sky130_fd_sc_ms__a41oi_1
+sky130_fd_sc_ms__a41oi_2
+sky130_fd_sc_ms__and2_0
+sky130_fd_sc_ms__and2_1
+sky130_fd_sc_ms__and2b_1
+sky130_fd_sc_ms__and2b_4
+sky130_fd_sc_ms__and3_1
+sky130_fd_sc_ms__and3b_1
+sky130_fd_sc_ms__and3b_4
+sky130_fd_sc_ms__and4_1
+sky130_fd_sc_ms__and4b_1
+sky130_fd_sc_ms__and4b_4
+sky130_fd_sc_ms__and4bb_1
+sky130_fd_sc_ms__and4bb_4
+sky130_fd_sc_ms__clkdlybuf4s15_1
+sky130_fd_sc_ms__clkdlybuf4s15_2
+sky130_fd_sc_ms__clkdlybuf4s18_1
+sky130_fd_sc_ms__clkdlybuf4s18_2
+sky130_fd_sc_ms__clkdlybuf4s25_1
+sky130_fd_sc_ms__clkdlybuf4s25_2
+sky130_fd_sc_ms__clkdlybuf4s50_1
+sky130_fd_sc_ms__clkdlybuf4s50_2
+sky130_fd_sc_ms__clkinv_1
+sky130_fd_sc_ms__clkinv_16
+sky130_fd_sc_ms__clkinv_2
+sky130_fd_sc_ms__clkinv_4
+sky130_fd_sc_ms__clkinv_8
+sky130_fd_sc_ms__clkinvlp_2
+sky130_fd_sc_ms__clkinvlp_4
+sky130_fd_sc_ms__decap_12
+sky130_fd_sc_ms__decap_3
+sky130_fd_sc_ms__decap_4
+sky130_fd_sc_ms__decap_6
+sky130_fd_sc_ms__decap_8
+sky130_fd_sc_ms__dfbbn_1
+sky130_fd_sc_ms__dfbbp_1
+sky130_fd_sc_ms__dfrbp_1
+sky130_fd_sc_ms__dfrtn_1
+sky130_fd_sc_ms__dfrtp_1
+sky130_fd_sc_ms__dfsbp_1
+sky130_fd_sc_ms__dfstp_1
+sky130_fd_sc_ms__dfxbp_1
+sky130_fd_sc_ms__dfxtp_1
+sky130_fd_sc_ms__diode_2
+sky130_fd_sc_ms__dlclkp_1
+sky130_fd_sc_ms__dlclkp_2
+sky130_fd_sc_ms__dlclkp_4
+sky130_fd_sc_ms__dlrbn_1
+sky130_fd_sc_ms__dlrbn_2
+sky130_fd_sc_ms__dlrbp_1
+sky130_fd_sc_ms__dlrtn_1
+sky130_fd_sc_ms__dlrtn_4
+sky130_fd_sc_ms__dlrtp_1
+sky130_fd_sc_ms__dlrtp_4
+sky130_fd_sc_ms__dlxbn_1
+sky130_fd_sc_ms__dlxbp_1
+sky130_fd_sc_ms__dlxtn_1
+sky130_fd_sc_ms__dlxtn_4
+sky130_fd_sc_ms__dlxtp_1
+sky130_fd_sc_ms__dlygate4sd1_1
+sky130_fd_sc_ms__ebufn_1
+sky130_fd_sc_ms__ebufn_2
+sky130_fd_sc_ms__ebufn_4
+sky130_fd_sc_ms__ebufn_8
+sky130_fd_sc_ms__edfxbp_1
+sky130_fd_sc_ms__edfxtp_1
+sky130_fd_sc_ms__einvn_0
+sky130_fd_sc_ms__einvn_1
+sky130_fd_sc_ms__einvn_2
+sky130_fd_sc_ms__einvn_4
+sky130_fd_sc_ms__einvn_8
+sky130_fd_sc_ms__einvp_1
+sky130_fd_sc_ms__einvp_2
+sky130_fd_sc_ms__einvp_4
+sky130_fd_sc_ms__einvp_8
+sky130_fd_sc_ms__fa_1
+sky130_fd_sc_ms__fa_2
+sky130_fd_sc_ms__fa_4
+sky130_fd_sc_ms__fah_1
+sky130_fd_sc_ms__fahcin_1
+sky130_fd_sc_ms__fahcon_1
+sky130_fd_sc_ms__ha_1
+sky130_fd_sc_ms__ha_2
+sky130_fd_sc_ms__ha_4
+sky130_fd_sc_ms__inv_1
+sky130_fd_sc_ms__inv_4
+sky130_fd_sc_ms__lpflow_bleeder_1
+sky130_fd_sc_ms__lpflow_clkbufkapwr_1
+sky130_fd_sc_ms__lpflow_clkbufkapwr_16
+sky130_fd_sc_ms__lpflow_clkbufkapwr_2
+sky130_fd_sc_ms__lpflow_clkbufkapwr_4
+sky130_fd_sc_ms__lpflow_clkbufkapwr_8
+sky130_fd_sc_ms__lpflow_clkinvkapwr_1
+sky130_fd_sc_ms__lpflow_clkinvkapwr_16
+sky130_fd_sc_ms__lpflow_clkinvkapwr_2
+sky130_fd_sc_ms__lpflow_clkinvkapwr_4
+sky130_fd_sc_ms__lpflow_clkinvkapwr_8
+sky130_fd_sc_ms__lpflow_decapkapwr_12
+sky130_fd_sc_ms__lpflow_decapkapwr_3
+sky130_fd_sc_ms__lpflow_decapkapwr_4
+sky130_fd_sc_ms__lpflow_decapkapwr_6
+sky130_fd_sc_ms__lpflow_decapkapwr_8
+sky130_fd_sc_ms__lpflow_inputiso0n_1
+sky130_fd_sc_ms__lpflow_inputiso0p_1
+sky130_fd_sc_ms__lpflow_inputiso1n_1
+sky130_fd_sc_ms__lpflow_inputiso1p_1
+sky130_fd_sc_ms__lpflow_inputisolatch_1
+sky130_fd_sc_ms__lpflow_isobufsrc_1
+sky130_fd_sc_ms__lpflow_isobufsrc_16
+sky130_fd_sc_ms__lpflow_isobufsrc_2
+sky130_fd_sc_ms__lpflow_isobufsrc_4
+sky130_fd_sc_ms__lpflow_isobufsrc_8
+sky130_fd_sc_ms__lpflow_isobufsrckapwr_16
+sky130_fd_sc_ms__lpflow_lsbuf_lh_isowell_4
+sky130_fd_sc_ms__lpflow_lsbuf_lh_isowell_tap_1
+sky130_fd_sc_ms__lpflow_lsbuf_lh_isowell_tap_2
+sky130_fd_sc_ms__lpflow_lsbuf_lh_isowell_tap_4
+sky130_fd_sc_ms__macro_sparecell
+sky130_fd_sc_ms__maj3_1
+sky130_fd_sc_ms__maj3_2
+sky130_fd_sc_ms__mux2_1
+sky130_fd_sc_ms__mux2_2
+sky130_fd_sc_ms__mux2_4
+sky130_fd_sc_ms__mux2_8
+sky130_fd_sc_ms__mux2i_1
+sky130_fd_sc_ms__mux2i_2
+sky130_fd_sc_ms__mux2i_4
+sky130_fd_sc_ms__mux4_1
+sky130_fd_sc_ms__mux4_2
+sky130_fd_sc_ms__nand2_1
+sky130_fd_sc_ms__nand2_8
+sky130_fd_sc_ms__nand2b_1
+sky130_fd_sc_ms__nand2b_4
+sky130_fd_sc_ms__nand3_1
+sky130_fd_sc_ms__nand3b_1
+sky130_fd_sc_ms__nand3b_4
+sky130_fd_sc_ms__nand4_1
+sky130_fd_sc_ms__nand4_2
+sky130_fd_sc_ms__nand4b_1
+sky130_fd_sc_ms__nand4b_2
+sky130_fd_sc_ms__nand4b_4
+sky130_fd_sc_ms__nand4bb_1
+sky130_fd_sc_ms__nand4bb_2
+sky130_fd_sc_ms__nand4bb_4
+sky130_fd_sc_ms__nor2_1
+sky130_fd_sc_ms__nor2_2
+sky130_fd_sc_ms__nor2_8
+sky130_fd_sc_ms__nor2b_1
+sky130_fd_sc_ms__nor2b_2
+sky130_fd_sc_ms__nor2b_4
+sky130_fd_sc_ms__nor3_1
+sky130_fd_sc_ms__nor3_2
+sky130_fd_sc_ms__nor3b_1
+sky130_fd_sc_ms__nor3b_2
+sky130_fd_sc_ms__nor3b_4
+sky130_fd_sc_ms__nor4_1
+sky130_fd_sc_ms__nor4_2
+sky130_fd_sc_ms__nor4b_1
+sky130_fd_sc_ms__nor4b_2
+sky130_fd_sc_ms__nor4b_4
+sky130_fd_sc_ms__nor4bb_1
+sky130_fd_sc_ms__nor4bb_2
+sky130_fd_sc_ms__nor4bb_4
+sky130_fd_sc_ms__o2111a_1
+sky130_fd_sc_ms__o2111a_2
+sky130_fd_sc_ms__o2111a_4
+sky130_fd_sc_ms__o2111ai_1
+sky130_fd_sc_ms__o2111ai_4
+sky130_fd_sc_ms__o211a_1
+sky130_fd_sc_ms__o211a_2
+sky130_fd_sc_ms__o211a_4
+sky130_fd_sc_ms__o211ai_1
+sky130_fd_sc_ms__o211ai_4
+sky130_fd_sc_ms__o21a_2
+sky130_fd_sc_ms__o21ai_0
+sky130_fd_sc_ms__o21ba_1
+sky130_fd_sc_ms__o21ba_2
+sky130_fd_sc_ms__o21ba_4
+sky130_fd_sc_ms__o21bai_1
+sky130_fd_sc_ms__o21bai_4
+sky130_fd_sc_ms__o221a_1
+sky130_fd_sc_ms__o221a_2
+sky130_fd_sc_ms__o221a_4
+sky130_fd_sc_ms__o221ai_1
+sky130_fd_sc_ms__o221ai_4
+sky130_fd_sc_ms__o22a_2
+sky130_fd_sc_ms__o22ai_4
+sky130_fd_sc_ms__o2bb2a_1
+sky130_fd_sc_ms__o2bb2a_2
+sky130_fd_sc_ms__o2bb2a_4
+sky130_fd_sc_ms__o2bb2ai_1
+sky130_fd_sc_ms__o2bb2ai_4
+sky130_fd_sc_ms__o311a_1
+sky130_fd_sc_ms__o311a_2
+sky130_fd_sc_ms__o311a_4
+sky130_fd_sc_ms__o311ai_0
+sky130_fd_sc_ms__o311ai_1
+sky130_fd_sc_ms__o311ai_4
+sky130_fd_sc_ms__o31a_1
+sky130_fd_sc_ms__o31a_2
+sky130_fd_sc_ms__o31a_4
+sky130_fd_sc_ms__o31ai_1
+sky130_fd_sc_ms__o31ai_4
+sky130_fd_sc_ms__o32a_1
+sky130_fd_sc_ms__o32a_2
+sky130_fd_sc_ms__o32ai_1
+sky130_fd_sc_ms__o41a_1
+sky130_fd_sc_ms__o41a_2
+sky130_fd_sc_ms__o41ai_1
+sky130_fd_sc_ms__or2_0
+sky130_fd_sc_ms__or2_1
+sky130_fd_sc_ms__or2b_1
+sky130_fd_sc_ms__or2b_4
+sky130_fd_sc_ms__or3_1
+sky130_fd_sc_ms__or3b_1
+sky130_fd_sc_ms__or3b_4
+sky130_fd_sc_ms__or4_1
+sky130_fd_sc_ms__or4b_1
+sky130_fd_sc_ms__or4b_4
+sky130_fd_sc_ms__or4bb_1
+sky130_fd_sc_ms__or4bb_4
+sky130_fd_sc_ms__probe_s8p_8
+sky130_fd_sc_ms__probec_s8p_8
+sky130_fd_sc_ms__sdfbbn_1
+sky130_fd_sc_ms__sdfbbp_1
+sky130_fd_sc_ms__sdfrbp_1
+sky130_fd_sc_ms__sdfrtn_1
+sky130_fd_sc_ms__sdfrtp_1
+sky130_fd_sc_ms__sdfrtp_4
+sky130_fd_sc_ms__sdfsbp_1
+sky130_fd_sc_ms__sdfstp_1
+sky130_fd_sc_ms__sdfstp_4
+sky130_fd_sc_ms__sdfxbp_1
+sky130_fd_sc_ms__sdfxtp_1
+sky130_fd_sc_ms__sdfxtp_4
+sky130_fd_sc_ms__sdlclkp_1
+sky130_fd_sc_ms__sdlclkp_2
+sky130_fd_sc_ms__sdlclkp_4
+sky130_fd_sc_ms__sedfxbp_1
+sky130_fd_sc_ms__sedfxbp_2
+sky130_fd_sc_ms__sedfxtp_1
+sky130_fd_sc_ms__sedfxtp_2
+sky130_fd_sc_ms__sedfxtp_4
+sky130_fd_sc_ms__xnor2_1
+sky130_fd_sc_ms__xor2_1
+sky130_fd_sc_ms__buf_16
+sky130_fd_sc_ms__lpflow_lsbuf_lh_hl_isowell_tap_1
+sky130_fd_sc_ms__lpflow_lsbuf_lh_hl_isowell_tap_2
+sky130_fd_sc_ms__lpflow_lsbuf_lh_hl_isowell_tap_4
diff --git a/sky130/openlane/sky130_fd_sc_ms/tracks.info b/sky130/openlane/sky130_fd_sc_ms/tracks.info
new file mode 100644
index 0000000..ceee4d4
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_ms/tracks.info
@@ -0,0 +1,12 @@
+li1 X 0.24 0.48
+li1 Y 0.24 0.48
+met1 X 0.185 0.37
+met1 Y 0.185 0.37
+met2 X 0.24 0.48
+met2 Y 0.24 0.48
+met3 X 0.37 0.74
+met3 Y 0.37 0.74
+met4 X 0.48 0.96
+met4 Y 0.48 0.96
+met5 X 1.665 3.33
+met5 Y 1.665 3.33