diff --git a/bsimcmg_benchmark_test/gummel_n.sp b/bsimcmg_benchmark_test/gummel_n.sp index 8cf1445c1..b37d417b1 100644 --- a/bsimcmg_benchmark_test/gummel_n.sp +++ b/bsimcmg_benchmark_test/gummel_n.sp @@ -30,10 +30,21 @@ m1 drain gate source bulk 0 nmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1 .control save @m1[VDSSAT] +save @m1[GDS] run show all -plot -i(vdrain) +let ids = -i(vdrain) +let gx = deriv(ids) +let gx2 = deriv(gx) +let gx3 = deriv(gx2) +let gx4 = deriv(gx3) +plot ids plot @m1[VDSSAT] +plot @m1[GDS] +plot gx +plot gx2 +plot gx3 +plot gx4 .endc .end diff --git a/bsimcmg_benchmark_test/gummel_p.sp b/bsimcmg_benchmark_test/gummel_p.sp index 4f06f9a29..262d5b6f4 100644 --- a/bsimcmg_benchmark_test/gummel_p.sp +++ b/bsimcmg_benchmark_test/gummel_p.sp @@ -29,7 +29,17 @@ m1 drain gate source bulk 0 pmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1 .control run -plot -i(vdrain) +let ids = -i(vdrain) +let gx = deriv(ids) +let gx2 = deriv(gx) +let gx3 = deriv(gx2) +let gx4 = deriv(gx3) +plot ids +plot gx +plot gx2 +plot gx3 +plot gx4 + .endc .end diff --git a/bsimcmg_benchmark_test/idvdnmos.sp b/bsimcmg_benchmark_test/idvdnmos.sp index 8b1daa397..cecbeb8dd 100644 --- a/bsimcmg_benchmark_test/idvdnmos.sp +++ b/bsimcmg_benchmark_test/idvdnmos.sp @@ -25,20 +25,29 @@ m1 drain gate 0 bulk 0 nmos1 TFIN=15n L=40n NFIN=10 NRS=1 NRD=1 D=40n save @m1[gds] set temp = -55 run -plot -i(vds) +let ids = -i(vds) +let xgds = deriv(ids) +plot ids +plot xgds plot @m1[gds] reset save @m1[gds] set temp = 27 run -plot -i(vds) +let ids = -i(vds) +let xgds = deriv(ids) +plot ids +plot xgds plot @m1[gds] reset set temp = 100 run -plot -i(vds) +let ids = -i(vds) +let xgds = deriv(ids) +plot ids +plot xgds plot @m1[gds] *show all diff --git a/bsimcmg_benchmark_test/idvdpmos.sp b/bsimcmg_benchmark_test/idvdpmos.sp index 338de4e2a..7ff1063a6 100644 --- a/bsimcmg_benchmark_test/idvdpmos.sp +++ b/bsimcmg_benchmark_test/idvdpmos.sp @@ -3,7 +3,6 @@ *Id-Vd Characteristics for PMOS (T = 27 C) .option abstol=1e-6 reltol=1e-6 post ingold -.temp -55 *.hdl "bsimcmg.va" .include "modelcard.pmos.1" @@ -23,16 +22,37 @@ m1 drain gate 0 bulk 0 pmos1 TFIN=15n L=40n NFIN=10 NRS=1 NRD=1 .probe dc gds=deriv(ids) .print dc par'ids' par'-gds' -.alter -.temp 27 - -.alter -.temp 100 - .control + +save @m1[gds] + +set temp = 27 run -plot i(vds) -* fixme, second temperature, and nasty reset issues +let ids = i(vds) +let xgds = deriv(ids) +plot ids +plot xgds +plot @m1[gds] +reset + +set temp = -55 +run +let ids = i(vds) +let xgds = deriv(ids) +plot ids +plot xgds +plot @m1[gds] +reset + +set temp = 100 +run +let ids = i(vds) +let xgds = deriv(ids) +plot ids +plot xgds +plot @m1[gds] +reset + .endc .end diff --git a/bsimcmg_benchmark_test/idvgpmos.sp b/bsimcmg_benchmark_test/idvgpmos.sp index 0d61090ac..b2612c427 100644 --- a/bsimcmg_benchmark_test/idvgpmos.sp +++ b/bsimcmg_benchmark_test/idvgpmos.sp @@ -3,7 +3,6 @@ *Id-Vg Characteristics for PMOS (T = 27 C) .option abstol=1e-6 reltol=1e-6 post ingold -.temp -55 *.hdl "bsimcmg.va" .include "modelcard.pmos.1" @@ -23,16 +22,37 @@ m1 supply gate 0 bulk 0 pmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1 .probe dc gds=deriv(ids) .print dc par'ids' par'-gds' -.alter -.temp 27 - -.alter -.temp 100 - .control + +save @m1[gm] + +set temp = 27 run -plot i(vds) -* fixme, second temperature, and nasty reset issues +let ids = i(vds) +let xgds = deriv(ids) +plot ids +plot xgds +plot @m1[gm] +reset + +set temp = -55 +run +let ids = i(vds) +let xgds = deriv(ids) +plot ids +plot xgds +plot @m1[gm] +reset + +set temp = 100 +run +let ids = i(vds) +let xgds = deriv(ids) +plot ids +plot xgds +plot @m1[gm] +reset + .endc .end