diff --git a/scripts/configure b/scripts/configure
index 8042b8a..4b226b2 100755
--- a/scripts/configure
+++ b/scripts/configure
@@ -591,7 +591,6 @@
 SKY130_OSU_T18_PATH
 SKY130_OSU_T15_PATH
 SKY130_OSU_T12_PATH
-SKY130_OSU_PATH
 SKY130_SRAM_MACROS_PATH
 XSCHEM_SKY130_PATH
 SKY130_ML_XX_HD_PATH
@@ -635,6 +634,7 @@
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -669,7 +669,6 @@
 enable_alpha_sky130
 enable_xschem_sky130
 enable_sram_sky130
-enable_osu_sky130
 enable_osu_t12_sky130
 enable_osu_t15_sky130
 enable_osu_t18_sky130
@@ -717,6 +716,7 @@
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -969,6 +969,15 @@
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1106,7 +1115,7 @@
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
+		libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1259,6 +1268,7 @@
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -1329,9 +1339,6 @@
   --enable-sram-sky130[=path]
                           Install sky130_sram_macros. If path is omitted, the repository
                           will be downloaded. [default=disabled]
-  --enable-osu-sky130[=path]
-                          Install sky130_osu. If path is omitted, the repository
-                          will be downloaded. [default=disabled]
   --enable-osu-t12-sky130[=path]
                           Install sky130_osu_t12. If path is omitted, the repository
                           will be downloaded. [default=disabled]
@@ -1831,7 +1838,7 @@
   $as_echo_n "(cached) " >&6
 else
 
-	for am_cv_pathless_PYTHON in python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7  python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do
+	for am_cv_pathless_PYTHON in python python2 python3  python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3  python3.2 python3.1 python3.0  python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1  python2.0 none; do
 	  test "$am_cv_pathless_PYTHON" = none && break
 	  prog="import sys
 # split strings by '.' and convert to numeric.  Append some zeros
@@ -1918,6 +1925,8 @@
 $as_echo "$am_cv_python_version" >&6; }
   PYTHON_VERSION=$am_cv_python_version
 
+
+
   PYTHON_PREFIX='${prefix}'
 
   PYTHON_EXEC_PREFIX='${exec_prefix}'
@@ -2605,47 +2614,6 @@
 
     # echo target targetvar flag location
 
-    SKY130_OSU_PATH=""
-
-    # Check whether --enable-osu-sky130 was given.
-if test "${enable_osu_sky130+set}" = set; then :
-  enableval=$enable_osu_sky130;
-            if test "$enableval" == "yes" -o "$enableval" == "YES"; then
-                { $as_echo "$as_me:${as_lineno-$LINENO}: Package 'sky130_osu' will be installed automatically during make." >&5
-$as_echo "$as_me: Package 'sky130_osu' will be installed automatically during make." >&6;}
-        	export SKY130_OSU_PATH=../sources/sky130_osu
-            elif test "$enableval" == "no" -o "$enableval" == "NO"; then
-                { $as_echo "$as_me:${as_lineno-$LINENO}: Disabling package 'sky130_osu'" >&5
-$as_echo "$as_me: Disabling package 'sky130_osu'" >&6;}
-    		export SKY130_OSU_PATH=""
-            else
-                SKY130_OSU_PATH=$enableval
-                { $as_echo "$as_me:${as_lineno-$LINENO}: Enabling package 'sky130_osu' at $SKY130_OSU_PATH" >&5
-$as_echo "$as_me: Enabling package 'sky130_osu' at $SKY130_OSU_PATH" >&6;}
-            fi
-            SKY130_OSU_PATH=`realpath $SKY130_OSU_PATH`
-
-else
-
-            { $as_echo "$as_me:${as_lineno-$LINENO}: Package 'sky130_osu' will not be installed." >&5
-$as_echo "$as_me: Package 'sky130_osu' will not be installed." >&6;}
-
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-    # echo target targetvar flag location
-
     SKY130_OSU_T12_PATH=""
 
     # Check whether --enable-osu-t12-sky130 was given.
