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