Fixes to the (work in progress) xcircuit installation, and added a patch file for fixing sky130_fd_pr, created from the patch file in xschem_sky130 but applied between the build and installation, so that it does not directly patch the skywater-pdk repository.
diff --git a/VERSION b/VERSION index cfc7214..0f8b392 100644 --- a/VERSION +++ b/VERSION
@@ -1 +1 @@ -1.0.123 +1.0.124
diff --git a/common/preproc.py b/common/preproc.py index 1fca5be..709ea11 100755 --- a/common/preproc.py +++ b/common/preproc.py
@@ -54,6 +54,7 @@ # #endif #-------------------------------------------------------------------- +import os import re import sys @@ -500,6 +501,7 @@ print('Usage: ' + progname + ' input_file [output_file] [-options]') print(' Options are:') print(' -help Print this help text.') + print(' -quiet Stop without error if input file is not found.') print(' -ccomm Remove C comments in /* ... */ delimiters.') print(' -D<def> Define word <def> and set its value to 1.') print(' -D<def>=<val> Define word <def> and set its value to <val>.') @@ -532,6 +534,7 @@ keys = [] incdirs = [] ccomm = False + quiet = False for item in options: result = item.split('=') if result[0] == '-help': @@ -539,6 +542,8 @@ sys.exit(0) elif result[0] == '-ccomm': ccomm = True + elif result[0] == '-quiet': + quiet = True elif result[0][0:2] == '-I': incdirs.append(result[0][2:]) elif result[0][0:2] == '-D': @@ -552,16 +557,22 @@ keys.append(keyword) keys = sortkeys(keys) else: - print('Bad option ' + item + ', options are -help, -ccomm, -D<def> -I<dir>\n') + print('Bad option ' + item + ', options are -help, -quiet, -ccomm, -D<def> -I<dir>\n') sys.exit(1) + if not os.path.isfile(inputfile): + if not quiet: + print("Error: No input file " + inputfile + " found.") + else: + sys.exit(0) + if outputfile: ofile = open(outputfile, 'w') else: ofile = sys.stdout if not ofile: - print("Error: Cannot open file " + output_file + " for writing.") + print("Error: Cannot open file " + outputfile + " for writing.") sys.exit(1) # Sort keys so that if any definition contains another definition, the
diff --git a/common/staging_install.py b/common/staging_install.py index 3a94d71..22f5e2b 100755 --- a/common/staging_install.py +++ b/common/staging_install.py
@@ -64,7 +64,7 @@ def filter_recursive(tooldir, stagingdir, localdir): # Add any non-ASCII file types here - bintypes = ['.gds', '.gds2', '.gdsii', '.png'] + bintypes = ['.gds', '.gds2', '.gdsii', '.png', '.swp'] if not os.path.exists(tooldir): return 0 @@ -74,9 +74,6 @@ toolfiles = os.listdir(tooldir) total = 0 - # Add any non-ASCII - binexts = ['.png'] - for file in toolfiles: # Do not attempt to do text substitutions on a binary file! if os.path.splitext(file)[1] in bintypes: @@ -609,6 +606,8 @@ os.remove(filepath) elif os.path.splitext(libfile)[1] == '.ext': os.remove(filepath) + elif os.path.splitext(libfile)[1] == '.swp': + os.remove(filepath) else: libraries = os.listdir(targetdir + refdir) for library in libraries:
diff --git a/sky130/Makefile.in b/sky130/Makefile.in index 01aa7dd..d49e141 100644 --- a/sky130/Makefile.in +++ b/sky130/Makefile.in
@@ -107,7 +107,7 @@ # # Run "make clean" to remove all staging files. # -# Run "make veryclean" to remove all staging and install log files. +# Run "make veryclean" to remove all staging and make.log files. # # For the sake of simplicity, the "standard" installation can be done # with the usual @@ -222,8 +222,10 @@ ifeq (${EF_STYLE}, 1) MAGICPATH = ${MAGICTOP}/${REVISION} + MAGICCURRENT = ${MAGICTOP}/current else MAGICPATH = ${MAGICTOP} + MAGICCURRENT = ${MAGICTOP} endif # Currently, netgen, qflow, irsim, and klayout do not use revisioning (needs to change!) @@ -253,7 +255,7 @@ XSCHEM_STAGING_A = ${STAGING_PATH}/${SKY130A}/${XSCHEMPATH} XCIRCUIT_STAGING_A = ${STAGING_PATH}/${SKY130A}/${XCIRCUITPATH} -SKY130A_DEFS += -DMAGIC_CURRENT=${MAGICTOP}/current +SKY130A_DEFS += -DMAGIC_CURRENT=${MAGICCURRENT} # Openlane has a number of files that are common to all digital # standard cell libraries, so these are collected in one definition @@ -360,17 +362,17 @@ fi all-a: prerequisites - echo "Starting sky130A PDK staging on "`date` > ${SKY130A}_install.log + echo "Starting sky130A PDK staging on "`date` > ${SKY130A}_make.log ${MAKE} tools-a ${MAKE} vendor-a - echo "Ended sky130A PDK staging on "`date` >> ${SKY130A}_install.log + echo "Ended sky130A PDK staging on "`date` >> ${SKY130A}_make.log tools-a: $(addsuffix -a, $(TOOLS)) general-a: ${TECH}.json mkdir -p ${STAGING_PATH}/${SKY130A}/${CONFIG_DIR} rm -f ${STAGING_PATH}/${SKY130A}/${CONFIG_DIR}/nodeinfo.json - ${CPP} ${SKY130A_DEFS} ${TECH}.json > \ + ${CPP} ${SKY130A_DEFS} ${TECH}.json \ ${STAGING_PATH}/${SKY130A}/${CONFIG_DIR}/nodeinfo.json magic-a: magic/${TECH}.tech magic/${TECH}gds.tech magic/${TECH}.magicrc magic/${TECH}.tcl @@ -382,16 +384,18 @@ rm -f ${MAGIC_STAGING_A}/${SKY130A}.tcl rm -f ${MAGIC_STAGING_A}/${SKY130A}-BindKeys rm -f ${MAGIC_STAGING_A}/magicrc - (cd ${MAGICTOP_STAGING_A} ; ln -s ${REV_DIR} current) + if "${EF_STYLE}" == "1" ; then \ + (cd ${MAGICTOP_STAGING_A} ; ln -s ${REV_DIR} current) ; \ + fi cp -rp custom/scripts/seal_ring_generator ${MAGIC_STAGING_A}/. cp -rp custom/scripts/bump_bond_generator ${MAGIC_STAGING_A}/. cp custom/scripts/generate_fill.py ${MAGIC_STAGING_A}/. cp custom/scripts/check_density.py ${MAGIC_STAGING_A}/. - ${CPP} ${SKY130A_DEFS} magic/${TECH}.tech > ${MAGIC_STAGING_A}/${SKY130A}.tech - ${CPP} ${SKY130A_DEFS} magic/${TECH}gds.tech > ${MAGIC_STAGING_A}/${SKY130A}-GDS.tech - ${CPP} ${SKY130A_DEFS} magic/${TECH}.magicrc > ${MAGIC_STAGING_A}/${SKY130A}.magicrc - ${CPP} ${SKY130A_DEFS} ../common/pdk.bindkeys > ${MAGIC_STAGING_A}/${SKY130A}-BindKeys - ${CPP} ${SKY130A_DEFS} magic/${TECH}.tcl > ${MAGIC_STAGING_A}/${SKY130A}.tcl + ${CPP} ${SKY130A_DEFS} magic/${TECH}.tech ${MAGIC_STAGING_A}/${SKY130A}.tech + ${CPP} ${SKY130A_DEFS} magic/${TECH}gds.tech ${MAGIC_STAGING_A}/${SKY130A}-GDS.tech + ${CPP} ${SKY130A_DEFS} magic/${TECH}.magicrc ${MAGIC_STAGING_A}/${SKY130A}.magicrc + ${CPP} ${SKY130A_DEFS} ../common/pdk.bindkeys ${MAGIC_STAGING_A}/${SKY130A}-BindKeys + ${CPP} ${SKY130A_DEFS} magic/${TECH}.tcl ${MAGIC_STAGING_A}/${SKY130A}.tcl ${CPP} ${SKY130A_DEFS} ../common/pdk.tcl >> ${MAGIC_STAGING_A}/${SKY130A}.tcl qflow-a: qflow/${TECH}.sh qflow/${TECH}.par @@ -413,37 +417,37 @@ rm -f ${QFLOW_STAGING_A}/${SKY130A}ms.par rm -f ${QFLOW_STAGING_A}/${SKY130A}osu.sh rm -f ${QFLOW_STAGING_A}/${SKY130A}osu.par - ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hd qflow/${TECH}.sh > \ + ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hd qflow/${TECH}.sh \ ${QFLOW_STAGING_A}/${SKY130A}hd.sh - ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hdll qflow/${TECH}.sh > \ + ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hdll qflow/${TECH}.sh \ ${QFLOW_STAGING_A}/${SKY130A}hdll.sh - ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hvl qflow/${TECH}.sh > \ + ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hvl qflow/${TECH}.sh \ ${QFLOW_STAGING_A}/${SKY130A}hvl.sh - ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hs qflow/${TECH}.sh > \ + ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_hs qflow/${TECH}.sh \ ${QFLOW_STAGING_A}/${SKY130A}hs.sh - ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_lp qflow/${TECH}.sh > \ + ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_lp qflow/${TECH}.sh \ ${QFLOW_STAGING_A}/${SKY130A}lp.sh - ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_ls qflow/${TECH}.sh > \ + ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_ls qflow/${TECH}.sh \ ${QFLOW_STAGING_A}/${SKY130A}ls.sh - ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_ms qflow/${TECH}.sh > \ + ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_fd_sc_ms qflow/${TECH}.sh \ ${QFLOW_STAGING_A}/${SKY130A}ms.sh - ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_t18 qflow/sky130osu.sh > \ + ${CPP} ${SKY130A_DEFS} -DLIBRARY=sky130_osu_sc_t18 qflow/sky130osu.sh \ ${QFLOW_STAGING_A}/${SKY130A}osu.sh - ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hd.par - ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hdll.par - ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hvl.par - ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}hs.par - ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}ms.par - ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}lp.par - ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}ls.par - ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par > ${QFLOW_STAGING_A}/${SKY130A}osu.par + ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/${SKY130A}hd.par + ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/${SKY130A}hdll.par + ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/${SKY130A}hvl.par + ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/${SKY130A}hs.par + ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/${SKY130A}ms.par + ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/${SKY130A}lp.par + ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/${SKY130A}ls.par + ${CPP} ${SKY130A_DEFS} qflow/${TECH}.par ${QFLOW_STAGING_A}/${SKY130A}osu.par netgen-a: netgen/${TECH}_setup.tcl mkdir -p ${NETGENTOP_STAGING_A} mkdir -p ${NETGEN_STAGING_A} rm -f ${NETGEN_STAGING_A}/${SKY130A}_setup.tcl rm -f ${NETGEN_STAGING_A}/setup.tcl - ${CPP} ${SKY130A_DEFS} netgen/${TECH}_setup.tcl > ${NETGEN_STAGING_A}/${SKY130A}_setup.tcl + ${CPP} ${SKY130A_DEFS} netgen/${TECH}_setup.tcl ${NETGEN_STAGING_A}/${SKY130A}_setup.tcl (cd ${NETGEN_STAGING_A} ; ln -s ${SKY130A}_setup.tcl setup.tcl) irsim-a: irsim @@ -457,8 +461,8 @@ mkdir -p ${KLAYOUT_STAGING_A} rm -f ${KLAYOUT_STAGING_A}/${SKY130A}.lyp rm -f ${KLAYOUT_STAGING_A}/${SKY130A}.lyt - ${CPP} ${SKY130A_DEFS} klayout/${TECH}.lyp > ${KLAYOUT_STAGING_A}/${SKY130A}.lyp - ${CPP} ${SKY130A_DEFS} klayout/${TECH}.lyt > ${KLAYOUT_STAGING_A}/${SKY130A}.lyt + ${CPP} ${SKY130A_DEFS} klayout/${TECH}.lyp ${KLAYOUT_STAGING_A}/${SKY130A}.lyp + ${CPP} ${SKY130A_DEFS} klayout/${TECH}.lyt ${KLAYOUT_STAGING_A}/${SKY130A}.lyt cp klayout/${TECH}.lydrc ${KLAYOUT_STAGING_A}/${SKY130A}.lydrc ./custom/scripts/gen_run_drc.py -l ${KLAYOUT_STAGING_A}/${SKY130A}.lydrc -o ${KLAYOUT_STAGING_A}/${SKY130A}.drc @@ -468,11 +472,10 @@ mkdir -p ${XCIRCUIT_STAGING_A} rm -f ${XCIRCUIT_STAGING_A}/*.lps rm -f ${XCIRCUIT_STAGING_A}/${SKY130A}.xcircuitrc - ${CPP} xcircuit/sky130_fd_pr.lps > ${XCIRCUIT_STAGING_A}/sky130_fd_pr.lps - ${CPP} xcircuit/sky130_fd_sc_hd.lps > ${XCIRCUIT_STAGING_A}/sky130_fd_sc_hd.lps - ${CPP} xcircuit/ngspice.lps > ${XCIRCUIT_STAGING_A}/ngspice.lps - cp xcircuit/${TECH}_*.lps ${XCIRCUIT_STAGING_A}/ - ${CPP} ${SKY130A_DEFS} xcircuit/${TECH}.xcircuitrc > ${XCIRCUIT_STAGING_A}/${SKY130A}.xcircuitrc + ${CPP} ${SKY130A_DEFS} xcircuit/ngspice.lps ${XCIRCUIT_STAGING_A}/ngspice.lps + ${CPP} ${SKY130A_DEFS} xcircuit/sky130_fd_pr.lps ${XCIRCUIT_STAGING_A}/sky130_fd_pr.lps + ${CPP} ${SKY130A_DEFS} xcircuit/sky130_fd_sc_hd.lps ${XCIRCUIT_STAGING_A}/sky130_fd_sc_hd.lps + ${CPP} ${SKY130A_DEFS} xcircuit/${TECH}.xcircuitrc ${XCIRCUIT_STAGING_A}/${SKY130A}.xcircuitrc xschem-a: ${XSCHEM_PATH} rm -rf ${XSCHEM_STAGING_A} @@ -486,7 +489,8 @@ # a component of XSCHEM_LIBRARY_PATH cat ${XSCHEM_PATH}/xschemrc | \ sed -e "/PWD/aappend XSCHEM_LIBRARY_PATH :${XSCHEM_STAGING_A}" | \ - sed -e "/sky130_models.tcl/s#scripts#${XSCHEM_STAGING_A}/scripts#" \ + sed -e "/sky130_models.tcl/s#scripts#${XSCHEM_STAGING_A}/scripts#" | \ + sed -e "/netlist_dir/aset netlist_dir ." \ > ${XSCHEM_STAGING_A}/xschemrc openlane-a: openlane/common_pdn.tcl 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 @@ -525,36 +529,38 @@ done cp -r openlane/custom_cells ${OPENLANE_STAGING_A} - ${CPP} ${SKY130A_DEFS} openlane/common_pdn.tcl > ${OPENLANE_STAGING_A}/common_pdn.tcl - ${CPP} ${SKY130A_DEFS} openlane/config.tcl > ${OPENLANE_STAGING_A}/config.tcl + ${CPP} ${SKY130A_DEFS} openlane/common_pdn.tcl ${OPENLANE_STAGING_A}/common_pdn.tcl + ${CPP} ${SKY130A_DEFS} openlane/config.tcl ${OPENLANE_STAGING_A}/config.tcl for file in ${OPENLANE_COMMON} ; do \ - ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/$$file > \ + ${CPP} -quiet ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/$$file \ ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/$$file ; \ done for file in ${OPENLANE_COMMON} ; do \ - ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/$$file > \ + ${CPP} -quiet ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/$$file \ ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/$$file ; \ done for file in ${OPENLANE_COMMON} ; do \ - ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/$$file > \ + ${CPP} -quiet ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/$$file \ ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/$$file ; \ done for file in ${OPENLANE_COMMON} ; do \ - ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/$$file > \ + ${CPP} -quiet ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/$$file \ ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/$$file ; \ done for file in ${OPENLANE_COMMON} ; do \ - ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/$$file > \ + ${CPP} -quiet ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/$$file \ ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/$$file ; \ done for file in ${OPENLANE_COMMON} ; do \ - ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/$$file > \ + ${CPP} -quiet ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/$$file \ ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/$$file ; \ done - ${CPP} ${SKY130A_DEFS} openlane/sky130_osu_sc_t18/config.tcl > ${OPENLANE_STAGING_A}/sky130_osu_sc_t18/config.tcl - ${CPP} ${SKY130A_DEFS} openlane/sky130_osu_sc_t18/tracks.info > ${OPENLANE_STAGING_A}/sky130_osu_sc_t18/tracks.info + ${CPP} -quiet ${SKY130A_DEFS} openlane/sky130_osu_sc_t18/config.tcl \ + ${OPENLANE_STAGING_A}/sky130_osu_sc_t18/config.tcl + ${CPP} -quiet ${SKY130A_DEFS} openlane/sky130_osu_sc_t18/tracks.info \ + ${OPENLANE_STAGING_A}/sky130_osu_sc_t18/tracks.info vendor-a: # Modify the LEF files to update hs and ms libraries @@ -562,14 +568,14 @@ ${STAGE} -source ${SKYWATER_LIBS_PATH} -target ${STAGING_PATH}/${SKY130A} \ -ngspice sky130_fd_pr/latest/models/* \ filter=custom/scripts/rename_models.py \ - |& tee -a ${SKY130A}_install.log + |& tee -a ${SKY130A}_make.log # Install base device library from vendor files ${STAGE} -source ${SKYWATER_LIBS_PATH} -target ${STAGING_PATH}/${SKY130A} \ -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 filter=custom/scripts/rename_cells.py \ - -library primitive sky130_fd_pr |& tee -a ${SKY130A}_install.log + -library primitive sky130_fd_pr |& tee -a ${SKY130A}_make.log # Custom: Add "short" resistor model and subcircuit to the r+c models file cat ./custom/models/short.spice >> \ ${STAGING_PATH}/${SKY130A}/libs.tech/ngspice/sky130_fd_pr__model__r+c.model.spice @@ -577,13 +583,18 @@ cat ./custom/models/diode.spice >> \ ${STAGING_PATH}/${SKY130A}/libs.tech/ngspice/sky130_fd_pr__model__r+c.model.spice + # Custom: Patch the models to work around ngspice issue with the relative + # order of the "nf" and "mult" parameters. + patch -p1 -f -d ${STAGING_PATH}/${SKY130A} \ + < custom/patches/sky130_fd_pr.patch \ + |& tee -a ${SKY130A}_make.log || true # Install custom additions to I/O pad library ${STAGE} -source ./custom -target ${STAGING_PATH}/${SKY130A} \ -verilog %l/verilog/*.v \ -cdl %l/cdl/*.cdl \ -gds %l/gds/*.gds \ -lef %l/lef/*.lef compile-only rename=sky130_ef_io \ - -library general sky130_fd_io |& tee -a ${SKY130A}_install.log + -library general sky130_fd_io |& tee -a ${SKY130A}_make.log # Install SkyWater I/O pad library ${STAGE} -source ${SKYWATER_LIBS_PATH} -target ${STAGING_PATH}/${SKY130A} \ -spice %l/latest/cells/*/*.spice compile-only \ @@ -601,7 +612,7 @@ -verilog %l/latest/cells/*/*.v exclude=*.*.v \ compile-only filter=custom/scripts/inc_verilog.py \ sort=custom/scripts/sort_pdkfiles.py \ - -library general sky130_fd_io |& tee -a ${SKY130A}_install.log + -library general sky130_fd_io |& tee -a ${SKY130A}_make.log # Remove the base verilog files which have already been included into # the libraries ${RM} ${STAGING_PATH}/${SKY130A}/libs.ref/sky130_fd_io/verilog/*.*.v @@ -610,7 +621,7 @@ -gds %l/gds/*.gds \ -lef %l/lef/*.lef \ -verilog %l/verilog/*.v \ - -library digital sky130_fd_sc_hd |& tee -a ${SKY130A}_install.log + -library digital sky130_fd_sc_hd |& tee -a ${SKY130A}_make.log # Add a maskhint set for the GPIO pad .mag view to prevent problems writing # when writing HVI to GDS during hierarchical adjustments. ${ADDPROP} ${STAGING_PATH}/${SKY130A} sky130_fd_io sky130_fd_io__top_gpiov2 \ @@ -641,7 +652,7 @@ -library digital sky130_fd_sc_hs \ -library digital sky130_fd_sc_ls \ -library digital sky130_fd_sc_ms \ - -library digital sky130_fd_sc_lp |& tee -a ${SKY130A}_install.log + -library digital sky130_fd_sc_lp |& tee -a ${SKY130A}_make.log # Add a maskhint set for the tap cell .ag view to prevent problems writing # when writing NSDM and PSDM to GDS during hierarchical adjustments. ${ADDPROP} ${STAGING_PATH}/${SKY130A} sky130_fd_sc_hd sky130_fd_sc_hd__tapvpwrvgnd_1 \ @@ -659,13 +670,15 @@ ${RM} ${STAGING_PATH}/${SKY130A}/libs.ref/sky130_fd_sc_lp/verilog/*.*.v # Apply extra PDK patches until they get fixed properly in the source patch -p1 -f -d ${STAGING_PATH}/${SKY130A}/libs.ref/sky130_fd_sc_hd/techlef \ - < custom/patches/hd_minenclosed.squeaky.patch || true + < custom/patches/hd_minenclosed.squeaky.patch \ + |& tee -a ${SKY130A}_make.log || true patch -p1 -f -d ${STAGING_PATH}/${SKY130A}/libs.ref/sky130_fd_sc_hdll/techlef \ - < custom/patches/hdll_minenclosed.squeaky.patch || true + < custom/patches/hdll_minenclosed.squeaky.patch \ + |& tee -a ${SKY130A}_make.log || true # Install alphanumeric library. ${STAGE} -source ${ALPHA_PATH}/.. -target ${STAGING_PATH}/${SKY130A} \ -mag %l/mag/*.mag filter=custom/scripts/text2m5.py \ - -library general sky130_ml_xx_hd |& tee -a ${SKY130A}_install.log + -library general sky130_ml_xx_hd |& tee -a ${SKY130A}_make.log # Install text2mag.py script for alphanumeric library mkdir -p ${STAGING_PATH}/${SKY130A}/libs.ref/sky130_ml_xx_hd/scripts cp custom/scripts/text2mag.py \ @@ -677,7 +690,7 @@ -lef %l/latest/lef/*.lef compile-only \ -lib %l/latest/lib/*.lib \ -gds %l/latest/gds/*.gds compile-only \ - -library digital sky130_osu_sc_t18 |& tee -a ${SKY130A}_install.log + -library digital sky130_osu_sc_t18 |& tee -a ${SKY130A}_make.log install: if test "x${DIST_PATH}" == "x" ; then \ @@ -689,23 +702,23 @@ install-local: install-local-a install-local-a: - echo "Starting SKY130 PDK migration on "`date` > ${SKY130A}_migrate.log + echo "Starting SKY130 PDK migration on "`date` > ${SKY130A}_install.log ${INSTALL} -source ${STAGING_PATH}/${SKY130A} \ -target ${LOCAL_PATH}/${SKY130A} \ -variable PDKPATH \ - -link_from ${LINK_TARGETS} |& tee -a ${SKY130A}_migrate.log - echo "Ended SKY130 PDK migration on "`date` >> ${SKY130A}_migrate.log + -link_from ${LINK_TARGETS} |& tee -a ${SKY130A}_install.log + echo "Ended SKY130 PDK migration on "`date` >> ${SKY130A}_install.log install-dist: install-dist-a install-dist-a: - echo "Starting SKY130 PDK migration on "`date` > ${SKY130A}_migrate.log + echo "Starting SKY130 PDK migration on "`date` > ${SKY130A}_install.log ${INSTALL} -source ${STAGING_PATH}/${SKY130A} \ -target ${DIST_PATH}/${SKY130A} \ -variable PDKPATH \ -local ${LOCAL_PATH}/${SKY130A} \ - -link_from ${DIST_LINK_TARGETS} |& tee -a ${SKY130A}_migrate.log - echo "Ended SKY130 PDK migration on "`date` >> ${SKY130A}_migrate.log + -link_from ${DIST_LINK_TARGETS} |& tee -a ${SKY130A}_install.log + echo "Ended SKY130 PDK migration on "`date` >> ${SKY130A}_install.log clean: clean-a @@ -715,6 +728,8 @@ veryclean: veryclean-a veryclean-a: clean-a + ${RM} ${SKY130A}_make.log ${RM} ${SKY130A}_install.log + # Legacy name ${RM} ${SKY130A}_migrate.log
diff --git a/sky130/custom/patches/sky130_fd_pr.patch b/sky130/custom/patches/sky130_fd_pr.patch new file mode 100644 index 0000000..c91c789 --- /dev/null +++ b/sky130/custom/patches/sky130_fd_pr.patch
@@ -0,0 +1,902 @@ +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8.pm3.spice 2021-02-13 16:16:48.446571470 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8.pm3.spice 2021-02-13 15:53:01.687900225 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8__model.0 nmos + * DC IV MOS Parameters + + lmin = 1.45e-07 lmax = 1.55e-07 wmin = 1.255e-06 wmax = 1.265e-6 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__ff.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__ff.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__ff.pm3.spice 2021-02-13 16:16:48.265570547 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__ff.pm3.spice 2021-02-13 15:53:01.479899064 +0000 +@@ -27,8 +27,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8__model.0 nmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__fs.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__fs.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__fs.pm3.spice 2021-02-13 16:16:48.794573245 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__fs.pm3.spice 2021-02-13 15:53:02.070902363 +0000 +@@ -27,8 +27,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8__model.0 nmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__leak.pm3.spice 2021-02-13 16:16:47.392566096 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__leak.pm3.spice 2021-02-13 15:53:00.631894331 +0000 +@@ -27,8 +27,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8__model.0 nmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__sf.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__sf.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__sf.pm3.spice 2021-02-13 16:16:46.854563352 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__sf.pm3.spice 2021-02-13 15:53:00.085891283 +0000 +@@ -27,8 +27,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8__model.0 nmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__ss.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__ss.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__ss.pm3.spice 2021-02-13 16:16:47.763567988 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__ss.pm3.spice 2021-02-13 15:53:00.995896363 +0000 +@@ -27,8 +27,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8__model.0 nmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__tt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__tt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__tt.pm3.spice 2021-02-13 16:16:49.094574775 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__tt.pm3.spice 2021-02-13 15:53:02.357903964 +0000 +@@ -27,8 +27,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8__model.0 nmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__tt_leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__tt_leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__tt_leak.pm3.spice 2021-02-13 16:16:48.008569237 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__tt_leak.pm3.spice 2021-02-13 15:53:01.239897724 +0000 +@@ -27,8 +27,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8__model.0 nmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt.pm3.spice 2021-02-13 16:16:51.364586351 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt.pm3.spice 2021-02-13 15:53:04.799917594 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8_lvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 9.95e-07 lmax = 1.005e-06 wmin = 9.95e-07 wmax = 1.005e-6 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__ff.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__ff.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__ff.pm3.spice 2021-02-13 16:16:51.056584780 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__ff.pm3.spice 2021-02-13 15:53:04.433915551 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8_lvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 8e-06 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__fs.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__fs.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__fs.pm3.spice 2021-02-13 16:16:51.280585923 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__fs.pm3.spice 2021-02-13 15:53:04.717917137 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8_lvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 8e-06 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__leak.pm3.spice 2021-02-13 16:16:51.721588171 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__leak.pm3.spice 2021-02-13 15:53:05.203919849 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8_lvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 8e-06 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__sf.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__sf.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__sf.pm3.spice 2021-02-13 16:16:52.500592144 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__sf.pm3.spice 2021-02-13 15:53:06.013924370 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8_lvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 8e-06 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__ss.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__ss.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__ss.pm3.spice 2021-02-13 16:16:51.506587075 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__ss.pm3.spice 2021-02-13 15:53:04.939918376 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8_lvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 8e-06 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__tt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__tt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__tt.pm3.spice 2021-02-13 16:16:52.076589982 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__tt.pm3.spice 2021-02-13 15:53:05.583921970 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8_lvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 8e-06 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__tt_leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__tt_leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__tt_leak.pm3.spice 2021-02-13 16:16:52.284591043 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8_lvt__tt_leak.pm3.spice 2021-02-13 15:53:05.776923047 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_01v8_lvt d g s b sky130_fd_pr__nfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_01v8_lvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 8e-06 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_03v3_nvt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_03v3_nvt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_03v3_nvt.pm3.spice 2021-02-13 16:17:04.307652354 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_03v3_nvt.pm3.spice 2021-02-13 15:53:17.687989528 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_03v3_nvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_03v3_nvt d g s b sky130_fd_pr__nfet_03v3_nvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_03v3_nvt d g s b sky130_fd_pr__nfet_03v3_nvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_03v3_nvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 4.95e-07 lmax = 5.05e-07 wmin = 9.995e-06 wmax = 1.0005e-5 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_05v0_nvt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_05v0_nvt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_05v0_nvt.pm3.spice 2021-02-13 16:16:49.836578559 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_05v0_nvt.pm3.spice 2021-02-13 15:53:03.049907827 +0000 +@@ -32,8 +32,8 @@ + * } + .subckt sky130_fd_pr__nfet_05v0_nvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_05v0_nvt d g s b sky130_fd_pr__nfet_05v0_nvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_05v0_nvt d g s b sky130_fd_pr__nfet_05v0_nvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_05v0_nvt__model.0 nmos + * DC IV MOS Parameters + + lmin = 1.995e-06 lmax = 2.005e-06 wmin = 9.995e-06 wmax = 1.0005e-5 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5.pm3.spice 2021-02-13 16:16:26.851461346 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5.pm3.spice 2021-02-13 15:52:40.128779895 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_g5v0d10v5__model.0 nmos + * DC IV MOS Parameters + + lmin = 4.95e-07 lmax = 5.05e-07 wmin = 9.995e-06 wmax = 1.0005e-5 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__ff.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__ff.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__ff.pm3.spice 2021-02-13 16:16:27.393464110 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__ff.pm3.spice 2021-02-13 15:52:40.658782853 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_g5v0d10v5__model.0 nmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__fs.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__fs.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__fs.pm3.spice 2021-02-13 16:16:26.670460423 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__fs.pm3.spice 2021-02-13 15:52:39.948778890 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_g5v0d10v5__model.0 nmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__leak.pm3.spice 2021-02-13 16:16:27.666465502 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__leak.pm3.spice 2021-02-13 15:52:40.941784433 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_g5v0d10v5__model.0 nmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__sf.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__sf.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__sf.pm3.spice 2021-02-13 16:16:25.750455731 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__sf.pm3.spice 2021-02-13 15:52:39.171774554 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_g5v0d10v5__model.0 nmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__ss.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__ss.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__ss.pm3.spice 2021-02-13 16:16:26.243458245 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__ss.pm3.spice 2021-02-13 15:52:39.581776842 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_g5v0d10v5__model.0 nmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__tt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__tt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__tt.pm3.spice 2021-02-13 16:16:26.479459449 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__tt.pm3.spice 2021-02-13 15:52:39.765777869 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_g5v0d10v5__model.0 nmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__tt_leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__tt_leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__tt_leak.pm3.spice 2021-02-13 16:16:25.941456706 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d10v5__tt_leak.pm3.spice 2021-02-13 15:52:39.313775346 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__nfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__nfet_g5v0d10v5 d g s b sky130_fd_pr__nfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_g5v0d10v5__model.0 nmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d16v0.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d16v0.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d16v0.pm3.spice 2021-02-13 16:16:44.980553796 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d16v0.pm3.spice 2021-02-13 15:52:58.282881220 +0000 +@@ -35,8 +35,8 @@ + * } + .subckt sky130_fd_pr__nfet_g5v0d16v0__base d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 delvto = 0.0 +-msky130_fd_pr__nfet_g5v0d16v0__base d g s b sky130_fd_pr__nfet_g5v0d16v0__model_base l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1 delvto = 0.0 ++msky130_fd_pr__nfet_g5v0d16v0__base d g s b sky130_fd_pr__nfet_g5v0d16v0__model_base l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__nfet_g5v0d16v0__model_base.0 nmos + * Model Flag Parameters + + lmin = 6.95e-007 lmax = 7.05e-007 wmin = 1.9995e-005 wmax = 2.00005e-5 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d16v0__subcircuit.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d16v0__subcircuit.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d16v0__subcircuit.pm3.spice 2021-02-13 16:16:45.151554667 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_g5v0d16v0__subcircuit.pm3.spice 2021-02-13 15:52:58.473882286 +0000 +@@ -13,11 +13,11 @@ + * limitations under the License. + + * SKY130 Spice File. +-.subckt sky130_fd_pr__nfet_g5v0d16v0 d g s b w=5.0 l=0.7 nf=1 ad=0 as=0 pd=0 ps=0 nrd=0 nrs=0 delvto=0 m=1 sa=0.28 sb=2.41 sd=0 mult=1 ++.subckt sky130_fd_pr__nfet_g5v0d16v0 d g s b w=5.0 l=0.7 ad=0 as=0 pd=0 ps=0 nrd=0 nrs=0 delvto=0 mf=1 m=1 sa=0.28 sb=2.41 sd=0 mult=1 + .param sky130_fd_pr__nfet_g5v0d16v0__rdiff=5.906500e+003 sky130_fd_pr__nfet_g5v0d16v0__rdiff_tc1=1.483000e-003 sky130_fd_pr__nfet_g5v0d16v0__rdiff_tc2=7.824000e-006 + *.param sb_cadfixedvalue_nvhv=2.41 + .param sb_cadfixedvalue_nvhv=1.585 +-xmain1 d1 g s b sky130_fd_pr__nfet_g5v0d16v0__base w=w l=l nf=nf ad=0 as=as pd=0 ps=ps nrd=nrd nrs=nrs delvto=delvto mult=mult sa=sa sb=sb_cadfixedvalue_nvhv m=m ++xmain1 d1 g s b sky130_fd_pr__nfet_g5v0d16v0__base w=w l=l ad=0 as=as pd=0 ps=ps nrd=nrd nrs=nrs delvto=delvto m=m mult=mult sa=sa sb=sb_cadfixedvalue_nvhv + rldd_nvhv d d1 R='(1/w)*sky130_fd_pr__nfet_g5v0d16v0__rdiff*sky130_fd_pr__nfet_g5v0d16v0__rdiff_mult' tc1 = 'sky130_fd_pr__nfet_g5v0d16v0__rdiff_tc1' tc2 = 'sky130_fd_pr__nfet_g5v0d16v0__rdiff_tc2' + dnw1 b d sky130_fd_pr__model__parasitic__diode_ps2nw area='ad/2' pj='pd/2' + dnw2 b d1 sky130_fd_pr__model__parasitic__diode_ps2nw area='ad/2' pj='pd/2' +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8.pm3.spice 2021-02-13 16:17:02.713644226 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8.pm3.spice 2021-02-13 15:53:16.062980458 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8__model.0 pmos + * DC IV MOS Parameters + + lmin = 1.45e-07 lmax = 1.55e-07 wmin = 1.255e-06 wmax = 1.265e-6 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__ff.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__ff.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__ff.pm3.spice 2021-02-13 16:17:02.578643537 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__ff.pm3.spice 2021-02-13 15:53:15.945979805 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__fs.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__fs.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__fs.pm3.spice 2021-02-13 16:17:02.062640906 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__fs.pm3.spice 2021-02-13 15:53:15.462977109 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__leak.pm3.spice 2021-02-13 16:17:01.799639565 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__leak.pm3.spice 2021-02-13 15:53:15.217975742 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__sf.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__sf.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__sf.pm3.spice 2021-02-13 16:17:01.291636974 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__sf.pm3.spice 2021-02-13 15:53:14.834973604 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__ss.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__ss.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__ss.pm3.spice 2021-02-13 16:17:00.586633379 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__ss.pm3.spice 2021-02-13 15:53:14.017969044 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt.pm3.spice 2021-02-13 16:17:00.939635179 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt.pm3.spice 2021-02-13 15:53:14.425971321 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt_leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt_leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt_leak.pm3.spice 2021-02-13 16:17:01.599638545 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt_leak.pm3.spice 2021-02-13 15:53:15.046974787 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8 d g s b sky130_fd_pr__pfet_01v8__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt.pm3.spice 2021-02-13 16:16:36.839512280 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt.pm3.spice 2021-02-13 15:52:50.080835441 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_hvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_hvt__model.0 pmos + * DC IV MOS Parameters + + lmin = 1.45e-07 lmax = 1.55e-07 wmin = 1.255e-06 wmax = 1.265e-6 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__ff.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__ff.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__ff.pm3.spice 2021-02-13 16:16:35.030503055 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__ff.pm3.spice 2021-02-13 15:52:48.267825322 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_hvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_hvt__model.0 pmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__fs.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__fs.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__fs.pm3.spice 2021-02-13 16:16:36.704511592 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__fs.pm3.spice 2021-02-13 15:52:49.959834766 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_hvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_hvt__model.0 pmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__leak.pm3.spice 2021-02-13 16:16:35.384504860 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__leak.pm3.spice 2021-02-13 15:52:48.593827142 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_hvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_hvt__model.0 pmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__sf.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__sf.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__sf.pm3.spice 2021-02-13 16:16:35.988507940 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__sf.pm3.spice 2021-02-13 15:52:49.212830597 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_hvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_hvt__model.0 pmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__ss.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__ss.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__ss.pm3.spice 2021-02-13 16:16:37.473515513 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__ss.pm3.spice 2021-02-13 15:52:50.673838751 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_hvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_hvt__model.0 pmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__tt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__tt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__tt.pm3.spice 2021-02-13 16:16:35.648506207 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__tt.pm3.spice 2021-02-13 15:52:48.871828693 +0000 +@@ -29,9 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_hvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} +- ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_hvt__model.0 pmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__tt_leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__tt_leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__tt_leak.pm3.spice 2021-02-13 16:16:37.118513703 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_hvt__tt_leak.pm3.spice 2021-02-13 15:52:50.348836937 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_hvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_hvt d g s b sky130_fd_pr__pfet_01v8_hvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_hvt__model.0 pmos + * Model Flag Parameters + + lmin = 2.0e-05 lmax = 0.0001 wmin = 7.0e-06 wmax = 0.0001 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt.pm3.spice 2021-02-13 16:16:58.714623833 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt.pm3.spice 2021-02-13 15:53:12.203958919 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_lvt__model.0 pmos + * DC IV MOS Parameters + + lmin = 9.95e-07 lmax = 1.005e-06 wmin = 9.95e-07 wmax = 1.005e-6 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__ff.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__ff.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__ff.pm3.spice 2021-02-13 16:17:00.038630584 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__ff.pm3.spice 2021-02-13 15:53:13.436965801 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_lvt__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__fs.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__fs.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__fs.pm3.spice 2021-02-13 16:16:59.704628881 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__fs.pm3.spice 2021-02-13 15:53:13.086963847 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_lvt__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__leak.pm3.spice 2021-02-13 16:16:59.907629916 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__leak.pm3.spice 2021-02-13 15:53:13.303965058 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_lvt__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__sf.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__sf.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__sf.pm3.spice 2021-02-13 16:16:58.811624327 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__sf.pm3.spice 2021-02-13 15:53:12.297959444 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_lvt__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__ss.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__ss.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__ss.pm3.spice 2021-02-13 16:16:59.417627418 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__ss.pm3.spice 2021-02-13 15:53:12.865962614 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_lvt__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__tt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__tt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__tt.pm3.spice 2021-02-13 16:16:59.246626545 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__tt.pm3.spice 2021-02-13 15:53:12.732961871 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_lvt__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__tt_leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__tt_leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__tt_leak.pm3.spice 2021-02-13 16:16:59.073625663 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_lvt__tt_leak.pm3.spice 2021-02-13 15:53:12.558960901 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_lvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_lvt d g s b sky130_fd_pr__pfet_01v8_lvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_lvt__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 7e-06 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_mvt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_mvt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_mvt.pm3.spice 2021-02-13 16:17:03.099646194 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8_mvt.pm3.spice 2021-02-13 15:53:16.483982808 +0000 +@@ -31,8 +31,8 @@ + * } + .subckt sky130_fd_pr__pfet_01v8_mvt d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_01v8_mvt d g s b sky130_fd_pr__pfet_01v8_mvt__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_01v8_mvt d g s b sky130_fd_pr__pfet_01v8_mvt__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_01v8_mvt__model.0 pmos + * Model Flag Parameters + + lmin = 1.45e-007 lmax = 1.55e-007 wmin = 1.675e-006 wmax = 1.685e-6 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5.pm3.spice 2021-02-13 16:16:43.220544820 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5.pm3.spice 2021-02-13 15:52:56.529871436 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_g5v0d10v5__model.0 pmos + * DC IV MOS Parameters + + lmin = 4.95e-07 lmax = 5.05e-07 wmin = 9.995e-06 wmax = 1.0005e-5 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__ff.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__ff.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__ff.pm3.spice 2021-02-13 16:16:42.171539471 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__ff.pm3.spice 2021-02-13 15:52:55.536865894 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_g5v0d10v5__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__fs.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__fs.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__fs.pm3.spice 2021-02-13 16:16:41.784537498 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__fs.pm3.spice 2021-02-13 15:52:55.094863426 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_g5v0d10v5__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__leak.pm3.spice 2021-02-13 16:16:42.519541246 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__leak.pm3.spice 2021-02-13 15:52:55.841867596 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_g5v0d10v5__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__sf.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__sf.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__sf.pm3.spice 2021-02-13 16:16:43.581546661 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__sf.pm3.spice 2021-02-13 15:52:56.899873501 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_g5v0d10v5__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__ss.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__ss.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__ss.pm3.spice 2021-02-13 16:16:43.046543933 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__ss.pm3.spice 2021-02-13 15:52:56.350870437 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_g5v0d10v5__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__tt.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__tt.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__tt.pm3.spice 2021-02-13 16:16:42.685542092 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__tt.pm3.spice 2021-02-13 15:52:56.010868539 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_g5v0d10v5__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__tt_leak.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__tt_leak.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__tt_leak.pm3.spice 2021-02-13 16:16:41.929538237 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d10v5__tt_leak.pm3.spice 2021-02-13 15:52:55.235864213 +0000 +@@ -29,8 +29,8 @@ + * } + .subckt sky130_fd_pr__pfet_g5v0d10v5 d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 +-msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1.0 ++msky130_fd_pr__pfet_g5v0d10v5 d g s b sky130_fd_pr__pfet_g5v0d10v5__model l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_g5v0d10v5__model.0 pmos + * DC IV MOS Parameters + + lmin = 2.0e-05 lmax = 1.0e-04 wmin = 2.0e-05 wmax = 1.0e-4 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d16v0.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d16v0.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d16v0.pm3.spice 2021-02-13 16:16:28.870471642 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d16v0.pm3.spice 2021-02-13 15:52:42.219791566 +0000 +@@ -35,8 +35,8 @@ + * } + .subckt sky130_fd_pr__pfet_g5v0d16v0__base d g s b + + +-.param l = 1 w = 1 nf = 1.0 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 delvto = 0.0 +-msky130_fd_pr__pfet_g5v0d16v0__base d g s b sky130_fd_pr__pfet_g5v0d16v0__model_base l = {l} w = {w} nf = {nf} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} ++.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = 0 nrs = 0 sa = 0 sb = 0 sd = 0 mult = 1 nf = 1 delvto = 0.0 ++msky130_fd_pr__pfet_g5v0d16v0__base d g s b sky130_fd_pr__pfet_g5v0d16v0__model_base l = {l} w = {w} ad = {ad} as = {as} pd = {pd} ps = {ps} nrd = {nrd} nrs = {nrs} sa = {sa} sb = {sb} sd = {sd} nf = {nf} + .model sky130_fd_pr__pfet_g5v0d16v0__model_base.0 pmos + * Model Flag Parameters + + lmin = 0.655e-06 lmax = 0.665e-06 wmin = 4.990000e-006 wmax = 5.010000e-5 +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d16v0__subcircuit.pm3.spice sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d16v0__subcircuit.pm3.spice +--- sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d16v0__subcircuit.pm3.spice 2021-02-13 16:16:29.150473070 +0000 ++++ sky130A_patched/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_g5v0d16v0__subcircuit.pm3.spice 2021-02-13 15:52:42.512793201 +0000 +@@ -13,13 +13,13 @@ + * limitations under the License. + + * SKY130 Spice File. +-.subckt sky130_fd_pr__pfet_g5v0d16v0 d g s b w=5.0 l=0.66 nf=1 ad=0 as=0 pd=0 ps=0.0 m=1 nrd=0 nrs=0 sa=0.28 sb=1.19 sd=0 mult=1 ++.subckt sky130_fd_pr__pfet_g5v0d16v0 d g s b w=5.0 l=0.66 ad=0 as=0 pd=0 ps=0.0 m=1 mf=1 nrd=0 nrs=0 sa=0.28 sb=1.19 sd=0 mult=1 + .param rdiff='8.900000e+003*sky130_fd_pr__pfet_g5v0d16v0__rdiff_mult' + .param rdiff_tc1=2.500000e-003 + .param rdiff_tc2=2.200000e-006 + .param sb_cadfixedvalue_pvhv=1.19 + * sd intentionally left out for sky130_fd_pr__pfet_g5v0d16v0 devices because poly-poly spacing not uniform in DE FET +-xmain1 d1 g s b sky130_fd_pr__pfet_g5v0d16v0__base w=w l=l nf=nf ad=0 as=as pd=0 ps=ps nrd=nrd nrs=nrs m=m mult=mult sa=sa sb=sb_cadfixedvalue_pvhv ++xmain1 d1 g s b sky130_fd_pr__pfet_g5v0d16v0__base w=w l=l ad=0 as=as pd=0 ps=ps nrd=nrd nrs=nrs m=m mult=mult sa=sa sb=sb_cadfixedvalue_pvhv + rldd d d1 '(1/w)*rdiff' tc1 = 'rdiff_tc1' tc2 = 'rdiff_tc2' + dnw1 d b sky130_fd_pr__pfet_g5v0d16v0__parasitic__diode_pw2dn area='ad/2' pj='pd/2' + dnw2 d1 b sky130_fd_pr__pfet_g5v0d16v0__parasitic__diode_pw2dn area='ad/2' pj='pd/2' +diff -Naur '--exclude=*.gds' '--exclude=*.mag' '--exclude=*.ext' sky130A/libs.tech/ngspice/r+c.mrp1monte.spice sky130A_patched/libs.tech/ngspice/r+c.mrp1monte.spice +--- sky130A/libs.tech/ngspice/r+c.mrp1monte.spice 2021-02-13 16:16:04.480347264 +0000 ++++ sky130A_patched/libs.tech/ngspice/r+c.mrp1monte.spice 2021-02-13 15:52:18.387658549 +0000 +@@ -30,6 +30,6 @@ + .param w = 1 l = 0 mult = 1 r = 0 tc1 = {tc1rsgpu*sky130_fd_pr__res_generic_po__tc1_slope} tc2 = {tc2rsgpu*sky130_fd_pr__res_generic_po__tc2_slope} + + rp1_mm = {rp1*sky130_fd_pr__res_generic_po__slope/sqrt(2.0*l*w*mult+rp1/100000.0)} + + r_tot = {(rp1+rp1_mm)*l/(w-1e6*(-tol_poly-poly_dw))+r} +-rsky130_fd_pr__res_generic_po r0 r1 sky130_fd_pr__res_generic_po__monte r = {r_tot} tc1 = {tc1} tc2 = {tc2} ++sky130_fd_pr__res_generic_po r0 r1 sky130_fd_pr__res_generic_po__monte r = {r_tot} tc1r = {tc1} tc2r = {tc2} + .model sky130_fd_pr__res_generic_po__monte r tref = 30.0 + .ends sky130_fd_pr__res_generic_po
diff --git a/sky130/xcircuit/sky130_fd_pr.lps b/sky130/xcircuit/sky130_fd_pr.lps index 7881478..501168b 100644 --- a/sky130/xcircuit/sky130_fd_pr.lps +++ b/sky130/xcircuit/sky130_fd_pr.lps
@@ -1,21 +1,17 @@ %! PostScript set of library objects for XCircuit -% Version: 3.9 +% Version: 3.10 % Library name is: sky130_fd_pr % Author: <tim@stravinsky> % % Depend sky130_fd_pr::NPNModel generic::arrowhead -% Depend ngspice::Vsource analog::source -% Depend ngspice::ACsource analog::source generic::sinusoid -% Depend ngspice::Vpwl analog::source -% Depend ngspice::Switch generic::circle generic::arrowhead -% Depend ngspice::Vpulse analog::source % XCircuitLib library objects -/sky130_fd_pr::pMOS { -<</@subs (avdd) /p_yps2 48 /p_xps2 16 /p_yps1 -8 /p_xps1 16 /p_yps 16 /p_xps 16 /p_rot -0 /@fingers (1) /@class (M) /@width (1u) /@length (0.18u) /@model (pfet) /@index -(?) /p_jst 28 >> begingate +/sky130_fd_pr::pMOS3term { +<</@mult 1 /@model (pfet_01v8) +(lindex {pfet_01v8 pfet_01v8_lvt pfet_01v8_hvt pfet_g5v0d10v5} 0) pop /@subs +(avdd) /p_yps2 48 /p_xps2 16 /p_yps1 0 /p_xps1 16 /p_yps 16 /p_xps 16 /p_rot 0 /@fingers +(1) /@class (X) /@width (1) /@length (0.18) /@index (?) /p_jst 28 >> begingate 1 1.000 -44 -28 -44 28 2 polygon 1 1.000 -60 0 -64 0 2 polygon 1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon @@ -25,13 +21,15 @@ (D) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel (G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel 0.180 0.545 0.341 scb -mark @fingers ( M=) @length ( L=) @width ( W=) @model ( ) @subs ( %pD %pG %pS ) -@index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -196 -139 infolabel +mark @fingers ( NF=) @mult ( M=) @length ( L=) @width ( W=) @model +( sky130_fd_pr__) @subs ( %pD %pG %pS ) @index @class (spice:) +{/Times-Roman cf} ctmk 4 360.000 1.000 -196 -139 infolabel mark ( %x %y) @width ( ) @length (sim:p %pG %pD %pS ) {/Times-Roman cf} ctmk 4 0.000 1.000 -196 -187 infolabel 0.647 0.165 0.165 scb -mark @fingers {hS} (=) {hS} (M) {CR} @length (=) {Tf} (L) {hS} {CR} @width (=) -{Ts} (W) {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1 p_yps1 label +mark @fingers (NF=) {CR} @mult {hS} (=) {hS} (X) {CR} @length (=) {Tf} (L) {hS} +{CR} @width (=) {Ts} (W) {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1 p_yps1 +label 0.000 0.000 1.000 scb mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label sce @@ -39,46 +37,17 @@ endgate } def -1.000 90.000 <</p_yps -32 /p_xps1 32 /p_yps1 -40 /p_rot 270 /p_xps2 -32 >> /sky130_fd_pr::pMOS libinst -<</@model (hvpfet) /@length (0.36u) /@subs (dvdd3) >> /sky130_fd_pr::pMOS libinst -1.000 90.000 <</p_yps -32 /p_xps1 32 /p_yps1 -40 /p_rot 270 /p_xps2 -32 /@model (hvpfet) -/@length (0.36u) /@subs (dvdd3) >> /sky130_fd_pr::pMOS libinst +1.000 90.000 <</@model (pfet_01v8) /p_xps 32 /p_yps -32 /p_xps1 48 /p_yps1 -40 /p_rot 270 +/p_xps2 -32 >> /sky130_fd_pr::pMOS3term libinst +<</@model (pfet_01v8) /@length (0.50) /@subs (dvdd3) >> /sky130_fd_pr::pMOS3term libinst +1.000 90.000 <</@model (pfet_01v8) /p_xps 32 /p_yps -32 /p_xps1 48 /p_yps1 -40 /p_rot 270 +/p_xps2 -32 /@length (0.50) /@subs (dvdd3) >> /sky130_fd_pr::pMOS3term libinst -/sky130_fd_pr::pMOS1finger { -<</p_yps2 -16 /p_xps2 16 /p_yps1 8 /p_xps1 16 /p_yps 40 /p_xps 16 /p_rot 0 /@subs -(avdd) /@class (M) /@width (1u) /@length (0.18u) /@model (pfet) /@index -(?) /p_jst 28 >> begingate -1 1.000 -44 -28 -44 28 2 polygon -1 1.000 -60 0 -64 0 2 polygon -1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon -1 1.000 -52 0 8 0.000 360.000 xcarc -1.000 0.000 0.000 scb -(S) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel -(D) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel -(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel -0.180 0.545 0.341 scb -mark @length ( L=) @width ( W=) @model ( ) @subs ( %pD %pG %pS ) @index @class -(spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -196 -139 infolabel -mark ( %x %y) @width ( ) @length (sim:p %pG %pD %pS ) {/Times-Roman cf} ctmk 4 -0.000 1.000 -196 -187 infolabel -0.647 0.165 0.165 scb -mark @length (=) {Tf} (L) {hS} {CR} @width (=) {Ts} (W) {/Times-Roman cf} ctmk -p_jst p_rot 0.700 p_xps2 p_yps2 label -0.000 0.000 1.000 scb -mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps p_yps label -sce -mark @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps1 p_yps1 label -endgate -} def - -1.000 90.000 <</p_yps2 -32 /p_yps1 -24 /p_xps2 32 /p_rot 270 /p_xps -16 >> /sky130_fd_pr::pMOS1finger libinst -<</@model (hvpfet) /@length (0.36u) /@subs (dvdd3) >> /sky130_fd_pr::pMOS1finger libinst -1.000 90.000 <</p_yps2 -32 /p_yps1 -24 /p_xps2 32 /p_rot 270 /p_xps -16 /@model (hvpfet) -/@length (0.36u) /@subs (dvdd3) >> /sky130_fd_pr::pMOS1finger libinst - -/sky130_fd_pr::nMOS { +/sky130_fd_pr::nMOS3term { <</@subs (agnd) /p_yps2 -16 /p_xps2 16 /p_yps1 8 /p_xps1 16 /p_yps 40 /p_xps 16 /p_rot -0 /@fingers (1) /@class (M) /@width (1u) /@length (0.18u) /@model (nfet) /@index +0 /@fingers (1) /@class (X) /@width (1) /@length (0.18) /@mult 1 /@model +(nfet_01v8) +(lindex {nfet_01v8 nfet_01v8_lvt nfet_01v8_hvt nfet_g5v0d10v5} 0) pop /@index (?) /p_jst 28 >> begingate 1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon 1 1.000 -44 -28 -44 28 2 polygon @@ -88,12 +57,13 @@ (S) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel (D) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel 0.180 0.545 0.341 scb -mark @fingers ( m=) @length ( l=) @width ( w=) @model ( ) @subs ( %pD %pG %pS ) -@index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel +mark @fingers ( m=) @length ( l=) @width ( w=) @model ( sky130_fd_pr__) @subs +( %pD %pG %pS ) @index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 +-244 -139 infolabel mark ( %x %y) @width ( ) @length (sim:n %pG %pD %pS ) {/Times-Roman cf} ctmk 4 0.000 1.000 -244 -187 infolabel 0.647 0.165 0.165 scb -mark @fingers (=) {Tf} {Tf} (M) {CR} @length (=) {Tf} (L) {hS} {CR} @width (=) +mark @fingers (=) {Tf} {Tf} (X) {CR} @length (=) {Tf} (L) {hS} {CR} @width (=) {Ts} (W) {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps2 p_yps2 label 0.000 0.000 1.000 scb mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label @@ -102,43 +72,6 @@ endgate } def -1.000 90.000 <</p_yps1 -24 /p_xps2 32 /p_yps2 -32 /p_rot 270 /p_xps -32 >> /sky130_fd_pr::nMOS libinst -<</p_jst 28 /p_xps2 16 /p_yps2 -16 /@model (hvnfet) /@length (0.36u) /@subs -(dgnd) >> /sky130_fd_pr::nMOS libinst -1.000 90.000 <</p_yps2 -32 /p_yps1 -24 /p_xps2 32 /p_rot 270 /p_xps -32 /@model (hvnfet) -/@length (0.36u) /@subs (dgnd) >> /sky130_fd_pr::nMOS libinst - -/sky130_fd_pr::nMOS1finger { -<</@subs (agnd) /p_yps2 -16 /p_xps2 16 /p_yps1 8 /p_xps1 16 /p_yps 40 /p_xps 16 /p_rot -0 /@class (M) /@width (1u) /@length (0.18u) /@model (nfet) /@index (?) /p_jst -28 >> begingate -1 1.000 0 -64 0 -28 -32 -28 -32 28 0 28 0 64 6 polygon -1 1.000 -44 -28 -44 28 2 polygon -1 1.000 -44 0 -64 0 2 polygon -1.000 0.000 0.000 scb -(G) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel -(S) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel -(D) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel -0.180 0.545 0.341 scb -mark @length ( l=) @width ( w=) @model ( ) @subs ( %pD %pG %pS ) @index @class -(spice:) {/Times-Roman cf} ctmk 4 360.000 1.000 -244 -139 infolabel -mark ( %x %y) @width ( ) @length (sim:n %pG %pD %pS ) {/Times-Roman cf} ctmk 4 -0.000 1.000 -244 -187 infolabel -0.647 0.165 0.165 scb -mark @length (=) {Tf} (L) {hS} {CR} @width (=) {Ts} (W) {/Times-Roman cf} ctmk -p_jst p_rot 0.700 p_xps2 p_yps2 label -0.000 0.000 1.000 scb -mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label -sce -mark @model {/Times-RomanISO cf} ctmk 20 p_rot 0.700 p_xps1 p_yps1 label -endgate -} def - -1.000 90.000 <</p_yps2 -32 /p_yps1 -24 /p_xps2 32 /p_rot 270 /p_xps -32 >> /sky130_fd_pr::nMOS1finger libinst -<</@model (hvnfet) /@length (0.36u) /@subs (dgnd) >> /sky130_fd_pr::nMOS1finger libinst -1.000 90.000 <</p_yps2 -32 /p_yps1 -24 /p_xps2 32 /p_rot 270 /p_xps -32 /@model (hvnfet) -/@length (0.36u) /@subs (dgnd) >> /sky130_fd_pr::nMOS1finger libinst - /generic::arrowhead { % nonetwork begingate @@ -153,8 +86,10 @@ /sky130_fd_pr::NPNModel { <</@subs (agnd) /p_yps2 56 /p_xps2 16 /p_yps1 0 /p_xps1 16 /p_yps 24 /p_xps 16 /p_rot -0 /@length (10.16u) /@width (0.2u) /@m (1) /@model (bipolar) /@index (?) /@class -(Q) >> begingate +0 /@length (10.16) /@width (0.2) /@m (1) /@model +(rf_npn_05v5_W1p00L1p00) +(lindex {rf_npn_05v5_W1p00L1p00 rf_npn_05v5_W1p00L2p00} 0) pop /@index (?) /@class +(X) >> begingate 1 1.000 -48 0 -64 0 2 polygon 1 1.000 -48 48 -48 -48 2 polygon 1 1.000 0 48 -48 22 2 polygon @@ -167,26 +102,29 @@ (B) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel (E) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb -mark @m ( M=) @length ( L=) @width ( W=) @model ( ) @subs ( %pC %pB %pE ) -@index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 -244 -139 infolabel +mark @m ( M=) @length ( L=) @width ( W=) @model ( sky130_fd_pr__) @subs +( %pC %pB %pE ) @index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 +-244 -139 infolabel (sim:b %pB %pE %pC) {/Times-Roman cf} 2 4 0.000 1.000 -244 -187 infolabel 0.000 0.000 1.000 scb mark @index @class {/Times-Roman cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label sce mark @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps p_yps label 0.647 0.165 0.165 scb -mark @m {Tf} (=) {Tf} (M) {CR} @length {Tf} (=) {Tf} (L) {CR} @width {Ts} {hS} +mark @m {Tf} (=) {Tf} (X) {CR} @length {Tf} (=) {Tf} (L) {CR} @width {Ts} {hS} (=) {Ts} {hS} (W) {/Times-Roman cf} ctmk 28 p_rot 0.700 p_xps1 p_yps1 label endgate } def -1.000 90.000 <</p_yps -40 /p_xps2 -32 /p_xps 32 /p_xps1 48 /p_yps1 -32 /p_rot 270 >> /sky130_fd_pr::NPNModel libinst +1.000 90.000 <</@model (rf_npn_05v5_W1p00L1p00) /p_yps -40 /p_xps2 -32 /p_xps 32 /p_xps1 48 +/p_yps1 -32 /p_rot 270 >> /sky130_fd_pr::NPNModel libinst -/sky130_fd_pr::ResModel { -<</@substype (sub) (lindex {sub well} 0) pop /@subs (avdd) /@width (1u) /@length -(1u) /p_yps2 -48 /p_xps2 32 /@model (resistor) /p_yps1 0 /p_xps1 32 /p_yps -32 /p_xps 32 /p_rot 0 /@class (R) /@value (1.0) /@units (k) /@index (?) /p_jst -20 >> begingate +/sky130_fd_pr::HighResModel { +<</@substype (sub) (lindex {sub well} 0) pop /@subs (avdd) /@width (1) /@length +(1) /p_yps2 -48 /p_xps2 32 /@model (res_high_po_0p35) +(lindex {res_high_po_0p35 res_high_po_0p69 res_high_po_1p41 res_high_po_2p85 res_high_po_5p73} 0) pop /p_yps1 +0 /p_xps1 32 /p_yps 32 /p_xps 32 /p_rot 0 /@class (X) /@value (1.0) /@units +(k) /@index (?) /p_jst 20 >> begingate 1 1.000 0 64 0 36 2 polygon 1 1.000 0 -64 0 -36 2 polygon 1 1.000 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon @@ -195,30 +133,24 @@ (2) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel 0.180 0.545 0.341 scb mark @subs (=) @substype ( ) @width ( W=) @length ( L=) @units @value ( R=) -@model ( %p1 %p2 ) @index @class (spice:) {/Times-Roman cf} ctmk 4 0.000 1.000 --208 -160 infolabel +@model ( %p1 %p2 sky130_fd_pr__) @index @class (spice:) {/Times-Roman cf} ctmk +4 0.000 1.000 -208 -160 infolabel (sim:r %p1 %p2) {/Times-Roman cf} 2 4 0.000 1.000 -208 -208 infolabel 0.647 0.165 0.165 scb mark (W) {/Symbol cf} @units {hS} @value {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1 p_yps1 label -0.180 0.545 0.341 scb -mark @index @class (pcb:) {/Times-Roman cf} ctmk 20 0.000 1.000 -208 -256 -infolabel 0.000 0.000 1.000 scb mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label -0.647 0.165 0.165 scb +sce mark @model {/Times-RomanISO cf} ctmk 16 p_rot 0.700 p_xps2 p_yps2 label endgate } def -1.000 90.000 <</@substype (sub) /p_xps -32 /p_yps1 -32 /p_yps -16 /p_xps2 80 /p_yps2 -32 -/p_rot 270 >> /sky130_fd_pr::ResModel libinst - /sky130_fd_pr::MiMCap { <</@substype (sub) (lindex {sub well} 0) pop /@subs (agnd) /@fingers (1) /@length -(1u) /@width (1u) /p_yps2 -8 /p_xps2 48 /p_yps1 24 /p_xps1 48 /p_yps -56 /p_xps 48 /p_rot 0 /@class (C) /@value (1.0) /@units (p) /@index (?) /p_jst -20 >> begingate +(1) /@width (1) /p_yps2 -8 /p_xps2 48 /p_yps1 24 /p_xps1 48 /p_yps 56 /p_xps +48 /p_rot 0 /@class (X) /@value (1.0) /@units (p) /@index (?) /p_jst 20 >> +begingate 1 1.000 0 -64 0 -6 2 polygon 1 1.000 0 64 0 6 2 polygon 1 1.000 -32 6 32 6 2 polygon @@ -233,12 +165,10 @@ 0.647 0.165 0.165 scb mark (F) @units {hS} @value {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1 p_yps1 label -0.180 0.545 0.341 scb -mark @index (pcb:C) {/Times-Roman cf} ctmk 20 0.000 1.000 -208 -256 infolabel 0.000 0.000 1.000 scb mark @index @class {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label 0.647 0.165 0.165 scb -mark @fingers {Tf} (=) {Tf} (M) {CR} @length {Tf} (=) {Tf} (L) {CR} @width {Ts} +mark @fingers {Tf} (=) {Tf} (X) {CR} @length {Tf} (=) {Tf} (L) {CR} @width {Ts} {hS} (=) {Ts} {hS} (W) {/Times-RomanISO cf} ctmk 28 p_rot 0.700 p_xps2 p_yps2 label sce @@ -250,7 +180,7 @@ /p_rot 270 >> /sky130_fd_pr::MiMCap libinst /sky130_fd_pr::IndModel { -<</@size (175u) /@width (2.5u) /@sep (2.5u) /@turns (6.5) /@substype (sub) +<</@size (175) /@width (2.5) /@sep (2.5) /@turns (6.5) /@substype (sub) (lindex {sub well} 0) pop /@subs (agnd) /p_yps2 -48 /p_xps2 32 /@model (inductor) /p_yps1 -16 /p_xps1 32 /p_yps 16 /p_xps 32 /@value (10) /@units (n) /@index (?) /p_jst 20 /p_rot 0 >> begingate @@ -274,8 +204,6 @@ 0.647 0.165 0.165 scb mark (H) @units {hS} @value {/Times-Roman cf} ctmk p_jst p_rot 0.700 p_xps1 p_yps1 label -0.180 0.545 0.341 scb -mark @index (pcb:L) {/Times-Roman cf} ctmk 20 0.000 1.000 -208 -256 infolabel 0.000 0.000 1.000 scb mark @index (L) {/Times-Roman cf} ctmk 20 p_rot 0.700 p_xps p_yps label 0.647 0.165 0.165 scb
diff --git a/sky130/xcircuit/sky130_fd_sc_hd.lps b/sky130/xcircuit/sky130_fd_sc_hd.lps index 939039f..d6909e8 100644 --- a/sky130/xcircuit/sky130_fd_sc_hd.lps +++ b/sky130/xcircuit/sky130_fd_sc_hd.lps
@@ -1,352 +1,331 @@ %! PostScript set of library objects for XCircuit -% Version: 3.6 -% Library name is: sky130_fd_sc_hd.lps -% Author: R. Timothy Edwards <tim.edwards@multigig.com> +% Version: 3.10 +% Library name is: sky130_fd_sc_hd +% Author: <tim@stravinsky> % + % XCircuitLib library objects /sky130_fd_sc_hd::inv { -<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () /strength (1) >> begingate -0 1.00 -32 -40 -32 40 40 0 3 polygon -1 1.00 48 0 8 0.00 360.00 xcarc -1 1.00 -32 0 -48 0 2 polygon -1 1.00 56 0 64 0 2 polygon +<</@gnd (dgnd) /@vdd (dvdd) /@index (?) /@strength (1) >> begingate +0 1.000 -32 -40 -32 40 40 0 3 polygon +1 1.000 48 0 8 0.000 360.000 xcarc +1 1.000 -32 0 -48 0 2 polygon +1 1.000 56 0 64 0 2 polygon 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -48 0 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -48 0 pinlabel 0.180 0.545 0.341 scb -mark voltage strength ( %pA %pY invX) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -32 -136 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -32 -96 infolabel +mark @strength ( %pA %pY invX) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -32 -136 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -32 -96 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-Roman cf} ctmk 21 0 0.60 -8 0 label -mark strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0 0.60 0 24 label +mark {/Times-Roman cf} ctmk 21 0.000 0.600 -8 0 label +mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 0 24 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 8 -24 label +mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 8 -24 label endgate } def -<</strength (2) >> /sky130_fd_sc_hd::inv libinst -<</strength (4) >> /sky130_fd_sc_hd::inv libinst -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::inv libinst -<</voltage (_3V) /strength (2) /vdd (dvdd3) >> /sky130_fd_sc_hd::inv libinst -<</voltage (_3V) /strength (4) /vdd (dvdd3) >> /sky130_fd_sc_hd::inv libinst +<</@strength (2) >> /sky130_fd_sc_hd::inv libinst +<</@strength (4) >> /sky130_fd_sc_hd::inv libinst /sky130_fd_sc_hd::buf { -<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () /strength (2) >> begingate -0 1.00 -32 -40 -32 40 40 0 3 polygon -1 1.00 -32 0 -48 0 2 polygon -1 1.00 40 0 64 0 2 polygon +<</@gnd (dgnd) /@vdd (dvdd) /@index (?) /@strength (2) >> begingate +0 1.000 -32 -40 -32 40 40 0 3 polygon +1 1.000 -32 0 -48 0 2 polygon +1 1.000 40 0 64 0 2 polygon 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -48 0 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -48 0 pinlabel 0.180 0.545 0.341 scb -mark voltage strength ( %pA %pY bufX) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -32 -112 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -32 -80 infolabel +mark @strength ( %pA %pY bufX) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -32 -112 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -32 -80 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-RomanISO cf} ctmk 21 0 0.50 -8 0 label -mark strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0 0.50 8 24 label +mark {/Times-RomanISO cf} ctmk 21 0.000 0.500 -8 0 label +mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.500 8 24 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 16 0 0.60 24 -32 label +mark @index (U) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 -32 label endgate } def -<</strength (4) >> /sky130_fd_sc_hd::buf libinst -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::buf libinst -<</voltage (_3V) /strength (4) /vdd (dvdd3) >> /sky130_fd_sc_hd::buf libinst +<</@strength (4) >> /sky130_fd_sc_hd::buf libinst /sky130_fd_sc_hd::nand2 { -<</gnd (dgnd) /vdd (dvdd) /voltage () /@index (?) >> begingate -1 1.00 0 -48 -64 -48 -64 48 0 48 4 polygon -1 1.00 56 0 8 0.00 360.00 xcarc -1 1.00 0 0 48 -90.00 90.00 xcarc +<</@gnd (dgnd) /@vdd (dvdd) /@index (?) >> begingate +1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon +1 1.000 56 0 8 0.000 360.000 xcarc +1 1.000 0 0 48 -90.000 90.000 xcarc 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel -(B) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel +(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel sce -1 1.00 -64 -48 -64 48 2 polygon +1 1.000 -64 -48 -64 48 2 polygon 0.180 0.545 0.341 scb -mark voltage ( %pA %pB %pY nand2X1) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel +mark ( %pA %pB %pY nand2X1) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label +mark {/Times-Roman cf} ctmk 21 0.000 0.700 -16 16 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label +mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 -8 label 0.180 0.545 0.341 scb -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -64 -96 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -64 -96 infolabel endgate } def -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nand2 libinst - /sky130_fd_sc_hd::nand3 { -<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () >> begingate -1 1.00 0 -48 -64 -48 -64 48 0 48 4 polygon -1 1.00 56 0 8 0.00 360.00 xcarc -1 1.00 0 0 48 -90.00 90.00 xcarc +<</@gnd (dgnd) /@vdd (dvdd) /@index (?) >> begingate +1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon +1 1.000 56 0 8 0.000 360.000 xcarc +1 1.000 0 0 48 -90.000 90.000 xcarc 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel -(B) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel -(C) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel +(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel +(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel sce -1 1.00 -64 -64 -64 64 2 polygon +1 1.000 -64 -64 -64 64 2 polygon 0.180 0.545 0.341 scb -mark voltage ( %pA %pB %pC %pY nand3X1) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -64 -96 infolabel +mark ( %pA %pB %pC %pY nand3X1) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -64 -96 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label +mark {/Times-Roman cf} ctmk 21 0.000 0.700 -16 16 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label +mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 -8 label endgate } def -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nand3 libinst - /sky130_fd_sc_hd::nand4 { -<</gnd (dgnd) /vdd (dvdd) /voltage () /@index (?) >> begingate -1 1.00 0 -64 -64 -64 -64 64 0 64 4 polygon -1 1.00 56 0 8 0.00 360.00 xcarc -1 1.00 0 0 48 64 -90.00 90.00 ellipse +<</@gnd (dgnd) /@vdd (dvdd) /@index (?) >> begingate +1 1.000 0 -64 -64 -64 -64 64 0 64 4 polygon +1 1.000 56 0 8 0.000 360.000 xcarc +1 1.000 0 0 48 64 -90.000 90.000 ellipse 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -64 48 pinlabel -(B) {/Times-Roman cf} 2 7 0 1.00 -64 16 pinlabel -(C) {/Times-Roman cf} 2 7 0 1.00 -64 -16 pinlabel -(D) {/Times-Roman cf} 2 7 0 1.00 -64 -48 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 48 pinlabel +(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 16 pinlabel +(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -16 pinlabel +(D) {/Times-Roman cf} 2 7 0.000 1.000 -64 -48 pinlabel sce -1 1.00 -64 -80 -64 80 2 polygon +1 1.000 -64 -80 -64 80 2 polygon 0.180 0.545 0.341 scb -mark voltage ( %pA %pB %pC %pD %pY nand4X1) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -64 -144 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -64 -112 infolabel +mark ( %pA %pB %pC %pD %pY nand4X1) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -64 -144 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -64 -112 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label +mark {/Times-Roman cf} ctmk 21 0.000 0.700 -16 16 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label +mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 -8 label endgate } def -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nand4 libinst - /sky130_fd_sc_hd::nor2 { -<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () >> begingate -1 1.00 56 0 8 0.00 360.00 xcarc +<</@gnd (dgnd) /@vdd (dvdd) /@index (?) >> begingate +1 1.000 56 0 8 0.000 360.000 xcarc 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel -(B) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel +(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel 0.180 0.545 0.341 scb -mark voltage ( %pA %pB %pY nor2X1) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel +mark ( %pA %pB %pY nor2X1) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label +mark {/Times-Roman cf} ctmk 21 0.000 0.700 -16 16 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label +mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 -8 label sce -1 1.00 -35 48 96 270.00 330.00 xcarc -1 1.00 -64 -48 -35 -48 2 polygon -1 1.00 -128 0 80 -37.00 37.00 xcarc -1 1.00 -35 -48 96 30.00 90.00 xcarc -1 1.00 -64 48 -35 48 2 polygon -1 1.00 -64 32 -56 32 2 polygon -1 1.00 -64 -32 -56 -32 2 polygon +1 1.000 -35 48 96 270.000 330.000 xcarc +1 1.000 -64 -48 -35 -48 2 polygon +1 1.000 -128 0 80 -37.000 37.000 xcarc +1 1.000 -35 -48 96 30.000 90.000 xcarc +1 1.000 -64 48 -35 48 2 polygon +1 1.000 -64 32 -56 32 2 polygon +1 1.000 -64 -32 -56 -32 2 polygon 0.180 0.545 0.341 scb -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -64 -96 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -64 -96 infolabel endgate } def -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nor2 libinst - /sky130_fd_sc_hd::nor3 { -<</voltage () /@index (?) /vdd (dvdd) /gnd (dgnd) >> begingate -1 1.00 56 0 8 0.00 360.00 xcarc +<</@index (?) /@vdd (dvdd) /@gnd (dgnd) >> begingate +1 1.000 56 0 8 0.000 360.000 xcarc 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel -(B) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel +(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel 0.180 0.545 0.341 scb -mark voltage ( %pA %pB %pC %pY nor3X1) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -64 -96 infolabel +mark ( %pA %pB %pC %pY nor3X1) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -64 -96 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label +mark {/Times-Roman cf} ctmk 21 0.000 0.700 -16 16 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label +mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 -8 label sce -1 1.00 -35 48 96 270.00 330.00 xcarc -1 1.00 -64 -48 -35 -48 2 polygon -1 1.00 -128 0 80 -36.87 36.87 xcarc -1 1.00 -35 -48 96 30.00 90.00 xcarc -1 1.00 -64 48 -35 48 2 polygon -1 1.00 -64 32 -56 32 2 polygon -1 1.00 -64 -32 -56 -32 2 polygon -1 1.00 -48 0 -64 0 2 polygon +1 1.000 -35 48 96 270.000 330.000 xcarc +1 1.000 -64 -48 -35 -48 2 polygon +1 1.000 -128 0 80 -36.870 36.870 xcarc +1 1.000 -35 -48 96 30.000 90.000 xcarc +1 1.000 -64 48 -35 48 2 polygon +1 1.000 -64 32 -56 32 2 polygon +1 1.000 -64 -32 -56 -32 2 polygon +1 1.000 -48 0 -64 0 2 polygon 1.000 0.000 0.000 scb -(C) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel +(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel sce -1 1.00 -64 48 -64 64 2 polygon -1 1.00 -64 -48 -64 -64 2 polygon +1 1.000 -64 48 -64 64 2 polygon +1 1.000 -64 -48 -64 -64 2 polygon endgate } def -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nor3 libinst - /sky130_fd_sc_hd::nor4 { -<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () >> begingate -1 1.00 56 0 8 0.00 360.00 xcarc +<</@gnd (dgnd) /@vdd (dvdd) /@index (?) >> begingate +1 1.000 56 0 8 0.000 360.000 xcarc 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -64 48 pinlabel -(B) {/Times-Roman cf} 2 7 0 1.00 -64 16 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 48 pinlabel +(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 16 pinlabel 0.180 0.545 0.341 scb -mark voltage ( %pA %pB %pC %pD %pY nor4X1) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -64 -96 infolabel +mark ( %pA %pB %pC %pD %pY nor4X1) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -64 -96 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label +mark {/Times-Roman cf} ctmk 21 0.000 0.700 -16 16 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 21 0 0.70 -8 -16 label +mark @index (U) {/Times-RomanISO cf} ctmk 21 0.000 0.700 -8 -16 label sce -1 1.00 -64 48 -58 48 2 polygon -1 1.00 -64 -16 -48 -16 2 polygon -1 1.00 -48 16 -64 16 2 polygon +1 1.000 -64 48 -58 48 2 polygon +1 1.000 -64 -16 -48 -16 2 polygon +1 1.000 -48 16 -64 16 2 polygon 1.000 0.000 0.000 scb -(C) {/Times-Roman cf} 2 7 0 1.00 -64 -16 pinlabel +(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -16 pinlabel sce -1 1.00 32 32 0 56 -40 56 48 0 spline -1 1.00 32 -32 0 -56 -40 -56 48 0 spline -1 1.00 -40 32 -40 -24 -64 -56 -64 56 spline -1 1.00 -64 56 -40 56 2 polygon -1 1.00 -64 -56 -40 -56 2 polygon +1 1.000 32 32 0 56 -40 56 48 0 spline +1 1.000 32 -32 0 -56 -40 -56 48 0 spline +1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline +1 1.000 -64 56 -40 56 2 polygon +1 1.000 -64 -56 -40 -56 2 polygon 1.000 0.000 0.000 scb -(D) {/Times-Roman cf} 2 7 0 1.00 -64 -48 pinlabel +(D) {/Times-Roman cf} 2 7 0.000 1.000 -64 -48 pinlabel sce -1 1.00 -64 -48 -60 -48 2 polygon +1 1.000 -64 -48 -60 -48 2 polygon endgate } def -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nor4 libinst - /sky130_fd_sc_hd::or2 { -<</voltage () /@index (?) /vdd (dvdd) /gnd (dgnd) >> begingate +<</@index (?) /@vdd (dvdd) /@gnd (dgnd) >> begingate 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel -(B) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel +(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel 0.180 0.545 0.341 scb -mark voltage ( %pA %pB %pY or2X1) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -64 -96 infolabel +mark ( %pA %pB %pY or2X1) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -64 -96 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label +mark {/Times-Roman cf} ctmk 21 0.000 0.700 -16 16 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label +mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 -8 label sce -1 1.00 -35 48 96 270.00 330.00 xcarc -1 1.00 -64 -48 -35 -48 2 polygon -1 1.00 -128 0 80 -37.00 37.00 xcarc -1 1.00 -35 -48 96 30.00 90.00 xcarc -1 1.00 -64 48 -35 48 2 polygon -1 1.00 -64 32 -56 32 2 polygon -1 1.00 -64 -32 -56 -32 2 polygon -1 1.00 48 0 64 0 2 polygon +1 1.000 -35 48 96 270.000 330.000 xcarc +1 1.000 -64 -48 -35 -48 2 polygon +1 1.000 -128 0 80 -37.000 37.000 xcarc +1 1.000 -35 -48 96 30.000 90.000 xcarc +1 1.000 -64 48 -35 48 2 polygon +1 1.000 -64 32 -56 32 2 polygon +1 1.000 -64 -32 -56 -32 2 polygon +1 1.000 48 0 64 0 2 polygon endgate } def /sky130_fd_sc_hd::ebufn { -<</strength (2) /voltage () /@index (?) /vdd (dvdd) /gnd (dgnd) >> begingate -0 1.00 -32 -40 -32 40 40 0 3 polygon -1 1.00 -32 0 -48 0 2 polygon -1 1.00 40 0 64 0 2 polygon +<</@strength (2) /@index (?) /@vdd (dvdd) /@gnd (dgnd) >> begingate +0 1.000 -32 -40 -32 40 40 0 3 polygon +1 1.000 -32 0 -48 0 2 polygon +1 1.000 40 0 64 0 2 polygon 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -48 0 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -48 0 pinlabel 0.180 0.545 0.341 scb -mark voltage strength ( %pA %pY %pEn ebufnX) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -176 -112 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -176 -80 infolabel +mark @strength ( %pA %pY %pEn ebufnX) @gnd ( ) @vdd ( ) @index +(spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -176 -112 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -176 -80 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-RomanISO cf} ctmk 21 0 0.50 -8 0 label -mark strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0 0.50 8 24 label +mark {/Times-RomanISO cf} ctmk 21 0.000 0.500 -8 0 label +mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.500 8 24 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 16 0 0.60 24 -32 label +mark @index (U) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 -32 label sce -1 1.00 0 24 0 48 2 polygon +1 1.000 0 24 0 48 2 polygon 1.000 0.000 0.000 scb -(En) {/Times-Roman cf} 2 17 0 1.00 0 48 pinlabel +(En) {/Times-Roman cf} 2 17 0.000 1.000 0 48 pinlabel endgate } def -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::ebufn libinst - /sky130_fd_sc_hd::mux2 { -<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () >> begingate -1 1.00 -16 16 -32 16 2 polygon -1 1.00 48 -16 64 -16 2 polygon +<</@gnd (dgnd) /@vdd (dvdd) /@index (?) >> begingate +1 1.000 -16 16 -32 16 2 polygon +1 1.000 48 -16 64 -16 2 polygon 1.000 0.000 0.000 scb -(Y) {/Times-Roman cf} 2 4 0 1.00 64 -16 pinlabel -(A) {/Times-Roman cf} 2 7 0 1.00 -32 16 pinlabel +(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 -16 pinlabel +(A) {/Times-Roman cf} 2 7 0.000 1.000 -32 16 pinlabel 0.180 0.545 0.341 scb -mark voltage ( %pA %pB %pY %pS mux2X1) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -128 -176 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -128 -144 infolabel +mark ( %pA %pB %pY %pS mux2X1) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -128 -176 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -128 -144 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-RomanISO cf} ctmk 21 0 0.50 16 -16 label +mark {/Times-RomanISO cf} ctmk 21 0.000 0.500 16 -16 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.60 24 -80 label +mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.600 24 -80 label sce -1 1.00 16 32 16 64 2 polygon +1 1.000 16 32 16 64 2 polygon 1.000 0.000 0.000 scb -(S) {/Times-Roman cf} 2 17 0 1.00 16 64 pinlabel -(B) {/Times-Roman cf} 2 7 0 1.00 -32 -48 pinlabel +(S) {/Times-Roman cf} 2 17 0.000 1.000 16 64 pinlabel +(B) {/Times-Roman cf} 2 7 0.000 1.000 -32 -48 pinlabel sce -1 1.00 -32 -48 -16 -48 2 polygon -1 1.00 -16 48 48 16 48 -48 -16 -80 -16 48 5 polygon +1 1.000 -32 -48 -16 -48 2 polygon +1 1.000 -16 48 48 16 48 -48 -16 -80 -16 48 5 polygon endgate } def -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::mux2 libinst - /sky130_fd_sc_hd::dlrbn { -<</@index (?) /voltage () /vdd (dvdd) /gnd (dgnd) >> begingate +<</@index (?) /@vdd (dvdd) /@gnd (dgnd) >> begingate 1.000 0.000 0.000 scb -(Q) {/Times-Roman cf} 2 4 0 1.00 32 32 pinlabel -(D) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel -(CLK) {/Times-Roman cf} 2 13 0 1.00 -16 -48 pinlabel +(Q) {/Times-Roman cf} 2 4 0.000 1.000 32 32 pinlabel +(D) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel +(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -48 pinlabel 0.180 0.545 0.341 scb -mark voltage ( %pCLK %pD %pQ dlrbn) gnd ( ) vdd ( ) @index (spice:X) -{/Times-Roman cf} ctmk 16 360 0.70 -192 -160 infolabel -mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf} -ctmk 16 0 0.70 -192 -128 infolabel +mark ( %pCLK %pD %pQ dlrbn) @gnd ( ) @vdd ( ) @index (spice:X) +{/Times-Roman cf} ctmk 16 360.000 0.700 -192 -160 infolabel +mark (.cir) (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) +{/Times-Roman cf} ctmk 16 0.000 0.700 -192 -128 infolabel 0.647 0.165 0.165 scb -mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 64 label +mark {/Times-Roman cf} ctmk 21 0.000 0.700 -16 64 label 0.000 0.000 1.000 scb -mark @index (U) {/Times-RomanISO cf} ctmk 17 0 0.70 -16 128 label +mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label sce -0 1.00 -64 -48 -64 112 32 112 32 -48 4 polygon -1 1.00 -32 -48 -16 -32 0 -48 3 polygon -(D) {/Times-Roman cf} 2 21 0 0.70 -48 32 label -(Q) {/Times-Roman cf} 2 21 0 0.70 16 32 label +0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon +1 1.000 -32 -48 -16 -32 0 -48 3 polygon +(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 32 label +(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 32 label 0.000 0.000 1.000 scb -(dlrbn) {/Times-Roman cf} 2 29 0 0.70 -16 96 label +(dlrbn) {/Times-Roman cf} 2 29 0.000 0.700 -16 96 label endgate } def -<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::dlrbn libinst % EndLib