diff --git a/scripts/configure.ac b/scripts/configure.ac
index 15afffb..0dbb30d 100755
--- a/scripts/configure.ac
+++ b/scripts/configure.ac
@@ -207,7 +207,6 @@
 M4_GEN_INSTALLATION(xschem_sky130, xschem-sky130, ../sources)
 
 M4_OPT_INSTALLATION(sky130_sram_macros, sram-sky130, ../sources)
-M4_OPT_INSTALLATION(sky130_osu, osu-sky130, ../sources)
 M4_OPT_INSTALLATION(sky130_osu_t12, osu-t12-sky130, ../sources)
 M4_OPT_INSTALLATION(sky130_osu_t15, osu-t15-sky130, ../sources)
 M4_OPT_INSTALLATION(sky130_osu_t18, osu-t18-sky130, ../sources)
diff --git a/sky130/Makefile.in b/sky130/Makefile.in
index 2cf2dfc..9c791cf 100644
--- a/sky130/Makefile.in
+++ b/sky130/Makefile.in
@@ -88,12 +88,6 @@
 #		the SRAM library will be cloned from the repository and
 #		installed.
 #
-#	--enable-osu-sky130[=<path>]
-#		If enabled, install the sky130_osu_sc library from
-#		foss-eda-tools on googlesource.   If <path> is not
-#		specified, then the OSU standard cell library will be
-#		clones from the repository and installed.
-#
 #	--enable-osu-t12-sky130[=<path>]
 #		If enabled, install the sky130_osu_sc_t12 libraries from
 #		foss-eda-tools on googlesource.   If <path> is not
@@ -198,7 +192,6 @@
 ALPHA_PATH = @SKY130_ML_XX_HD_PATH@
 XSCHEM_PATH = @XSCHEM_SKY130_PATH@
 SRAM_PATH = @SKY130_SRAM_MACROS_PATH@
-OSU_PATH = @SKY130_OSU_PATH@
 OSU_T12_PATH = @SKY130_OSU_T12_PATH@
 OSU_T15_PATH = @SKY130_OSU_T15_PATH@
 OSU_T18_PATH = @SKY130_OSU_T18_PATH@
@@ -207,7 +200,6 @@
 ALPHA_URL = https://github.com/PaulSchulz/sky130_pschulz_xx_hd
 XSCHEM_URL = https://github.com/StefanSchippers/xschem_sky130
 SRAM_URL = https://github.com/efabless/sky130_sram_macros
-OSU_URL = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc
 OSU_T12_URL = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t12
 OSU_T15_URL = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t15
 OSU_T18_URL = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t18
@@ -260,11 +252,6 @@
 else
     COMMIT_DEFS += -DSRAM_COMMIT=$(shell cd ${SRAM_PATH} ; git rev-parse HEAD)
 endif
-ifeq (${OSU_PATH},)
-    COMMIT_DEFS += -DOSU_COMMIT="unknown"
-else
-    COMMIT_DEFS += -DOSU_COMMIT=$(shell cd ${OSU_PATH} ; git rev-parse HEAD)
-endif
 ifeq (${OSU_T12_PATH},)
     COMMIT_DEFS += -DOSU_T12_COMMIT="unknown"
 else
@@ -512,7 +499,7 @@
 all: all-a
 
 # Handle prerequisites (fetch and install the PDK and requested libraries)
-prerequisites: pdk-repo alpha-repo xschem-repo sram-repo osu-repo osu-t12-repo osu-t15-repo osu-t18-repo
+prerequisites: pdk-repo alpha-repo xschem-repo sram-repo osu-t12-repo osu-t15-repo osu-t18-repo
 
 pdk-repo:
 	if test "x${SKYWATER_PATH}" != "x" ; then \
@@ -554,16 +541,6 @@
 		fi ; \
 	fi
 
