Merge pull request #106 from proppy/xschem-fix-path
xschem: fix paths
diff --git a/cells/xschem/xschemrc b/cells/xschem/xschemrc
index 05d2db9..eaa174a 100644
--- a/cells/xschem/xschemrc
+++ b/cells/xschem/xschemrc
@@ -15,22 +15,22 @@
#### XSCHEM SYSTEM-WIDE DESIGN LIBRARY PATHS: XSCHEM_LIBRARY_PATH
###########################################################################
#### If unset xschem starts with XSCHEM_LIBRARY_PATH set to the default, typically:
-# /home/schippes/.xschem/xschem_library
-# /home/schippes/share/xschem/xschem_library/devices
-# /home/schippes/share/doc/xschem/examples
-# /home/schippes/share/doc/xschem/ngspice
-# /home/schippes/share/doc/xschem/logic
-# /home/schippes/share/doc/xschem/xschem_simulator
-# /home/schippes/share/doc/xschem/binto7seg
-# /home/schippes/share/doc/xschem/pcb
-# /home/schippes/share/doc/xschem/rom8k
+# ${HOME}/.xschem/xschem_library
+# <install_root>/share/xschem/xschem_library/devices
+# <install_root>/share/doc/xschem/examples
+# <install_root>/share/doc/xschem/ngspice
+# <install_root>/share/doc/xschem/logic
+# <install_root>/share/doc/xschem/xschem_simulator
+# <install_root>/share/doc/xschem/binto7seg
+# <install_root>/share/doc/xschem/pcb
+# <install_root>/share/doc/xschem/rom8k
#### Flush any previous definition
set XSCHEM_LIBRARY_PATH {}
#### include devices/*.sym
append XSCHEM_LIBRARY_PATH ${XSCHEM_SHAREDIR}/xschem_library
#### include skywater libraries. Here i use [pwd]. This works if i start xschem from here.
-append XSCHEM_LIBRARY_PATH :$env(PWD)
+append XSCHEM_LIBRARY_PATH :[file dirname [info script]]
# append XSCHEM_LIBRARY_PATH :/mnt/sda7/home/schippes/pdks/sky130A/libs.tech/xschem
#### add ~/.xschem/xschem_library (USER_CONF_DIR is normally ~/.xschem)
append XSCHEM_LIBRARY_PATH :$USER_CONF_DIR/xschem_library
@@ -53,7 +53,7 @@
#### Start without a design if no filename given on command line:
#### To avoid absolute paths, use a path that is relative to one of the
#### XSCHEM_LIBRARY_PATH directories. Default: empty
-set XSCHEM_START_WINDOW {gf180mcu_tests/0_top.sch}
+set XSCHEM_START_WINDOW {tests/0_top.sch}
###########################################################################
#### DIRECTORY WHERE SIMULATIONS, NETLIST AND SIMULATOR OUTPUTS ARE PLACED
@@ -76,6 +76,10 @@
#### variable controls hierarchical print
#### default value: empty
# set noprint_libs {}
+#### nolist_libs is a list with same rules as for xschem_libs. This
+#### variable controls cell listing in procedure list_hierarchy.
+#### default value: empty
+# set nolist_libs {}
###########################################################################
#### CHANGE DEFAULT [] WITH SOME OTHER CHARACTERS FOR BUSSED SIGNALS
@@ -297,6 +301,13 @@
# set toolbar_horiz 1
###########################################################################
+#### WEB URL DOWNLOAD HELPER APPLICATION
+###########################################################################
+#### used to download files from web: default: {curl -f -s -O}
+# set download_url_helper {curl -f -s -O}
+# set download_url_helper {wget -N --quiet}
+
+###########################################################################
#### TABBED WINDOWS
###########################################################################
# default: not enabled. Interface can be changed runtime if only one window
@@ -304,7 +315,41 @@
set tabbed_interface 1
###########################################################################
-#### SKYWATER PDK SPECIFIC VARIABLES
+#### CASE INSENSITIVE SYMBOL LOOKUP
+###########################################################################
+## this option might be useful on filesystems that are case insensitive and
+## on designs ported from windows where case of file names does not matter.
+## if this option is set symbol lookup will be case insensitive,
+## so a symbol reference 'AMPLI.SYM' will match with 'ampli.sym' or
+## Amply.sym on disk. File system must be case insensitive for this to work,
+## like FAT32 or NTFS.
+## Do not set this option if you don't know what you are doing.
+## Default: not enabled (0)
+# set case_insensitive 1
+
+###########################################################################
+#### HIDE GRAPHS IF NO SPICE DATA LOADED
+###########################################################################
+## if enabled graphs will be hidden if no data is loaded.
+## default: not enabled (0)
+# set hide_empty_graphs 0
+
+###########################################################################
+#### SHOW HIDDEN TEXTS
+###########################################################################
+## This option shows text objects even if they have attribute 'hide=true' set
+## default: 0 (not set)
+# set show_hidden_texts 1
+
+###########################################################################
+#### LIVE BACKANNOTATION OF DATA AT CURSOR 2 (B) POSITION
+###########################################################################
+## if enabled will backannotate values in schematic at cursor 'b' position
+## in graph. Default: not enabled (0)
+# set live_cursor2_backannotate 1
+
+###########################################################################
+#### PDK SPECIFIC VARIABLES
###########################################################################
## check if env var PDK_ROOT exists, and use it for building open_pdks paths
@@ -316,16 +361,25 @@
set PDK_ROOT $env(PDK_ROOT)
} else {
## not existing or empty.
- puts stderr "Warning: PDK_ROOT env. var. not found or empty, trying to find a pdk install"
- if {[file isdir [pwd]/..]} {
- set PDK_ROOT [file normalize [pwd]/..]
- } else {
- puts stderr {No pdk installation found, set PDK_ROOT env. var. and restart xschem}
+ puts stderr "Warning: PDK_ROOT env. var. not found or empty, trying to find an open_pdks install"
+ if {[file isdir /usr/share/pdk]} {set PDK_ROOT /usr/share/pdk
+ } elseif {[file isdir /usr/local/share/pdk]} {set PDK_ROOT /usr/local/share/pdk
+ } elseif {[file isdir $env(HOME)/share/pdk]} {set PDK_ROOT $env(HOME)/share/pdk
+ } else {XSCHEM_LIBRARY_PATH
+ puts stderr {No open_pdks installation found, set PDK_ROOT env. var. and restart xschem}
}
}
if {[info exists PDK_ROOT]} {
- set 180MCU_MODELS ${PDK_ROOT}/ngspice/models
- puts stderr "pdk installation: using $PDK_ROOT"
+ ## get process variant
+ if {[info exists env(PDK)]} {
+ set PDK $env(PDK)
+ } else {
+ set PDK gf180mcuC
+ }
+ set 180MCU_MODELS ${PDK_ROOT}/${PDK}/libs.tech/ngspice
+ puts stderr "pdk installation: using ${PDK_ROOT}/${PDK}"
puts stderr "180MCU_MODELS: $180MCU_MODELS"
+ append XSCHEM_LIBRARY_PATH :${PDK_ROOT}/${PDK}/libs.tech/xschem
+ puts stderr "XSCHEM_LIBRARY_PATH: \n $XSCHEM_LIBRARY_PATH"
}
diff --git a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_iv.spice b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_iv.spice
index 524d1f9..a2f358d 100644
--- a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_iv.spice
+++ b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_iv.spice
@@ -21,7 +21,7 @@
.options tnom={{temp}}
-xmn1 D_tn G_tn 0 0 nmos_3p3 W = {{width}}u L = {{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_3p3 W = {{width}}u L = {{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
**** begin architecture code
diff --git a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_sab_iv.spice b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_sab_iv.spice
index a22503c..19c37d4 100644
--- a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_sab_iv.spice
+++ b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_sab_iv.spice
@@ -20,7 +20,7 @@
.temp {{temp}}
.options tnom={{temp}}
-xmn1 D_tn G_tn 0 0 nmos_3p3_sab W = {{width}}u L = {{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_3p3_sab W = {{width}}u L = {{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
**** begin architecture code
diff --git a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_iv.spice b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_iv.spice
index c1842a2..ec68f96 100644
--- a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_iv.spice
+++ b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_iv.spice
@@ -20,7 +20,7 @@
.temp {{temp}}
.options tnom={{temp}}
-xmn1 D_tn G_tn 0 0 nmos_6p0 W = {{width}}u L = {{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_6p0 W = {{width}}u L = {{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
**** begin architecture code
diff --git a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_nat_iv.spice b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_nat_iv.spice
index 5a93ceb..692099c 100644
--- a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_nat_iv.spice
+++ b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_nat_iv.spice
@@ -20,7 +20,7 @@
.temp {{temp}}
.options tnom={{temp}}
-xmn1 D_tn G_tn 0 0 nmos_6p0_nat W = {{width}}u L = {{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_6p0_nat W = {{width}}u L = {{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
**** begin architecture code
diff --git a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_sab_iv.spice b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_sab_iv.spice
index 7bcdab8..0713e27 100644
--- a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_sab_iv.spice
+++ b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_sab_iv.spice
@@ -20,7 +20,7 @@
.temp {{temp}}
.options tnom={{temp}}
-xmn1 D_tn G_tn 0 0 nmos_6p0_sab W = {{width}}u L = {{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_6p0_sab W = {{width}}u L = {{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
**** begin architecture code
diff --git a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_iv.spice b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_iv.spice
index 90099fe..ed59f66 100644
--- a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_iv.spice
+++ b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_iv.spice
@@ -20,7 +20,7 @@
.temp {{temp}}
.options tnom={{temp}}
-xmn1 D_tn G_tn 0 0 pmos_3p3 W = {{width}}u L = {{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_3p3 W = {{width}}u L = {{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
**** begin architecture code
diff --git a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_sab_iv.spice b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_sab_iv.spice
index aaa16ab..ea5fb3c 100644
--- a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_sab_iv.spice
+++ b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_sab_iv.spice
@@ -20,7 +20,7 @@
.temp {{temp}}
.options tnom={{temp}}
-xmn1 D_tn G_tn 0 0 pmos_3p3_sab W = {{width}}u L = {{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_3p3_sab W = {{width}}u L = {{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
**** begin architecture code
diff --git a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_iv.spice b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_iv.spice
index d4d2cca..9c8e60d 100644
--- a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_iv.spice
+++ b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_iv.spice
@@ -20,7 +20,7 @@
.temp {{temp}}
.options tnom={{temp}}
-xmn1 D_tn G_tn 0 0 pmos_6p0 W = {{width}}u L = {{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_6p0 W = {{width}}u L = {{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
**** begin architecture code
diff --git a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_sab_iv.spice b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_sab_iv.spice
index 10ef8b1..a3ef8c3 100644
--- a/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_sab_iv.spice
+++ b/models/ngspice/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_sab_iv.spice
@@ -20,7 +20,7 @@
.temp {{temp}}
.options tnom={{temp}}
-xmn1 D_tn G_tn 0 0 pmos_6p0_sab W = {{width}}u L = {{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_6p0_sab W = {{width}}u L = {{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
**** begin architecture code
diff --git a/models/ngspice/testing/smoke_test/inv_ng.spice b/models/ngspice/testing/smoke_test/inv_ng.spice
index 5a3b4c9..798131e 100644
--- a/models/ngspice/testing/smoke_test/inv_ng.spice
+++ b/models/ngspice/testing/smoke_test/inv_ng.spice
@@ -35,9 +35,9 @@
.subckt INV VDD Vout Vin GND
-XM1 Vout Vin GND GND nmos_3p3 W={{width}}u L={{length}}u
-*ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
-XM2 Vout Vin VDD VDD pmos_3p3 W = {{width_p}}u L = {{length}}u
+XM1 Vout Vin GND GND nmos_3p3 W={{width}}u L={{length}}u
+*ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
+XM2 Vout Vin VDD VDD pmos_3p3 W = {{width_p}}u L = {{length}}u
*ad={{AD_p}}u pd={{PD_p}}u as={{AD_p}}u ps={{PD_p}}u
.ends
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_iv.spice
index 4e307ff..d8a2671 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_3p3 W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_3p3 W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
*****************
** Analysis
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_sab_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_sab_iv.spice
index 4a01057..830f98b 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_sab_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_3p3_sab_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_3p3_sab W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_3p3_sab W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
*****************
** Analysis
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_iv.spice
index 889d85b..5385286 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_6p0 W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_6p0 W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
*****************
** Analysis
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_nat_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_nat_iv.spice
index 688a445..497da69 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_nat_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_nat_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_6p0_nat W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_6p0_nat W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
*****************
** Analysis
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_sab_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_sab_iv.spice
index ba9ec40..1332f6f 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_sab_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/nmos_6p0_sab_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_6p0_sab W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_6p0_sab W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
*****************
** Analysis
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_iv.spice
index 65ec777..6e6542d 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc -3.3
-xmn1 D_tn G_tn 0 0 pmos_3p3 W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_3p3 W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
*****************
** Analysis
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_sab_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_sab_iv.spice
index 8c95a4e..fec5582 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_sab_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_3p3_sab_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc -3.3
-xmn1 D_tn G_tn 0 0 pmos_3p3_sab W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_3p3_sab W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
*****************
** Analysis
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_iv.spice
index 4cb584c..96b3ef5 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc -3.3
-xmn1 D_tn G_tn 0 0 pmos_6p0 W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_6p0 W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
*****************
** Analysis
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_sab_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_sab_iv.spice
index eb914ad..abc3c90 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_sab_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Id/pmos_6p0_sab_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc -3.3
-xmn1 D_tn G_tn 0 0 pmos_6p0_sab W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_6p0_sab W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
*****************
** Analysis
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_3p3_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_3p3_iv.spice
index ccc637a..ac5e627 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_3p3_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_3p3_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_3p3 W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_3p3 W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_3p3_sab_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_3p3_sab_iv.spice
index 009c02c..c9bd713 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_3p3_sab_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_3p3_sab_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_3p3_sab W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_3p3_sab W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_iv.spice
index 5b4fad8..e7116b8 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_6p0 W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_6p0 W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_nat_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_nat_iv.spice
index a83c949..a5353a0 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_nat_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_nat_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_6p0_nat W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_6p0_nat W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_sab_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_sab_iv.spice
index de6c2b4..05868d8 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_sab_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/nmos_6p0_sab_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc 3.3
-xmn1 D_tn G_tn 0 0 nmos_6p0_sab W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 nmos_6p0_sab W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_3p3_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_3p3_iv.spice
index 3104bbe..6cf3f2c 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_3p3_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_3p3_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc -3.3
-xmn1 D_tn G_tn 0 0 pmos_3p3 W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_3p3 W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_3p3_sab_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_3p3_sab_iv.spice
index 15a279a..3b05738 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_3p3_sab_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_3p3_sab_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc -3.3
-xmn1 D_tn G_tn 0 0 pmos_3p3_sab W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_3p3_sab W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_6p0_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_6p0_iv.spice
index 08035f6..a7fca61 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_6p0_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_6p0_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc -3.3
-xmn1 D_tn G_tn 0 0 pmos_6p0 W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_6p0 W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
diff --git a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_6p0_sab_iv.spice b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_6p0_sab_iv.spice
index d1bea5b..5dd3fea 100644
--- a/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_6p0_sab_iv.spice
+++ b/models/xyce/testing/regression/mos_iv_vgs/device_netlists_Rds/pmos_6p0_sab_iv.spice
@@ -10,7 +10,7 @@
Vgs G_tn 0 dc -3.3
-xmn1 D_tn G_tn 0 0 pmos_6p0_sab W={{width}}u L={{length}}u ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
+xmn1 D_tn G_tn 0 0 pmos_6p0_sab W={{width}}u L={{length}}u ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
diff --git a/models/xyce/testing/smoke_test/inv_xyce.spice b/models/xyce/testing/smoke_test/inv_xyce.spice
index ada6d54..b74b782 100644
--- a/models/xyce/testing/smoke_test/inv_xyce.spice
+++ b/models/xyce/testing/smoke_test/inv_xyce.spice
@@ -17,9 +17,9 @@
.subckt INV VDD Vout Vin GND
-XM1 Vout Vin GND GND nmos_3p3 W={{width}}u L={{length}}u
-*ad={{AD}}u pd={{PD}}u as={{AS}}u ps={{PS}}u
-XM2 Vout Vin VDD VDD pmos_3p3 W={{width_p}}u L={{length}}u
+XM1 Vout Vin GND GND nmos_3p3 W={{width}}u L={{length}}u
+*ad={{AD}}p pd={{PD}}u as={{AS}}p ps={{PS}}u
+XM2 Vout Vin VDD VDD pmos_3p3 W={{width_p}}u L={{length}}u
*ad={{AD_p}}u pd={{PD_p}}u as={{AD_p}}u ps={{PD_p}}u
.ends