diff --git a/examples/adms/psp/psp_out.sp b/examples/adms/psp/psp102_nmos.mod similarity index 88% rename from examples/adms/psp/psp_out.sp rename to examples/adms/psp/psp102_nmos.mod index 1f175bb6a..6aa7b8094 100644 --- a/examples/adms/psp/psp_out.sp +++ b/examples/adms/psp/psp102_nmos.mod @@ -1,35 +1,7 @@ -psp102 nch output -* -vd d 0 dc 0.1 -vg g 0 dc 0.0 -vs s 0 dc 0.0 -vb b 0 dc 0.0 -m1 d g s b nch -+l=1.0e-06 -+w=10.0e-06 -+sa=0.0e+00 -+sb=0.0e+00 -+absource=1.0e-12 -+lssource=1.0e-06 -+lgsource=1.0e-06 -+abdrain=1.0e-12 -+lsdrain=1.0e-06 -+lgdrain=1.0e-06 -+mult=1.0e+00 -* -.option temp=21 -.control -dc vd 0 3.5 0.05 vg 0.5 3 0.5 -plot abs(i(vd)) -plot abs(i(vb)) ylog ylimit 1e-12 1e-03 -.endc -* +* PSP 102.5 +* https://www.cea.fr/cea-tech/leti/pspsupport/Documents/Level%20102.5.0/psp_VA_and_CMC_ref_data.tar.gz .model nch nmos level=45 +TR=27.0 -+swigate=0 -+swimpact=1 -+swgidl=0 -+swjuncap=1 +DTA=0 +QMC=1.0 +LVARO=-10.0E-9 @@ -279,5 +251,3 @@ plot abs(i(vb)) ylog ylimit 1e-12 1e-03 +PBRBOTD=4 +PBRSTID=4 +PBRGATD=4 - -.end diff --git a/examples/adms/psp/psp_tran.sp b/examples/adms/psp/psp102_pmos.mod similarity index 86% rename from examples/adms/psp/psp_tran.sp rename to examples/adms/psp/psp102_pmos.mod index 8bc1c2dde..64b42112c 100644 --- a/examples/adms/psp/psp_tran.sp +++ b/examples/adms/psp/psp102_pmos.mod @@ -1,36 +1,7 @@ -psp102 nch transfer -* -vd d 0 dc 0.1 -vg g 0 dc 0.0 -vs s 0 dc 0.0 -vb b 0 dc 0.0 -m1 d g s b nch -+l=1.0e-06 -+w=10.0e-06 -+sa=0.0e+00 -+sb=0.0e+00 -+absource=1.0e-12 -+lssource=1.0e-06 -+lgsource=1.0e-06 -+abdrain=1.0e-12 -+lsdrain=1.0e-06 -+lgdrain=1.0e-06 -+mult=1.0e+00 -* -.option temp=21 -.control -dc vg 0 2.5 0.02 vb -3 0 0.5 -plot abs(i(vd)) -dc vg 0 1.5 0.01 vb -3 0 0.5 -plot abs(i(vd)) ylog ylimit 1e-12 1e-03 -.endc -* -.model nch nmos level=45 +* PSP 102.5 +* https://www.cea.fr/cea-tech/leti/pspsupport/Documents/Level%20102.5.0/psp_VA_and_CMC_ref_data.tar.gz +.model pch pmos level=45 +TR=27.0 -+swigate=0 -+swimpact=1 -+swgidl=0 -+swjuncap=1 +DTA=0 +QMC=1.0 +LVARO=-10.0E-9 @@ -280,5 +251,3 @@ plot abs(i(vd)) ylog ylimit 1e-12 1e-03 +PBRBOTD=4 +PBRSTID=4 +PBRGATD=4 - -.end diff --git a/examples/adms/psp/psp103_nmos.mod b/examples/adms/psp/psp103_nmos.mod new file mode 100644 index 000000000..da5ef3f1d --- /dev/null +++ b/examples/adms/psp/psp103_nmos.mod @@ -0,0 +1,271 @@ +* PSP 103.3 +* https://www.cea.fr/cea-tech/leti/pspsupport/Documents/Level%20103.3.3/psp_VA_and_CMC_ref_data.tar.gz +.model nch nmos level=69 ++TR=27.0 ++DTA=0 ++SWGEO=1 ++QMC=1.0 ++LVARO=-10.0E-9 ++LVARL=0 ++LVARW=0 ++LAP=10.0E-9 ++WVARO=10.0E-9 ++WVARL=0 ++WVARW=0 ++WOT=0 ++DLQ=0 ++DWQ=0 ++VFBO=-1.1 ++VFBL=0 ++VFBW=0 ++VFBLW=0 ++STVFBO=5.0E-4 ++STVFBL=0 ++STVFBW=0 ++STVFBLW=0 ++TOXO=1.5E-9 ++EPSROXO=3.9 ++NSUBO=3.0E+23 ++NSUBW=0 ++WSEG=1.5E-10 ++NPCK=1.0E+24 ++NPCKW=0 ++WSEGP=0.9E-8 ++LPCK=5.5E-8 ++LPCKW=0 ++FOL1=2.0E-2 ++FOL2=5.0E-6 ++FACNEFFACO=0.8 ++FACNEFFACL=0 ++FACNEFFACW=0 ++FACNEFFACLW=0 ++GFACNUDO=0.1 ++GFACNUDL=0 ++GFACNUDLEXP=1 ++GFACNUDW=0 ++GFACNUDLW=0 ++VSBNUDO=0 ++DVSBNUDO=1 ++VNSUBO=0 ++NSLPO=0.05 ++DNSUBO=0 ++DPHIBO=0 ++DPHIBL=0 ++DPHIBLEXP=1.0 ++DPHIBW=0 ++DPHIBLW=0 ++DELVTACO=0 ++DELVTACL=0 ++DELVTACLEXP=1 ++DELVTACW=0 ++DELVTACLW=0 ++NPO=1.5E+26 ++NPL=10.0E-18 ++CTO=5.0E-15 ++CTL=4.0E-2 ++CTLEXP=0.6 ++CTW=0 ++CTLW=0 ++TOXOVO=1.5E-9 ++TOXOVDO=2.0E-9 ++LOV=10.0E-9 ++LOVD=0 ++NOVO=7.5E+25 ++NOVDO=5.0e+25 ++CFL=3.0E-4 ++CFLEXP=2.0 ++CFW=5.0E-3 ++CFBO=0.3 ++UO=3.5E-2 ++FBET1=-0.3 ++FBET1W=0.15 ++LP1=1.5E-7 ++LP1W=-2.5E-2 ++FBET2=50.0 ++LP2=8.5E-10 ++BETW1=5.0E-2 ++BETW2=-2.0E-2 ++WBET=5.0E-10 ++STBETO=1.75 ++STBETL=-2.0E-2 ++STBETW=-2.0E-3 ++STBETLW=-3.0E-3 ++MUEO=0.6 ++MUEW=-1.2E-2 ++STMUEO=0.5 ++THEMUO=2.75 ++STTHEMUO=-0.1 ++CSO=1.0E-2 ++CSL=0 ++CSLEXP=1 ++CSW=0 ++CSLW=0 ++STCSO=-5.0 ++XCORO=0.15 ++XCORL=2.0E-3 ++XCORW=-3.0E-2 ++XCORLW=-3.5E-3 ++STXCORO=1.25 ++FETAO=1 ++RSW1=50 ++RSW2=5.0E-2 ++STRSO=-2.0 ++RSBO=0 ++RSGO=0 ++THESATO=1.0E-6 ++THESATL=0.6 ++THESATLEXP=0.75 ++THESATW=-1.0E-2 ++THESATLW=0 ++STTHESATO=1.5 ++STTHESATL=-2.5E-2 ++STTHESATW=-2.0E-2 ++STTHESATLW=-5.0E-3 ++THESATBO=0.15 ++THESATGO=0.75 ++AXO=20 ++AXL=0.2 ++ALPL=7.0E-3 ++ALPLEXP=0.6 ++ALPW=5.0E-2 ++ALP1L1=2.5E-2 ++ALP1LEXP=0.4 ++ALP1L2=0.1 ++ALP1W=8.5E-3 ++ALP2L1=0.5 ++ALP2LEXP=0 ++ALP2L2=0.5 ++ALP2W=-0.2 ++VPO=0.25 ++A1O=1.0 ++A1L=0 ++A1W=0 ++A2O=10.0 ++STA2O=-0.5 ++A3O=1.0 ++A3L=0 ++A3W=0 ++A4O=0 ++A4L=0 ++A4W=0 ++GCOO=5.0 ++IGINVLW=50.0 ++IGOVW=10.0 ++IGOVDW=0 ++STIGO=1.5 ++GC2O=1.0 ++GC3O=-1.0 ++CHIBO=3.1 ++AGIDLW=50.0 ++AGIDLDW=0 ++BGIDLO=35.0 ++BGIDLDO=41 ++STBGIDLO=-5.0E-4 ++STBGIDLDO=0 ++CGIDLO=0.15 ++CGIDLDO=0 ++CGBOVL=0 ++CFRW=5.0E-17 ++CFRDW=0 ++FNTO=1 ++NFALW=8.0E+22 ++NFBLW=3.0E7 ++NFCLW=0 ++RGO=0 ++RINT=0 ++RVPOLY=0 ++RSHG=0 ++DLSIL=0 ++RBULKO=0 ++RWELLO=0 ++RJUNDO=0 ++RJUNSO=0 ++SWJUNEXP=0 ++TRJ=27.0 ++IMAX=1.0E3 ++VJUNREF=2.5 ++FJUNQ=0.03 ++CJORBOT=1.0E-3 ++CJORSTI=1.0E-9 ++CJORGAT=0.5E-9 ++VBIRBOT=0.75 ++VBIRSTI=1.0 ++VBIRGAT=0.75 ++PBOT=0.35 ++PSTI=0.35 ++PGAT=0.6 ++PHIGBOT=1.16 ++PHIGSTI=1.16 ++PHIGGAT=1.16 ++IDSATRBOT=5.0E-9 ++IDSATRSTI=1.0E-18 ++IDSATRGAT=1.0E-18 ++CSRHBOT=5.0E2 ++CSRHSTI=0 ++CSRHGAT=1.0E3 ++XJUNSTI=1.0E-8 ++XJUNGAT=1.0E-9 ++CTATBOT=5.0E2 ++CTATSTI=0 ++CTATGAT=1.0E3 ++MEFFTATBOT=0.25 ++MEFFTATSTI=0.25 ++MEFFTATGAT=0.25 ++CBBTBOT=1.0E-12 ++CBBTSTI=1.0E-18 ++CBBTGAT=1.0E-18 ++FBBTRBOT=1.0E9 ++FBBTRSTI=1.0E9 ++FBBTRGAT=1.0E9 ++STFBBTBOT=-1.0E-3 ++STFBBTSTI=-1.0E-3 ++STFBBTGAT=-1.0E-2 ++VBRBOT=10.0 ++VBRSTI=10.0 ++VBRGAT=10.0 ++PBRBOT=3 ++PBRSTI=4 ++PBRGAT=3 ++VJUNREFD=2.5 ++FJUNQD=0.03 ++CJORBOTD=1.0E-3 ++CJORSTID=1.0E-9 ++CJORGATD=1.0E-9 ++VBIRBOTD=1.0 ++VBIRSTID=1.0 ++VBIRGATD=1.0 ++PBOTD=0.5 ++PSTID=0.5 ++PGATD=0.5 ++PHIGBOTD=1.16 ++PHIGSTID=1.16 ++PHIGGATD=1.16 ++IDSATRBOTD=1.0E-12 ++IDSATRSTID=1.0E-18 ++IDSATRGATD=1.0E-18 ++CSRHBOTD=1.0E+2 ++CSRHSTID=1.0E-4 ++CSRHGATD=1.0E-4 ++XJUNSTID=1.0E-7 ++XJUNGATD=1.0E-7 ++CTATBOTD=1.0E+2 ++CTATSTID=1.0E-4 ++CTATGATD=1.0E-4 ++MEFFTATBOTD=0.25 ++MEFFTATSTID=0.25 ++MEFFTATGATD=0.25 ++CBBTBOTD=1.0E-12 ++CBBTSTID=1.0E-18 ++CBBTGATD=1.0E-18 ++FBBTRBOTD=1.0E9 ++FBBTRSTID=1.0E9 ++FBBTRGATD=1.0E9 ++STFBBTBOTD=-1.0E-3 ++STFBBTSTID=-1.0E-3 ++STFBBTGATD=-1.0E-3 ++VBRBOTD=10.0 ++VBRSTID=10.0 ++VBRGATD=10.0 ++PBRBOTD=4 ++PBRSTID=4 ++PBRGATD=4 diff --git a/examples/adms/psp/psp_inverter.sp b/examples/adms/psp/psp_inverter.sp new file mode 100644 index 000000000..275b100b7 --- /dev/null +++ b/examples/adms/psp/psp_inverter.sp @@ -0,0 +1,39 @@ +* PSP models +* simple inverter + +.param Vcc = 1.2 +.csparam vcc='Vcc' + +* Path to the models +.include psp102_nmos.mod +.include psp102_pmos.mod + +* the voltage sources: +Vdd vdd gnd DC 'Vcc' +V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) +Vmeas vss 0 0 + +Xnot1 in vdd vss out not1 +*Rout out 0 1k + +.subckt not1 a vdd vss z +m01 z a vdd vdd pch l=0.1u w=1u as=0.26235 ad=0.26235 ps=2.51 pd=2.51 +m02 z a vss vss nch l=0.1u w=0.5u as=0.131175 ad=0.131175 ps=1.52 pd=1.52 +c3 a vss 0.384f +c2 z vss 0.576f +.ends + +* simulation command: +.tran 10ps 10ns +.dc V1 0 'vcc' 'vcc/100' + +.control +run +*set nolegend +plot in out +plot dc1.out +plot dc1.i(Vmeas) +rusage +.endc + +.end diff --git a/examples/adms/psp/psp_out_nmos_nm.sp b/examples/adms/psp/psp_out_nmos_nm.sp new file mode 100644 index 000000000..6f7aae3d6 --- /dev/null +++ b/examples/adms/psp/psp_out_nmos_nm.sp @@ -0,0 +1,32 @@ +psp102 nch output +* +vd d 0 dc 0.05 +vg g 0 dc 0.0 +vs s 0 dc 0.0 +vb b 0 dc 0.0 +m1 d g s b nch ++l=0.1u ++w=1u ++sa=0.0e+00 ++sb=0.0e+00 ++absource=1.0e-12 ++lssource=1.0e-06 ++lgsource=1.0e-06 ++abdrain=1.0e-12 ++lsdrain=1.0e-06 ++lgdrain=1.0e-06 ++mult=1.0e+00 +* +.option temp=21 +.control +dc vd 0 3.0 0.05 vg 0 1.5 0.25 +plot i(vs) +dc vg 0 1.5 0.05 vb 0 -3.0 -1 +plot i(vs) +.endc +* + +.include psp102_nmos.mod +*.include psp103_nmos.mod + +.end diff --git a/examples/adms/psp/psp_out_pmos_nm.sp b/examples/adms/psp/psp_out_pmos_nm.sp new file mode 100644 index 000000000..15b1d7311 --- /dev/null +++ b/examples/adms/psp/psp_out_pmos_nm.sp @@ -0,0 +1,32 @@ +psp102 pch output +* +vd d 0 dc -0.1 +vg g 0 dc 0.0 +vs s 0 dc 0.0 +vb b 0 dc 0.0 +m1 d g s b pch ++l=0.1u ++w=1u ++sa=0.0e+00 ++sb=0.0e+00 ++absource=1.0e-12 ++lssource=1.0e-06 ++lgsource=1.0e-06 ++abdrain=1.0e-12 ++lsdrain=1.0e-06 ++lgdrain=1.0e-06 ++mult=1.0e+00 +* +.option temp=21 +.control +dc vd 0 -3.0 -0.05 vg 0 -1 -0.25 ; saturation +plot i(vs) +dc vg 0 -1.5 -0.05 vb 0 3.0 1 +plot i(vs) +.endc +* + +.include psp102_pmos.mod +*.include psp103_pmos.mod + +.end diff --git a/examples/adms/psp/psp_ro.sp b/examples/adms/psp/psp_ro.sp new file mode 100644 index 000000000..15c8b3214 --- /dev/null +++ b/examples/adms/psp/psp_ro.sp @@ -0,0 +1,41 @@ +* PSP models +* simple 5-stage ring oscillator + +.param Vcc = 1.2 +.csparam vcc='Vcc' + +* Path to the models +.include psp102_nmos.mod +.include psp102_pmos.mod + +* the voltage sources: +Vdd vdd gnd DC 'Vcc' +V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) +Vmeas vss 0 0 + +Xnot1 in vdd vss in2 not1 +Xnot2 in2 vdd vss in3 not1 +Xnot3 in3 vdd vss in4 not1 +Xnot4 in4 vdd vss in5 not1 +Xnot5 in5 vdd vss in not1 + +*Rout out 0 1k + +.subckt not1 a vdd vss z +m01 z a vdd vdd pch l=0.1u w=1u as=0.26235 ad=0.26235 ps=2.51 pd=2.51 +m02 z a vss vss nch l=0.1u w=0.5u as=0.131175 ad=0.131175 ps=1.52 pd=1.52 +c3 a vss 0.384f +c2 z vss 0.576f +.ends + +* simulation command: +.tran 10p 10n uic + +.control +run +set xbrushwidth=3 +plot in +rusage +.endc + +.end diff --git a/examples/adms/psp/psp_tran_newmod.sp b/examples/adms/psp/psp_tran_newmod.sp new file mode 100644 index 000000000..e55ea203e --- /dev/null +++ b/examples/adms/psp/psp_tran_newmod.sp @@ -0,0 +1,30 @@ +psp102 nch transfer +* +vd d 0 dc 0.1 +vg g 0 dc 0.0 +vs s 0 dc 0.0 +vb b 0 dc 0.0 +m1 d g s b nch ++l=1.0e-06 ++w=10.0e-06 ++sa=0.0e+00 ++sb=0.0e+00 ++absource=1.0e-12 ++lssource=1.0e-06 ++lgsource=1.0e-06 ++abdrain=1.0e-12 ++lsdrain=1.0e-06 ++lgdrain=1.0e-06 ++mult=1.0e+00 +* +.option temp=21 +.control +dc vg 0 1.5 0.02 vb -3 0 0.5 +plot abs(i(vd)) +dc vg 0 1.5 0.01 vb -3 0 0.5 +plot abs(i(vd)) ylog ylimit 1e-12 1e-03 +.endc +* +.include psp102_nmos.mod + +.end