-osu-repo:
-	if test "x${OSU_PATH}" != "x" ; then \
-		if test -d "${OSU_PATH}" ; then \
-			echo "Using existing installation of OSU standard cell library from ${OSU_PATH}" ; \
-		else \
-			echo "Downloading OSU standard cell library from ${OSU_URL}" ; \
-			../scripts/download.sh ${OSU_URL} ${OSU_PATH} 0 ; \
-		fi ; \
-	fi
-
 osu-t12-repo:
 	if test "x${OSU_T12_PATH}" != "x" ; then \
 		if test -d "${OSU_T12_PATH}" ; then \
@@ -651,8 +628,24 @@
 	rm -f ${QFLOW_STAGING_A}/sky130_fd_sc_lp.par
 	rm -f ${QFLOW_STAGING_A}/sky130_fd_sc_ms.sh
 	rm -f ${QFLOW_STAGING_A}/sky130_fd_sc_ms.par
-	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_t18.sh
-	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_t18.par
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_12t_ls.sh
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_12t_ls.par
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_12t_ms.sh
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_12t_ms.par
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_12t_hs.sh
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_12t_hs.par
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_15t_ls.sh
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_15t_ls.par
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_15t_ms.sh
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_15t_ms.par
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_15t_hs.sh
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_15t_hs.par
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_18t_ls.sh
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_18t_ls.par
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_18t_ms.sh
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_18t_ms.par
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_18t_hs.sh
+	rm -f ${QFLOW_STAGING_A}/sky130_osu_sc_18t_hs.par
 	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hd -DVOLTAGE=1v95 \
 		qflow/${TECH}.sh ${QFLOW_STAGING_A}/sky130_fd_sc_hd.sh
 	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hdll -DVOLTAGE=1v95 \
@@ -667,8 +660,24 @@
 		qflow/${TECH}.sh ${QFLOW_STAGING_A}/sky130_fd_sc_ls.sh
 	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_ms -DVOLTAGE=1v95 \
 		qflow/${TECH}.sh ${QFLOW_STAGING_A}/sky130_fd_sc_ms.sh
