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