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
+}