Transition from OpenLane to LibreLane Signed-off-by: Leo Moser <leomoser99@gmail.com>
diff --git a/common/README b/common/README index 521f84c..2bcb4e7 100644 --- a/common/README +++ b/common/README
@@ -69,7 +69,7 @@ netgen netgen klayout klayout qflow qflow - openlane openlane + librelane librelane Current IP library file formats supported in this version of open_pdks*: Format Directory name
diff --git a/gf180mcu/Makefile.in b/gf180mcu/Makefile.in index 89d4a28..2757966 100644 --- a/gf180mcu/Makefile.in +++ b/gf180mcu/Makefile.in
@@ -309,7 +309,7 @@ QFLOWTOP = libs.tech/qflow IRSIMTOP = libs.tech/irsim KLAYOUTTOP = libs.tech/klayout -OPENLANETOP = libs.tech/openlane +LIBRELANETOP = libs.tech/librelane XSCHEMTOP = libs.tech/xschem XCIRCUITTOP = libs.tech/xcircuit NGSPICETOP = libs.tech/ngspice @@ -321,7 +321,7 @@ IRSIMPATH = ${IRSIMTOP} QFLOWPATH = ${QFLOWTOP} KLAYOUTPATH = ${KLAYOUTTOP} -OPENLANEPATH = ${OPENLANETOP} +LIBRELANEPATH = ${LIBRELANETOP} XSCHEMPATH = ${XSCHEMTOP} XCIRCUITPATH = ${XCIRCUITTOP} NGSPICEPATH = ${NGSPICETOP} @@ -331,7 +331,7 @@ IRSIMTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${IRSIMTOP} QFLOWTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${QFLOWTOP} KLAYOUTTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${KLAYOUTTOP} -OPENLANETOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${OPENLANETOP} +LIBRELANETOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${LIBRELANETOP} XSCHEMTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${XSCHEMTOP} XCIRCUITTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${XCIRCUITTOP} NGSPICETOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${NGSPICETOP} @@ -341,7 +341,7 @@ IRSIM_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${IRSIMPATH} QFLOW_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${QFLOWPATH} KLAYOUT_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${KLAYOUTPATH} -OPENLANE_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${OPENLANEPATH} +LIBRELANE_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${LIBRELANEPATH} XSCHEM_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${XSCHEMPATH} XCIRCUIT_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${XCIRCUITPATH} NGSPICE_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${NGSPICEPATH} @@ -351,7 +351,7 @@ IRSIMTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${IRSIMTOP} QFLOWTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${QFLOWTOP} KLAYOUTTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${KLAYOUTTOP} -OPENLANETOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${OPENLANETOP} +LIBRELANETOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${LIBRELANETOP} XSCHEMTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${XSCHEMTOP} XCIRCUITTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${XCIRCUITTOP} NGSPICETOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${NGSPICETOP} @@ -361,7 +361,7 @@ IRSIM_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${IRSIMPATH} QFLOW_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${QFLOWPATH} KLAYOUT_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${KLAYOUTPATH} -OPENLANE_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${OPENLANEPATH} +LIBRELANE_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${LIBRELANEPATH} XSCHEM_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${XSCHEMPATH} XCIRCUIT_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${XCIRCUITPATH} NGSPICE_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${NGSPICEPATH} @@ -371,7 +371,7 @@ IRSIMTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${IRSIMTOP} QFLOWTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${QFLOWTOP} KLAYOUTTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${KLAYOUTTOP} -OPENLANETOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${OPENLANETOP} +LIBRELANETOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${LIBRELANETOP} XSCHEMTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${XSCHEMTOP} XCIRCUITTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${XCIRCUITTOP} NGSPICETOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${NGSPICETOP} @@ -381,7 +381,7 @@ IRSIM_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${IRSIMPATH} QFLOW_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${QFLOWPATH} KLAYOUT_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${KLAYOUTPATH} -OPENLANE_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${OPENLANEPATH} +LIBRELANE_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${LIBRELANEPATH} XSCHEM_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${XSCHEMPATH} XCIRCUIT_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${XCIRCUITPATH} NGSPICE_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${NGSPICEPATH} @@ -391,7 +391,7 @@ IRSIMTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${IRSIMTOP} QFLOWTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${QFLOWTOP} KLAYOUTTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${KLAYOUTTOP} -OPENLANETOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${OPENLANETOP} +LIBRELANETOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${LIBRELANETOP} XSCHEMTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XSCHEMTOP} XCIRCUITTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XCIRCUITTOP} NGSPICETOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NGSPICETOP} @@ -401,7 +401,7 @@ IRSIM_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${IRSIMPATH} QFLOW_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${QFLOWPATH} KLAYOUT_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${KLAYOUTPATH} -OPENLANE_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${OPENLANEPATH} +LIBRELANE_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${LIBRELANEPATH} XSCHEM_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XSCHEMPATH} XCIRCUIT_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XCIRCUITPATH} NGSPICE_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NGSPICEPATH} @@ -423,10 +423,10 @@ C_FULLSTACK = 5LM_1TM_9K D_FULLSTACK = 5LM_1TM_11K -# Openlane has a number of files that are common to all digital +# LibreLane has a number of files that are common to all digital # standard cell libraries, so these are collected in one definition # here: -OPENLANE_COMMON = config.tcl tracks.info no_synth.cells drc_exclude.cells +LIBRELANE_COMMON = config.tcl tracks.info no_synth.cells drc_exclude.cells # Where cpp syntax is followed, this is equivalent to cpp, but it does not # mangle non-C source files under the belief that they are actually C code. @@ -456,10 +456,10 @@ TOOLS += klayout endif -# OPENLANE_DISABLED = 0 | 1 -OPENLANE_DISABLED = @OPENLANE_DISABLED@ -ifneq (${OPENLANE_DISABLED}, 1) - TOOLS += openlane +# LIBRELANE_DISABLED = 0 | 1 +LIBRELANE_DISABLED = @LIBRELANE_DISABLED@ +ifneq (${LIBRELANE_DISABLED}, 1) + TOOLS += librelane endif # QFLOW_DISABLED = 0 | 1 @@ -849,57 +849,57 @@ ./custom/scripts/fix_xschemrc.py ${XSCHEM_STAGING_$*}/xschemrc \ ${GF180MCU$*} 2>&1 | tee -a ${GF180MCU$*}_make.log || true -openlane-%: openlane/config.tcl openlane/gf180mcu_fd_sc_mcu7t5v0/config.tcl openlane/gf180mcu_fd_sc_mcu9t5v0/config.tcl - mkdir -p ${OPENLANETOP_STAGING_$*} - mkdir -p ${OPENLANE_STAGING_$*} - rm -rf ${OPENLANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0 - rm -rf ${OPENLANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0 - mkdir ${OPENLANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0 - mkdir ${OPENLANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0 - for file in ${OPENLANE_COMMON} ; do \ - rm -f ${OPENLANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0/$$file ; \ +librelane-%: librelane/config.tcl librelane/gf180mcu_fd_sc_mcu7t5v0/config.tcl librelane/gf180mcu_fd_sc_mcu9t5v0/config.tcl + mkdir -p ${LIBRELANETOP_STAGING_$*} + mkdir -p ${LIBRELANE_STAGING_$*} + rm -rf ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0 + rm -rf ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0 + mkdir ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0 + mkdir ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0 + for file in ${LIBRELANE_COMMON} ; do \ + rm -f ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - rm -f ${OPENLANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + rm -f ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0/$$file ; \ done - ${CPP} ${GF180MCU$*_DEFS} openlane/config.tcl ${OPENLANE_STAGING_$*}/config.tcl + ${CPP} ${GF180MCU$*_DEFS} librelane/config.tcl ${LIBRELANE_STAGING_$*}/config.tcl - for file in ${OPENLANE_COMMON} ; do \ - ${CPP} -quiet ${GF180MCU$*_DEFS} openlane/gf180mcu_fd_sc_mcu7t5v0/$$file \ - ${OPENLANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + ${CPP} -quiet ${GF180MCU$*_DEFS} librelane/gf180mcu_fd_sc_mcu7t5v0/$$file \ + ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - ${CPP} -quiet ${GF180MCU$*_DEFS} openlane/gf180mcu_fd_sc_mcu9t5v0/$$file \ - ${OPENLANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + ${CPP} -quiet ${GF180MCU$*_DEFS} librelane/gf180mcu_fd_sc_mcu9t5v0/$$file \ + ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0/$$file ; \ done - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.gf180mcu$*.min.* - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.gf180mcu$*.nom.* - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.gf180mcu$*.max.* + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.min.* + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.nom.* + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.max.* - if test -f openlane/rules.openrcx.gf180mcu$*.min.magic ; then \ - ${CPP} ${GF180MCU$*_DEFS} openlane/rules.openrcx.gf180mcu$*.min.magic \ - ${OPENLANE_STAGING_$*}/rules.openrcx.gf180mcu$*.min.magic ;\ + if test -f librelane/rules.openrcx.gf180mcu$*.min.magic ; then \ + ${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.min.magic \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.min.magic ;\ fi - if test -f openlane/rules.openrcx.gf180mcu$*.nom.magic ; then \ - ${CPP} ${GF180MCU$*_DEFS} openlane/rules.openrcx.gf180mcu$*.nom.magic \ - ${OPENLANE_STAGING_$*}/rules.openrcx.gf180mcu$*.nom.magic ;\ + if test -f librelane/rules.openrcx.gf180mcu$*.nom.magic ; then \ + ${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.nom.magic \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.nom.magic ;\ fi - if test -f openlane/rules.openrcx.gf180mcu$*.max.magic ; then \ - ${CPP} ${GF180MCU$*_DEFS} openlane/rules.openrcx.gf180mcu$*.max.magic \ - ${OPENLANE_STAGING_$*}/rules.openrcx.gf180mcu$*.max.magic ;\ + if test -f librelane/rules.openrcx.gf180mcu$*.max.magic ; then \ + ${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.max.magic \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.max.magic ;\ fi - if test -f openlane/rules.openrcx.gf180mcu$*.min ; then \ - ${CPP} ${GF180MCU$*_DEFS} openlane/rules.openrcx.gf180mcu$*.min \ - ${OPENLANE_STAGING_$*}/rules.openrcx.gf180mcu$*.min ;\ + if test -f librelane/rules.openrcx.gf180mcu$*.min ; then \ + ${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.min \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.min ;\ fi - if test -f openlane/rules.openrcx.gf180mcu$*.nom ; then \ - ${CPP} ${GF180MCU$*_DEFS} openlane/rules.openrcx.gf180mcu$*.nom \ - ${OPENLANE_STAGING_$*}/rules.openrcx.gf180mcu$*.nom ;\ + if test -f librelane/rules.openrcx.gf180mcu$*.nom ; then \ + ${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.nom \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.nom ;\ fi - if test -f openlane/rules.openrcx.gf180mcu$*.max ; then \ - ${CPP} ${GF180MCU$*_DEFS} openlane/rules.openrcx.gf180mcu$*.max \ - ${OPENLANE_STAGING_$*}/rules.openrcx.gf180mcu$*.max ;\ + if test -f librelane/rules.openrcx.gf180mcu$*.max ; then \ + ${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.max \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.max ;\ fi vendor-A: primitive-build-A digital-7t5v0-build-A digital-9t5v0-build-A io-build-A ocd-io-build-A ocd-alpha-build-A sram-build-A ocd-sram-build-A digital-osu-build-A digital-avalon-build-A @@ -1300,11 +1300,11 @@ cp -rp ${AVALON_REF_SOURCE}/spice ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3 # This library is done the right way and has its own librelane setup. - mkdir -p ${OPENLANETOP_STAGING_$*} - mkdir -p ${OPENLANE_STAGING_$*} - rm -rf ${OPENLANE_STAGING_$*}/gf180mcu_as_sc_mcu7t3v3 - mkdir ${OPENLANE_STAGING_$*}/gf180mcu_as_sc_mcu7t3v3 - cp -rp ${AVALON_TECH_SOURCE}/librelane/gf180mcu_as_sc_mcu7t3v3 ${OPENLANE_STAGING_$*} + mkdir -p ${LIBRELANETOP_STAGING_$*} + mkdir -p ${LIBRELANE_STAGING_$*} + rm -rf ${LIBRELANE_STAGING_$*}/gf180mcu_as_sc_mcu7t3v3 + mkdir ${LIBRELANE_STAGING_$*}/gf180mcu_as_sc_mcu7t3v3 + cp -rp ${AVALON_TECH_SOURCE}/librelane/gf180mcu_as_sc_mcu7t3v3 ${LIBRELANE_STAGING_$*} io-%: # Install custom additions to the I/O pad library
diff --git a/gf180mcu/openlane/config.tcl b/gf180mcu/librelane/config.tcl similarity index 86% rename from gf180mcu/openlane/config.tcl rename to gf180mcu/librelane/config.tcl index 6e45d30..3c5121f 100644 --- a/gf180mcu/openlane/config.tcl +++ b/gf180mcu/librelane/config.tcl
@@ -40,31 +40,31 @@ # Latch mapping -set ::env(SYNTH_LATCH_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/latch_map.v" +set ::env(SYNTH_LATCH_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/latch_map.v" # Tri-state buffer mapping -set ::env(TRISTATE_BUFFER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/tribuff_map.v" +set ::env(TRISTATE_BUFFER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/tribuff_map.v" # Full adder mapping -set ::env(FULL_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/fa_map.v" +set ::env(FULL_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/fa_map.v" # Ripple carry adder mapping -set ::env(RIPPLE_CARRY_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/rca_map.v" +set ::env(RIPPLE_CARRY_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/rca_map.v" # Carry select adder mapping -set ::env(CARRY_SELECT_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/csa_map.v" +set ::env(CARRY_SELECT_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/csa_map.v" # Default No Synth List -set ::env(NO_SYNTH_CELL_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/no_synth.cells" +set ::env(NO_SYNTH_CELL_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/no_synth.cells" # Default DRC Exclude List -set ::env(DRC_EXCLUDE_CELL_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/drc_exclude.cells" +set ::env(DRC_EXCLUDE_CELL_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/drc_exclude.cells" # DRC Exclude List for Optimization library -set ::env(DRC_EXCLUDE_CELL_LIST_OPT) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY_OPT)/drc_exclude.cells" +set ::env(DRC_EXCLUDE_CELL_LIST_OPT) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY_OPT)/drc_exclude.cells" # Open-RCX Rules File -set ::env(RCX_RULES) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rcx_rules.info" +set ::env(RCX_RULES) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rcx_rules.info" # Floorplanning ## Layer Info @@ -101,9 +101,9 @@ set ::env(FP_PDN_CORE_RING_HOFFSET) 6 # Timing -set ::env(RCX_RULES) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).nom" -set ::env(RCX_RULES_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).min" -set ::env(RCX_RULES_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).max" +set ::env(RCX_RULES) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).nom" +set ::env(RCX_RULES_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).min" +set ::env(RCX_RULES_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).max" # Routing set ::env(METAL_LAYER_NAMES) "Metal1 Metal2 Metal3 Metal4 Metal5" @@ -113,7 +113,7 @@ set ::env(GRT_LAYER_ADJUSTMENTS) "0,0,0,0,0" ## Tracks info -set ::env(TRACKS_INFO_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/tracks.info" +set ::env(TRACKS_INFO_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/tracks.info" # Signoff ## Magic
diff --git a/gf180mcu/openlane/gf180mcu_fd_sc_mcu7t5v0/config.tcl b/gf180mcu/librelane/gf180mcu_fd_sc_mcu7t5v0/config.tcl similarity index 100% rename from gf180mcu/openlane/gf180mcu_fd_sc_mcu7t5v0/config.tcl rename to gf180mcu/librelane/gf180mcu_fd_sc_mcu7t5v0/config.tcl
diff --git a/gf180mcu/openlane/gf180mcu_fd_sc_mcu7t5v0/drc_exclude.cells b/gf180mcu/librelane/gf180mcu_fd_sc_mcu7t5v0/drc_exclude.cells similarity index 100% rename from gf180mcu/openlane/gf180mcu_fd_sc_mcu7t5v0/drc_exclude.cells rename to gf180mcu/librelane/gf180mcu_fd_sc_mcu7t5v0/drc_exclude.cells
diff --git a/gf180mcu/openlane/gf180mcu_fd_sc_mcu7t5v0/no_synth.cells b/gf180mcu/librelane/gf180mcu_fd_sc_mcu7t5v0/no_synth.cells similarity index 100% rename from gf180mcu/openlane/gf180mcu_fd_sc_mcu7t5v0/no_synth.cells rename to gf180mcu/librelane/gf180mcu_fd_sc_mcu7t5v0/no_synth.cells
diff --git a/gf180mcu/openlane/gf180mcu_fd_sc_mcu7t5v0/tracks.info b/gf180mcu/librelane/gf180mcu_fd_sc_mcu7t5v0/tracks.info similarity index 100% rename from gf180mcu/openlane/gf180mcu_fd_sc_mcu7t5v0/tracks.info rename to gf180mcu/librelane/gf180mcu_fd_sc_mcu7t5v0/tracks.info
diff --git a/gf180mcu/openlane/gf180mcu_fd_sc_mcu9t5v0/config.tcl b/gf180mcu/librelane/gf180mcu_fd_sc_mcu9t5v0/config.tcl similarity index 100% rename from gf180mcu/openlane/gf180mcu_fd_sc_mcu9t5v0/config.tcl rename to gf180mcu/librelane/gf180mcu_fd_sc_mcu9t5v0/config.tcl
diff --git a/gf180mcu/openlane/gf180mcu_fd_sc_mcu9t5v0/no_synth.cells b/gf180mcu/librelane/gf180mcu_fd_sc_mcu9t5v0/no_synth.cells similarity index 100% rename from gf180mcu/openlane/gf180mcu_fd_sc_mcu9t5v0/no_synth.cells rename to gf180mcu/librelane/gf180mcu_fd_sc_mcu9t5v0/no_synth.cells
diff --git a/gf180mcu/openlane/gf180mcu_fd_sc_mcu9t5v0/tracks.info b/gf180mcu/librelane/gf180mcu_fd_sc_mcu9t5v0/tracks.info similarity index 100% rename from gf180mcu/openlane/gf180mcu_fd_sc_mcu9t5v0/tracks.info rename to gf180mcu/librelane/gf180mcu_fd_sc_mcu9t5v0/tracks.info
diff --git a/gf180mcu/openlane/gf180mcu_osu_sc_gp12t3v3/config.tcl b/gf180mcu/librelane/gf180mcu_osu_sc_gp12t3v3/config.tcl similarity index 100% rename from gf180mcu/openlane/gf180mcu_osu_sc_gp12t3v3/config.tcl rename to gf180mcu/librelane/gf180mcu_osu_sc_gp12t3v3/config.tcl
diff --git a/gf180mcu/openlane/gf180mcu_osu_sc_gp12t3v3/drc_exclude.cells b/gf180mcu/librelane/gf180mcu_osu_sc_gp12t3v3/drc_exclude.cells similarity index 100% rename from gf180mcu/openlane/gf180mcu_osu_sc_gp12t3v3/drc_exclude.cells rename to gf180mcu/librelane/gf180mcu_osu_sc_gp12t3v3/drc_exclude.cells
diff --git a/gf180mcu/openlane/gf180mcu_osu_sc_gp12t3v3/no_synth.cells b/gf180mcu/librelane/gf180mcu_osu_sc_gp12t3v3/no_synth.cells similarity index 100% rename from gf180mcu/openlane/gf180mcu_osu_sc_gp12t3v3/no_synth.cells rename to gf180mcu/librelane/gf180mcu_osu_sc_gp12t3v3/no_synth.cells
diff --git a/gf180mcu/openlane/gf180mcu_osu_sc_gp12t3v3/tracks.info b/gf180mcu/librelane/gf180mcu_osu_sc_gp12t3v3/tracks.info similarity index 100% rename from gf180mcu/openlane/gf180mcu_osu_sc_gp12t3v3/tracks.info rename to gf180mcu/librelane/gf180mcu_osu_sc_gp12t3v3/tracks.info
diff --git a/gf180mcu/openlane/gf180mcu_osu_sc_gp9t3v3/config.tcl b/gf180mcu/librelane/gf180mcu_osu_sc_gp9t3v3/config.tcl similarity index 100% rename from gf180mcu/openlane/gf180mcu_osu_sc_gp9t3v3/config.tcl rename to gf180mcu/librelane/gf180mcu_osu_sc_gp9t3v3/config.tcl
diff --git a/gf180mcu/openlane/gf180mcu_osu_sc_gp9t3v3/drc_exclude.cells b/gf180mcu/librelane/gf180mcu_osu_sc_gp9t3v3/drc_exclude.cells similarity index 100% rename from gf180mcu/openlane/gf180mcu_osu_sc_gp9t3v3/drc_exclude.cells rename to gf180mcu/librelane/gf180mcu_osu_sc_gp9t3v3/drc_exclude.cells
diff --git a/gf180mcu/openlane/gf180mcu_osu_sc_gp9t3v3/no_synth.cells b/gf180mcu/librelane/gf180mcu_osu_sc_gp9t3v3/no_synth.cells similarity index 100% rename from gf180mcu/openlane/gf180mcu_osu_sc_gp9t3v3/no_synth.cells rename to gf180mcu/librelane/gf180mcu_osu_sc_gp9t3v3/no_synth.cells
diff --git a/gf180mcu/openlane/gf180mcu_osu_sc_gp9t3v3/tracks.info b/gf180mcu/librelane/gf180mcu_osu_sc_gp9t3v3/tracks.info similarity index 100% rename from gf180mcu/openlane/gf180mcu_osu_sc_gp9t3v3/tracks.info rename to gf180mcu/librelane/gf180mcu_osu_sc_gp9t3v3/tracks.info
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuC.max b/gf180mcu/librelane/rules.openrcx.gf180mcuC.max similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuC.max rename to gf180mcu/librelane/rules.openrcx.gf180mcuC.max
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuC.max.magic b/gf180mcu/librelane/rules.openrcx.gf180mcuC.max.magic similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuC.max.magic rename to gf180mcu/librelane/rules.openrcx.gf180mcuC.max.magic
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuC.min b/gf180mcu/librelane/rules.openrcx.gf180mcuC.min similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuC.min rename to gf180mcu/librelane/rules.openrcx.gf180mcuC.min
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuC.min.magic b/gf180mcu/librelane/rules.openrcx.gf180mcuC.min.magic similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuC.min.magic rename to gf180mcu/librelane/rules.openrcx.gf180mcuC.min.magic
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuC.nom b/gf180mcu/librelane/rules.openrcx.gf180mcuC.nom similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuC.nom rename to gf180mcu/librelane/rules.openrcx.gf180mcuC.nom
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuC.nom.magic b/gf180mcu/librelane/rules.openrcx.gf180mcuC.nom.magic similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuC.nom.magic rename to gf180mcu/librelane/rules.openrcx.gf180mcuC.nom.magic
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuD.max b/gf180mcu/librelane/rules.openrcx.gf180mcuD.max similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuD.max rename to gf180mcu/librelane/rules.openrcx.gf180mcuD.max
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuD.max.magic b/gf180mcu/librelane/rules.openrcx.gf180mcuD.max.magic similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuD.max.magic rename to gf180mcu/librelane/rules.openrcx.gf180mcuD.max.magic
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuD.min b/gf180mcu/librelane/rules.openrcx.gf180mcuD.min similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuD.min rename to gf180mcu/librelane/rules.openrcx.gf180mcuD.min
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuD.min.magic b/gf180mcu/librelane/rules.openrcx.gf180mcuD.min.magic similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuD.min.magic rename to gf180mcu/librelane/rules.openrcx.gf180mcuD.min.magic
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuD.nom b/gf180mcu/librelane/rules.openrcx.gf180mcuD.nom similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuD.nom rename to gf180mcu/librelane/rules.openrcx.gf180mcuD.nom
diff --git a/gf180mcu/openlane/rules.openrcx.gf180mcuD.nom.magic b/gf180mcu/librelane/rules.openrcx.gf180mcuD.nom.magic similarity index 100% rename from gf180mcu/openlane/rules.openrcx.gf180mcuD.nom.magic rename to gf180mcu/librelane/rules.openrcx.gf180mcuD.nom.magic
diff --git a/scripts/configure b/scripts/configure index f0f2a72..97d4d32 100755 --- a/scripts/configure +++ b/scripts/configure
@@ -651,7 +651,7 @@ XCIRCUIT_DISABLED XSCHEM_DISABLED QFLOW_DISABLED -OPENLANE_DISABLED +LIBRELANE_DISABLED IRSIM_DISABLED NETGEN_DISABLED MAGIC_DISABLED @@ -725,7 +725,7 @@ enable_magic enable_netgen enable_irsim -enable_openlane +enable_librelane enable_qflow enable_xschem enable_xcircuit @@ -1405,8 +1405,8 @@ Enable or disable irsim setup [default=enabled] - --enable-openlane - Enable or disable openlane setup [default=enabled] + --enable-librelane + Enable or disable librelane setup [default=enabled] --enable-qflow @@ -2623,8 +2623,8 @@ # Set variables for tool setups -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Found tools: klayout magic netgen irsim openlane qflow xschem xcircuit" >&5 -printf "%s\n" "$as_me: Found tools: klayout magic netgen irsim openlane qflow xschem xcircuit" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Found tools: klayout magic netgen irsim librelane qflow xschem xcircuit" >&5 +printf "%s\n" "$as_me: Found tools: klayout magic netgen irsim librelane qflow xschem xcircuit" >&6;} @@ -2694,13 +2694,13 @@ - OPENLANE_DISABLED=0 - # Check whether --enable-openlane was given. -if test ${enable_openlane+y} + LIBRELANE_DISABLED=0 + # Check whether --enable-librelane was given. +if test ${enable_librelane+y} then : - enableval=$enable_openlane; + enableval=$enable_librelane; if test "$enableval" == "no" -o "$enableval" == "NO"; then - OPENLANE_DISABLED=1 + LIBRELANE_DISABLED=1 fi @@ -4236,8 +4236,8 @@ -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Tools enabled for PDK setup installation: klayout magic netgen irsim openlane qflow xschem xcircuit" >&5 -printf "%s\n" "$as_me: Tools enabled for PDK setup installation: klayout magic netgen irsim openlane qflow xschem xcircuit" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Tools enabled for PDK setup installation: klayout magic netgen irsim librelane qflow xschem xcircuit" >&5 +printf "%s\n" "$as_me: Tools enabled for PDK setup installation: klayout magic netgen irsim librelane qflow xschem xcircuit" >&6;} # Check for "--with-reference" USE_REFERENCE=0
diff --git a/scripts/tools.txt b/scripts/tools.txt index 82c5603..8c88836 100644 --- a/scripts/tools.txt +++ b/scripts/tools.txt
@@ -2,7 +2,7 @@ magic netgen irsim -openlane +librelane qflow xschem xcircuit
diff --git a/sky130/Makefile.in b/sky130/Makefile.in index 2060565..ac7515d 100644 --- a/sky130/Makefile.in +++ b/sky130/Makefile.in
@@ -54,8 +54,8 @@ # --disable-qflow # Do not install setup files for the qflow synthesis flow. # -# --disable-openlane -# Do not install setup files for the openlane sythesis flow. +# --disable-librelane +# Do not install setup files for the librelane sythesis flow. # # --disable-klayout # Do not install setup files for the klayout layout tool. @@ -465,7 +465,7 @@ IRSIMTOP = libs.tech/irsim QFLOWTOP = libs.tech/qflow KLAYOUTTOP = libs.tech/klayout -OPENLANETOP = libs.tech/openlane +LIBRELANETOP = libs.tech/librelane XSCHEMTOP = libs.tech/xschem XCIRCUITTOP = libs.tech/xcircuit NGSPICETOP = libs.tech/ngspice @@ -478,7 +478,7 @@ IRSIMPATH = ${IRSIMTOP} QFLOWPATH = ${QFLOWTOP} KLAYOUTPATH = ${KLAYOUTTOP} -OPENLANEPATH = ${OPENLANETOP} +LIBRELANEPATH = ${LIBRELANETOP} XSCHEMPATH = ${XSCHEMTOP} XCIRCUITPATH = ${XCIRCUITTOP} NGSPICEPATH = ${NGSPICETOP} @@ -488,7 +488,7 @@ IRSIMTOP_STAGING_A = ${STAGING_PATH}/${SKY130A}/${IRSIMTOP} QFLOWTOP_STAGING_A = ${STAGING_PATH}/${SKY130A}/${QFLOWTOP} KLAYOUTTOP_STAGING_A = ${STAGING_PATH}/${SKY130A}/${KLAYOUTTOP} -OPENLANETOP_STAGING_A = ${STAGING_PATH}/${SKY130A}/${OPENLANETOP} +LIBRELANETOP_STAGING_A = ${STAGING_PATH}/${SKY130A}/${LIBRELANETOP} XSCHEMTOP_STAGING_A = ${STAGING_PATH}/${SKY130A}/${XSCHEMTOP} XCIRCUITTOP_STAGING_A = ${STAGING_PATH}/${SKY130A}/${XCIRCUITTOP} NGSPICETOP_STAGING_A = ${STAGING_PATH}/${SKY130A}/${NGSPICETOP} @@ -498,7 +498,7 @@ IRSIM_STAGING_A = ${STAGING_PATH}/${SKY130A}/${IRSIMPATH} QFLOW_STAGING_A = ${STAGING_PATH}/${SKY130A}/${QFLOWPATH} KLAYOUT_STAGING_A = ${STAGING_PATH}/${SKY130A}/${KLAYOUTPATH} -OPENLANE_STAGING_A = ${STAGING_PATH}/${SKY130A}/${OPENLANEPATH} +LIBRELANE_STAGING_A = ${STAGING_PATH}/${SKY130A}/${LIBRELANEPATH} XSCHEM_STAGING_A = ${STAGING_PATH}/${SKY130A}/${XSCHEMPATH} XCIRCUIT_STAGING_A = ${STAGING_PATH}/${SKY130A}/${XCIRCUITPATH} NGSPICE_STAGING_A = ${STAGING_PATH}/${SKY130A}/${NGSPICEPATH} @@ -508,7 +508,7 @@ IRSIMTOP_STAGING_B = ${STAGING_PATH}/${SKY130B}/${IRSIMTOP} QFLOWTOP_STAGING_B = ${STAGING_PATH}/${SKY130B}/${QFLOWTOP} KLAYOUTTOP_STAGING_B = ${STAGING_PATH}/${SKY130B}/${KLAYOUTTOP} -OPENLANETOP_STAGING_B = ${STAGING_PATH}/${SKY130B}/${OPENLANETOP} +LIBRELANETOP_STAGING_B = ${STAGING_PATH}/${SKY130B}/${LIBRELANETOP} XSCHEMTOP_STAGING_B = ${STAGING_PATH}/${SKY130B}/${XSCHEMTOP} XCIRCUITTOP_STAGING_B = ${STAGING_PATH}/${SKY130B}/${XCIRCUITTOP} NGSPICETOP_STAGING_B = ${STAGING_PATH}/${SKY130B}/${NGSPICETOP} @@ -518,7 +518,7 @@ IRSIM_STAGING_B = ${STAGING_PATH}/${SKY130B}/${IRSIMPATH} QFLOW_STAGING_B = ${STAGING_PATH}/${SKY130B}/${QFLOWPATH} KLAYOUT_STAGING_B = ${STAGING_PATH}/${SKY130B}/${KLAYOUTPATH} -OPENLANE_STAGING_B = ${STAGING_PATH}/${SKY130B}/${OPENLANEPATH} +LIBRELANE_STAGING_B = ${STAGING_PATH}/${SKY130B}/${LIBRELANEPATH} XSCHEM_STAGING_B = ${STAGING_PATH}/${SKY130B}/${XSCHEMPATH} XCIRCUIT_STAGING_B = ${STAGING_PATH}/${SKY130B}/${XCIRCUITPATH} NGSPICE_STAGING_B = ${STAGING_PATH}/${SKY130B}/${NGSPICEPATH} @@ -526,11 +526,11 @@ SKY130A_DEFS += -DMAGIC_CURRENT=${MAGICCURRENT} SKY130B_DEFS += -DMAGIC_CURRENT=${MAGICCURRENT} -# Openlane has a number of files that are common to all digital +# LibreLane has a number of files that are common to all digital # standard cell libraries, so these are collected in one definition # here: -OPENLANE_COMMON = config.tcl tracks.info no_synth.cells drc_exclude.cells -OPENLANE_COMMON += tribuff_map.v latch_map.v mux2_map.v mux4_map.v fa_map.v rca_map.v csa_map.v +LIBRELANE_COMMON = config.tcl tracks.info no_synth.cells drc_exclude.cells +LIBRELANE_COMMON += tribuff_map.v latch_map.v mux2_map.v mux4_map.v fa_map.v rca_map.v csa_map.v # Corners defined in IRSIM parameter files (wild-carded) IRSIM_CORNERS = `ls irsim/*.prm | cut -c14-` @@ -561,10 +561,10 @@ TOOLS += klayout endif -# OPENLANE_DISABLED = 0 | 1 -OPENLANE_DISABLED = @OPENLANE_DISABLED@ -ifneq (${OPENLANE_DISABLED}, 1) - TOOLS += openlane +# LIBRELANE_DISABLED = 0 | 1 +LIBRELANE_DISABLED = @LIBRELANE_DISABLED@ +ifneq (${LIBRELANE_DISABLED}, 1) + TOOLS += librelane endif # QFLOW_DISABLED = 0 | 1 @@ -1247,114 +1247,114 @@ fi ; \ fi -openlane-%: 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 openlane/sky130_osu_sc_t18/config.tcl - mkdir -p ${OPENLANETOP_STAGING_$*} - mkdir -p ${OPENLANE_STAGING_$*} - rm -rf ${OPENLANE_STAGING_$*}/custom_cells/* - mkdir -p ${OPENLANE_STAGING_$*}/sky130_fd_sc_hd - mkdir -p ${OPENLANE_STAGING_$*}/sky130_fd_sc_hs - mkdir -p ${OPENLANE_STAGING_$*}/sky130_fd_sc_ls - mkdir -p ${OPENLANE_STAGING_$*}/sky130_fd_sc_ms - mkdir -p ${OPENLANE_STAGING_$*}/sky130_fd_sc_hdll - mkdir -p ${OPENLANE_STAGING_$*}/sky130_fd_sc_hvl - mkdir -p ${OPENLANE_STAGING_$*}/sky130_osu_sc_t18 - rm -f ${OPENLANE_STAGING_$*}/common_pdn.info - rm -f ${OPENLANE_STAGING_$*}/config.tcl - for file in ${OPENLANE_COMMON} ; do \ - rm -f ${OPENLANE_STAGING_$*}/sky130_fd_sc_hd/$$file ; \ +librelane-%: librelane/config.tcl librelane/sky130_fd_sc_hd/config.tcl librelane/sky130_fd_sc_hs/config.tcl librelane/sky130_fd_sc_ms/config.tcl librelane/sky130_fd_sc_ls/config.tcl librelane/sky130_fd_sc_hdll/config.tcl librelane/sky130_osu_sc_t18/config.tcl + mkdir -p ${LIBRELANETOP_STAGING_$*} + mkdir -p ${LIBRELANE_STAGING_$*} + rm -rf ${LIBRELANE_STAGING_$*}/custom_cells/* + mkdir -p ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hd + mkdir -p ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hs + mkdir -p ${LIBRELANE_STAGING_$*}/sky130_fd_sc_ls + mkdir -p ${LIBRELANE_STAGING_$*}/sky130_fd_sc_ms + mkdir -p ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hdll + mkdir -p ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hvl + mkdir -p ${LIBRELANE_STAGING_$*}/sky130_osu_sc_t18 + rm -f ${LIBRELANE_STAGING_$*}/common_pdn.info + rm -f ${LIBRELANE_STAGING_$*}/config.tcl + for file in ${LIBRELANE_COMMON} ; do \ + rm -f ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hd/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - rm -f ${OPENLANE_STAGING_$*}/sky130_fd_sc_hs/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + rm -f ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hs/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - rm -f ${OPENLANE_STAGING_$*}/sky130_fd_sc_hdll/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + rm -f ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hdll/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - rm -f ${OPENLANE_STAGING_$*}/sky130_fd_sc_ls/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + rm -f ${LIBRELANE_STAGING_$*}/sky130_fd_sc_ls/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - rm -f ${OPENLANE_STAGING_$*}/sky130_fd_sc_ms/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + rm -f ${LIBRELANE_STAGING_$*}/sky130_fd_sc_ms/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - rm -f ${OPENLANE_STAGING_$*}/sky130_fd_sc_hvl/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + rm -f ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hvl/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - rm -f ${OPENLANE_STAGING_$*}/sky130_osu_sc_t18/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + rm -f ${LIBRELANE_STAGING_$*}/sky130_osu_sc_t18/$$file ; \ done - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.min.magic - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.nom.magic - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.max.magic + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.min.magic + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.nom.magic + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.max.magic - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.min.spef_extractor - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.nom.spef_extractor - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.max.spef_extractor + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.min.spef_extractor + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.nom.spef_extractor + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.max.spef_extractor - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.min.calibre - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.nom.calibre - rm -f ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.max.calibre + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.min.calibre + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.nom.calibre + rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.max.calibre - cp -r openlane/custom_cells ${OPENLANE_STAGING_$*} - cp -r openlane/cvc ${OPENLANE_STAGING_$*} - ${CPP} ${SKY130$*_DEFS} openlane/config.tcl ${OPENLANE_STAGING_$*}/config.tcl + cp -r librelane/custom_cells ${LIBRELANE_STAGING_$*} + cp -r librelane/cvc ${LIBRELANE_STAGING_$*} + ${CPP} ${SKY130$*_DEFS} librelane/config.tcl ${LIBRELANE_STAGING_$*}/config.tcl - ${CPP} ${SKY130$*_DEFS} openlane/rules.openrcx.sky130$*.min.magic \ - ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.min.magic - ${CPP} ${SKY130$*_DEFS} openlane/rules.openrcx.sky130$*.nom.magic \ - ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.nom.magic - ${CPP} ${SKY130$*_DEFS} openlane/rules.openrcx.sky130$*.max.magic \ - ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.max.magic + ${CPP} ${SKY130$*_DEFS} librelane/rules.openrcx.sky130$*.min.magic \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.min.magic + ${CPP} ${SKY130$*_DEFS} librelane/rules.openrcx.sky130$*.nom.magic \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.nom.magic + ${CPP} ${SKY130$*_DEFS} librelane/rules.openrcx.sky130$*.max.magic \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.max.magic - ${CPP} ${SKY130$*_DEFS} openlane/rules.openrcx.sky130$*.min.spef_extractor \ - ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.min.spef_extractor - ${CPP} ${SKY130$*_DEFS} openlane/rules.openrcx.sky130$*.nom.spef_extractor \ - ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.nom.spef_extractor - ${CPP} ${SKY130$*_DEFS} openlane/rules.openrcx.sky130$*.max.spef_extractor \ - ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.max.spef_extractor + ${CPP} ${SKY130$*_DEFS} librelane/rules.openrcx.sky130$*.min.spef_extractor \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.min.spef_extractor + ${CPP} ${SKY130$*_DEFS} librelane/rules.openrcx.sky130$*.nom.spef_extractor \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.nom.spef_extractor + ${CPP} ${SKY130$*_DEFS} librelane/rules.openrcx.sky130$*.max.spef_extractor \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.max.spef_extractor # Only install the calibre-derived rule files if they exist in the source - if test -f openlane/rules.openrcx.sky130$*.min.calibre ; then \ - ${CPP} ${SKY130$*_DEFS} openlane/rules.openrcx.sky130$*.min.calibre \ - ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.min.calibre ;\ + if test -f librelane/rules.openrcx.sky130$*.min.calibre ; then \ + ${CPP} ${SKY130$*_DEFS} librelane/rules.openrcx.sky130$*.min.calibre \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.min.calibre ;\ fi - if test -f openlane/rules.openrcx.sky130$*.nom.calibre ; then \ - ${CPP} ${SKY130$*_DEFS} openlane/rules.openrcx.sky130$*.nom.calibre \ - ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.nom.calibre ;\ + if test -f librelane/rules.openrcx.sky130$*.nom.calibre ; then \ + ${CPP} ${SKY130$*_DEFS} librelane/rules.openrcx.sky130$*.nom.calibre \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.nom.calibre ;\ fi - if test -f openlane/rules.openrcx.sky130$*.max.calibre ; then \ - ${CPP} ${SKY130$*_DEFS} openlane/rules.openrcx.sky130$*.max.calibre \ - ${OPENLANE_STAGING_$*}/rules.openrcx.sky130$*.max.calibre ;\ + if test -f librelane/rules.openrcx.sky130$*.max.calibre ; then \ + ${CPP} ${SKY130$*_DEFS} librelane/rules.openrcx.sky130$*.max.calibre \ + ${LIBRELANE_STAGING_$*}/rules.openrcx.sky130$*.max.calibre ;\ fi - for file in ${OPENLANE_COMMON} ; do \ - ${CPP} -quiet ${SKY130$*_DEFS} openlane/sky130_fd_sc_hd/$$file \ - ${OPENLANE_STAGING_$*}/sky130_fd_sc_hd/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + ${CPP} -quiet ${SKY130$*_DEFS} librelane/sky130_fd_sc_hd/$$file \ + ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hd/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - ${CPP} -quiet ${SKY130$*_DEFS} openlane/sky130_fd_sc_hs/$$file \ - ${OPENLANE_STAGING_$*}/sky130_fd_sc_hs/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + ${CPP} -quiet ${SKY130$*_DEFS} librelane/sky130_fd_sc_hs/$$file \ + ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hs/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - ${CPP} -quiet ${SKY130$*_DEFS} openlane/sky130_fd_sc_ms/$$file \ - ${OPENLANE_STAGING_$*}/sky130_fd_sc_ms/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + ${CPP} -quiet ${SKY130$*_DEFS} librelane/sky130_fd_sc_ms/$$file \ + ${LIBRELANE_STAGING_$*}/sky130_fd_sc_ms/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - ${CPP} -quiet ${SKY130$*_DEFS} openlane/sky130_fd_sc_ls/$$file \ - ${OPENLANE_STAGING_$*}/sky130_fd_sc_ls/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + ${CPP} -quiet ${SKY130$*_DEFS} librelane/sky130_fd_sc_ls/$$file \ + ${LIBRELANE_STAGING_$*}/sky130_fd_sc_ls/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - ${CPP} -quiet ${SKY130$*_DEFS} openlane/sky130_fd_sc_hdll/$$file \ - ${OPENLANE_STAGING_$*}/sky130_fd_sc_hdll/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + ${CPP} -quiet ${SKY130$*_DEFS} librelane/sky130_fd_sc_hdll/$$file \ + ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hdll/$$file ; \ done - for file in ${OPENLANE_COMMON} ; do \ - ${CPP} -quiet ${SKY130$*_DEFS} openlane/sky130_fd_sc_hvl/$$file \ - ${OPENLANE_STAGING_$*}/sky130_fd_sc_hvl/$$file ; \ + for file in ${LIBRELANE_COMMON} ; do \ + ${CPP} -quiet ${SKY130$*_DEFS} librelane/sky130_fd_sc_hvl/$$file \ + ${LIBRELANE_STAGING_$*}/sky130_fd_sc_hvl/$$file ; \ done - ${CPP} -quiet ${SKY130$*_DEFS} openlane/sky130_osu_sc_t18/config.tcl \ - ${OPENLANE_STAGING_$*}/sky130_osu_sc_t18/config.tcl - ${CPP} -quiet ${SKY130$*_DEFS} openlane/sky130_osu_sc_t18/tracks.info \ - ${OPENLANE_STAGING_$*}/sky130_osu_sc_t18/tracks.info + ${CPP} -quiet ${SKY130$*_DEFS} librelane/sky130_osu_sc_t18/config.tcl \ + ${LIBRELANE_STAGING_$*}/sky130_osu_sc_t18/config.tcl + ${CPP} -quiet ${SKY130$*_DEFS} librelane/sky130_osu_sc_t18/tracks.info \ + ${LIBRELANE_STAGING_$*}/sky130_osu_sc_t18/tracks.info # NOTE: ReRAM is not in variant A so there is no reram-build-A. vendor-A: primitive-build-A io-build-A sram-build-A sram-space-build-A digital-hd-build-A digital-hvl-build-A digital-hdll-build-A digital-lp-build-A digital-hs-build-A digital-ms-build-A digital-ls-build-A alpha-build-A osu-t12-build-A osu-t15-build-A osu-t18-build-A
diff --git a/sky130/README b/sky130/README index a2cf395..ce0bf1f 100644 --- a/sky130/README +++ b/sky130/README
@@ -368,7 +368,7 @@ netgen/ netgen setup file qflow/ qflow scripts and graywolf setup files. klayout/ setup files for klayout - openlane/ setup and supplementary files for openlane + librelane/ setup and supplementary files for librelane ngspice/ base model files and libraries for ngspice xschem/ setup files for xschem irsim/ setup and parameter files for IRSIM
diff --git a/sky130/openlane/config.tcl b/sky130/librelane/config.tcl similarity index 79% rename from sky130/openlane/config.tcl rename to sky130/librelane/config.tcl index 78af13a..a18f5c0 100755 --- a/sky130/openlane/config.tcl +++ b/sky130/librelane/config.tcl
@@ -48,14 +48,14 @@ # Optimization library slowest corner set tmp $::env(STD_CELL_LIBRARY) set ::env(STD_CELL_LIBRARY) $::env(STD_CELL_LIBRARY_OPT) -source "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY_OPT)/config.tcl" +source "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY_OPT)/config.tcl" set ::env(LIB_SLOWEST_OPT) $::env(LIB_SLOWEST) set ::env(STD_CELL_LIBRARY) $tmp -source "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/config.tcl" +source "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/config.tcl" set ::env(GPIO_PADS_LEF_CORE_SIDE) "\ - $::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/custom_cells/lef/sky130_fd_io_core.lef\ - $::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/custom_cells/lef/sky130_ef_io_core.lef\ + $::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/custom_cells/lef/sky130_fd_io_core.lef\ + $::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/custom_cells/lef/sky130_ef_io_core.lef\ " # magic setup @@ -78,40 +78,40 @@ set ::env(FP_TAPCELL_DIST) 13 # Tracks info -set ::env(TRACKS_INFO_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/tracks.info" +set ::env(TRACKS_INFO_FILE) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/tracks.info" # Latch mapping -set ::env(SYNTH_LATCH_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/latch_map.v" +set ::env(SYNTH_LATCH_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/latch_map.v" # Tri-state buffer mapping -set ::env(TRISTATE_BUFFER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/tribuff_map.v" +set ::env(TRISTATE_BUFFER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/tribuff_map.v" # Full adder mapping -set ::env(FULL_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/fa_map.v" +set ::env(FULL_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/fa_map.v" # Ripple carry adder mapping -set ::env(RIPPLE_CARRY_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/rca_map.v" +set ::env(RIPPLE_CARRY_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/rca_map.v" # Carry select adder mapping -set ::env(CARRY_SELECT_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/csa_map.v" +set ::env(CARRY_SELECT_ADDER_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/csa_map.v" # Default No Synth List -set ::env(NO_SYNTH_CELL_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/no_synth.cells" +set ::env(NO_SYNTH_CELL_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/no_synth.cells" # Default DRC Exclude List -set ::env(DRC_EXCLUDE_CELL_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/drc_exclude.cells" +set ::env(DRC_EXCLUDE_CELL_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/drc_exclude.cells" # DRC Exclude List for Optimization library -set ::env(DRC_EXCLUDE_CELL_LIST_OPT) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY_OPT)/drc_exclude.cells" +set ::env(DRC_EXCLUDE_CELL_LIST_OPT) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY_OPT)/drc_exclude.cells" # Open-RCX Rules File -set ::env(RCX_RULES) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).nom.spef_extractor" -set ::env(RCX_RULES_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).min.spef_extractor" -set ::env(RCX_RULES_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).max.spef_extractor" -if { [file exists "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).nom.calibre"] } { - set ::env(RCX_RULES) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).nom.calibre" - set ::env(RCX_RULES_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).min.calibre" - set ::env(RCX_RULES_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/rules.openrcx.$::env(PDK).max.calibre" +set ::env(RCX_RULES) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).nom.spef_extractor" +set ::env(RCX_RULES_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).min.spef_extractor" +set ::env(RCX_RULES_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).max.spef_extractor" +if { [file exists "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).nom.calibre"] } { + set ::env(RCX_RULES) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).nom.calibre" + set ::env(RCX_RULES_MIN) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).min.calibre" + set ::env(RCX_RULES_MAX) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/rules.openrcx.$::env(PDK).max.calibre" } # Extra PDN configs @@ -157,5 +157,5 @@ set ::env(RT_CLOCK_MIN_LAYER) "met3" # CVC -set ::env(CVC_SCRIPTS_DIR) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/cvc" +set ::env(CVC_SCRIPTS_DIR) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/cvc"
diff --git a/sky130/openlane/custom_cells/lef/sky130_ef_io_core.lef b/sky130/librelane/custom_cells/lef/sky130_ef_io_core.lef similarity index 100% rename from sky130/openlane/custom_cells/lef/sky130_ef_io_core.lef rename to sky130/librelane/custom_cells/lef/sky130_ef_io_core.lef
diff --git a/sky130/openlane/custom_cells/lef/sky130_ef_io_core.sh b/sky130/librelane/custom_cells/lef/sky130_ef_io_core.sh similarity index 79% rename from sky130/openlane/custom_cells/lef/sky130_ef_io_core.sh rename to sky130/librelane/custom_cells/lef/sky130_ef_io_core.sh index 4dab81f..84f7252 100644 --- a/sky130/openlane/custom_cells/lef/sky130_ef_io_core.sh +++ b/sky130/librelane/custom_cells/lef/sky130_ef_io_core.sh
@@ -1,22 +1,22 @@ -$OPENLANE_ROOT/scripts/rectify_above.py -1.5 \ +$LIBRELANE_ROOT/scripts/rectify_above.py -1.5 \ sky130_ef_io__gpiov2_pad < ../../../../libs.ref/sky130_fd_io/lef/sky130_ef_io.lef | - $OPENLANE_ROOT/scripts/obs_above.py -1.35 0.16 0.16 \ + $LIBRELANE_ROOT/scripts/obs_above.py -1.35 0.16 0.16 \ sky130_ef_io__gpiov2_pad > sky130_ef_io.obs.gpiov2.lef.tmp -# $OPENLANE_ROOT/scripts/rectify_above.py 0 \ +# $LIBRELANE_ROOT/scripts/rectify_above.py 0 \ # sky130_ef_io__com_bus_slice_20um \ # sky130_ef_io__com_bus_slice_10um \ # sky130_ef_io__com_bus_slice_5um \ # sky130_ef_io__com_bus_slice_1um \ # sky130_ef_io__corner_pad < sky130_ef_io.obs.gpiov2.lef.tmp | -# $OPENLANE_ROOT/scripts/obs_above.py 0 0 0 \ +# $LIBRELANE_ROOT/scripts/obs_above.py 0 0 0 \ # sky130_ef_io__com_bus_slice_20um \ # sky130_ef_io__com_bus_slice_10um \ # sky130_ef_io__com_bus_slice_5um \ # sky130_ef_io__com_bus_slice_1um \ # sky130_ef_io__corner_pad > sky130_ef_io.rect.obs.corner.lef.tmp -$OPENLANE_ROOT/scripts/rectify_above.py 0 \ +$LIBRELANE_ROOT/scripts/rectify_above.py 0 \ sky130_ef_io__vccd_hvc_pad \ sky130_ef_io__vdda_hvc_pad \ sky130_ef_io__vdda_hvc_clamped_pad \ @@ -28,7 +28,7 @@ sky130_ef_io__vssio_hvc_pad \ sky130_ef_io__vssio_hvc_clamped_pad \ < sky130_ef_io.obs.gpiov2.lef.tmp | - $OPENLANE_ROOT/scripts/obs_above.py 0 0 0 \ + $LIBRELANE_ROOT/scripts/obs_above.py 0 0 0 \ sky130_ef_io__vccd_hvc_pad \ sky130_ef_io__vdda_hvc_pad \ sky130_ef_io__vdda_hvc_clamped_pad \ @@ -41,7 +41,7 @@ sky130_ef_io__vssio_hvc_clamped_pad \ > sky130_ef_io.rect.obs.hvc.lef.tmp -$OPENLANE_ROOT/scripts/rectify_above.py 1.4 \ +$LIBRELANE_ROOT/scripts/rectify_above.py 1.4 \ sky130_ef_io__vccd_lvc_pad \ sky130_ef_io__vccd_lvc_clamped_pad \ sky130_ef_io__vccd_lvc_clamped2_pad \ @@ -52,7 +52,7 @@ sky130_ef_io__vssd_lvc_clamped2_pad \ sky130_ef_io__vddio_lvc_pad \ sky130_ef_io__vssio_lvc_pad < sky130_ef_io.rect.obs.hvc.lef.tmp | - $OPENLANE_ROOT/scripts/obs_above.py 1.4 0 0 \ + $LIBRELANE_ROOT/scripts/obs_above.py 1.4 0 0 \ sky130_ef_io__vccd_lvc_pad \ sky130_ef_io__vccd_lvc_clamped_pad \ sky130_ef_io__vccd_lvc_clamped2_pad \ @@ -65,7 +65,7 @@ sky130_ef_io__vssio_lvc_pad > sky130_ef_io.rect.obs.lvc.lef.tmp # clean up -$OPENLANE_ROOT/scripts/remove_empty_pins.py < sky130_ef_io.rect.obs.lvc.lef.tmp | - $OPENLANE_ROOT/scripts/remove_empty_ports.py > sky130_ef_io_core.lef +$LIBRELANE_ROOT/scripts/remove_empty_pins.py < sky130_ef_io.rect.obs.lvc.lef.tmp | + $LIBRELANE_ROOT/scripts/remove_empty_ports.py > sky130_ef_io_core.lef rm *.tmp
diff --git a/sky130/openlane/custom_cells/lef/sky130_fd_io_core.lef b/sky130/librelane/custom_cells/lef/sky130_fd_io_core.lef similarity index 100% rename from sky130/openlane/custom_cells/lef/sky130_fd_io_core.lef rename to sky130/librelane/custom_cells/lef/sky130_fd_io_core.lef
diff --git a/sky130/librelane/custom_cells/lef/sky130_fd_io_core.sh b/sky130/librelane/custom_cells/lef/sky130_fd_io_core.sh new file mode 100644 index 0000000..5ebc29c --- /dev/null +++ b/sky130/librelane/custom_cells/lef/sky130_fd_io_core.sh
@@ -0,0 +1,8 @@ +$LIBRELANE_ROOT/scripts/rectify_above.py 1.635 sky130_fd_io__top_xres4v2 < ../../../../libs.ref/sky130_fd_io/lef/sky130_fd_io.lef | + $LIBRELANE_ROOT/scripts/obs_above.py 1.635 0 0 sky130_fd_io__top_xres4v2 > sky130_fd_io_core.lef.tmp + +# clean up +$LIBRELANE_ROOT/scripts/remove_empty_pins.py < sky130_fd_io_core.lef.tmp | + $LIBRELANE_ROOT/scripts/remove_empty_ports.py > sky130_fd_io_core.lef + +rm *.tmp
diff --git a/sky130/openlane/cvc/cdl.awk b/sky130/librelane/cvc/cdl.awk similarity index 100% rename from sky130/openlane/cvc/cdl.awk rename to sky130/librelane/cvc/cdl.awk
diff --git a/sky130/openlane/cvc/cvcrc b/sky130/librelane/cvc/cvcrc similarity index 100% rename from sky130/openlane/cvc/cvcrc rename to sky130/librelane/cvc/cvcrc
diff --git a/sky130/openlane/cvc/models b/sky130/librelane/cvc/models similarity index 100% rename from sky130/openlane/cvc/models rename to sky130/librelane/cvc/models
diff --git a/sky130/openlane/cvc/power.awk b/sky130/librelane/cvc/power.awk similarity index 100% rename from sky130/openlane/cvc/power.awk rename to sky130/librelane/cvc/power.awk
diff --git a/sky130/openlane/rules.openrcx.sky130A.max.calibre b/sky130/librelane/rules.openrcx.sky130A.max.calibre similarity index 100% rename from sky130/openlane/rules.openrcx.sky130A.max.calibre rename to sky130/librelane/rules.openrcx.sky130A.max.calibre
diff --git a/sky130/openlane/rules.openrcx.sky130A.max.magic b/sky130/librelane/rules.openrcx.sky130A.max.magic similarity index 100% rename from sky130/openlane/rules.openrcx.sky130A.max.magic rename to sky130/librelane/rules.openrcx.sky130A.max.magic
diff --git a/sky130/openlane/rules.openrcx.sky130A.max.spef_extractor b/sky130/librelane/rules.openrcx.sky130A.max.spef_extractor similarity index 100% rename from sky130/openlane/rules.openrcx.sky130A.max.spef_extractor rename to sky130/librelane/rules.openrcx.sky130A.max.spef_extractor
diff --git a/sky130/openlane/rules.openrcx.sky130A.min.calibre b/sky130/librelane/rules.openrcx.sky130A.min.calibre similarity index 100% rename from sky130/openlane/rules.openrcx.sky130A.min.calibre rename to sky130/librelane/rules.openrcx.sky130A.min.calibre
diff --git a/sky130/openlane/rules.openrcx.sky130A.min.magic b/sky130/librelane/rules.openrcx.sky130A.min.magic similarity index 100% rename from sky130/openlane/rules.openrcx.sky130A.min.magic rename to sky130/librelane/rules.openrcx.sky130A.min.magic
diff --git a/sky130/openlane/rules.openrcx.sky130A.min.spef_extractor b/sky130/librelane/rules.openrcx.sky130A.min.spef_extractor similarity index 100% rename from sky130/openlane/rules.openrcx.sky130A.min.spef_extractor rename to sky130/librelane/rules.openrcx.sky130A.min.spef_extractor
diff --git a/sky130/openlane/rules.openrcx.sky130A.nom.calibre b/sky130/librelane/rules.openrcx.sky130A.nom.calibre similarity index 100% rename from sky130/openlane/rules.openrcx.sky130A.nom.calibre rename to sky130/librelane/rules.openrcx.sky130A.nom.calibre
diff --git a/sky130/openlane/rules.openrcx.sky130A.nom.magic b/sky130/librelane/rules.openrcx.sky130A.nom.magic similarity index 100% rename from sky130/openlane/rules.openrcx.sky130A.nom.magic rename to sky130/librelane/rules.openrcx.sky130A.nom.magic
diff --git a/sky130/openlane/rules.openrcx.sky130A.nom.spef_extractor b/sky130/librelane/rules.openrcx.sky130A.nom.spef_extractor similarity index 100% rename from sky130/openlane/rules.openrcx.sky130A.nom.spef_extractor rename to sky130/librelane/rules.openrcx.sky130A.nom.spef_extractor
diff --git a/sky130/openlane/rules.openrcx.sky130B.max.magic b/sky130/librelane/rules.openrcx.sky130B.max.magic similarity index 100% rename from sky130/openlane/rules.openrcx.sky130B.max.magic rename to sky130/librelane/rules.openrcx.sky130B.max.magic
diff --git a/sky130/openlane/rules.openrcx.sky130B.max.spef_extractor b/sky130/librelane/rules.openrcx.sky130B.max.spef_extractor similarity index 100% rename from sky130/openlane/rules.openrcx.sky130B.max.spef_extractor rename to sky130/librelane/rules.openrcx.sky130B.max.spef_extractor
diff --git a/sky130/openlane/rules.openrcx.sky130B.min.magic b/sky130/librelane/rules.openrcx.sky130B.min.magic similarity index 100% rename from sky130/openlane/rules.openrcx.sky130B.min.magic rename to sky130/librelane/rules.openrcx.sky130B.min.magic
diff --git a/sky130/openlane/rules.openrcx.sky130B.min.spef_extractor b/sky130/librelane/rules.openrcx.sky130B.min.spef_extractor similarity index 100% rename from sky130/openlane/rules.openrcx.sky130B.min.spef_extractor rename to sky130/librelane/rules.openrcx.sky130B.min.spef_extractor
diff --git a/sky130/openlane/rules.openrcx.sky130B.nom.magic b/sky130/librelane/rules.openrcx.sky130B.nom.magic similarity index 100% rename from sky130/openlane/rules.openrcx.sky130B.nom.magic rename to sky130/librelane/rules.openrcx.sky130B.nom.magic
diff --git a/sky130/openlane/rules.openrcx.sky130B.nom.spef_extractor b/sky130/librelane/rules.openrcx.sky130B.nom.spef_extractor similarity index 100% rename from sky130/openlane/rules.openrcx.sky130B.nom.spef_extractor rename to sky130/librelane/rules.openrcx.sky130B.nom.spef_extractor
diff --git a/sky130/openlane/sky130_fd_sc_hd/config.tcl b/sky130/librelane/sky130_fd_sc_hd/config.tcl similarity index 96% rename from sky130/openlane/sky130_fd_sc_hd/config.tcl rename to sky130/librelane/sky130_fd_sc_hd/config.tcl index bffdd3e..37c4402 100755 --- a/sky130/openlane/sky130_fd_sc_hd/config.tcl +++ b/sky130/librelane/sky130_fd_sc_hd/config.tcl
@@ -8,10 +8,10 @@ set ::env(LIB_TYPICAL) $::env(LIB_SYNTH) # MUX4 mapping -set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux4_map.v" # MUX2 mapping -set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux2_map.v" # Placement site for core cells # This can be found in the technology lef
diff --git a/sky130/openlane/sky130_fd_sc_hd/csa_map.v b/sky130/librelane/sky130_fd_sc_hd/csa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/csa_map.v rename to sky130/librelane/sky130_fd_sc_hd/csa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hd/drc_exclude.cells b/sky130/librelane/sky130_fd_sc_hd/drc_exclude.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/drc_exclude.cells rename to sky130/librelane/sky130_fd_sc_hd/drc_exclude.cells
diff --git a/sky130/openlane/sky130_fd_sc_hd/fa_map.v b/sky130/librelane/sky130_fd_sc_hd/fa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/fa_map.v rename to sky130/librelane/sky130_fd_sc_hd/fa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hd/latch_map.v b/sky130/librelane/sky130_fd_sc_hd/latch_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/latch_map.v rename to sky130/librelane/sky130_fd_sc_hd/latch_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hd/mux2_map.v b/sky130/librelane/sky130_fd_sc_hd/mux2_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/mux2_map.v rename to sky130/librelane/sky130_fd_sc_hd/mux2_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hd/mux4_map.v b/sky130/librelane/sky130_fd_sc_hd/mux4_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/mux4_map.v rename to sky130/librelane/sky130_fd_sc_hd/mux4_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hd/no_synth.cells b/sky130/librelane/sky130_fd_sc_hd/no_synth.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/no_synth.cells rename to sky130/librelane/sky130_fd_sc_hd/no_synth.cells
diff --git a/sky130/openlane/sky130_fd_sc_hd/rca_map.v b/sky130/librelane/sky130_fd_sc_hd/rca_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/rca_map.v rename to sky130/librelane/sky130_fd_sc_hd/rca_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hd/tracks.info b/sky130/librelane/sky130_fd_sc_hd/tracks.info similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/tracks.info rename to sky130/librelane/sky130_fd_sc_hd/tracks.info
diff --git a/sky130/openlane/sky130_fd_sc_hd/tribuff_map.v b/sky130/librelane/sky130_fd_sc_hd/tribuff_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hd/tribuff_map.v rename to sky130/librelane/sky130_fd_sc_hd/tribuff_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hdll/config.tcl b/sky130/librelane/sky130_fd_sc_hdll/config.tcl similarity index 98% rename from sky130/openlane/sky130_fd_sc_hdll/config.tcl rename to sky130/librelane/sky130_fd_sc_hdll/config.tcl index 45ca095..8ff1459 100755 --- a/sky130/openlane/sky130_fd_sc_hdll/config.tcl +++ b/sky130/librelane/sky130_fd_sc_hdll/config.tcl
@@ -8,7 +8,7 @@ set ::env(LIB_TYPICAL) $::env(LIB_SYNTH) # MUX2 mapping -set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux2_map.v" # Placement site for core cells # This can be found in the technology lef
diff --git a/sky130/openlane/sky130_fd_sc_hdll/csa_map.v b/sky130/librelane/sky130_fd_sc_hdll/csa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hdll/csa_map.v rename to sky130/librelane/sky130_fd_sc_hdll/csa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hdll/drc_exclude.cells b/sky130/librelane/sky130_fd_sc_hdll/drc_exclude.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_hdll/drc_exclude.cells rename to sky130/librelane/sky130_fd_sc_hdll/drc_exclude.cells
diff --git a/sky130/openlane/sky130_fd_sc_hdll/fa_map.v b/sky130/librelane/sky130_fd_sc_hdll/fa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hdll/fa_map.v rename to sky130/librelane/sky130_fd_sc_hdll/fa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hdll/latch_map.v b/sky130/librelane/sky130_fd_sc_hdll/latch_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hdll/latch_map.v rename to sky130/librelane/sky130_fd_sc_hdll/latch_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hdll/mux2_map.v b/sky130/librelane/sky130_fd_sc_hdll/mux2_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hdll/mux2_map.v rename to sky130/librelane/sky130_fd_sc_hdll/mux2_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hdll/no_synth.cells b/sky130/librelane/sky130_fd_sc_hdll/no_synth.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_hdll/no_synth.cells rename to sky130/librelane/sky130_fd_sc_hdll/no_synth.cells
diff --git a/sky130/openlane/sky130_fd_sc_hdll/rca_map.v b/sky130/librelane/sky130_fd_sc_hdll/rca_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hdll/rca_map.v rename to sky130/librelane/sky130_fd_sc_hdll/rca_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hdll/tracks.info b/sky130/librelane/sky130_fd_sc_hdll/tracks.info similarity index 100% rename from sky130/openlane/sky130_fd_sc_hdll/tracks.info rename to sky130/librelane/sky130_fd_sc_hdll/tracks.info
diff --git a/sky130/openlane/sky130_fd_sc_hdll/tribuff_map.v b/sky130/librelane/sky130_fd_sc_hdll/tribuff_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hdll/tribuff_map.v rename to sky130/librelane/sky130_fd_sc_hdll/tribuff_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hs/config.tcl b/sky130/librelane/sky130_fd_sc_hs/config.tcl similarity index 95% rename from sky130/openlane/sky130_fd_sc_hs/config.tcl rename to sky130/librelane/sky130_fd_sc_hs/config.tcl index 99cdff3..8c7322d 100755 --- a/sky130/openlane/sky130_fd_sc_hs/config.tcl +++ b/sky130/librelane/sky130_fd_sc_hs/config.tcl
@@ -8,10 +8,10 @@ set ::env(LIB_TYPICAL) $::env(LIB_SYNTH) # MUX4 mapping -set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux4_map.v" # MUX2 mapping -set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux2_map.v" # Placement site for core cells # This can be found in the technology lef
diff --git a/sky130/openlane/sky130_fd_sc_hs/csa_map.v b/sky130/librelane/sky130_fd_sc_hs/csa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/csa_map.v rename to sky130/librelane/sky130_fd_sc_hs/csa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hs/drc_exclude.cells b/sky130/librelane/sky130_fd_sc_hs/drc_exclude.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/drc_exclude.cells rename to sky130/librelane/sky130_fd_sc_hs/drc_exclude.cells
diff --git a/sky130/openlane/sky130_fd_sc_hs/fa_map.v b/sky130/librelane/sky130_fd_sc_hs/fa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/fa_map.v rename to sky130/librelane/sky130_fd_sc_hs/fa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hs/latch_map.v b/sky130/librelane/sky130_fd_sc_hs/latch_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/latch_map.v rename to sky130/librelane/sky130_fd_sc_hs/latch_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hs/mux2_map.v b/sky130/librelane/sky130_fd_sc_hs/mux2_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/mux2_map.v rename to sky130/librelane/sky130_fd_sc_hs/mux2_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hs/mux4_map.v b/sky130/librelane/sky130_fd_sc_hs/mux4_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/mux4_map.v rename to sky130/librelane/sky130_fd_sc_hs/mux4_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hs/no_synth.cells b/sky130/librelane/sky130_fd_sc_hs/no_synth.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/no_synth.cells rename to sky130/librelane/sky130_fd_sc_hs/no_synth.cells
diff --git a/sky130/openlane/sky130_fd_sc_hs/rca_map.v b/sky130/librelane/sky130_fd_sc_hs/rca_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/rca_map.v rename to sky130/librelane/sky130_fd_sc_hs/rca_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hs/tracks.info b/sky130/librelane/sky130_fd_sc_hs/tracks.info similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/tracks.info rename to sky130/librelane/sky130_fd_sc_hs/tracks.info
diff --git a/sky130/openlane/sky130_fd_sc_hs/tribuff_map.v b/sky130/librelane/sky130_fd_sc_hs/tribuff_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hs/tribuff_map.v rename to sky130/librelane/sky130_fd_sc_hs/tribuff_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hvl/config.tcl b/sky130/librelane/sky130_fd_sc_hvl/config.tcl similarity index 96% rename from sky130/openlane/sky130_fd_sc_hvl/config.tcl rename to sky130/librelane/sky130_fd_sc_hvl/config.tcl index 1421f6e..4550f89 100644 --- a/sky130/openlane/sky130_fd_sc_hvl/config.tcl +++ b/sky130/librelane/sky130_fd_sc_hvl/config.tcl
@@ -11,10 +11,10 @@ set ::env(GND_PIN_VOLTAGE) "0.00" # MUX4 mapping -set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux4_map.v" # MUX2 mapping -set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux2_map.v" # Placement site for core cells # This can be found in the technology lef
diff --git a/sky130/openlane/sky130_fd_sc_hvl/csa_map.v b/sky130/librelane/sky130_fd_sc_hvl/csa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hvl/csa_map.v rename to sky130/librelane/sky130_fd_sc_hvl/csa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hvl/fa_map.v b/sky130/librelane/sky130_fd_sc_hvl/fa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hvl/fa_map.v rename to sky130/librelane/sky130_fd_sc_hvl/fa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hvl/latch_map.v b/sky130/librelane/sky130_fd_sc_hvl/latch_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hvl/latch_map.v rename to sky130/librelane/sky130_fd_sc_hvl/latch_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hvl/mux2_map.v b/sky130/librelane/sky130_fd_sc_hvl/mux2_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hvl/mux2_map.v rename to sky130/librelane/sky130_fd_sc_hvl/mux2_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hvl/mux4_map.v b/sky130/librelane/sky130_fd_sc_hvl/mux4_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hvl/mux4_map.v rename to sky130/librelane/sky130_fd_sc_hvl/mux4_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hvl/rca_map.v b/sky130/librelane/sky130_fd_sc_hvl/rca_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hvl/rca_map.v rename to sky130/librelane/sky130_fd_sc_hvl/rca_map.v
diff --git a/sky130/openlane/sky130_fd_sc_hvl/tracks.info b/sky130/librelane/sky130_fd_sc_hvl/tracks.info similarity index 100% rename from sky130/openlane/sky130_fd_sc_hvl/tracks.info rename to sky130/librelane/sky130_fd_sc_hvl/tracks.info
diff --git a/sky130/openlane/sky130_fd_sc_hvl/tribuff_map.v b/sky130/librelane/sky130_fd_sc_hvl/tribuff_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_hvl/tribuff_map.v rename to sky130/librelane/sky130_fd_sc_hvl/tribuff_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ls/config.tcl b/sky130/librelane/sky130_fd_sc_ls/config.tcl similarity index 96% rename from sky130/openlane/sky130_fd_sc_ls/config.tcl rename to sky130/librelane/sky130_fd_sc_ls/config.tcl index 49cc541..c344d3b 100755 --- a/sky130/openlane/sky130_fd_sc_ls/config.tcl +++ b/sky130/librelane/sky130_fd_sc_ls/config.tcl
@@ -8,10 +8,10 @@ set ::env(LIB_TYPICAL) $::env(LIB_SYNTH) # MUX4 mapping -set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux4_map.v" # MUX2 mapping -set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux2_map.v" # Placement site for core cells # This can be found in the technology lef
diff --git a/sky130/openlane/sky130_fd_sc_ls/csa_map.v b/sky130/librelane/sky130_fd_sc_ls/csa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/csa_map.v rename to sky130/librelane/sky130_fd_sc_ls/csa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ls/drc_exclude.cells b/sky130/librelane/sky130_fd_sc_ls/drc_exclude.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/drc_exclude.cells rename to sky130/librelane/sky130_fd_sc_ls/drc_exclude.cells
diff --git a/sky130/openlane/sky130_fd_sc_ls/fa_map.v b/sky130/librelane/sky130_fd_sc_ls/fa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/fa_map.v rename to sky130/librelane/sky130_fd_sc_ls/fa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ls/latch_map.v b/sky130/librelane/sky130_fd_sc_ls/latch_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/latch_map.v rename to sky130/librelane/sky130_fd_sc_ls/latch_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ls/mux2_map.v b/sky130/librelane/sky130_fd_sc_ls/mux2_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/mux2_map.v rename to sky130/librelane/sky130_fd_sc_ls/mux2_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ls/mux4_map.v b/sky130/librelane/sky130_fd_sc_ls/mux4_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/mux4_map.v rename to sky130/librelane/sky130_fd_sc_ls/mux4_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ls/no_synth.cells b/sky130/librelane/sky130_fd_sc_ls/no_synth.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/no_synth.cells rename to sky130/librelane/sky130_fd_sc_ls/no_synth.cells
diff --git a/sky130/openlane/sky130_fd_sc_ls/rca_map.v b/sky130/librelane/sky130_fd_sc_ls/rca_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/rca_map.v rename to sky130/librelane/sky130_fd_sc_ls/rca_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ls/tracks.info b/sky130/librelane/sky130_fd_sc_ls/tracks.info similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/tracks.info rename to sky130/librelane/sky130_fd_sc_ls/tracks.info
diff --git a/sky130/openlane/sky130_fd_sc_ls/tribuff_map.v b/sky130/librelane/sky130_fd_sc_ls/tribuff_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ls/tribuff_map.v rename to sky130/librelane/sky130_fd_sc_ls/tribuff_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ms/config.tcl b/sky130/librelane/sky130_fd_sc_ms/config.tcl similarity index 95% rename from sky130/openlane/sky130_fd_sc_ms/config.tcl rename to sky130/librelane/sky130_fd_sc_ms/config.tcl index 840e595..15b0fd7 100755 --- a/sky130/openlane/sky130_fd_sc_ms/config.tcl +++ b/sky130/librelane/sky130_fd_sc_ms/config.tcl
@@ -8,10 +8,10 @@ set ::env(LIB_TYPICAL) $::env(LIB_SYNTH) # MUX4 mapping -set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux4_map.v" # MUX2 mapping -set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/librelane/$::env(STD_CELL_LIBRARY)/mux2_map.v" # Placement site for core cells # This can be found in the technology lef
diff --git a/sky130/openlane/sky130_fd_sc_ms/csa_map.v b/sky130/librelane/sky130_fd_sc_ms/csa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/csa_map.v rename to sky130/librelane/sky130_fd_sc_ms/csa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ms/drc_exclude.cells b/sky130/librelane/sky130_fd_sc_ms/drc_exclude.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/drc_exclude.cells rename to sky130/librelane/sky130_fd_sc_ms/drc_exclude.cells
diff --git a/sky130/openlane/sky130_fd_sc_ms/fa_map.v b/sky130/librelane/sky130_fd_sc_ms/fa_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/fa_map.v rename to sky130/librelane/sky130_fd_sc_ms/fa_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ms/latch_map.v b/sky130/librelane/sky130_fd_sc_ms/latch_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/latch_map.v rename to sky130/librelane/sky130_fd_sc_ms/latch_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ms/mux2_map.v b/sky130/librelane/sky130_fd_sc_ms/mux2_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/mux2_map.v rename to sky130/librelane/sky130_fd_sc_ms/mux2_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ms/mux4_map.v b/sky130/librelane/sky130_fd_sc_ms/mux4_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/mux4_map.v rename to sky130/librelane/sky130_fd_sc_ms/mux4_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ms/no_synth.cells b/sky130/librelane/sky130_fd_sc_ms/no_synth.cells similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/no_synth.cells rename to sky130/librelane/sky130_fd_sc_ms/no_synth.cells
diff --git a/sky130/openlane/sky130_fd_sc_ms/rca_map.v b/sky130/librelane/sky130_fd_sc_ms/rca_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/rca_map.v rename to sky130/librelane/sky130_fd_sc_ms/rca_map.v
diff --git a/sky130/openlane/sky130_fd_sc_ms/tracks.info b/sky130/librelane/sky130_fd_sc_ms/tracks.info similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/tracks.info rename to sky130/librelane/sky130_fd_sc_ms/tracks.info
diff --git a/sky130/openlane/sky130_fd_sc_ms/tribuff_map.v b/sky130/librelane/sky130_fd_sc_ms/tribuff_map.v similarity index 100% rename from sky130/openlane/sky130_fd_sc_ms/tribuff_map.v rename to sky130/librelane/sky130_fd_sc_ms/tribuff_map.v
diff --git a/sky130/openlane/sky130_osu_sc_t18/config.tcl b/sky130/librelane/sky130_osu_sc_t18/config.tcl similarity index 100% rename from sky130/openlane/sky130_osu_sc_t18/config.tcl rename to sky130/librelane/sky130_osu_sc_t18/config.tcl
diff --git a/sky130/openlane/sky130_osu_sc_t18/tracks.info b/sky130/librelane/sky130_osu_sc_t18/tracks.info similarity index 100% rename from sky130/openlane/sky130_osu_sc_t18/tracks.info rename to sky130/librelane/sky130_osu_sc_t18/tracks.info
diff --git a/sky130/openlane/custom_cells/lef/sky130_fd_io_core.sh b/sky130/openlane/custom_cells/lef/sky130_fd_io_core.sh deleted file mode 100644 index daa4aa8..0000000 --- a/sky130/openlane/custom_cells/lef/sky130_fd_io_core.sh +++ /dev/null
@@ -1,8 +0,0 @@ -$OPENLANE_ROOT/scripts/rectify_above.py 1.635 sky130_fd_io__top_xres4v2 < ../../../../libs.ref/sky130_fd_io/lef/sky130_fd_io.lef | - $OPENLANE_ROOT/scripts/obs_above.py 1.635 0 0 sky130_fd_io__top_xres4v2 > sky130_fd_io_core.lef.tmp - -# clean up -$OPENLANE_ROOT/scripts/remove_empty_pins.py < sky130_fd_io_core.lef.tmp | - $OPENLANE_ROOT/scripts/remove_empty_ports.py > sky130_fd_io_core.lef - -rm *.tmp