summaryrefslogtreecommitdiff
path: root/Windows/spice/examples/xspice/table/table-generator-b4-3d.sp
diff options
context:
space:
mode:
Diffstat (limited to 'Windows/spice/examples/xspice/table/table-generator-b4-3d.sp')
-rw-r--r--Windows/spice/examples/xspice/table/table-generator-b4-3d.sp122
1 files changed, 0 insertions, 122 deletions
diff --git a/Windows/spice/examples/xspice/table/table-generator-b4-3d.sp b/Windows/spice/examples/xspice/table/table-generator-b4-3d.sp
deleted file mode 100644
index c21c4281..00000000
--- a/Windows/spice/examples/xspice/table/table-generator-b4-3d.sp
+++ /dev/null
@@ -1,122 +0,0 @@
-** NMOSFET: table generator with BSIM4 3D (Vdrain, Vgate, Vbulk)
-* This file may be run by 'ngspice table-generator-b4-3d.sp'
-* It will generate a 3D data table by simulating the MOS drain current
-* as function of drain and gate voltages. The simulation uses
-* the ngspice BSIM4.6.1 MOS model and Berkeley model parameters.
-* This table is an input file for the XSPICE 3D table model.
-* You have to select NMOS or PMOS by manually editing this file: currently
-* NMOS is selected. For PMOS change '*' in column 1
-* for CSPARAM, m1, outfile, echo *table...
-* In addition you may change the step sizes vdstep vgstep vbstep in CSPARAM
-* to obtain the required resolution for the data.
-* These tables will contain pure dc data. For transient simulation you may
-* need to add some capacitors to the device model for a 'real world' simulation.
-
-*NMOS
-.csparam vdstart=-0.1
-.csparam vdstop=1.8
-.csparam vdstep=0.05
-.csparam vgstart=-0.1
-.csparam vgstop=1.8
-.csparam vgstep=0.05
-.csparam vbstart=-1.8
-.csparam vbstop=0.4
-.csparam vbstep=0.2
-
-*PMOS
-*.csparam vdstart=-1.8
-*.csparam vdstop=0.1
-*.csparam vdstep=0.05
-*.csparam vgstart=-1.8
-*.csparam vgstop=0.1
-*.csparam vgstep=0.05
-*.csparam vbstart=-0.4
-*.csparam vbstop=1.8
-*.csparam vbstep=0.2
-
-** Circuit Description **
-m1 2 1 3 4 nbsim4 L=0.13u W=10.0u rgeoMod=1
-*m1 2 1 3 4 pbsim4 L=0.13u W=10.0u rgeoMod=1
-vgs 1 0 1.8
-vds 2 0 1.8
-vss 3 0 0
-vbs 4 0 0
-
-.control
-** output file **
-set outfile = "bsim4n-3d-1.table"
-*set outfile = "bsim4p-3d-1.table"
-
-save i(vss)
-echo * 3D table for nmos bsim 4 > $outfile
-*echo * 3D table for nmos bsim 4 > $outfile
-
-let xcount = floor((vdstop-vdstart)/vdstep) + 1
-let ycount = floor((vgstop-vgstart)/vgstep) + 1
-let zcount = floor((vbstop-vbstart)/vbstep) + 1
-echo *x >> $outfile
-echo $&xcount >> $outfile
-echo *y >> $outfile
-echo $&ycount >> $outfile
-echo *z >> $outfile
-echo $&zcount >> $outfile
-
-let xvec = vector(xcount)
-let yvec = vector(ycount)
-let zvec = vector(zcount)
-
-let loopx = vdstart
-let lcx=0
-while lcx < xcount
- let xvec[lcx] = loopx
- let loopx = loopx + vdstep
- let lcx = lcx + 1
-end
-echo *x row >> $outfile
-echo $&xvec >> $outfile
-
-let lcy=0
-let loopy = vgstart
-while lcy < ycount
- let yvec[lcy] = loopy
- let loopy = loopy + vgstep
- let lcy = lcy + 1
-end
-echo *y column >> $outfile
-echo $&yvec >> $outfile
-
-let lcz=0
-let loopz = vbstart
-while lcz < zcount
- let zvec[lcz] = loopz
- let loopz = loopz + vbstep
- let lcz = lcz + 1
-end
-echo *z tables >> $outfile
-echo $&zvec >> $outfile
-
-let lcz=0
-let loopz = vbstart
-while lcz < zcount
- echo *table $&loopz >> $outfile
- alter vbs loopz
- let lcy=0
- let loopy = vgstart
- while lcy < ycount
- alter vgs loopy
- dc vds $&vdstart $&vdstop $&vdstep
- let xvec = i(vss)
- echo $&xvec >> $outfile
- destroy dc1
- let loopy = loopy + vgstep
- let lcy = lcy + 1
- end
- let loopz = loopz + vbstep
- let lcz = lcz + 1
-end
-.endc
-
-.include ./modelcards/modelcard.nmos
-.include ./modelcards/modelcard.pmos
-
-.end