Reorganized the top level so that most working files for EDA tool setup are in
directories with the EDA tool name.  Updated the openlane setup files.
diff --git a/sky130/Makefile b/sky130/Makefile
index 2673519..13b3052 100644
--- a/sky130/Makefile
+++ b/sky130/Makefile
@@ -191,7 +191,7 @@
 	${CPP} ${SKY130A_DEFS} ${TECH}.json > \
 		${STAGING_PATH}/${SKY130A}/${CONFIG_DIR}/nodeinfo.json
 
-magic-a: ${TECH}.tech ${TECH}gds.tech ${TECH}.magicrc ${TECH}.tcl
+magic-a: magic/${TECH}.tech magic/${TECH}gds.tech magic/${TECH}.magicrc magic/${TECH}.tcl
 	mkdir -p ${MAGICTOP_STAGING_A}
 	mkdir -p ${MAGIC_STAGING_A}
 	rm -f ${MAGICTOP_STAGING_A}/current
@@ -202,14 +202,14 @@
 	rm -f ${MAGIC_STAGING_A}/magicrc
 	(cd ${MAGICTOP_STAGING_A} ; ln -s ${REV_DIR} current)
 	cp -rp custom/scripts/seal_ring_generator ${MAGIC_STAGING_A}/.
-	${CPP} ${SKY130A_DEFS} ${TECH}.tech > ${MAGIC_STAGING_A}/${SKY130A}.tech
-	${CPP} ${SKY130A_DEFS} ${TECH}gds.tech > ${MAGIC_STAGING_A}/${SKY130A}-GDS.tech
-	${CPP} ${SKY130A_DEFS} ${TECH}.magicrc > ${MAGIC_STAGING_A}/${SKY130A}.magicrc
+	${CPP} ${SKY130A_DEFS} magic/${TECH}.tech > ${MAGIC_STAGING_A}/${SKY130A}.tech
+	${CPP} ${SKY130A_DEFS} magic/${TECH}gds.tech > ${MAGIC_STAGING_A}/${SKY130A}-GDS.tech
+	${CPP} ${SKY130A_DEFS} magic/${TECH}.magicrc > ${MAGIC_STAGING_A}/${SKY130A}.magicrc
 	${CPP} ${SKY130A_DEFS} ../common/pdk.bindkeys > ${MAGIC_STAGING_A}/${SKY130A}-BindKeys
-	${CPP} ${SKY130A_DEFS} ${TECH}.tcl > ${MAGIC_STAGING_A}/${SKY130A}.tcl
+	${CPP} ${SKY130A_DEFS} magic/${TECH}.tcl > ${MAGIC_STAGING_A}/${SKY130A}.tcl
 	${CPP} ${SKY130A_DEFS} ../common/pdk.tcl >> ${MAGIC_STAGING_A}/${SKY130A}.tcl
 
-qflow-a: ${TECH}.sh ${TECH}.par
+qflow-a: qflow/${TECH}.sh qflow/${TECH}.par
 	mkdir -p ${QFLOWTOP_STAGING_A}
 	mkdir -p ${QFLOW_STAGING_A}
 	rm -f ${QFLOW_STAGING_A}/${SKY130A}hd.sh
@@ -226,57 +226,68 @@
 	rm -f ${QFLOW_STAGING_A}/${SKY130A}lp.par
 	rm -f ${QFLOW_STAGING_A}/${SKY130A}ms.sh
 	rm -f ${QFLOW_STAGING_A}/${SKY130A}ms.par
-	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hd ${TECH}.sh > \
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hd qflow/${TECH}.sh > \
 		${QFLOW_STAGING_A}/${SKY130A}hd.sh
-	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hdll ${TECH}.sh > \
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hdll qflow/${TECH}.sh > \
 		${QFLOW_STAGING_A}/${SKY130A}hdll.sh
-	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hvl ${TECH}.sh > \
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hvl qflow/${TECH}.sh > \
 		${QFLOW_STAGING_A}/${SKY130A}hvl.sh
-	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hs ${TECH}.sh > \
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hs qflow/${TECH}.sh > \
 		${QFLOW_STAGING_A}/${SKY130A}hs.sh
-	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_lp ${TECH}.sh > \
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_lp qflow/${TECH}.sh > \
 		${QFLOW_STAGING_A}/${SKY130A}lp.sh
-	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_ls ${TECH}.sh > \
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_ls qflow/${TECH}.sh > \
 		${QFLOW_STAGING_A}/${SKY130A}ls.sh
-	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_ms ${TECH}.sh > \
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_ms qflow/${TECH}.sh > \
 		${QFLOW_STAGING_A}/${SKY130A}ms.sh
