Added the sky130_fd_bd_sram library to the list of libraries installed by open_pdks for the sky130 process.
diff --git a/VERSION b/VERSION index 012da15..31bee6a 100644 --- a/VERSION +++ b/VERSION
@@ -1 +1 @@ -1.0.379 +1.0.380
diff --git a/scripts/configure b/scripts/configure index bb114b0..8e58b0c 100755 --- a/scripts/configure +++ b/scripts/configure
@@ -590,6 +590,7 @@ OPENPDKS_TOP ENABLED_TECHS EF_STYLE +USE_REFERENCE GF180MCU_OSU_SC_PATH GF180MCU_FD_IP_SRAM_PATH GF180MCU_FD_SC_MCU9T5V0_PATH @@ -599,6 +600,7 @@ SKY130_OSU_T18_PATH SKY130_OSU_T15_PATH SKY130_OSU_T12_PATH +SKY130_FD_BD_SRAM_PATH SKY130_SRAM_MACROS_PATH PRECHECK_SKY130_PATH KLAYOUT_SKY130_PATH @@ -692,6 +694,7 @@ enable_klayout_sky130 enable_precheck_sky130 enable_sram_sky130 +enable_sram_space_sky130 enable_osu_t12_sky130 enable_osu_t15_sky130 enable_osu_t18_sky130 @@ -701,6 +704,7 @@ enable_sc_9t5v0_gf180mcu enable_sram_gf180mcu enable_osu_sc_gf180mcu +with_reference with_ef_style ' ac_precious_vars='build_alias @@ -1378,6 +1382,9 @@ --enable-sram-sky130[=path] Install sky130_sram_macros. If path is omitted, the repository will be downloaded. [default=disabled] + --enable-sram-space-sky130[=path] + Install sky130_fd_bd_sram. If path is omitted, the repository + will be downloaded. [default=disabled] --enable-osu-t12-sky130[=path] Install sky130_osu_t12. If path is omitted, the repository will be downloaded. [default=disabled] @@ -1415,6 +1422,8 @@ --with-gf180mcu-variants=all|A|B|... "compile/install specified PDK variants only [default=all]" + --with-reference Use PDK JSON file reference commit values for + sources [default=no] --with-ef-style Use efabless style file system structure [default=no] @@ -2902,6 +2911,47 @@ # echo target targetvar flag location + SKY130_FD_BD_SRAM_PATH="" + + # Check whether --enable-sram-space-sky130 was given. +if test "${enable_sram_space_sky130+set}" = set; then : + enableval=$enable_sram_space_sky130; + if test "$enableval" == "yes" -o "$enableval" == "YES"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Package 'sky130_fd_bd_sram' will be installed automatically during make." >&5 +$as_echo "$as_me: Package 'sky130_fd_bd_sram' will be installed automatically during make." >&6;} + export SKY130_FD_BD_SRAM_PATH=../sources/sky130_fd_bd_sram + elif test "$enableval" == "no" -o "$enableval" == "NO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Disabling package 'sky130_fd_bd_sram'" >&5 +$as_echo "$as_me: Disabling package 'sky130_fd_bd_sram'" >&6;} + export SKY130_FD_BD_SRAM_PATH="" + else + SKY130_FD_BD_SRAM_PATH=$enableval + { $as_echo "$as_me:${as_lineno-$LINENO}: Enabling package 'sky130_fd_bd_sram' at $SKY130_FD_BD_SRAM_PATH" >&5 +$as_echo "$as_me: Enabling package 'sky130_fd_bd_sram' at $SKY130_FD_BD_SRAM_PATH" >&6;} + fi + SKY130_FD_BD_SRAM_PATH=`realpath $SKY130_FD_BD_SRAM_PATH` + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: Package 'sky130_fd_bd_sram' will not be installed." >&5 +$as_echo "$as_me: Package 'sky130_fd_bd_sram' will not be installed." >&6;} + + +fi + + + + + + + + + + + + + # echo target targetvar flag location + SKY130_OSU_T12_PATH="" # Check whether --enable-osu-t12-sky130 was given. @@ -3274,14 +3324,26 @@ -# GlobalFoundries gf180mcu optional -# (None yet) - { $as_echo "$as_me:${as_lineno-$LINENO}: Tools enabled for PDK setup installation: klayout magic netgen irsim openlane qflow xschem xcircuit" >&5 $as_echo "$as_me: Tools enabled for PDK setup installation: klayout magic netgen irsim openlane qflow xschem xcircuit" >&6;} +# Check for "--with-reference" +USE_REFERENCE=0 + +# Check whether --with-reference was given. +if test "${with_reference+set}" = set; then : + withval=$with_reference; + pdks_reference=$withval + if test "$withval" == "yes" -o "$withval" == "YES"; then + USE_REFERENCE=1 + fi + +fi + + + # Check for "--with-ef-style" EF_STYLE=0
diff --git a/scripts/configure.ac b/scripts/configure.ac index f1852ff..44055f2 100755 --- a/scripts/configure.ac +++ b/scripts/configure.ac
@@ -236,6 +236,7 @@ # SkyWater sky130 optional M4_OPT_INSTALLATION(sky130_sram_macros, sram-sky130, ../sources) +M4_OPT_INSTALLATION(sky130_fd_bd_sram, sram-space-sky130, ../sources) M4_OPT_INSTALLATION(sky130_osu_t12, osu-t12-sky130, ../sources) M4_OPT_INSTALLATION(sky130_osu_t15, osu-t15-sky130, ../sources) M4_OPT_INSTALLATION(sky130_osu_t18, osu-t18-sky130, ../sources) @@ -250,9 +251,6 @@ # GlobalFoundries gf180mcu optional M4_GEN_INSTALLATION(gf180mcu_osu_sc, osu-sc-gf180mcu, ../sources) -# GlobalFoundries gf180mcu optional -# (None yet) - AC_DEFUN([M4_GEN_WITH_TOOLS], [ m4_foreach_w(tool, $1, [ m4_define([toolvar], [m4_normalize(m4_esyscmd(echo tool | tr "a-z-" "A-Z_"))])
diff --git a/sky130/Makefile.in b/sky130/Makefile.in index d2336be..a61d8fd 100644 --- a/sky130/Makefile.in +++ b/sky130/Makefile.in
@@ -97,6 +97,11 @@ # the SRAM library will be cloned from the repository and # installed. # +# --enable-sram-space-sky130[=<path>] +# If enabled, install the sky130_fd_bd_sram library from +# google on github. If <path> is not specified, then the +# library will be cloned from the repository and installed. +# # --enable-osu-t12-sky130[=<path>] # If enabled, install the sky130_osu_sc_t12 libraries from # foss-eda-tools on googlesource. If <path> is not @@ -231,6 +236,7 @@ KLAYOUT_PATH = @KLAYOUT_SKY130_PATH@ PRECHECK_PATH = @PRECHECK_SKY130_PATH@ SRAM_PATH = @SKY130_SRAM_MACROS_PATH@ +SRAM_SPACE_PATH = @SKY130_FD_BD_SRAM_PATH@ OSU_T12_PATH = @SKY130_OSU_T12_PATH@ OSU_T15_PATH = @SKY130_OSU_T15_PATH@ OSU_T18_PATH = @SKY130_OSU_T18_PATH@ @@ -241,6 +247,7 @@ KLAYOUT_URL = https://github.com/mabrains/sky130_klayout_pdk PRECHECK_URL = https://github.com/efabless/mpw_precheck SRAM_URL = https://github.com/efabless/sky130_sram_macros +SRAM_SPACE_URL = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_bd_sram OSU_T12_URL = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t12 OSU_T15_URL = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t15 OSU_T18_URL = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t18 @@ -318,6 +325,11 @@ else COMMIT_DEFS += -DSRAM_COMMIT=$(shell cd ${SRAM_PATH} ; git rev-parse HEAD) endif +ifeq (${SRAM_SPACE_PATH},) + COMMIT_DEFS += -DSRAM_SPACE_COMMIT="unknown" +else + COMMIT_DEFS += -DSRAM_SPACE_COMMIT=$(shell cd ${SRAM_SPACE_PATH} ; git rev-parse HEAD) +endif ifeq (${OSU_T12_PATH},) COMMIT_DEFS += -DOSU_T12_COMMIT="unknown" else @@ -602,7 +614,7 @@ ../common/save_commit_refs.py ${COMMIT_DEFS} ${TECH}.json # Handle prerequisites (fetch and install the PDK and requested libraries) -prerequisites: pdk-repo alpha-repo xschem-repo klayout-repo precheck-repo sram-repo osu-t12-repo osu-t15-repo osu-t18-repo +prerequisites: pdk-repo alpha-repo xschem-repo klayout-repo precheck-repo sram-repo sram-space-repo osu-t12-repo osu-t15-repo osu-t18-repo pdk-repo: if test "x${SKYWATER_PATH}" != "x" ; then \ @@ -634,6 +646,16 @@ fi ; \ fi +sram-space-repo: + if test "x${SRAM_SPACE_PATH}" != "x" ; then \ + if test -d "${SRAM_SPACE_PATH}" ; then \ + echo "Using existing installation of SRAM build-space library from ${SRAM_SPACE_PATH}" ; \ + else \ + echo "Downloading SRAM build-space library from ${SRAM_SPACE_URL}" ; \ + ../scripts/download.sh ${SRAM_SPACE_URL} ${SRAM_SPACE_PATH} ; \ + fi ; \ + fi + xschem-repo: if test "x${XSCHEM_PATH}" != "x" ; then \ if test -d "${XSCHEM_PATH}" ; then \ @@ -695,7 +717,7 @@ fi # Update prerequisites -update: update-pdk-repo update-alpha-repo update-xschem-repo update-klayout-repo update-precheck-repo update-sram-repo update-osu-t12-repo update-osu-t15-repo update-osu-t18-repo +update: update-pdk-repo update-alpha-repo update-xschem-repo update-klayout-repo update-precheck-repo update-sram-repo update-sram-space-repo update-osu-t12-repo update-osu-t15-repo update-osu-t18-repo update-pdk-repo: if test "x${SKYWATER_PATH}" != "x" ; then \ @@ -715,6 +737,12 @@ ../scripts/update.sh ${SRAM_PATH} ; \ fi +update-sram-space-repo: + if test "x${SRAM_SPACE_PATH}" != "x" ; then \ + echo "Updating SRAM build-space library from ${SRAM_SPACE_URL}" ; \ + ../scripts/update.sh ${SRAM_SPACE_PATH} ; \ + fi + update-xschem-repo: if test "x${XSCHEM_PATH}" != "x" ; then \ echo "Updating xschem setup from ${XSCHEM_URL}" ; \ @@ -1101,9 +1129,9 @@ ${CPP} -quiet ${SKY130$*_DEFS} openlane/sky130_osu_sc_t18/tracks.info \ ${OPENLANE_STAGING_$*}/sky130_osu_sc_t18/tracks.info -vendor-A: primitive-build-A io-build-A sram-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 +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 -vendor-B: primitive-build-B io-build-B sram-build-B digital-hd-build-B digital-hvl-build-B digital-hdll-build-B digital-lp-build-B digital-hs-build-B digital-ms-build-B digital-ls-build-B alpha-build-B osu-t12-build-B osu-t15-build-B osu-t18-build-B +vendor-B: primitive-build-B io-build-B sram-build-B sram-space-build-B digital-hd-build-B digital-hvl-build-B digital-hdll-build-B digital-lp-build-B digital-hs-build-B digital-ms-build-B digital-ls-build-B alpha-build-B osu-t12-build-B osu-t15-build-B osu-t18-build-B primitive-build-%: # Build targets conditionally based on what repositories or submodules @@ -1177,6 +1205,12 @@ make sram-$* ;\ fi +sram-space-build-%: + if test "x${SRAM_SPACE_PATH}" != "x" ; then \ + echo "Building SRAM build-space library" ;\ + make sram-space-$* ;\ + fi + osu-t12-build-%: if test "x${OSU_T12_PATH}" != "x" ; then \ echo "Building OSU 12-track-high standard cell library" ;\ @@ -1699,6 +1733,14 @@ -verilog %l/*/*.v \ -library general sky130_sram_macros 2>&1 | tee -a ${SKY130$*}_make.log +sram-space-%: + # Install SRAM build-space library. + ${STAGE} -source ${SRAM_SPACE_PATH}/.. -target ${STAGING_PATH}/${SKY130$*} \ + -gds %l/cells/*/*.gds compile-only \ + -lef %l/cells/*/*.lef compile-only \ + -spice %l/cells/*/*.lvs.calibre.spice compile-only \ + -library general sky130_fd_bd_sram 2>&1 | tee -a ${SKY130$*}_make.log + osu-t12-%: # Install OSU T12 hs digital standard cells. ${STAGE} -source ${OSU_T12_PATH} -target ${STAGING_PATH}/${SKY130$*} \
diff --git a/sky130/sky130.json b/sky130/sky130.json index 418dbdd..194f7df 100644 --- a/sky130/sky130.json +++ b/sky130/sky130.json
@@ -76,6 +76,7 @@ }, "memory": { "sky130_sram_macros": "SRAM_COMMIT" + "sky130_fd_bd_sram": "SRAM_BUILD_COMMIT" }, "other": { "sky130_ml_xx_hd": "ALPHA_COMMIT", @@ -92,8 +93,8 @@ "magic": "MAGIC_COMMIT" }, "reference": { - "open_pdks": "237959eeddfe01b19f76dd7a500e25b36d36a23f", - "magic": "be40825e9aadc1bed858801572bef0415444b516", + "open_pdks": "3f9bdbd857564726b731760dc2c817e84ca7d8ac", + "magic": "6cefbd13f1dac2293aaa1537a6ee2ad23c11a273", "skywater_pdk": "f70d8ca46961ff92719d8870a18a076370b85f6c", "sky130_osu_sc_t12": "ac90ef0c622a9377a16b5218d9da3ac4169eeaaf", "sky130_osu_sc_t15": "95d1c19abb47e1b2945847acb4e817b1b8417c43", @@ -104,4 +105,4 @@ "klayout_sky130": "7cd7d32bdcbbe32f456a73a02e4653983a6a1850", "precheck_sky130": "a8a54b74961a43f3a7b85d44843ae2adbc93b233" } -} \ No newline at end of file +}