-	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_t18 qflow/sky130osu.sh \
-		${QFLOW_STAGING_A}/sky130_osu_sc_t18.sh
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_12t_ls qflow/sky130osu.sh \
+		${QFLOW_STAGING_A}/sky130_osu_sc_12t_ls.sh
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_12t_ms qflow/sky130osu.sh \
+		${QFLOW_STAGING_A}/sky130_osu_sc_12t_ms.sh
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_12t_hs qflow/sky130osu.sh \
+		${QFLOW_STAGING_A}/sky130_osu_sc_12t_hs.sh
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_15t_ls qflow/sky130osu.sh \
+		${QFLOW_STAGING_A}/sky130_osu_sc_15t_ls.sh
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_15t_ms qflow/sky130osu.sh \
+		${QFLOW_STAGING_A}/sky130_osu_sc_15t_ms.sh
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_15t_hs qflow/sky130osu.sh \
+		${QFLOW_STAGING_A}/sky130_osu_sc_15t_hs.sh
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_18t_ls qflow/sky130osu.sh \
+		${QFLOW_STAGING_A}/sky130_osu_sc_18t_ls.sh
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_18t_ms qflow/sky130osu.sh \
+		${QFLOW_STAGING_A}/sky130_osu_sc_18t_ms.sh
+	${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_18t_hs qflow/sky130osu.sh \
+		${QFLOW_STAGING_A}/sky130_osu_sc_18t_hs.sh
 	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/sky130_fd_sc_hd.par
 	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/sky130_fd_sc_hdll.par
 	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/sky130_fd_sc_hvl.par
@@ -676,7 +685,24 @@
 	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/sky130_fd_sc_ms.par
 	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/sky130_fd_sc_lp.par
 	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/sky130_fd_sc_ls.par
-	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/sky130_osu_sc_t18.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par \
+			${QFLOW_STAGING_A}/sky130_osu_sc_12t_ls.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par \
+			${QFLOW_STAGING_A}/sky130_osu_sc_12t_ms.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par \
+			${QFLOW_STAGING_A}/sky130_osu_sc_12t_hs.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par \
+			${QFLOW_STAGING_A}/sky130_osu_sc_15t_ls.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par \
+			${QFLOW_STAGING_A}/sky130_osu_sc_15t_ms.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par \
+			${QFLOW_STAGING_A}/sky130_osu_sc_15t_hs.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par \
+			${QFLOW_STAGING_A}/sky130_osu_sc_18t_ls.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par \
+			${QFLOW_STAGING_A}/sky130_osu_sc_18t_ms.par
+	${CPP} ${SKY130A_DEFS} qflow/${TECH}.par \
+			${QFLOW_STAGING_A}/sky130_osu_sc_18t_hs.par
 
 netgen-a: netgen/${TECH}_setup.tcl
 	mkdir -p ${NETGENTOP_STAGING_A}
@@ -865,10 +891,6 @@
 		echo "Building SRAM macro library" ;\
 		make sram-a ;\
 	fi
-	if test "x${OSU_PATH}" != "x" ; then \
-		echo "Building OSU full source library" ;\
-		make osu-base-a ;\
-	fi
 	if test "x${OSU_T12_PATH}" != "x" ; then \
 		echo "Building OSU 12-track-high standard cell library" ;\
 		make osu-t12-a ;\
@@ -1271,21 +1293,10 @@
 		-verilog %l/*/*.v \
 		-library general sky130_sram_macros 2>&1 | tee -a ${SKY130A}_make.log
 
-osu-base-a:
-	# Install OSU digital standard cells.
-	${STAGE} -source ${OSU_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef %l/tech/sky130_osu_sc.lef rename=sky130_osu_sc.tlef \
-		-cdl %l/latest/cdl/*.cdl ignore=topography compile-only \
-		-lef %l/latest/lef/*.lef compile-only \
-		-lib %l/latest/lib/*.lib \
-		-gds %l/latest/gds/*.gds compile-only \
-			options=custom/scripts/gds_import_setup.tcl \
-		-library digital sky130_osu_sc 2>&1 | tee -a ${SKY130A}_make.log
-
 osu-t12-a:
 	# Install OSU T12 hs digital standard cells.
 	${STAGE} -source ${OSU_T12_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef sky130_osu_sc_12T.tlef rename=sky130_osc_sc_12t_hs.tlef \
+		-techlef sky130_osu_sc_12T.tlef rename=sky130_osu_sc_12t_hs.tlef \
 		-spice 12T_hs/cdl/*.spice compile-only exclude=*.*.spice \
 		-lef 12T_hs/lef/*.lef \
 		-lib 12T_hs/lib/*.lib \
@@ -1294,7 +1305,7 @@
 		-library digital sky130_osu_sc_12t_hs 2>&1 | tee -a ${SKY130A}_make.log
 	# Install OSU T12 ms digital standard cells.
 	${STAGE} -source ${OSU_T12_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef sky130_osu_sc_12T.tlef rename=sky130_osc_sc_12t_ms.tlef \
+		-techlef sky130_osu_sc_12T.tlef rename=sky130_osu_sc_12t_ms.tlef \
 		-spice 12T_ms/cdl/*.spice compile-only exclude=*.*.spice \
 		-lef 12T_ms/lef/*.lef \
 		-lib 12T_ms/lib/*.lib \
@@ -1303,7 +1314,7 @@
 		-library digital sky130_osu_sc_12t_ms 2>&1 | tee -a ${SKY130A}_make.log
 	# Install OSU T12 ls digital standard cells.
 	${STAGE} -source ${OSU_T12_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef sky130_osu_sc_12T.tlef rename=sky130_osc_sc_12t_ls.tlef \
+		-techlef sky130_osu_sc_12T.tlef rename=sky130_osu_sc_12t_ls.tlef \
 		-spice 12T_ls/cdl/*.spice compile-only exclude=*.*.spice \
 		-lef 12T_ls/lef/*.lef \
 		-lib 12T_ls/lib/*.lib \
@@ -1314,7 +1325,7 @@
 osu-t15-a:
 	# Install OSU T15 hs digital standard cells.
 	${STAGE} -source ${OSU_T15_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef sky130_osu_sc_15T.tlef rename=sky130_osc_sc_15t_hs.tlef \
+		-techlef sky130_osu_sc_15T.tlef rename=sky130_osu_sc_15t_hs.tlef \
 		-spice 15T_hs/cdl/*.spice compile-only exclude=*.*.spice \
 		-lef 15T_hs/lef/*.lef \
 		-lib 15T_hs/lib/*.lib \
@@ -1323,7 +1334,7 @@
 		-library digital sky130_osu_sc_15t_hs 2>&1 | tee -a ${SKY130A}_make.log
 	# Install OSU T15 ms digital standard cells.
 	${STAGE} -source ${OSU_T15_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef sky130_osu_sc_15T.tlef rename=sky130_osc_sc_15t_ms.tlef \
+		-techlef sky130_osu_sc_15T.tlef rename=sky130_osu_sc_15t_ms.tlef \
 		-spice 15T_ms/cdl/*.spice compile-only exclude=*.*.spice \
 		-lef 15T_ms/lef/*.lef \
 		-lib 15T_ms/lib/*.lib \
@@ -1332,7 +1343,7 @@
 		-library digital sky130_osu_sc_15t_ms 2>&1 | tee -a ${SKY130A}_make.log
 	# Install OSU T15 ls digital standard cells.
 	${STAGE} -source ${OSU_T15_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef sky130_osu_sc_15T.tlef rename=sky130_osc_sc_15t_ls.tlef \
+		-techlef sky130_osu_sc_15T.tlef rename=sky130_osu_sc_15t_ls.tlef \
 		-spice 15T_ls/cdl/*.spice compile-only exclude=*.*.spice \
 		-lef 15T_ls/lef/*.lef \
 		-lib 15T_ls/lib/*.lib \
@@ -1343,7 +1354,7 @@
 osu-t18-a:
 	# Install OSU T18 hs digital standard cells.
 	${STAGE} -source ${OSU_T18_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef sky130_osu_sc_18T.tlef rename=sky130_osc_sc_18t_hs.tlef \
+		-techlef sky130_osu_sc_18T.tlef rename=sky130_osu_sc_18t_hs.tlef \
 		-spice 18T_hs/cdl/*.spice compile-only exclude=*.*.spice \
 		-lef 18T_hs/lef/*.lef \
 		-lib 18T_hs/lib/*.lib \
@@ -1352,7 +1363,7 @@
 		-library digital sky130_osu_sc_18t_hs 2>&1 | tee -a ${SKY130A}_make.log
 	# Install OSU T18 ms digital standard cells.
 	${STAGE} -source ${OSU_T18_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef sky130_osu_sc_18T.tlef rename=sky130_osc_sc_18t_ms.tlef \
+		-techlef sky130_osu_sc_18T.tlef rename=sky130_osu_sc_18t_ms.tlef \
 		-spice 18T_ms/cdl/*.spice compile-only exclude=*.*.spice \
 		-lef 18T_ms/lef/*.lef \
 		-lib 18T_ms/lib/*.lib \
@@ -1361,7 +1372,7 @@
 		-library digital sky130_osu_sc_18t_ms 2>&1 | tee -a ${SKY130A}_make.log
 	# Install OSU T18 ls digital standard cells.
 	${STAGE} -source ${OSU_T18_PATH} -target ${STAGING_PATH}/${SKY130A} \
-		-techlef sky130_osu_sc_18T.tlef rename=sky130_osc_sc_18t_ls.tlef \
+		-techlef sky130_osu_sc_18T.tlef rename=sky130_osu_sc_18t_ls.tlef \
 		-spice 18T_ls/cdl/*.spice compile-only exclude=*.*.spice \
 		-lef 18T_ls/lef/*.lef \
 		-lib 18T_ls/lib/*.lib \
diff --git a/sky130/qflow/sky130osu.sh b/sky130/qflow/sky130osu.sh
index 168bb64..1116677 100644
--- a/sky130/qflow/sky130osu.sh
+++ b/sky130/qflow/sky130osu.sh
@@ -7,23 +7,23 @@
 # The LEF file containing standard cell macros
 
 #ifdef EF_FORMAT
-set leffile=STAGING_PATH/TECHNAME/libs.ref/lef/sky130_osu130/sky130_osu130.lef
+set leffile=STAGING_PATH/TECHNAME/libs.ref/lef/LIBRARY/LIBRARY.lef
 #else (!EF_FORMAT)
-set leffile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/lef/sky130_osu130.lef
+set leffile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/lef/LIBRARY.lef
 #endif (!EF_FORMAT)
 
 # The SPICE netlist containing subcell definitions for all the standard cells
 #ifdef EF_FORMAT
-set spicefile=STAGING_PATH/TECHNAME/libs.ref/spice/sky130_osu130/sky130_osu130.spice
+set spicefile=STAGING_PATH/TECHNAME/libs.ref/spice/LIBRARY/LIBRARY.spice
 #else (!EF_FORMAT)
-set spicefile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/spice/sky130_osu130.spice
+set spicefile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/spice/LIBRARY.spice
 #endif (!EF_FORMAT)
 
 # The liberty format file containing standard cell timing and function information
 #ifdef EF_FORMAT
-set libertyfile=STAGING_PATH/TECHNAME/libs.ref/lib/sky130_osu130/sky130_osu130.lib
+set libertyfile=STAGING_PATH/TECHNAME/libs.ref/lib/LIBRARY/LIBRARY.lib
 #else (!EF_FORMAT)
-set libertyfile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/lib/sky130_osu130.lib
+set libertyfile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/lib/LIBRARY.lib
 #endif (!EF_FORMAT)
 
 # If there is another LEF file containing technology information
@@ -32,9 +32,9 @@
 
 #ifdef METAL5
 #ifdef EF_FORMAT
-set techleffile=STAGING_PATH/TECHNAME/libs.ref/techLEF/sky130_osu130/sky130_osu130_tech.lef
+set techleffile=STAGING_PATH/TECHNAME/libs.ref/techLEF/LIBRARY/LIBRARY_tech.lef
 #else (!EF_FORMAT)
-set techleffile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/techLEF/sky130_osu130_tech.lef
+set techleffile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/techlef/LIBRARY.tlef
 #endif (!EF_FORMAT)
 #else
 # NOTE:  There is no technology LEF file for the 3-metal stack!
@@ -72,11 +72,11 @@
 set magic_display="XR" 	;# magic display, defeat display query and OGL preference
 set netgen_setup=STAGING_PATH/TECHNAME/libs.tech/netgen/TECHNAME_setup.tcl	;# netgen setup file for LVS
 #ifdef EF_FORMAT
-set gdsfile=STAGING_PATH/TECHNAME/libs.ref/gds/LIBRARY/sky130_osu130.gds	;# GDS database of standard cells
-set verilogfile=STAGING_PATH/TECHNAME/libs.ref/verilog/LIBRARY/sky130_osu130.v	;# Verilog models of standard cells
+set gdsfile=STAGING_PATH/TECHNAME/libs.ref/gds/LIBRARY/LIBRARY.gds	;# GDS database of standard cells
+set verilogfile=STAGING_PATH/TECHNAME/libs.ref/verilog/LIBRARY/LIBRARY.v	;# Verilog models of standard cells
 #else (!EF_FORMAT)
-set gdsfile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/gds/sky130_osu130.gds	;# GDS database of standard cells
-set verilogfile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/verilog/sky130_osu130.v	;# Verilog models of standard cells
+set gdsfile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/gds/LIBRARY.gds	;# GDS database of standard cells
+set verilogfile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/verilog/LIBRARY.v	;# Verilog models of standard cells
 #endif (!EF_FORMAT)
 
 # Set a conditional default in the project_vars.sh file for this process