-	${CPP} ${SKY130A_DEFS} ${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hd.par
-	${CPP} ${SKY130A_DEFS} ${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hdll.par
-	${CPP} ${SKY130A_DEFS} ${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hvl.par
-	${CPP} ${SKY130A_DEFS} ${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hs.par
-	${CPP} ${SKY130A_DEFS} ${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}ms.par
-	${CPP} ${SKY130A_DEFS} ${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}lp.par
-	${CPP} ${SKY130A_DEFS} ${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}ls.par
-	${CPP} ${SKY130A_DEFS} ${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}osu.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hd.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hdll.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hvl.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hs.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}ms.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}lp.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}ls.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}osu.par
 
-netgen-a: ${TECH}_setup.tcl
+netgen-a: netgen/${TECH}_setup.tcl
 	mkdir -p ${NETGENTOP_STAGING_A}
 	mkdir -p ${NETGEN_STAGING_A}
 	rm -f ${NETGEN_STAGING_A}/${SKY130A}_setup.tcl
 	rm -f ${NETGEN_STAGING_A}/setup.tcl
-	${CPP} ${SKY130A_DEFS} ${TECH}_setup.tcl > ${NETGEN_STAGING_A}/${SKY130A}_setup.tcl
+	${CPP} ${SKY130A_DEFS} netgen/${TECH}_setup.tcl > ${NETGEN_STAGING_A}/${SKY130A}_setup.tcl
 	(cd ${NETGEN_STAGING_A} ; ln -s ${SKY130A}_setup.tcl setup.tcl)
 
-klayout-a: ${TECH}.lyp ${TECH}.lyt
+klayout-a: klayout/${TECH}.lyp klayout/${TECH}.lyt
 	mkdir -p ${KLAYOUTTOP_STAGING_A}
 	mkdir -p ${KLAYOUT_STAGING_A}
 	rm -f ${KLAYOUT_STAGING_A}/${SKY130A}.lyp
 	rm -f ${KLAYOUT_STAGING_A}/${SKY130A}.lyt
-	${CPP} ${SKY130A_DEFS} ${TECH}.lyp > ${KLAYOUT_STAGING_A}/${SKY130A}.lyp
-	${CPP} ${SKY130A_DEFS} ${TECH}.lyt > ${KLAYOUT_STAGING_A}/${SKY130A}.lyt
+	${CPP} ${SKY130A_DEFS} klayout/${TECH}.lyp > ${KLAYOUT_STAGING_A}/${SKY130A}.lyp
+	${CPP} ${SKY130A_DEFS} klayout/${TECH}.lyt > ${KLAYOUT_STAGING_A}/${SKY130A}.lyt
 
-openlane-a: common_pdn.tcl common_tracks.info config.tcl sky130_fd_sc_hd_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
 	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
 	rm -f ${OPENLANE_STAGING_A}/common_pdn.info
-	rm -f ${OPENLANE_STAGING_A}/common_tracks.info
 	rm -f ${OPENLANE_STAGING_A}/config.tcl
 	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/config.tcl
