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 \