First cut at properly incorporating the sky130_fd_pr primitive
devices (much work do be done still).
diff --git a/Makefile.in b/Makefile.in
index 202fa8d..1a1c2c7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -63,7 +63,7 @@
install: ${TECHS}
for tech in ${TECHS}; do \
- ${MAKE} install-$${tech}-local; done
+ ${MAKE} install-$${tech}; done
clean: ${TECHS}
for tech in ${TECHS}; do \
diff --git a/scripts/configure b/scripts/configure
index 62b4a34..56a95d4 100755
--- a/scripts/configure
+++ b/scripts/configure
@@ -620,6 +620,7 @@
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -690,6 +691,7 @@
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -942,6 +944,15 @@
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1079,7 +1090,7 @@
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1232,6 +1243,7 @@
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1878,7 +1890,7 @@
$as_echo_n "(cached) " >&6
else
- for am_cv_pathless_PYTHON in python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do
+ for am_cv_pathless_PYTHON in python python2 python3 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do
test "$am_cv_pathless_PYTHON" = none && break
prog="import sys
# split strings by '.' and convert to numeric. Append some zeros
@@ -2101,28 +2113,33 @@
if test -z $PYTHON;
then
- PYTHON="python"
+ if test -z "";
+ then
+ PYTHON="python3"
+ else
+ PYTHON=""
+ fi
fi
PYTHON_NAME=`basename $PYTHON`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $PYTHON_NAME module: distutils" >&5
$as_echo_n "checking $PYTHON_NAME module: distutils... " >&6; }
- $PYTHON -c "import distutils" 2>/dev/null
- if test $? -eq 0;
- then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $PYTHON -c "import distutils" 2>/dev/null
+ if test $? -eq 0;
+ then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- eval HAVE_PYMOD_DISTUTILS=yes
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ eval HAVE_PYMOD_DISTUTILS=yes
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- eval HAVE_PYMOD_DISTUTILS=no
- #
- if test -n ""
- then
- as_fn_error $? "failed to find required module distutils" "$LINENO" 5
- exit 1
- fi
- fi
+ eval HAVE_PYMOD_DISTUTILS=no
+ #
+ if test -n ""
+ then
+ as_fn_error $? "failed to find required module distutils" "$LINENO" 5
+ exit 1
+ fi
+ fi
# Extract the first word of "magic", so it can be a program name with args.
diff --git a/sky130/Makefile.in b/sky130/Makefile.in
index cc337dd..9823ce4 100644
--- a/sky130/Makefile.in
+++ b/sky130/Makefile.in
@@ -351,45 +351,36 @@
${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/no_synth.cells
vendor-a:
- # Install base device models from vendor files
- # (NOTE: .mod and .pm3 files should not be in /cells/?)
+ # Install device subcircuits from vendor files
${STAGE} -source ${SKYWATER_PATH} -target ${STAGING_PATH}/${SKY130A} \
- -ngspice sky130_fd_pr_base/v%v/models/* filter=custom/scripts/fixspice.py \
- -ngspice sky130_fd_pr_base/v%v/cells/*.mod filter=custom/scripts/fixspice.py \
- -ngspice sky130_fd_pr_base/v%v/cells/*.pm3 filter=custom/scripts/fixspice.py \
- |& tee -a ${SKY130A}_install.log
- # Install RF device models from vendor files
- ${STAGE} -source ${SKYWATER_PATH} -target ${STAGING_PATH}/${SKY130A} \
- -ngspice sky130_fd_pr_rf/v%v/models/* filter=custom/scripts/fixspice.py \
- |& tee -a ${SKY130A}_install.log
- # Install additional RF device models from vendor files
- ${STAGE} -source ${SKYWATER_PATH} -target ${STAGING_PATH}/${SKY130A} \
- -ngspice sky130_fd_pr_rf2/v%v/models/* filter=custom/scripts/fixspice.py \
+ -ngspice sky130_fd_pr/latest/models/*.spice \
+ -ngspice sky130_fd_pr/latest/models/*/*.spice up 1 \
+ -ngspice sky130_fd_pr/latest/models/*/*/*.spice up 2 \
+ -ngspice sky130_fd_pr/latest/models/*/*/*/*.spice up 3 \
|& tee -a ${SKY130A}_install.log
# Install base device library from vendor files
${STAGE} -source ${SKYWATER_PATH} -target ${STAGING_PATH}/${SKY130A} \
- -gds %l/v%v/cells/*/*.gds \
- -spice %l/v%v/cells/*/*.spice ignore=topography \
- -spice %l/v%v/cells/*/*.sp \
- -library primitive sky130_fd_pr_base \
- -library primitive sky130_fd_pr_rf \
- -library primitive sky130_fd_pr_rf2 |& tee -a ${SKY130A}_install.log
+ -gds %l/latest/cells/*/*.gds compile-only \
+ -cdl %l/latest/cells/*/*.cdl compile-only \
+ -lef %l/latest/cells/*/*.magic.lef compile-only \
+ -spice %l/latest/cells/*/*.spice compile-only \
+ -library primitive sky130_fd_pr |& tee -a ${SKY130A}_install.log
# Install SkyWater I/O pad library
- # Purposely ignoring "-lef sky130_fd_io/v%v/lef/*.lef" and making our own LEF views
+ # Purposely ignoring "-lef sky130_fd_io/latest/lef/*.lef" and making our own LEF views
${STAGE} -source ${SKYWATER_PATH} -target ${STAGING_PATH}/${SKY130A} \
- -gds %l/v%v/cells/*/*.gds \
- -verilog %l/v%v/cells/*/*.v \
- -lib %l/v%v/cells/*/*.lib \
- -doc %l/v%v/cells/*/*.doc \
- -cdl %l/v%v/cells/*/*.cdl ignore=topography \
- -spice %l/v%v/cells/*/*.spice \
+ -gds %l/latest/cells/*/*.gds \
+ -verilog %l/latest/cells/*/*.v \
+ -lib %l/latest/cells/*/*.lib \
+ -doc %l/latest/cells/*/*.doc \
+ -cdl %l/latest/cells/*/*.cdl ignore=topography \
+ -spice %l/latest/cells/*/*.spice \
-library general sky130_fd_io |& tee -a ${SKY130A}_install.log
# Install all SkyWater digital standard cells.
${STAGE} -source ${SKYWATER_PATH} -target ${STAGING_PATH}/${SKY130A} \
-techlef %l/latest/tech/*.tlef \
-spice %l/latest/cells/*/*.spice compile-only \
-cdl %l/latest/cells/*/*.cdl ignore=topography compile-only \
- -lef %l/latest/cells/*/*.lef exclude=*.*.lef compile-only \
+ -lef %l/latest/cells/*/*.magic.lef compile-only \
-doc %l/latest/cells/*/*.pdf \
-lib %l/latest/timing/*.lib \
-gds %l/latest/cells/*/*.gds compile-only \