-	${CPP} ${SKY130A_DEFS} common_pdn.tcl > ${OPENLANE_STAGING_A}/common_pdn.tcl
-	${CPP} ${SKY130A_DEFS} common_tracks.info > ${OPENLANE_STAGING_A}/common_tracks.info
-	${CPP} ${SKY130A_DEFS} config.tcl > ${OPENLANE_STAGING_A}/config.tcl
-	${CPP} ${SKY130A_DEFS} sky130_fd_sc_hd_config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/config.tcl
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/tracks.info
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/no_synth.cells
+	rm -f ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/sky130_fd_sc_hd__fakediode_2.gds
+	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
+	${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
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/tracks.info
+	${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/no_synth.cells
+	cp openlane/sky130_fd_sc_hd/sky130_fd_sc_hd__fakediode_2.gds ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/sky130_fd_sc_hd__fakediode_2.gds
+	${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
 
 vendor-a:
 	# Install base device models from vendor files
diff --git a/sky130/config.tcl b/sky130/config.tcl
deleted file mode 100644
index ba96898..0000000
--- a/sky130/config.tcl
+++ /dev/null
@@ -1,31 +0,0 @@
-# Process node
-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(PLACE_SITE) "unithd"
-set ::env(PLACE_SITE_WIDTH) 0.460
-set ::env(PLACE_SITE_HEIGHT) 2.720
-
-set ::env(VDD_PIN) "vpwr"
-set ::env(GND_PIN) "vgnd"
-
-# Track information for generating DEF tracks
-set ::env(TRACKS_INFO_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/common_tracks.info"
-
-
-# Technology LEF
-set ::env(TECH_LEF) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/techLEF/$::env(PDK_VARIANT)/$::env(PDK_VARIANT)_tech.lef"
-set ::env(CELLS_LEF) [glob "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lef/$::env(PDK_VARIANT)/*.lef"]
-set ::env(MAGIC_TECH_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/magic/current/EFS8A.tech"
-set ::env(MAGIC_MAGICRC) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/magic/current/EFS8A.magicrc"
-set ::env(GPIO_PADS_LEF) [glob "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lef/sky130_fd_io/routing_abstract/*.lef"]
-
-# netgen setup
-set ::env(NETGEN_SETUP_FILE) $::env(PDK_ROOT)/$::env(PDK)/libs.tech/netgen/$::env(PDK)_setup.tcl 
-# CTS luts
-set ::env(CTS_TECH_DIR) "N/A"
-
-set ::env(FP_TAPCELL_DIST) 20
diff --git a/sky130/sky130_make_torture.tcl b/sky130/custom/scripts/sky130_make_torture.tcl
similarity index 100%
rename from sky130/sky130_make_torture.tcl
rename to sky130/custom/scripts/sky130_make_torture.tcl
diff --git a/sky130/sky130.lyp b/sky130/klayout/sky130.lyp
similarity index 100%
rename from sky130/sky130.lyp
rename to sky130/klayout/sky130.lyp
diff --git a/sky130/sky130.lyt b/sky130/klayout/sky130.lyt
similarity index 100%
rename from sky130/sky130.lyt
rename to sky130/klayout/sky130.lyt
diff --git a/sky130/sky130.magicrc b/sky130/magic/sky130.magicrc
similarity index 100%
rename from sky130/sky130.magicrc
rename to sky130/magic/sky130.magicrc
diff --git a/sky130/sky130.tcl b/sky130/magic/sky130.tcl
similarity index 100%
rename from sky130/sky130.tcl
rename to sky130/magic/sky130.tcl
diff --git a/sky130/sky130.tech b/sky130/magic/sky130.tech
similarity index 100%
rename from sky130/sky130.tech
rename to sky130/magic/sky130.tech
diff --git a/sky130/sky130gds.tech b/sky130/magic/sky130gds.tech
similarity index 100%
rename from sky130/sky130gds.tech
rename to sky130/magic/sky130gds.tech
diff --git a/sky130/sky130_setup.tcl b/sky130/netgen/sky130_setup.tcl
similarity index 100%
rename from sky130/sky130_setup.tcl
rename to sky130/netgen/sky130_setup.tcl
diff --git a/sky130/common_pdn.tcl b/sky130/openlane/common_pdn.tcl
similarity index 88%
rename from sky130/common_pdn.tcl
rename to sky130/openlane/common_pdn.tcl
index 9ad2264..60ad840 100644
--- a/sky130/common_pdn.tcl
+++ b/sky130/openlane/common_pdn.tcl
@@ -7,7 +7,7 @@
 pdngen::specify_grid stdcell {
     name grid
     rails {
-	    met1 {width 0.48 pitch $::env(PLACE_SITE_WIDTH) offset 0}
+	    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)}
@@ -36,9 +36,3 @@
 
 # POWER or GROUND #Upper metal stripes starting with power or ground rails at the left/bottom of the core area
 set ::stripes_start_with "POWER" ;
-
-proc generate_viarules {} {
-}
-
-cd $::env(TMP_DIR)/floorplan
-
diff --git a/sky130/openlane/config.tcl b/sky130/openlane/config.tcl
new file mode 100755
index 0000000..7c4f7fb
--- /dev/null
+++ b/sky130/openlane/config.tcl
@@ -0,0 +1,27 @@
+# Process node
+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"
+
+# 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"]
+
+# netgen setup
+set ::env(NETGEN_SETUP_FILE) $::env(PDK_ROOT)/TECHNAME/libs.tech/netgen/TECHNAME_setup.tcl
+# CTS luts
+set ::env(CTS_TECH_DIR) "N/A"
+
+set ::env(FP_TAPCELL_DIST) 14
+
+
+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
new file mode 100755
index 0000000..9b0c818
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hd/config.tcl
@@ -0,0 +1,64 @@
+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_25C_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"
+
+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"
+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_hd__decap_3"
+
+# defaults (can be overridden by designs):
+set ::env(SYNTH_DRIVING_CELL) "sky130_fd_sc_hd__inv_8"
+#capacitance : 0.017653;
+set ::env(SYNTH_DRIVING_CELL_PIN) "Y"
+# update these
+set ::env(SYNTH_CAP_LOAD) "17.65" ; # femtofarad __inv_8 pin A cap
+set ::env(SYNTH_MIN_BUF_PORT) "sky130_fd_sc_hd__buf_2 A X"
+set ::env(SYNTH_TIEHI_PORT) "sky130_fd_sc_hd__conb_1 HI"
+set ::env(SYNTH_TIELO_PORT) "sky130_fd_sc_hd_conb_1 LO"
+
+# cts defaults
+set ::env(CTS_ROOT_BUFFER) sky130_fd_sc_hd__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_hd__fill_"
+set ::env(DECAP_CELL) "sky130_fd_sc_hd__decap_"
+set ::env(RE_BUFFER_CELL) "sky130_fd_sc_hd__buf_4"
+
+
+# Diode insertaion
+set ::env(DIODE_CELL) "sky130_fd_sc_hd__diode_2"
+set ::env(FAKEDIODE_CELL) "sky130_fd_sc_hd__fakediode_2"
+set ::env(DIODE_CELL_PIN) "DIODE"
+
+set ::env(CELL_PAD) 8
+set ::env(CELL_PAD_EXECLUDE) "sky130_fd_sc_hd__tap* sky130_fd_sc_hd__decap* sky130_fd_sc_hd__fill*"
+
+# Clk Buffers info CTS data
+set ::env(ROOT_CLK_BUFFER) sky130_fd_sc_hd__clkbuf_16
+set ::env(CLK_BUFFER) sky130_fd_sc_hd__clkbuf_4
+set ::env(CLK_BUFFER_INPUT) A
+set ::env(CLK_BUFFER_OUTPUT) X
+set ::env(CTS_CLK_BUFFER_LIST) "sky130_fd_sc_hd__clkbuf_1 sky130_fd_sc_hd__clkbuf_2 sky130_fd_sc_hd__clkbuf_4 sky130_fd_sc_hd__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_hd/no_synth.cells b/sky130/openlane/sky130_fd_sc_hd/no_synth.cells
new file mode 100644
index 0000000..a71461b
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hd/no_synth.cells
@@ -0,0 +1,422 @@
+scs8hd_dfstp_2
+scs8hd_xor3_4
+scs8hd_or2b_2
+scs8hd_xnor3_2
+scs8hd_sdfbbn_2
+scs8hd_sdfxtp_2
+scs8hd_dfxtp_2
+scs8hd_xor2_2
+scs8hd_o311ai_2
+scs8hd_nand2_2
+scs8hd_sdfrtp_2
+scs8hd_and4_2
+scs8hd_dfsbp_2
+scs8hd_or4_2
+scs8hd_inv_2
+scs8hd_dlymetal6s4s_1
+scs8hd_o31ai_2
+scs8hd_bufbuf_16
+scs8hd_dlygate4sd3_1
+scs8hd_o22ai_2
+scs8hd_o32ai_2
+scs8hd_and3_2
+scs8hd_o2111ai_2
+scs8hd_dlrbp_2
+scs8hd_and4bb_2
+scs8hd_nand3b_2
+scs8hd_buf_6
+scs8hd_and4b_2
+scs8hd_a2bb2oi_2
+scs8hd_buf_12
+scs8hd_and2_2
+scs8hd_dlxbn_2
+scs8hd_dlrtp_2
+scs8hd_xor3_1
+scs8hd_a21oi_2
+scs8hd_inv_12
+scs8hd_o21ai_2
+scs8hd_a311oi_2
+scs8hd_o21bai_2
+scs8hd_nand3_2
+scs8hd_dlygate4sd2_1
+scs8hd_o211ai_2
+scs8hd_or4b_2
+scs8hd_and3b_2
+scs8hd_or4bb_2
+scs8hd_sdfrbp_2
+scs8hd_o2bb2ai_2
+scs8hd_bufinv_16
+scs8hd_xor3_2
+scs8hd_o41ai_2
+scs8hd_or3b_2
+scs8hd_or2_2
+scs8hd_dfrtp_2
+scs8hd_bufbuf_8
+scs8hd_bufinv_8
+scs8hd_buf_2
+scs8hd_inv_6
+scs8hd_xnor3_4
+scs8hd_and2b_2
+scs8hd_a2111oi_2
+scs8hd_xnor3_1
+scs8hd_dlymetal6s6s_1
+scs8hd_o221ai_2
+scs8hd_sdfstp_2
+scs8hd_a31oi_2
+scs8hd_a211oi_2
+scs8hd_nand2b_2
+scs8hd_a22oi_2
+scs8hd_dlymetal6s2s_1
+scs8hd_dlxtn_2
+scs8hd_a21boi_2
+scs8hd_dlrtn_2
+scs8hd_a221oi_2
+scs8hd_or3_2
+scs8hd_sdfsbp_2
+scs8hd_xnor2_2
+scs8hd_sdfxbp_2
+scs8hd_clkbuf_1
+scs8hd_clkbuf_2
+scs8hd_clkbuf_4
+scs8hd_clkbuf_8
+scs8hd_clkbuf_16
+scs8hd_o22a_1
+scs8hd_o22ai_1
+scs8hd_o21a_1
+scs8hd_o21ai_1
+scs8hd_a211o_1
+scs8hd_a211oi_2
+scs8hd_a21oi_2
+scs8hd_a22oi_2
+scs8hd_a311oi_2
+scs8hd_and2_2
+scs8hd_and3_2
+scs8hd_and4_2
+scs8hd_and4bb_2
+scs8hd_buf_6
+scs8hd_bufbuf_8
+scs8hd_bufinv_8
+scs8hd_clkbuf_16
+scs8hd_clkbuf_4
+scs8hd_dfrtp_2
+scs8hd_dfstp_2
+scs8hd_dlrbp_2
+scs8hd_dlrtp_2
+scs8hd_dlxtn_2
+scs8hd_dlygate4sd3_1
+scs8hd_dlymetal6s4s_1
+scs8hd_inv_12
+scs8hd_inv_6
+scs8hd_nand2b_2
+scs8hd_nand3b_2
+scs8hd_o211ai_2
+scs8hd_o21ai_1
+scs8hd_o21bai_2
+scs8hd_o22a_1
+scs8hd_o22ai_2
+scs8hd_o311ai_2
+scs8hd_o32ai_2
+scs8hd_or2_2
+scs8hd_or3_2
+scs8hd_or4_2
+scs8hd_or4bb_2
+scs8hd_sdfrbp_2
+scs8hd_sdfsbp_2
+scs8hd_sdfxbp_2
+scs8hd_xnor2_2
+scs8hd_xnor3_2
+scs8hd_xor2_2
+scs8hd_xor3_2
+scs8hd_buf_12
+scs8hd_a2111o_1
+scs8hd_a2111o_2
+scs8hd_a2111oi_0
+scs8hd_a2111oi_1
+scs8hd_a211o_2
+scs8hd_a211oi_1
+scs8hd_a211oi_4
+scs8hd_a21bo_1
+scs8hd_a21bo_2
+scs8hd_a21boi_0
+scs8hd_a21boi_1
+scs8hd_a21o_1
+scs8hd_a21o_2
+scs8hd_a21oi_1
+scs8hd_a221o_1
+scs8hd_a221o_2
+scs8hd_a221o_4
+scs8hd_a221oi_1
+scs8hd_a221oi_4
+scs8hd_a222oi_1
+scs8hd_a22o_1
+scs8hd_a22o_2
+scs8hd_a22o_4
+scs8hd_a22oi_1
+scs8hd_a2bb2o_1
+scs8hd_a2bb2o_2
+scs8hd_a2bb2oi_1
+scs8hd_a311o_1
+scs8hd_a311o_2
+scs8hd_a311o_4
+scs8hd_a311oi_1
+scs8hd_a311oi_4
+scs8hd_a31o_1
+scs8hd_a31o_2
+scs8hd_a31o_4
+scs8hd_a31oi_1
+scs8hd_a31oi_4
+scs8hd_a32o_1
+scs8hd_a32o_2
+scs8hd_a32oi_1
+scs8hd_a32oi_2
+scs8hd_a41o_1
+scs8hd_a41o_2
+scs8hd_a41oi_1
+scs8hd_a41oi_2
+scs8hd_and2_0
+scs8hd_and2_1
+scs8hd_and2b_1
+scs8hd_and2b_4
+scs8hd_and3_1
+scs8hd_and3b_1
+scs8hd_and3b_4
+scs8hd_and4_1
+scs8hd_and4b_1
+scs8hd_and4b_4
+scs8hd_and4bb_1
+scs8hd_and4bb_4
+scs8hd_clkdlybuf4s15_1
+scs8hd_clkdlybuf4s15_2
+scs8hd_clkdlybuf4s18_1
+scs8hd_clkdlybuf4s18_2
+scs8hd_clkdlybuf4s25_1
+scs8hd_clkdlybuf4s25_2
+scs8hd_clkdlybuf4s50_1
+scs8hd_clkdlybuf4s50_2
+scs8hd_clkinv_1
+scs8hd_clkinv_16
+scs8hd_clkinv_2
+scs8hd_clkinv_4
+scs8hd_clkinv_8
+scs8hd_clkinvlp_2
+scs8hd_clkinvlp_4
+scs8hd_decap_12
+scs8hd_decap_3
+scs8hd_decap_4
+scs8hd_decap_6
+scs8hd_decap_8
+scs8hd_dfbbn_1
+scs8hd_dfbbp_1
+scs8hd_dfrbp_1
+scs8hd_dfrtn_1
+scs8hd_dfrtp_1
+scs8hd_dfsbp_1
+scs8hd_dfstp_1
+scs8hd_dfxbp_1
+scs8hd_dfxtp_1
+scs8hd_diode_2
+scs8hd_dlclkp_1
+scs8hd_dlclkp_2
+scs8hd_dlclkp_4
+scs8hd_dlrbn_1
+scs8hd_dlrbn_2
+scs8hd_dlrbp_1
+scs8hd_dlrtn_1
+scs8hd_dlrtn_4
+scs8hd_dlrtp_1
+scs8hd_dlrtp_4
+scs8hd_dlxbn_1
+scs8hd_dlxbp_1
+scs8hd_dlxtn_1
+scs8hd_dlxtn_4
+scs8hd_dlxtp_1
+scs8hd_dlygate4sd1_1
+scs8hd_ebufn_1
+scs8hd_ebufn_2
+scs8hd_ebufn_4
+scs8hd_ebufn_8
+scs8hd_edfxbp_1
+scs8hd_edfxtp_1
+scs8hd_einvn_0
+scs8hd_einvn_1
+scs8hd_einvn_2
+scs8hd_einvn_4
+scs8hd_einvn_8
+scs8hd_einvp_1
+scs8hd_einvp_2
+scs8hd_einvp_4
+scs8hd_einvp_8
+scs8hd_fa_1
+scs8hd_fa_2
+scs8hd_fa_4
+scs8hd_fah_1
+scs8hd_fahcin_1
+scs8hd_fahcon_1
+scs8hd_ha_1
+scs8hd_ha_2
+scs8hd_ha_4
+scs8hd_inv_1
+scs8hd_inv_4
+scs8hd_lpflow_bleeder_1
+scs8hd_lpflow_clkbufkapwr_1
+scs8hd_lpflow_clkbufkapwr_16
+scs8hd_lpflow_clkbufkapwr_2
+scs8hd_lpflow_clkbufkapwr_4
+scs8hd_lpflow_clkbufkapwr_8
+scs8hd_lpflow_clkinvkapwr_1
+scs8hd_lpflow_clkinvkapwr_16
+scs8hd_lpflow_clkinvkapwr_2
+scs8hd_lpflow_clkinvkapwr_4
+scs8hd_lpflow_clkinvkapwr_8
+scs8hd_lpflow_decapkapwr_12
+scs8hd_lpflow_decapkapwr_3
+scs8hd_lpflow_decapkapwr_4
+scs8hd_lpflow_decapkapwr_6
+scs8hd_lpflow_decapkapwr_8
+scs8hd_lpflow_inputiso0n_1
+scs8hd_lpflow_inputiso0p_1
+scs8hd_lpflow_inputiso1n_1
+scs8hd_lpflow_inputiso1p_1
+scs8hd_lpflow_inputisolatch_1
+scs8hd_lpflow_isobufsrc_1
+scs8hd_lpflow_isobufsrc_16
+scs8hd_lpflow_isobufsrc_2
+scs8hd_lpflow_isobufsrc_4
+scs8hd_lpflow_isobufsrc_8
+scs8hd_lpflow_isobufsrckapwr_16
+scs8hd_lpflow_lsbuf_lh_isowell_4
+scs8hd_lpflow_lsbuf_lh_isowell_tap_1
+scs8hd_lpflow_lsbuf_lh_isowell_tap_2
+scs8hd_lpflow_lsbuf_lh_isowell_tap_4
+scs8hd_macro_sparecell
+scs8hd_maj3_1
+scs8hd_maj3_2
+scs8hd_mux2_1
+scs8hd_mux2_2
+scs8hd_mux2_4
+scs8hd_mux2_8
+scs8hd_mux2i_1
+scs8hd_mux2i_2
+scs8hd_mux2i_4
+scs8hd_mux4_1
+scs8hd_mux4_2
+scs8hd_nand2_1
+scs8hd_nand2_8
+scs8hd_nand2b_1
+scs8hd_nand2b_4
+scs8hd_nand3_1
+scs8hd_nand3b_1
+scs8hd_nand3b_4
+scs8hd_nand4_1
+scs8hd_nand4_2
+scs8hd_nand4b_1
+scs8hd_nand4b_2
+scs8hd_nand4b_4
+scs8hd_nand4bb_1
+scs8hd_nand4bb_2
+scs8hd_nand4bb_4
+scs8hd_nor2_1
+scs8hd_nor2_2
+scs8hd_nor2_8
+scs8hd_nor2b_1
+scs8hd_nor2b_2
+scs8hd_nor2b_4
+scs8hd_nor3_1
+scs8hd_nor3_2
+scs8hd_nor3b_1
+scs8hd_nor3b_2
+scs8hd_nor3b_4
+scs8hd_nor4_1
+scs8hd_nor4_2
+scs8hd_nor4b_1
+scs8hd_nor4b_2
+scs8hd_nor4b_4
+scs8hd_nor4bb_1
+scs8hd_nor4bb_2
+scs8hd_nor4bb_4
+scs8hd_o2111a_1
+scs8hd_o2111a_2
+scs8hd_o2111a_4
+scs8hd_o2111ai_1
+scs8hd_o2111ai_4
+scs8hd_o211a_1
+scs8hd_o211a_2
+scs8hd_o211a_4
+scs8hd_o211ai_1
+scs8hd_o211ai_4
+scs8hd_o21a_2
+scs8hd_o21ai_0
+scs8hd_o21ba_1
+scs8hd_o21ba_2
+scs8hd_o21ba_4
+scs8hd_o21bai_1
+scs8hd_o21bai_4
+scs8hd_o221a_1
+scs8hd_o221a_2
+scs8hd_o221a_4
+scs8hd_o221ai_1
+scs8hd_o221ai_4
+scs8hd_o22a_2
+scs8hd_o22ai_4
+scs8hd_o2bb2a_1
+scs8hd_o2bb2a_2
+scs8hd_o2bb2a_4
+scs8hd_o2bb2ai_1
+scs8hd_o2bb2ai_4
+scs8hd_o311a_1
+scs8hd_o311a_2
+scs8hd_o311a_4
+scs8hd_o311ai_0
+scs8hd_o311ai_1
+scs8hd_o311ai_4
+scs8hd_o31a_1
+scs8hd_o31a_2
+scs8hd_o31a_4
+scs8hd_o31ai_1
+scs8hd_o31ai_4
+scs8hd_o32a_1
+scs8hd_o32a_2
+scs8hd_o32ai_1
+scs8hd_o41a_1
+scs8hd_o41a_2
+scs8hd_o41ai_1
+scs8hd_or2_0
+scs8hd_or2_1
+scs8hd_or2b_1
+scs8hd_or2b_4
+scs8hd_or3_1
+scs8hd_or3b_1
+scs8hd_or3b_4
+scs8hd_or4_1
+scs8hd_or4b_1
+scs8hd_or4b_4
+scs8hd_or4bb_1
+scs8hd_or4bb_4
+scs8hd_probe_s8p_8
+scs8hd_probec_s8p_8
+scs8hd_sdfbbn_1
+scs8hd_sdfbbp_1
+scs8hd_sdfrbp_1
+scs8hd_sdfrtn_1
+scs8hd_sdfrtp_1
+scs8hd_sdfrtp_4
+scs8hd_sdfsbp_1
+scs8hd_sdfstp_1
+scs8hd_sdfstp_4
+scs8hd_sdfxbp_1
+scs8hd_sdfxtp_1
+scs8hd_sdfxtp_4
+scs8hd_sdlclkp_1
+scs8hd_sdlclkp_2
+scs8hd_sdlclkp_4
+scs8hd_sedfxbp_1
+scs8hd_sedfxbp_2
+scs8hd_sedfxtp_1
+scs8hd_sedfxtp_2
+scs8hd_sedfxtp_4
+scs8hd_xnor2_1
+scs8hd_xor2_1
+scs8hd_buf_16
+scs8hd_lpflow_lsbuf_lh_hl_isowell_tap_1
+scs8hd_lpflow_lsbuf_lh_hl_isowell_tap_2
+scs8hd_lpflow_lsbuf_lh_hl_isowell_tap_4
diff --git a/sky130/openlane/sky130_fd_sc_hd/sky130_fd_sc_hd__fakediode_2.gds b/sky130/openlane/sky130_fd_sc_hd/sky130_fd_sc_hd__fakediode_2.gds
new file mode 100644
index 0000000..d98d9a4
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hd/sky130_fd_sc_hd__fakediode_2.gds
Binary files differ
diff --git a/sky130/common_tracks.info b/sky130/openlane/sky130_fd_sc_hd/tracks.info
similarity index 100%
rename from sky130/common_tracks.info
rename to sky130/openlane/sky130_fd_sc_hd/tracks.info
diff --git a/sky130/openlane/sky130_fd_sc_hs/config.tcl b/sky130/openlane/sky130_fd_sc_hs/config.tcl
new file mode 100755
index 0000000..ac0f516
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hs/config.tcl
@@ -0,0 +1,57 @@
+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_25C_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"
+
+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"
+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_hs__tapvpwrvgnd_1"
+set ::env(FP_ENDCAP_CELL) "sky130_fd_sc_hs__decap_4"
+
+# defaults (can be overridden by designs):
+set ::env(SYNTH_DRIVING_CELL) "sky130_fd_sc_hs__inv_8"
+#capacitance : 0.017653;
+set ::env(SYNTH_DRIVING_CELL_PIN) "Y"
+# update these
+set ::env(SYNTH_CAP_LOAD) "17.65" ; # femtofarad _inv_8 pin A cap
+set ::env(SYNTH_MIN_BUF_PORT) "sky130_fd_sc_hs__buf_2 A X"
+set ::env(SYNTH_TIEHI_PORT) "sky130_fd_sc_hs__conb_1 HI"
+set ::env(SYNTH_TIELO_PORT) "sky130_fd_sc_hs__conb_1 LO"
+
+# cts defaults
+set ::env(CTS_ROOT_BUFFER) sky130_fd_sc_hs__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_hs__fill_"
+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(CELL_PAD) 8
+set ::env(CELL_PAD_EXECLUDE) "sky130_fd_sc_hs__tap* sky130_fd_sc_hs__decap* sky130_fd_sc_hs__fill*"
+
+set ::env(ROOT_CLK_BUFFER) sky130_fd_sc_hs__clkbuf_16
+set ::env(CLK_BUFFER) sky130_fd_sc_hs__clkbuf_4
+set ::env(CLK_BUFFER_INPUT) A
+set ::env(CLK_BUFFER_OUTPUT) X
+
diff --git a/sky130/openlane/sky130_fd_sc_hs/no_synth.cells b/sky130/openlane/sky130_fd_sc_hs/no_synth.cells
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hs/no_synth.cells
diff --git a/sky130/openlane/sky130_fd_sc_hs/tracks.info b/sky130/openlane/sky130_fd_sc_hs/tracks.info
new file mode 100644
index 0000000..5ded724
--- /dev/null
+++ b/sky130/openlane/sky130_fd_sc_hs/tracks.info
@@ -0,0 +1,12 @@
+li1 X 0.24 0.48
+li1 Y 0.185 0.37
+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.85 3.33
+met5 Y 1.85 3.33
diff --git a/sky130/sky130.par b/sky130/qflow/sky130.par
similarity index 100%
rename from sky130/sky130.par
rename to sky130/qflow/sky130.par
diff --git a/sky130/sky130.sh b/sky130/qflow/sky130.sh
similarity index 100%
rename from sky130/sky130.sh
rename to sky130/qflow/sky130.sh
diff --git a/sky130/sky130osu.sh b/sky130/qflow/sky130osu.sh
similarity index 100%
rename from sky130/sky130osu.sh
rename to sky130/qflow/sky130osu.sh
diff --git a/sky130/sky130_fd_sc_hd_config.tcl b/sky130/sky130_fd_sc_hd_config.tcl
deleted file mode 100644
index 4d9393a..0000000
--- a/sky130/sky130_fd_sc_hd_config.tcl
+++ /dev/null
@@ -1,41 +0,0 @@
-set current_folder [file dirname [file normalize [info script]]]
-# Technology lib
-
-set ::env(LIB_SYNTH) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hd_tt_1.80v_25C.lib"
-set ::env(LIB_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hd_ff_1.95v_-40C.lib"
-set ::env(LIB_MIN) "$::env(PDK_ROOT)$::env(PDK)/libs.ref/lib/$::env(PDK_VARIANT)/sky130_fd_sc_hd_ss_1.60v_100C.lib"
-
-
-set ::env(LIB_TYPICAL) $::env(LIB_SYNTH)
-
-# welltap and endcap cells
-set ::env(FP_WELLTAP_CELL) "sky130_fd_sc_hd_tapvpwrvgnd_1"
-set ::env(FP_ENDCAP_CELL) "sky130_fd_sc_hd_decap_3"
-
-# defaults (can be overridden by designs):
-set ::env(SYNTH_DRIVING_CELL) "sky130_fd_sc_hd_inv_8"
-#capacitance : 0.017653;
-set ::env(SYNTH_DRIVING_CELL_PIN) "Y"
-# update these
-set ::env(SYNTH_CAP_LOAD) "17.65" ; # femtofarad _inv_8 pin A cap
-set ::env(SYNTH_MIN_BUF_PORT) "sky130_fd_sc_hd_buf_2 A X"
-set ::env(SYNTH_TIEHI_PORT) "sky130_fd_sc_hd_conb_1 HI"
-set ::env(SYNTH_TIELO_PORT) "sky130_fd_sc_hd_conb_1 LO"
-
-# cts defaults
-set ::env(CTS_ROOT_BUFFER) sky130_fd_sc_hd_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_hd_decap_ sky130_fd_sc_hd_fill_"
-
-set ::env(CELL_PAD) 2
-set ::env(CELL_PAD_EXECLUDE) "$::env(PDK_VARIANT)_tap* $::env(PDK_VARIANT)_decap* $::env(PDK_VARIANT)_fill*"
-
-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