remove bsimcmg completely
This commit is contained in:
parent
9940d00b8f
commit
ca391753b0
|
|
@ -956,7 +956,6 @@ if test "x$enable_adms" = xyes ; then
|
|||
AC_DEFINE([ADMS], [1], [Support for Verilog-A models])
|
||||
|
||||
VLADEVDIR=" adms/bsimbulk \
|
||||
adms/bsimcmg \
|
||||
adms/ekv \
|
||||
adms/hicum0 \
|
||||
adms/hicum2 \
|
||||
|
|
@ -965,7 +964,6 @@ if test "x$enable_adms" = xyes ; then
|
|||
|
||||
# The makefiles for adms (to be added to AC_CONFIG_FILES by ./autogen.sh --adms)
|
||||
#VLAMKF src/spicelib/devices/adms/bsimbulk/Makefile
|
||||
#VLAMKF src/spicelib/devices/adms/bsimcmg/Makefile
|
||||
#VLAMKF src/spicelib/devices/adms/ekv/Makefile
|
||||
#VLAMKF src/spicelib/devices/adms/hicum0/Makefile
|
||||
#VLAMKF src/spicelib/devices/adms/hicum2/Makefile
|
||||
|
|
@ -975,7 +973,6 @@ if test "x$enable_adms" = xyes ; then
|
|||
NOTVLADEVDIR=""
|
||||
|
||||
VLADEV=" spicelib/devices/adms/bsimbulk/libbsimbulk.la \
|
||||
spicelib/devices/adms/bsimcmg/libbsimcmg.la \
|
||||
spicelib/devices/adms/ekv/libekv.la \
|
||||
spicelib/devices/adms/hicum0/libhicum0.la \
|
||||
spicelib/devices/adms/hicum2/libhicum2.la \
|
||||
|
|
|
|||
|
|
@ -1,44 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*AC Response
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.nmos"
|
||||
|
||||
.param myvdd=1.0
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vdd supply 0 dc=myvdd
|
||||
vsig gate 0 dc=0.5 ac=1
|
||||
vbs bulk 0 dc=0
|
||||
|
||||
* --- Transistor ---
|
||||
m1 vout gate 0 bulk 0 nmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
|
||||
* --- Load ---
|
||||
rl supply vout r=2k
|
||||
cl supply vout c=10f
|
||||
|
||||
* --- AC Analysis ---
|
||||
.ac dec 10 1k 1T
|
||||
|
||||
* For Bias Point Testing
|
||||
* .dc vsig -1 1.5 0.01
|
||||
|
||||
.print ac vm(vout) vp(vout)
|
||||
|
||||
*.alter
|
||||
*.param myvdd=2.0
|
||||
|
||||
.control
|
||||
run
|
||||
plot vdb(vout)
|
||||
plot cph(vout)
|
||||
.endc
|
||||
|
||||
|
||||
.end
|
||||
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
* Geometry-dependent Cfr
|
||||
*
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
.temp 27
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
|
||||
.param hfin=30n
|
||||
|
||||
.model nmos2 NMOS level=17
|
||||
+ DEVTYPE=1
|
||||
+ CGEOMOD=2
|
||||
+ HEPI=10n
|
||||
+ LSP=5n
|
||||
+ EPSRSP=7.5
|
||||
+ TGATE=40n
|
||||
+ TMASK=10n
|
||||
+ TSILI=0n
|
||||
+ CRATIO=1.0
|
||||
+ EOT=1.0n
|
||||
+ TOXP=1.2n
|
||||
+ HFIN=hfin
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vds supply 0 dc=0
|
||||
vgs gate 0 dc=0
|
||||
vbs bulk 0 dc=0
|
||||
|
||||
* --- Transistor ---
|
||||
M1 supply gate 0 bulk 0 nmos2 TFIN=10n L=30n NFIN=1 FPITCH=20n LRSD=40n
|
||||
M2 supply gate 0 bulk 0 nmos2 TFIN=10n L=30n NFIN=1 FPITCH=40n LRSD=40n
|
||||
M3 supply gate 0 bulk 0 nmos2 TFIN=10n L=30n NFIN=1 FPITCH=60n LRSD=40n
|
||||
M4 supply gate 0 bulk 0 nmos2 TFIN=10n L=30n NFIN=1 FPITCH=80n LRSD=40n
|
||||
|
||||
* --- DC Analysis ---
|
||||
.dc vgs 0.0 1.0 0.1
|
||||
*.print dc par'hfin' M1:CFGEO M2:CFGEO M3:CFGEO M4:CFGEO
|
||||
|
||||
.control
|
||||
save @m1[CFGEO] @m2[CFGEO] @m3[CFGEO] @m4[CFGEO]
|
||||
|
||||
showmod #nmos2 : HFIN
|
||||
run
|
||||
plot @m1[CFGEO] @m2[CFGEO] @m3[CFGEO] @m4[CFGEO]
|
||||
|
||||
altermod nmos2 hfin = 40n
|
||||
showmod #nmos2 : HFIN
|
||||
run
|
||||
plot @m1[CFGEO] @m2[CFGEO] @m3[CFGEO] @m4[CFGEO]
|
||||
|
||||
altermod nmos2 hfin = 50n
|
||||
showmod #nmos2 : HFIN
|
||||
run
|
||||
plot @m1[CFGEO] @m2[CFGEO] @m3[CFGEO] @m4[CFGEO]
|
||||
|
||||
altermod nmos2 hfin = 60n
|
||||
showmod #nmos2 : HFIN
|
||||
run
|
||||
plot @m1[CFGEO] @m2[CFGEO] @m3[CFGEO] @m4[CFGEO]
|
||||
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*Drain current symmetry for nmos
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
|
||||
.include "modelcard.nmos"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vdrain drain 0 dc=0
|
||||
esource source 0 drain 0 -1
|
||||
vgate gate 0 dc=1.0
|
||||
vbulk bulk 0 dc=0.0
|
||||
|
||||
|
||||
* --- Transistor ---
|
||||
m1 drain gate source bulk 0 nmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
|
||||
* --- DC Analysis ---
|
||||
.dc vdrain -0.1 0.1 0.001 vgate 0.0 1.0 0.2
|
||||
.probe dc ids=par'-i(vdrain)'
|
||||
.probe dc gx=deriv(ids)
|
||||
.probe dc gx2=deriv(gx)
|
||||
.probe dc gx3=deriv(gx2)
|
||||
.probe dc gx4=deriv(gx3)
|
||||
.print dc par'ids' par'gx' par'gx2' par'gx3' par 'gx4'
|
||||
|
||||
.control
|
||||
save @m1[VDSSAT]
|
||||
save @m1[GDS]
|
||||
run
|
||||
show all
|
||||
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
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*Drain current symmetry
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.pmos"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vdrain drain 0 dc=0
|
||||
esource source 0 drain 0 -1
|
||||
vgate gate 0 dc=-1.0
|
||||
vbulk bulk 0 dc=0
|
||||
|
||||
|
||||
* --- Transistor ---
|
||||
m1 drain gate source bulk 0 pmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
|
||||
* --- DC Analysis ---
|
||||
.dc vdrain -0.1 0.1 0.001 vgate 0.0 -1.0 -0.2
|
||||
.probe dc ids=par'-i(vdrain)'
|
||||
.probe dc gx=deriv(ids)
|
||||
.probe dc gx2=deriv(gx)
|
||||
.probe dc gx3=deriv(gx2)
|
||||
.probe dc gx4=deriv(gx3)
|
||||
.print dc par'ids' par'gx' par'gx2' par'gx3' par 'gx4'
|
||||
|
||||
.control
|
||||
run
|
||||
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
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*Id-Vd Characteristics for NMOS (T = 27 C)
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.nmos.1"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vds drain 0 dc=0
|
||||
vgs gate 0 dc=1.0
|
||||
vbs bulk 0 dc=0.2
|
||||
|
||||
* --- Transistor ---
|
||||
m1 drain gate 0 bulk 0 nmos1 TFIN=15n L=40n NFIN=10 NRS=1 NRD=1 D=40n
|
||||
|
||||
* --- DC Analysis ---
|
||||
.dc vds 0 1 0.01 vgs 0 1.0 0.1
|
||||
.probe dc ids=par`-i(vds)`
|
||||
.probe dc gds=deriv(ids)
|
||||
.print dc par'ids' par'gds'
|
||||
|
||||
.control
|
||||
save @m1[gds]
|
||||
set temp = -55
|
||||
run
|
||||
let ids = -i(vds)
|
||||
let xgds = deriv(ids)
|
||||
plot ids
|
||||
plot xgds
|
||||
plot @m1[gds]
|
||||
|
||||
save @m1[gds]
|
||||
set temp = 27
|
||||
run
|
||||
let ids = -i(vds)
|
||||
let xgds = deriv(ids)
|
||||
plot ids
|
||||
plot xgds
|
||||
plot @m1[gds]
|
||||
|
||||
set temp = 100
|
||||
run
|
||||
let ids = -i(vds)
|
||||
let xgds = deriv(ids)
|
||||
plot ids
|
||||
plot xgds
|
||||
plot @m1[gds]
|
||||
|
||||
*show all
|
||||
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*Id-Vd Characteristics for PMOS (T = 27 C)
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.pmos.1"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vds drain 0 dc=0
|
||||
vgs gate 0 dc=-1
|
||||
vbs bulk 0 dc=0
|
||||
|
||||
* --- Transistor ---
|
||||
m1 drain gate 0 bulk 0 pmos1 TFIN=15n L=40n NFIN=10 NRS=1 NRD=1
|
||||
+ D = 40n
|
||||
|
||||
* --- DC Analysis ---
|
||||
.dc vds 0 -1 -0.01 vgs 0 -1.0 -0.1
|
||||
.probe dc ids=par`i(vds)`
|
||||
.probe dc gds=deriv(ids)
|
||||
.print dc par'ids' par'-gds'
|
||||
|
||||
.control
|
||||
|
||||
save @m1[gds]
|
||||
|
||||
set temp = 27
|
||||
run
|
||||
let ids = i(vds)
|
||||
let xgds = deriv(ids)
|
||||
plot ids
|
||||
plot xgds
|
||||
plot @m1[gds]
|
||||
|
||||
set temp = -55
|
||||
run
|
||||
let ids = i(vds)
|
||||
let xgds = deriv(ids)
|
||||
plot ids
|
||||
plot xgds
|
||||
plot @m1[gds]
|
||||
|
||||
set temp = 100
|
||||
run
|
||||
let ids = i(vds)
|
||||
let xgds = deriv(ids)
|
||||
plot ids
|
||||
plot xgds
|
||||
plot @m1[gds]
|
||||
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*Id-Vg Characteristics for NMOS (T = 27 C)
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.nmos.1"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vds supply 0 dc=0.05
|
||||
vgs gate 0 dc=1
|
||||
vbs bulk 0 dc=0
|
||||
vt t 0 dc= 0
|
||||
|
||||
* --- Transistor ---
|
||||
m1 supply gate 0 bulk t nmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1 D=40n
|
||||
|
||||
* --- DC Analysis ---
|
||||
.dc vgs -0.5 1.0 0.01 vds 0.05 1 0.95
|
||||
.probe dc par'-i(vds)'
|
||||
.probe dc par'-i(vbs)'
|
||||
.print dc i(X1.d)
|
||||
|
||||
.control
|
||||
set temp = 27
|
||||
run
|
||||
plot -i(vds)
|
||||
plot -i(vbs)
|
||||
|
||||
set temp = -55
|
||||
run
|
||||
plot -i(vds)
|
||||
plot -i(vbs)
|
||||
|
||||
set temp = 100
|
||||
run
|
||||
plot -i(vds)
|
||||
plot -i(vbs)
|
||||
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*Id-Vg Characteristics for PMOS (T = 27 C)
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.pmos.1"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vds supply 0 dc=-1
|
||||
vgs gate 0 dc=-1
|
||||
vbs bulk 0 dc=0
|
||||
|
||||
* --- Transistor ---
|
||||
m1 supply gate 0 bulk 0 pmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1
|
||||
+ D = 40n
|
||||
|
||||
* --- DC Analysis ---
|
||||
.dc vgs 0.5 -1.0 -0.01
|
||||
.probe dc ids=par`i(vds)`
|
||||
.probe dc gds=deriv(ids)
|
||||
.print dc par'ids' par'-gds'
|
||||
|
||||
.control
|
||||
|
||||
save @m1[gm]
|
||||
|
||||
set temp = 27
|
||||
run
|
||||
let ids = i(vds)
|
||||
let xgds = deriv(ids)
|
||||
plot ids
|
||||
plot xgds
|
||||
plot @m1[gm]
|
||||
|
||||
set temp = -55
|
||||
run
|
||||
let ids = i(vds)
|
||||
let xgds = deriv(ids)
|
||||
plot ids
|
||||
plot xgds
|
||||
plot @m1[gm]
|
||||
|
||||
set temp = 100
|
||||
run
|
||||
let ids = i(vds)
|
||||
let xgds = deriv(ids)
|
||||
plot ids
|
||||
plot xgds
|
||||
plot @m1[gm]
|
||||
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*Inverter Transient
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.nmos"
|
||||
.include "modelcard.pmos"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vdd supply 0 dc=1.0
|
||||
vin vi 0 dc=0.5
|
||||
|
||||
* --- Inverter Subcircuit ---
|
||||
.subckt mg_inv vin vout vdd gnd
|
||||
mp1 vout vin vdd gnd 0 pmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
mn1 vout vin gnd gnd 0 nmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
|
||||
.ends
|
||||
|
||||
* --- Inverter ---
|
||||
Xinv1 vi vo supply 0 mg_inv
|
||||
|
||||
* --- Transient Analysis ---
|
||||
.dc vin 0 1 0.01
|
||||
|
||||
.print dc v(vi) v(vo)
|
||||
|
||||
.control
|
||||
run
|
||||
plot v(vi) v(vo)
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*Inverter Transient
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.nmos"
|
||||
.include "modelcard.pmos"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vdd supply 0 dc=1.0
|
||||
vsig vi 0 dc=0.5 sin (0.5 0.5 1MEG)
|
||||
|
||||
* --- Inverter Subcircuit ---
|
||||
.subckt mg_inv vin vout vdd gnd
|
||||
mp1 vout vin vdd gnd 0 pmos1 TFIN=15n L=30n NFIN=10 ASEO=1.5e-14 ADEO=1.5e-14 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
mn1 vout vin gnd gnd 0 nmos1 TFIN=15n L=30n NFIN=10 ASEO=1.5e-14 ADEO=1.5e-14 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
|
||||
.ends
|
||||
|
||||
* --- Inverter ---
|
||||
Xinv1 vi 1 supply 0 mg_inv
|
||||
Xinv2 1 2 supply 0 mg_inv
|
||||
Xinv3 2 3 supply 0 mg_inv
|
||||
Xinv4 3 4 supply 0 mg_inv
|
||||
Xinv5 4 vo supply 0 mg_inv
|
||||
|
||||
* --- Transient Analysis ---
|
||||
.tran 20n 5u
|
||||
|
||||
.print tran v(vi) v(vo)
|
||||
|
||||
.control
|
||||
run
|
||||
plot v(vi) v(vo)
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
******** BSIM-MG 105 Sample Modelcard for NMOS ********
|
||||
|
||||
** The BSIM-MG sample modelcard below was not extracted/obtained
|
||||
** from/based on any real technologies. It should not be used for any
|
||||
** other purposes except for benchmarking the implementation of BSIM-MG
|
||||
** against BSIM Team's standard results
|
||||
|
||||
.model nmos1 NMOS level=17
|
||||
+ BULKMOD = 1
|
||||
+ CGEOMOD = 0
|
||||
+ TYPE = 1
|
||||
+ GEOMOD = 0
|
||||
+ GIDLMOD = 1
|
||||
+ IGBMOD = 0
|
||||
+ IGCMOD = 1
|
||||
+ IIMOD = 0
|
||||
+ NGATE = 0
|
||||
+ NQSMOD = 0
|
||||
+ RDSMOD = 0
|
||||
+ RGATEMOD = 0
|
||||
+ RGEOMOD = 0
|
||||
+ NSEG = 5
|
||||
+ SDTERM = 0
|
||||
+ SHMOD = 0
|
||||
+ AGIDL = 1.00E-12
|
||||
+ AGISL = 1.00E-12
|
||||
+ AIGC = 0.014
|
||||
+ AIGD = 0.0115
|
||||
+ AIGS = 0.0115
|
||||
+ AT = 0.001
|
||||
+ BG0SUB = 1.17
|
||||
+ BGIDL = 1.00E+07
|
||||
+ BGISL = 1.00E+07
|
||||
+ BIGC = 0.005
|
||||
+ BIGD = 0.00332
|
||||
+ BIGS = 0.00332
|
||||
+ CDSC = 0.01
|
||||
+ CDSCD = 0.01
|
||||
+ CFD = 0.20E-10
|
||||
+ CFS = 0.20E-10
|
||||
+ CGBL = 0
|
||||
+ CGBO = 0
|
||||
+ CGDL = 0
|
||||
+ CGDO = 1e-10
|
||||
+ CGSL = 0
|
||||
+ CGSO = 1e-10
|
||||
+ CIGC = 0.25
|
||||
+ CIGD = 0.35
|
||||
+ CIGS = 0.35
|
||||
+ CIT = 0
|
||||
+ CKAPPAD = 0.6
|
||||
+ CKAPPAS = 0.6
|
||||
+ CTH0 = 0.000001243
|
||||
+ DELTAVSAT = 0.5
|
||||
+ DELTAW = 0
|
||||
+ DELTAWCV = 0
|
||||
+ DLBIN = 0
|
||||
+ DLC = 0
|
||||
+ DLCIGD = 1.00E-09
|
||||
+ DLCIGS = 1.00E-09
|
||||
+ DROUT = 1
|
||||
+ DSUB = 0.5
|
||||
+ DVT0 = 0.05
|
||||
+ DVT1 = 0.5
|
||||
+ DVTSHIFT = 0
|
||||
+ EASUB = 4.05
|
||||
+ EGIDL = 0.35
|
||||
+ EGISL = 0.35
|
||||
+ EOT = 1.50E-09
|
||||
+ EOTACC = 1.00E-10
|
||||
+ EOTBOX = 1.40E-07
|
||||
+ EPSROX = 3.9
|
||||
+ EPSRSP = 3.9
|
||||
+ EPSRSUB = 11.9
|
||||
+ ETA0 = 0.05
|
||||
+ ETAMOB = 2
|
||||
+ ETAQM = 0.54
|
||||
+ EU = 1.2
|
||||
+ HFIN = 3.00E-08
|
||||
+ IGT = 2.5
|
||||
+ K1RSCE = 0
|
||||
+ KSATIV = 2
|
||||
+ KT1 = 0
|
||||
+ KT1L = 0
|
||||
+ LINT = -2.00E-09
|
||||
+ LPE0 = 0
|
||||
+ LCDSCD = 5.00E-05
|
||||
+ LCDSCDR = 5.00E-05
|
||||
+ LRDSW = 0.2
|
||||
+ LVSAT = 0
|
||||
+ MEXP = 4
|
||||
+ NBODY = 1.00E+22
|
||||
+ NC0SUB = 2.86E+25
|
||||
+ NI0SUB = 1.10E+16
|
||||
+ NSD = 2.00E+26
|
||||
+ PCLM = 0.05
|
||||
+ PCLMCV = 0.013
|
||||
+ PCLMG = 0
|
||||
+ PDIBL1 = 0
|
||||
+ PDIBL2 = 0.002
|
||||
+ PHIG = 4.39
|
||||
+ PHIN = 0.05
|
||||
+ POXEDGE = 1.1
|
||||
+ PQM = 0.66
|
||||
+ PRT = 0
|
||||
+ PTWG = 0
|
||||
+ PTWGT = 0.004
|
||||
+ PVAG = 0
|
||||
+ QM0 = 0.001
|
||||
+ QMFACTOR = 2.5
|
||||
+ RDSW = 200
|
||||
+ RDSWMIN = 0
|
||||
+ RDWMIN = 0
|
||||
+ RSHD = 0
|
||||
+ RSHS = 0
|
||||
+ RSWMIN = 0
|
||||
+ RTH0 = 0.225
|
||||
+ TBGASUB = 0.000473
|
||||
+ TBGBSUB = 636
|
||||
+ TGIDL = -0.007
|
||||
+ TMEXP = 0
|
||||
+ TNOM = 25
|
||||
+ TOXP = 2.10E-09
|
||||
+ U0 = 0.025
|
||||
+ UA = 0.55
|
||||
+ UA1 = 0.001032
|
||||
+ UCS = 1
|
||||
+ UCSTE = -0.004775
|
||||
+ UD = 0
|
||||
+ UD1 = 0
|
||||
+ UP = 0
|
||||
+ UTE = -0.7
|
||||
+ UTL = 0
|
||||
+ VSAT = 80000
|
||||
+ WR = 1
|
||||
+ WTH0 = 2.60E-07
|
||||
+ XL = 0
|
||||
|
|
@ -1,110 +0,0 @@
|
|||
******** BSIM-MG 105 Sample Modelcard for NMOS ********
|
||||
|
||||
** The BSIM-MG sample modelcard below was not extracted/obtained
|
||||
** from/based on any real technologies. It should not be used for any
|
||||
** other purposes except for benchmarking the implementation of BSIM-MG
|
||||
** against BSIM Team's standard results
|
||||
|
||||
.model nmos1 NMOS level=17
|
||||
+ AGIDL = 50.00f
|
||||
+ AGISL = 50.00f
|
||||
+ AIGBINV = 11.10m
|
||||
+ AIGC = 13.60m
|
||||
+ AT = 0.007
|
||||
+ BG0SUB = 1.120
|
||||
+ BGIDL = 400.0E6
|
||||
+ BGISL = 400.0E6
|
||||
+ BIGBINV =-1.000m
|
||||
+ BIGC = 1.710m
|
||||
+ BULKMOD = 1
|
||||
+ CDSC = 5.000m
|
||||
+ CDSCD = 5.000m
|
||||
+ CFS = 1.0e-10
|
||||
+ CFD = 1.0e-10
|
||||
+ CGEOMOD = 0
|
||||
+ CGSL = 1.0e-10
|
||||
+ CGDL = 1.0e-10
|
||||
+ CIGBINV = 6.000m
|
||||
+ CIGC = 75.00m
|
||||
+ CIT = 0.000
|
||||
+ CTH0 = 2.0e-5
|
||||
+ DELTAW = 0.000
|
||||
+ DELTAWCV = 0.000
|
||||
+ TYPE = 1.000
|
||||
+ DLC = 0.000
|
||||
+ DROUT = 0.530
|
||||
+ DSUB = 0.530
|
||||
+ DVT0 = 0.000
|
||||
+ DVT1 = 300.0m
|
||||
+ EASUB = 4.050
|
||||
+ EGIDL = 0.000
|
||||
+ EGISL = 0.000
|
||||
+ EIGBINV = 1.100
|
||||
+ EOT = 1.0n
|
||||
+ EPSROX = 3.900
|
||||
+ EPSRSUB = 11.90
|
||||
+ ETA0 = 70.0m
|
||||
+ ETAMOB = 2.500
|
||||
+ EU = 0.9
|
||||
+ FECH = 2.000
|
||||
+ FECHCV = 1.000
|
||||
+ GEOMOD = 1.000
|
||||
+ GIDLMOD = 1.000
|
||||
+ HFIN = 30n
|
||||
+ IGCMOD = 1.000
|
||||
+ IGBMOD = 1.000
|
||||
+ K1RSCE = 0.000
|
||||
+ KSATIV = 1.000
|
||||
+ KT1 = 0.0
|
||||
+ LINT = 0.000
|
||||
+ LL = 0.000
|
||||
+ LLC = 0.000
|
||||
+ LLN = 1.000
|
||||
+ LPA = 0.000
|
||||
+ LPE0 = 5.000n
|
||||
+ MEXP = 3
|
||||
+ NBODY = 1E+24
|
||||
+ NC0SUB = 2.86000E+25
|
||||
+ NGATE = 0.0
|
||||
+ NI0SUB = 1.10000E+16
|
||||
+ NIGBINV = 3.000
|
||||
+ NSD = 2.00000E+26
|
||||
+ PCLM = 0.000
|
||||
+ PDIBL1 = 0.300
|
||||
+ PDIBL2 = 0.000
|
||||
+ PHIG = 4.610
|
||||
+ PHIN = 50.00m
|
||||
+ PRWGS = 0.000
|
||||
+ PVAG = 0.000
|
||||
+ QMFACTOR = 0.000
|
||||
+ RDSW = 100.0
|
||||
+ RDSWMIN = 0.000
|
||||
+ RSHS = 2.0
|
||||
+ RTH0 = 0.05
|
||||
+ U0 = 40m
|
||||
+ UA = 0.100
|
||||
+ UA1 = 1.032m
|
||||
+ UCS = 1.0
|
||||
+ UD = 1.0
|
||||
+ UP = 0.000
|
||||
+ UTE = 0.000
|
||||
+ UTL =-1.497m
|
||||
+ VSAT = 150K
|
||||
+ WR = 1.000
|
||||
+ XL = -5.00n
|
||||
+ IIMOD =0.0
|
||||
+ BETAII0 = 0
|
||||
+ BETAII1 = .028
|
||||
+ BETAII2 = .067
|
||||
+ TII = -0.7
|
||||
+ SII0 = 3.4
|
||||
+ SII1 = .8
|
||||
+ SII2 = .08
|
||||
+ SIID = 0.08
|
||||
+ ESATII = 1.7e6
|
||||
+ LII = 3e-9
|
||||
+ RGATEMOD = 0
|
||||
+ RGFIN = 100
|
||||
+ NQSMOD = 0
|
||||
+ RDSMOD = 0
|
||||
+ SHMOD = 0
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
******** BSIM-MG 105 Sample Modelcard for PMOS ********
|
||||
|
||||
** The BSIM-MG sample modelcard below was not extracted/obtained
|
||||
** from/based on any real technologies. It should not be used for any
|
||||
** other purposes except for benchmarking the implementation of BSIM-MG
|
||||
** against BSIM Team's standard results
|
||||
|
||||
.model pmos1 PMOS level=17
|
||||
+ BULKMOD = 1
|
||||
+ CGEOMOD = 0
|
||||
+ TYPE = 0
|
||||
+ GEOMOD = 0
|
||||
+ GIDLMOD = 1
|
||||
+ IGBMOD = 0
|
||||
+ IGCMOD = 1
|
||||
+ IIMOD = 0
|
||||
+ NGATE = 0
|
||||
+ NQSMOD = 0
|
||||
+ RDSMOD = 0
|
||||
+ RGATEMOD = 0
|
||||
+ RGEOMOD = 0
|
||||
+ NSEG = 5
|
||||
+ SDTERM = 0
|
||||
+ SHMOD = 0
|
||||
+ AGIDL = 2E-12
|
||||
+ AGISL = 2E-12
|
||||
+ AIGC = 0.007
|
||||
+ AIGD = 0.006
|
||||
+ AIGS = 0.006
|
||||
+ AT = 0.0008234
|
||||
+ BG0SUB = 1.17
|
||||
+ BGIDL = 1.50E+08
|
||||
+ BGISL = 1.50E+08
|
||||
+ BIGC = 0.0015
|
||||
+ BIGD = 0.001944
|
||||
+ BIGS = 0.001944
|
||||
+ CDSC = 0.003469
|
||||
+ CDSCD = 0.001486
|
||||
+ CFD = 0.2e-10
|
||||
+ CFS = 0.2e-10
|
||||
+ CGBL = 0
|
||||
+ CGBO = 0
|
||||
+ CGDL = 0
|
||||
+ CGDO = 1E-10
|
||||
+ CGSL = 0
|
||||
+ CGSO = 1E-10
|
||||
+ CIGC = 1
|
||||
+ CIGD = 1
|
||||
+ CIGS = 1
|
||||
+ CIT = 0
|
||||
+ CKAPPAD = 0.6
|
||||
+ CKAPPAS = 0.6
|
||||
+ CTH0 = 1.243E-06
|
||||
+ DELTAVSAT = 11.56
|
||||
+ DELTAW = 0
|
||||
+ DELTAWCV = -1.00E-08
|
||||
+ DLBIN = 0
|
||||
+ DLC = -9.2E-09
|
||||
+ DLCIGD = 5.00E-09
|
||||
+ DLCIGS = 5.00E-09
|
||||
+ DROUT = 4.97
|
||||
+ DSUB = 0.5
|
||||
+ DVT0 = 0.05006
|
||||
+ DVT1 = 0.4
|
||||
+ DVTSHIFT = 0
|
||||
+ EASUB = 4.05
|
||||
+ EGIDL = 1.142
|
||||
+ EGISL = 1.142
|
||||
+ EOT = 2.10E-09
|
||||
+ EOTACC = 3.00E-10
|
||||
+ EOTBOX = 1.40E-07
|
||||
+ EPSROX = 3.9
|
||||
+ EPSRSP = 3.9
|
||||
+ EPSRSUB = 11.9
|
||||
+ ETA0 = 0.03952
|
||||
+ ETAMOB = 4
|
||||
+ ETAQM = 0.54
|
||||
+ EU = 0.05
|
||||
+ HFIN = 3.00E-08
|
||||
+ IGT = 3.5
|
||||
+ K1RSCE = 0
|
||||
+ KSATIV = 1.592
|
||||
+ KT1 = 0.08387
|
||||
+ KT1L = 0
|
||||
+ LINT = -2.5E-09
|
||||
+ LPE0 = 0
|
||||
+ LCDSCD = 0
|
||||
+ LCDSCDR = 0
|
||||
+ LRDSW = 1.3
|
||||
+ LVSAT = 1441
|
||||
+ MEXP = 2.491
|
||||
+ NBODY = 1E+22
|
||||
+ NC0SUB = 2.86E+25
|
||||
+ NI0SUB = 1.1E+16
|
||||
+ NSD = 2E+26
|
||||
+ PCLM = 0.01
|
||||
+ PCLMCV = 0.013
|
||||
+ PCLMG = 1
|
||||
+ PDIBL1 = 800
|
||||
+ PDIBL2 = 0.005704
|
||||
+ PHIG = 4.678
|
||||
+ PHIN = 0.05
|
||||
+ POXEDGE = 1.152
|
||||
+ PQM = 0.66
|
||||
+ PRT = 0.002477
|
||||
+ PTWG = 6.322
|
||||
+ PTWGT = 0.0015
|
||||
+ PVAG = 200
|
||||
+ QM0 = 2.183E-12
|
||||
+ QMFACTOR = 0
|
||||
+ RDSW = 190.6
|
||||
+ RDSWMIN = 0
|
||||
+ RDWMIN = 0
|
||||
+ RSHD = 0
|
||||
+ RSHS = 0
|
||||
+ RSWMIN = 0
|
||||
+ RTH0 = 0.15
|
||||
+ TBGASUB = 0.000473
|
||||
+ TBGBSUB = 636
|
||||
+ TGIDL = -0.01
|
||||
+ TMEXP = 0
|
||||
+ TNOM = 25
|
||||
+ TOXP = 2.1E-09
|
||||
+ U0 = 0.02935
|
||||
+ UA = 1.133
|
||||
+ UA1 = 0.00134
|
||||
+ UCS = 0.2672
|
||||
+ UCSTE = 0
|
||||
+ UD = 0.0105
|
||||
+ UD1 = 0
|
||||
+ UP = 0
|
||||
+ UTE = 0
|
||||
+ UTL = 0.001
|
||||
+ VSAT = 48390
|
||||
+ WR = 1
|
||||
+ WTH0 = 2.60E-07
|
||||
+ XL = 0
|
||||
|
|
@ -1,110 +0,0 @@
|
|||
******** BSIM-MG 105 Sample Modelcard for PMOS ********
|
||||
|
||||
** The BSIM-MG sample modelcard below was not extracted/obtained
|
||||
** from/based on any real technologies. It should not be used for any
|
||||
** other purposes except for benchmarking the implementation of BSIM-MG
|
||||
** against BSIM Team's standard results
|
||||
|
||||
.model pmos1 PMOS level=17
|
||||
+ AGIDL =3.000p
|
||||
+ AGISL =3.000p
|
||||
+ AIGBINV =11.10m
|
||||
+ AIGC =13.60m
|
||||
+ AT = 0.007
|
||||
+ BG0SUB =1.120
|
||||
+ BGIDL =350.0E6
|
||||
+ BGISL =350.0E6
|
||||
+ BIGBINV =-1.000m
|
||||
+ BIGC =1.710m
|
||||
+ BULKMOD = 1
|
||||
+ CDSC =13.00m
|
||||
+ CDSCD =10.00m
|
||||
+ CFS = 1.0e-10
|
||||
+ CFD = 1.0e-10
|
||||
+ CGEOMOD = 0
|
||||
+ CGSL = 1.0e-10
|
||||
+ CGDL = 1.0e-10
|
||||
+ CIGBINV =6.000m
|
||||
+ CIGC =75.00m
|
||||
+ CIT =0.000
|
||||
+ CTH0 = 2.0e-5
|
||||
+ DELTAW =0.000
|
||||
+ DELTAWCV =0.000
|
||||
+ TYPE = 0.000
|
||||
+ DLC =0.000
|
||||
+ DROUT =0.530
|
||||
+ DSUB =0.530
|
||||
+ DVT0 =0.000
|
||||
+ DVT1 =600.0m
|
||||
+ EASUB =4.050
|
||||
+ EGIDL =0.000
|
||||
+ EGISL =0.000
|
||||
+ EIGBINV =1.100
|
||||
+ EOT = 1.0n
|
||||
+ EPSROX =3.900
|
||||
+ EPSRSUB =11.90
|
||||
+ ETA0 =50.0m
|
||||
+ ETAMOB =2.000
|
||||
+ EU = 0.5
|
||||
+ FECH =0.500
|
||||
+ FECHCV =1.000
|
||||
+ GEOMOD =1.000
|
||||
+ GIDLMOD =1.000
|
||||
+ HFIN = 30n
|
||||
+ IGBMOD =1.000
|
||||
+ IGCMOD =1.000
|
||||
+ K1RSCE =0.000
|
||||
+ KSATIV =1.000
|
||||
+ KT1 = 0.0
|
||||
+ LINT =0.000
|
||||
+ LL =0.000
|
||||
+ LLC =0.000
|
||||
+ LLN =1.000
|
||||
+ LPA =0.000
|
||||
+ LPE0 =5.000n
|
||||
+ MEXP = 3
|
||||
+ NBODY = 1E+24
|
||||
+ NC0SUB =2.86000E+25
|
||||
+ NGATE = 0.0
|
||||
+ NI0SUB =1.10000E+16
|
||||
+ NIGBINV =3.000
|
||||
+ NSD =2.00000E+26
|
||||
+ PCLM =5.000m
|
||||
+ PDIBL1 = 0.300
|
||||
+ PDIBL2 = 0.000
|
||||
+ PHIN =50.00m
|
||||
+ PHIG = 4.610
|
||||
+ PRWGS = 0.000
|
||||
+ PVAG = 0.000
|
||||
+ QMFACTOR = 0.000
|
||||
+ RDSW = 100.0
|
||||
+ RDSWMIN = 0.0
|
||||
+ RSHS = 2.0
|
||||
+ RTH0 = 0.05
|
||||
+ U0 =20.00m
|
||||
+ UA = 1.000
|
||||
+ UA1 = 1.032m
|
||||
+ UCS = 1.0
|
||||
+ UD = 1.0
|
||||
+ UP =0.000
|
||||
+ UTE = 0.000
|
||||
+ UTL =-1.497m
|
||||
+ VSAT =150.0K
|
||||
+ WR =1.000
|
||||
+ XL =-5n
|
||||
+ IIMOD =0.0
|
||||
+ BETAII0 = 0
|
||||
+ BETAII1 = .028
|
||||
+ BETAII2 = .067
|
||||
+ TII = -0.7
|
||||
+ SII0 = 3.4
|
||||
+ SII1 = .8
|
||||
+ SII2 = .08
|
||||
+ SIID = 0.08
|
||||
+ ESATII = 1.7e6
|
||||
+ LII = 3e-9
|
||||
+ RGATEMOD = 0
|
||||
+ RGFIN = 100
|
||||
+ NQSMOD = 0
|
||||
+ RDSMOD = 0
|
||||
+ SHMOD = 0
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
*Samle netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
* Drain Noise Simulation
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
.temp 27
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.nmos"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vds 1 0 dc=1v
|
||||
vgs gate 0 dc=0.5v ac=1
|
||||
vbs bulk 0 dc=0v
|
||||
|
||||
* --- Circuit ---
|
||||
lbias 1 drain 1m
|
||||
cload drain 2 1m
|
||||
rload 2 0 R=1 noise=0
|
||||
M1 drain gate 0 bulk 0 nmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
|
||||
* --- Analysis ---
|
||||
*.op
|
||||
**.dc vgs -0.5 1.5 0.01
|
||||
**.print dc i(lbias)
|
||||
*.ac dec 11 1k 100g
|
||||
*.noise v(drain) vgs 1
|
||||
**.print ac i(cload)
|
||||
*.print ac v(drain)
|
||||
*.print noise inoise onoise
|
||||
|
||||
.control
|
||||
op
|
||||
|
||||
ac dec 11 1k 100g
|
||||
plot vdb(drain)
|
||||
|
||||
noise v(drain) vgs dec 11 1k 100g
|
||||
print all
|
||||
echo "silence in the studio, no noise today"
|
||||
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
* Geometry-dependent Rds
|
||||
|
||||
.option abstol=1e-6 reltol=1e-6 post ingold
|
||||
.temp 27
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
|
||||
.model nmos2 NMOS level=17
|
||||
+ DEVTYPE=1
|
||||
+ RGEOMOD=1
|
||||
+ HEPI=15n
|
||||
+ CRATIO=0.5
|
||||
+ DELTAPRSD=12.42n
|
||||
+ RHOC=1.0p
|
||||
+ LSP=15n
|
||||
+ HFIN=30n
|
||||
+ NSD=2.0e+26
|
||||
+ LINT = 0
|
||||
|
||||
.model pmos2 PMOS level=17
|
||||
+ DEVTYPE=0
|
||||
+ RGEOMOD=1
|
||||
+ HEPI=15n
|
||||
+ CRATIO=0.5
|
||||
+ DELTAPRSD=12.42n
|
||||
+ RHOC=1.0p
|
||||
+ LSP=15n
|
||||
+ HFIN=30n
|
||||
+ NSD=2.0e+26
|
||||
+ LINT = 0
|
||||
|
||||
.param fp = 45n
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vds supply 0 dc=0
|
||||
vgs gate 0 dc=0
|
||||
vbs bulk 0 dc=0
|
||||
|
||||
* --- Transistor ---
|
||||
Mn1 supply gate 0 bulk 0 nmos2 TFIN=15n L=30n NFIN=10 FPITCH=fp LRSD=20n
|
||||
Mn2 supply gate 0 bulk 0 nmos2 TFIN=15n L=30n NFIN=10 FPITCH=fp LRSD=40n
|
||||
Mn3 supply gate 0 bulk 0 nmos2 TFIN=15n L=30n NFIN=10 FPITCH=fp LRSD=60n
|
||||
Mn4 supply gate 0 bulk 0 nmos2 TFIN=15n L=30n NFIN=10 FPITCH=fp LRSD=80n
|
||||
Mp1 supply gate 0 bulk 0 pmos2 TFIN=15n L=30n NFIN=10 FPITCH=fp LRSD=20n
|
||||
Mp2 supply gate 0 bulk 0 pmos2 TFIN=15n L=30n NFIN=10 FPITCH=fp LRSD=40n
|
||||
Mp3 supply gate 0 bulk 0 pmos2 TFIN=15n L=30n NFIN=10 FPITCH=fp LRSD=60n
|
||||
Mp4 supply gate 0 bulk 0 pmos2 TFIN=15n L=30n NFIN=10 FPITCH=fp LRSD=80n
|
||||
|
||||
* --- DC Analysis ---
|
||||
.dc vgs 0.0 1.0 0.1
|
||||
.print dc Xn1:RSGEO Xn2:RSGEO Xn3:RSGEO Xn4:RSGEO
|
||||
.print dc Xp1:RSGEO Xp2:RSGEO Xp3:RSGEO Xp4:RSGEO
|
||||
|
||||
.control
|
||||
save @Mn1[RSGEO] @Mn2[RSGEO] @Mn3[RSGEO] @Mn4[RSGEO]
|
||||
save @Mp1[RSGEO] @Mp2[RSGEO] @Mp3[RSGEO] @Mp4[RSGEO]
|
||||
run
|
||||
plot @Mn1[RSGEO] @Mn2[RSGEO] @Mn3[RSGEO] @Mn4[RSGEO]
|
||||
plot @Mp1[RSGEO] @Mp2[RSGEO] @Mp3[RSGEO] @Mp4[RSGEO]
|
||||
|
||||
alter @mn1[FPITCH] = 90n
|
||||
alter @mn2[FPITCH] = 90n
|
||||
alter @mn3[FPITCH] = 90n
|
||||
alter @mn4[FPITCH] = 90n
|
||||
alter @mp1[FPITCH] = 90n
|
||||
alter @mp2[FPITCH] = 90n
|
||||
alter @mp3[FPITCH] = 90n
|
||||
alter @mp4[FPITCH] = 90n
|
||||
run
|
||||
plot @Mn1[RSGEO] @Mn2[RSGEO] @Mn3[RSGEO] @Mn4[RSGEO]
|
||||
plot @Mp1[RSGEO] @Mp2[RSGEO] @Mp3[RSGEO] @Mp4[RSGEO]
|
||||
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
*Sample netlist for BSIM-MG
|
||||
* (exec-spice "ngspice %s" t)
|
||||
*17-stage ring oscillator
|
||||
|
||||
*.options abstol=1e-6 reltol=1e-6 post ingold
|
||||
.options abstol=1e-6 reltol=1e-6 post ingold dcon=1
|
||||
|
||||
*.hdl "bsimcmg.va"
|
||||
.include "modelcard.nmos"
|
||||
.include "modelcard.pmos"
|
||||
|
||||
* --- Voltage Sources ---
|
||||
vdd supply 0 dc=1.0
|
||||
|
||||
* --- Inverter Subcircuit ---
|
||||
.subckt mg_inv vin vout vdd gnd
|
||||
mp1 vout vin vdd gnd 0 pmos1 TFIN=15n L=30n NFIN=10 ASEO=1.5e-14 ADEO=1.5e-14 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
mn1 vout vin gnd gnd 0 nmos1 TFIN=15n L=30n NFIN=10 ASEO=1.5e-14 ADEO=1.5e-14 NRS=1 NRD=1
|
||||
+ FPITCH = 4.00E-08
|
||||
|
||||
.ends
|
||||
|
||||
* --- 17 Stage Ring oscillator ---
|
||||
Xinv1 1 2 supply 0 mg_inv
|
||||
Xinv2 2 3 supply 0 mg_inv
|
||||
Xinv3 3 4 supply 0 mg_inv
|
||||
Xinv4 4 5 supply 0 mg_inv
|
||||
Xinv5 5 6 supply 0 mg_inv
|
||||
Xinv6 6 7 supply 0 mg_inv
|
||||
Xinv7 7 8 supply 0 mg_inv
|
||||
Xinv8 8 9 supply 0 mg_inv
|
||||
Xinv9 9 10 supply 0 mg_inv
|
||||
Xinv10 10 11 supply 0 mg_inv
|
||||
Xinv11 11 12 supply 0 mg_inv
|
||||
Xinv12 12 13 supply 0 mg_inv
|
||||
Xinv13 13 14 supply 0 mg_inv
|
||||
Xinv14 14 15 supply 0 mg_inv
|
||||
Xinv15 15 16 supply 0 mg_inv
|
||||
Xinv16 16 17 supply 0 mg_inv
|
||||
Xinv17 17 1 supply 0 mg_inv
|
||||
|
||||
* --- Initial Condition ---
|
||||
.ic v(1)=1
|
||||
|
||||
.tran 1p 1n
|
||||
|
||||
.print tran v(1)
|
||||
|
||||
.measure tran t1 when v(1)=0.5 cross=1
|
||||
.measure tran t2 when v(1)=0.5 cross=7
|
||||
.measure tran period param'(t2-t1)/3'
|
||||
.measure tran delay_per_stage param'period/34'
|
||||
|
||||
.control
|
||||
run
|
||||
plot v(1)
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -2187,53 +2187,6 @@
|
|||
</admst:if>
|
||||
</admst:when>
|
||||
|
||||
<admst:when test="[lower-case(name)='bsimcmg']">
|
||||
<admst:if test="[nilled(variable[name='nmos'])]">
|
||||
<admst:value-of select="analog"/>
|
||||
<admst:value-of select="."/>
|
||||
<admst:new datatype="variable" arguments="%p,nmos,%p">
|
||||
<admst:push into="module/variable" select="." onduplicate="ignore"/>
|
||||
<admst:value-to select="sizetype" value="scalar"/>
|
||||
<admst:value-to select="type" value="integer"/>
|
||||
<admst:value-to select="input" value="yes"/>
|
||||
<admst:value-to select="output" value="yes"/>
|
||||
<admst:value-to select="parametertype" value="model"/>
|
||||
<admst:value-to select="scope" value="global_model"/>
|
||||
<admst:new datatype="number" arguments="1">
|
||||
<admst:value-to select="scalingunit" value="1"/>
|
||||
<admst:value-of select="."/>
|
||||
<admst:value-of select="../module"/>
|
||||
<admst:new datatype="expression" arguments="%p,%p">
|
||||
<admst:value-of select="."/>
|
||||
<admst:value-to select="../../default" value="%p"/>
|
||||
</admst:new>
|
||||
</admst:new>
|
||||
</admst:new>
|
||||
</admst:if>
|
||||
<admst:if test="[nilled(variable[name='pmos'])]">
|
||||
<admst:value-of select="analog"/>
|
||||
<admst:value-of select="."/>
|
||||
<admst:new datatype="variable" arguments="%p,pmos,%p">
|
||||
<admst:push into="module/variable" select="." onduplicate="ignore"/>
|
||||
<admst:value-to select="sizetype" value="scalar"/>
|
||||
<admst:value-to select="type" value="integer"/>
|
||||
<admst:value-to select="input" value="yes"/>
|
||||
<admst:value-to select="output" value="yes"/>
|
||||
<admst:value-to select="parametertype" value="model"/>
|
||||
<admst:value-to select="scope" value="global_model"/>
|
||||
<admst:new datatype="number" arguments="1">
|
||||
<admst:value-to select="scalingunit" value="1"/>
|
||||
<admst:value-of select="."/>
|
||||
<admst:value-of select="../module"/>
|
||||
<admst:new datatype="expression" arguments="%p,%p">
|
||||
<admst:value-of select="."/>
|
||||
<admst:value-to select="../../default" value="%p"/>
|
||||
</admst:new>
|
||||
</admst:new>
|
||||
</admst:new>
|
||||
</admst:if>
|
||||
</admst:when>
|
||||
|
||||
<admst:otherwise>
|
||||
<admst:value-of select="name"/>
|
||||
<admst:fatal format="%s: device not handled by the adms ngspice interface\n"/>
|
||||
|
|
|
|||
|
|
@ -1,117 +0,0 @@
|
|||
// ********************************************************
|
||||
// **** BSIM-CMG 110.0.0 released by Sourabh Khandelwal on 01/01/2016 *****/
|
||||
// * BSIM Common Multi-Gate Model Equations (Verilog-A)
|
||||
// ********************************************************
|
||||
//
|
||||
// ********************************************************
|
||||
// * Copyright 2016 Regents of the University of California.
|
||||
// * All rights reserved.
|
||||
// *
|
||||
// * Project Director: Prof. Chenming Hu.
|
||||
// * Authors: Sriramkumar V., Navid Paydavosi, Juan Duarte, Darsen Lu, Sourabh Khandelwal
|
||||
// * Chung-Hsun Lin, Mohan Dunga, Shijing Yao,
|
||||
// * Ali Niknejad, Chenming Hu
|
||||
// ********************************************************
|
||||
// ********************************************************
|
||||
// * NONDISCLOSURE STATEMENT
|
||||
// Software is distributed as is, completely without warranty or service
|
||||
// support. The University of California and its employees are not liable
|
||||
// for the condition or performance of the software.
|
||||
// The University of California owns the copyright and grants users a perpetual,
|
||||
// irrevocable, worldwide, non-exclusive, royalty-free license with
|
||||
// respect to the software as set forth below.
|
||||
// The University of California hereby disclaims all implied warranties.
|
||||
// The University of California grants the users the right to modify, copy,
|
||||
// and redistribute the software and documentation, both within the user's
|
||||
// organization and externally, subject to the following restrictions
|
||||
// 1. The users agree not to charge for the University of California code
|
||||
// itself but may charge for additions, extensions, or support.
|
||||
// 2. In any product based on the software, the users agree to acknowledge
|
||||
// the University of California that developed the software. This
|
||||
// acknowledgment shall appear in the product documentation.
|
||||
// 3. The users agree to obey all U.S. Government restrictions governing
|
||||
// redistribution or export of the software.
|
||||
// 4. The users agree to reproduce any copyright notice which appears on
|
||||
// the software on any copy or modification of such made available
|
||||
// to others
|
||||
// Agreed to on __Jan 01, 2016__________________
|
||||
// By: ___University of California, Berkeley____
|
||||
// ___Chenming Hu_____________________
|
||||
// ___Professor in Graduate School _______
|
||||
// ********************************************************
|
||||
|
||||
|
||||
`include "constants.vams"
|
||||
`include "disciplines.vams"
|
||||
|
||||
/**************************************************************/
|
||||
/* SHMOD is a model parameter */
|
||||
/* SHMOD = 1 : Self-heating turned on */
|
||||
/* SHMOD = 0 : Self-heating turned off */
|
||||
/* */
|
||||
/* RDSMOD is a model parameter */
|
||||
/* RDSMOD = 1 : External source/drain resistance model */
|
||||
/* RDSMOD = 0 : Internal source/drain resistance model */
|
||||
/* RDSMOD = 2 : Internal Bias Dependent and Bias Independent part of source/drain resistance */
|
||||
/* */
|
||||
/* NQSMOD is a model parameter */
|
||||
/* NQSMOD = 1 : NQS Resistance / gi node turned on */
|
||||
/* NQSMOD = 0 : NQS Resistance / gi node turned off */
|
||||
/* */
|
||||
/* RGATEMOD is a model parameter */
|
||||
/* RGATEMOD = 1 : Gate Resistance / ge node turned on */
|
||||
/* RGATEMOD = 0 : Gate Resistance / ge node turned off */
|
||||
/**************************************************************/
|
||||
//
|
||||
// In Verilog-A the number of internal nodes cannot be controlled by
|
||||
// a model parameter. Therefore we use `define statements
|
||||
// to control it. Comment the following lines whenever
|
||||
// possible for best computational efficiency.
|
||||
`define __OPINFO__
|
||||
`define __DEBUG__
|
||||
`define __SHMOD__
|
||||
`define __RDSMOD__
|
||||
//`define __NQSMOD1__
|
||||
//`define __NQSMOD2__
|
||||
`define __RGATEMOD__
|
||||
`define __TNOIMOD1__ //Correlated Thermal Noise Switch
|
||||
|
||||
`include "common_defs.include"
|
||||
`include "bsimcmg_cfringe.include"
|
||||
|
||||
|
||||
module bsimcmg(d, g, s, e, t);
|
||||
inout g, d, s, e, t;
|
||||
electrical g, d, s, e;
|
||||
electrical si, di;
|
||||
|
||||
`ifdef __NQSMOD1__
|
||||
electrical gi;
|
||||
`endif
|
||||
|
||||
`ifdef __NQSMOD2__
|
||||
electrical q;
|
||||
`endif
|
||||
|
||||
`ifdef __RGATEMOD__
|
||||
electrical ge;
|
||||
`endif
|
||||
|
||||
`ifdef __SHMOD__
|
||||
thermal t;
|
||||
branch (t) rth_branch;
|
||||
branch (t) ith_branch;
|
||||
`else
|
||||
thermal t;
|
||||
`endif
|
||||
|
||||
// Internal node controlled by Correlated Thermal Noise Switch
|
||||
`ifdef __TNOIMOD1__
|
||||
electrical N;
|
||||
`endif
|
||||
|
||||
`include "bsimcmg_body.include"
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
|
|
@ -1,756 +0,0 @@
|
|||
// ********************************************************
|
||||
// **** BSIM-CMG 110.0.0 released by Sourabh Khandelwal on 01/01/2016 ****/
|
||||
// * BSIM Common Multi-Gate Model Equations (Verilog-A)
|
||||
// ********************************************************
|
||||
//
|
||||
// ********************************************************
|
||||
// * Copyright 2016 Regents of the University of California.
|
||||
// * All rights reserved.
|
||||
// *
|
||||
// * Project Director: Prof. Chenming Hu.
|
||||
// * Authors: Sriramkumar V., Navid Paydavosi, Juan Duarte, Darsen Lu, Sourabh Khandelwal
|
||||
// * Chung-Hsun Lin, Mohan Dunga, Shijing Yao,
|
||||
// * Ali Niknejad, Chenming Hu
|
||||
// ********************************************************
|
||||
// ********************************************************
|
||||
// * NONDISCLOSURE STATEMENT
|
||||
// Software is distributed as is, completely without warranty or service
|
||||
// support. The University of California and its employees are not liable
|
||||
// for the condition or performance of the software.
|
||||
// The University of California owns the copyright and grants users a perpetual,
|
||||
// irrevocable, worldwide, non-exclusive, royalty-free license with
|
||||
// respect to the software as set forth below.
|
||||
// The University of California hereby disclaims all implied warranties.
|
||||
// The University of California grants the users the right to modify, copy,
|
||||
// and redistribute the software and documentation, both within the user's
|
||||
// organization and externally, subject to the following restrictions
|
||||
// 1. The users agree not to charge for the University of California code
|
||||
// itself but may charge for additions, extensions, or support.
|
||||
// 2. In any product based on the software, the users agree to acknowledge
|
||||
// the University of California that developed the software. This
|
||||
// acknowledgment shall appear in the product documentation.
|
||||
// 3. The users agree to obey all U.S. Government restrictions governing
|
||||
// redistribution or export of the software.
|
||||
// 4. The users agree to reproduce any copyright notice which appears on
|
||||
// the software on any copy or modification of such made available
|
||||
// to others
|
||||
// Agreed to on __Jan 01, 2016_________________
|
||||
// By: ___University of California, Berkeley____
|
||||
// ___Chenming Hu_____________________
|
||||
// ___Professor in Graduate School _______
|
||||
// ********************************************************
|
||||
`MPRnb( LNBODY ,0.0 ,"m^-2" ,"" )
|
||||
`MPRnb( NNBODY ,0.0 ,"m^-2" ,"" )
|
||||
`MPRnb( PNBODY ,0.0 ,"m^-1" ,"" )
|
||||
|
||||
`MPRnb( LPHIG ,0.0 ,"m*eV" ,"" )
|
||||
`MPRnb( NPHIG ,0.0 ,"m*eV" ,"" )
|
||||
`MPRnb( PPHIG ,0.0 ,"(m^2)*eV" ,"" )
|
||||
|
||||
`MPRnb( LNGATE ,0.0 ,"m^-2" ,"" )
|
||||
`MPRnb( NNGATE ,0.0 ,"m^-2" ,"" )
|
||||
`MPRnb( PNGATE ,0.0 ,"m^-1" ,"" )
|
||||
|
||||
`MPRnb( LCIT ,0.0 ,"F/m" ,"" )
|
||||
`MPRnb( NCIT ,0.0 ,"F/m" ,"" )
|
||||
`MPRnb( PCIT ,0.0 ,"F" ,"" )
|
||||
|
||||
`MPRnb( LCITR ,LCIT ,"" ,"" )
|
||||
`MPRnb( NCITR ,NCIT ,"" ,"" )
|
||||
`MPRnb( PCITR ,PCIT ,"" ,"" )
|
||||
|
||||
`MPRnb( LCDSC ,0.0 ,"F/m" ,"" )
|
||||
`MPRnb( NCDSC ,0.0 ,"F/m" ,"" )
|
||||
`MPRnb( PCDSC ,0.0 ,"F" ,"" )
|
||||
|
||||
`MPRnb( LCDSCD ,0.0 ,"F/m" ,"" )
|
||||
`MPRnb( NCDSCD ,0.0 ,"F/m" ,"" )
|
||||
`MPRnb( PCDSCD ,0.0 ,"F" ,"" )
|
||||
|
||||
`MPRnb( LCDSCDR ,LCDSCD ,"F/m" ,"" )
|
||||
`MPRnb( NCDSCDR ,NCDSCD ,"F/m" ,"" )
|
||||
`MPRnb( PCDSCDR ,PCDSCD ,"F" ,"" )
|
||||
|
||||
`MPRnb( LDVT0 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NDVT0 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PDVT0 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LDVT1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NDVT1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PDVT1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LDVT1SS ,LDVT1 ,"" ,"" )
|
||||
`MPRnb( NDVT1SS ,NDVT1 ,"" ,"" )
|
||||
`MPRnb( PDVT1SS ,PDVT1 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPHIN ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NPHIN ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PPHIN ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LETA0 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NETA0 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PETA0 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LETA0R ,LETA0 ,"" ,"" )
|
||||
`MPRnb( NETA0R ,NETA0 ,"" ,"" )
|
||||
`MPRnb( PETA0R ,PETA0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LDSUB ,0.0 ,"" ,"" )
|
||||
`MPRnb( NDSUB ,0.0 ,"" ,"" )
|
||||
`MPRnb( PDSUB ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LK1RSCE ,0.0 ,"m*V^(1/2)" ,"" )
|
||||
`MPRnb( NK1RSCE ,0.0 ,"m*V^(1/2)" ,"" )
|
||||
`MPRnb( PK1RSCE ,0.0 ,"(m^2)*V^(1/2)" ,"" )
|
||||
|
||||
`MPRnb( LLPE0 ,0.0 ,"m^2" ,"" )
|
||||
`MPRnb( NLPE0 ,0.0 ,"m^2" ,"" )
|
||||
`MPRnb( PLPE0 ,0.0 ,"m^3" ,"" )
|
||||
|
||||
`MPRnb( LDVTSHIFT ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NDVTSHIFT ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PDVTSHIFT ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LDVTSHIFTR ,LDVTSHIFT ,"" ,"" )
|
||||
`MPRnb( NDVTSHIFTR ,NDVTSHIFT ,"" ,"" )
|
||||
`MPRnb( PDVTSHIFTR ,PDVTSHIFT ,"" ,"" )
|
||||
|
||||
`MPRnb( LPHIBE ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NPHIBE ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PPHIBE ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LK0 ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NK0 ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PK0 ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LK01 ,0.0 ,"(m*V)/K" ,"" )
|
||||
`MPRnb( NK01 ,0.0 ,"(m*V)/K" ,"" )
|
||||
`MPRnb( PK01 ,0.0 ,"(m^2*V)/K" ,"" )
|
||||
|
||||
`MPRnb( LK0SI ,0.0 ,"" ,"" )
|
||||
`MPRnb( NK0SI ,0.0 ,"" ,"" )
|
||||
`MPRnb( PK0SI ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LK0SI1 ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( NK0SI1 ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( PK0SI1 ,0.0 ,"(m^2)/K" ,"" )
|
||||
|
||||
`MPRnb( LK1 ,0.0 ,"m*V^(1/2)" ,"" )
|
||||
`MPRnb( NK1 ,0.0 ,"m*V^(1/2)" ,"" )
|
||||
`MPRnb( PK1 ,0.0 ,"(m^2)*V^(1/2)" ,"" )
|
||||
|
||||
`MPRnb( LK11 ,0.0 ,"(m*V^(-1/2))/K" ,"" )
|
||||
`MPRnb( NK11 ,0.0 ,"(m*V^(-1/2))/K" ,"" )
|
||||
`MPRnb( PK11 ,0.0 ,"(m^2*V^(-1/2))/K" ,"" )
|
||||
|
||||
`MPRnb( LK2SI ,LK0SI ,"" ,"" )
|
||||
`MPRnb( NK2SI ,NK0SI ,"" ,"" )
|
||||
`MPRnb( PK2SI ,PK0SI ,"" ,"" )
|
||||
|
||||
`MPRnb( LK2SI1 ,LK0SI1 ,"" ,"" )
|
||||
`MPRnb( NK2SI1 ,NK0SI1 ,"" ,"" )
|
||||
`MPRnb( PK2SI1 ,PK0SI1 ,"" ,"" )
|
||||
|
||||
`MPRnb( LK0SISAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( NK0SISAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( PK0SISAT ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LK0SISAT1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NK0SISAT1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PK0SISAT1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LK2SISAT ,LK0SISAT ,"" ,"" )
|
||||
`MPRnb( NK2SISAT ,NK0SISAT ,"" ,"" )
|
||||
`MPRnb( PK2SISAT ,PK0SISAT ,"" ,"" )
|
||||
|
||||
`MPRnb( LK2SISAT1 ,LK0SISAT1 ,"" ,"" )
|
||||
`MPRnb( NK2SISAT1 ,NK0SISAT1 ,"" ,"" )
|
||||
`MPRnb( PK2SISAT1 ,PK0SISAT1 ,"" ,"" )
|
||||
|
||||
`MPRnb( LK2SAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( NK2SAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( PK2SAT ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LK2SAT1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NK2SAT1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PK2SAT1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LK2 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NK2 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PK2 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LK21 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NK21 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PK21 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LDVTB ,0.0 ,"" ,"" )
|
||||
`MPRnb( NDVTB ,0.0 ,"" ,"" )
|
||||
`MPRnb( PDVTB ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LLPEB ,0.0 ,"" ,"" )
|
||||
`MPRnb( NLPEB ,0.0 ,"" ,"" )
|
||||
`MPRnb( PLPEB ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LQMFACTOR ,0.0 ,"" ,"" )
|
||||
`MPRnb( NQMFACTOR ,0.0 ,"" ,"" )
|
||||
`MPRnb( PQMFACTOR ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LQMTCENCV ,0.0 ,"" ,"" )
|
||||
`MPRnb( NQMTCENCV ,0.0 ,"" ,"" )
|
||||
`MPRnb( PQMTCENCV ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LQMTCENCVA ,0.0 ,"" ,"" )
|
||||
`MPRnb( NQMTCENCVA ,0.0 ,"" ,"" )
|
||||
`MPRnb( PQMTCENCVA ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LVSAT ,0.0 ,"(m^2)/s" ,"" )
|
||||
`MPRnb( NVSAT ,0.0 ,"(m^2)/s" ,"" )
|
||||
`MPRnb( PVSAT ,0.0 ,"(m^3)/s" ,"" )
|
||||
|
||||
`MPRnb( LVSATR ,LVSAT ,"" ,"" )
|
||||
`MPRnb( NVSATR ,NVSAT ,"" ,"" )
|
||||
`MPRnb( PVSATR ,PVSAT ,"" ,"" )
|
||||
|
||||
`MPRnb( LVSAT1 ,LVSAT ,"" ,"" )
|
||||
`MPRnb( NVSAT1 ,NVSAT ,"" ,"" )
|
||||
`MPRnb( PVSAT1 ,PVSAT ,"" ,"" )
|
||||
|
||||
`MPRnb( LVSAT1R ,LVSAT1 ,"(m^2)/s" ,"" )
|
||||
`MPRnb( NVSAT1R ,NVSAT1 ,"(m^2)/s" ,"" )
|
||||
`MPRnb( PVSAT1R ,PVSAT1 ,"(m^3)/s" ,"" )
|
||||
|
||||
`MPRnb( LPSAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPSAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPSAT ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LDELTAVSAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( NDELTAVSAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( PDELTAVSAT ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LKSATIV ,0.0 ,"" ,"" )
|
||||
`MPRnb( NKSATIV ,0.0 ,"" ,"" )
|
||||
`MPRnb( PKSATIV ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LKSATIVR ,LKSATIV ,"" ,"" )
|
||||
`MPRnb( NKSATIVR ,NKSATIV ,"" ,"" )
|
||||
`MPRnb( PKSATIVR ,PKSATIV ,"" ,"" )
|
||||
|
||||
`MPRnb( LVSATCV ,0.0 ,"(m^2)/s" ,"" )
|
||||
`MPRnb( NVSATCV ,0.0 ,"(m^2)/s" ,"" )
|
||||
`MPRnb( PVSATCV ,0.0 ,"(m^3)/s" ,"" )
|
||||
|
||||
`MPRnb( LPSATCV ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPSATCV ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPSATCV ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LDELTAVSATCV ,0.0 ,"" ,"" )
|
||||
`MPRnb( NDELTAVSATCV ,0.0 ,"" ,"" )
|
||||
`MPRnb( PDELTAVSATCV ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LMEXP ,0.0 ,"" ,"" )
|
||||
`MPRnb( NMEXP ,0.0 ,"" ,"" )
|
||||
`MPRnb( PMEXP ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LMEXPR ,LMEXP ,"" ,"" )
|
||||
`MPRnb( NMEXPR ,NMEXP ,"" ,"" )
|
||||
`MPRnb( PMEXPR ,PMEXP ,"" ,"" )
|
||||
|
||||
`MPRnb( LPTWG ,0.0 ,"m*(V^-2)" ,"" )
|
||||
`MPRnb( NPTWG ,0.0 ,"m*(V^-2)" ,"" )
|
||||
`MPRnb( PPTWG ,0.0 ,"m^2*(V^-2)" ,"" )
|
||||
|
||||
`MPRnb( LPTWGR ,LPTWG ,"m*(V^-2)" ,"" )
|
||||
`MPRnb( NPTWGR ,NPTWG ,"m*(V^-2)" ,"" )
|
||||
`MPRnb( PPTWGR ,PPTWG ,"m^2*(V^-2)" ,"" )
|
||||
|
||||
`MPRnb( LU0 ,0.0 ,"(m^3)/V*s" ,"" )
|
||||
`MPRnb( NU0 ,0.0 ,"(m^3)/V*s" ,"" )
|
||||
`MPRnb( PU0 ,0.0 ,"(m^4)/V*s" ,"" )
|
||||
|
||||
`MPRnb( LU0R ,LU0 ,"" ,"" )
|
||||
`MPRnb( NU0R ,NU0 ,"" ,"" )
|
||||
`MPRnb( PU0R ,PU0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LETAMOB ,0.0 ,"" ,"" )
|
||||
`MPRnb( NETAMOB ,0.0 ,"" ,"" )
|
||||
`MPRnb( PETAMOB ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUP ,0.0 ,"m*(um^LPA)" ,"" )
|
||||
`MPRnb( NUP ,0.0 ,"m*(um^LPA)" ,"" )
|
||||
`MPRnb( PUP ,0.0 ,"m^2*(um^LPA)" ,"" )
|
||||
|
||||
`MPRnb( LUPR ,LUP ,"" ,"" )
|
||||
`MPRnb( NUPR ,NUP ,"" ,"" )
|
||||
`MPRnb( PUPR ,PUP ,"" ,"" )
|
||||
|
||||
`MPRnb( LUA ,0.0 ,"m*((cm/MV)^EU)" ,"" )
|
||||
`MPRnb( NUA ,0.0 ,"m*((cm/MV)^EU)" ,"" )
|
||||
`MPRnb( PUA ,0.0 ,"m^2*((cm/MV)^EU)" ,"" )
|
||||
|
||||
`MPRnb( LUAR ,LUA ,"" ,"" )
|
||||
`MPRnb( NUAR ,NUA ,"" ,"" )
|
||||
`MPRnb( PUAR ,PUA ,"" ,"" )
|
||||
|
||||
`MPRnb( LUC ,0.0 ,"" ,"" )
|
||||
`MPRnb( NUC ,0.0 ,"" ,"" )
|
||||
`MPRnb( PUC ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUCR ,LUC ,"" ,"" )
|
||||
`MPRnb( NUCR ,NUC ,"" ,"" )
|
||||
`MPRnb( PUCR ,PUC ,"" ,"" )
|
||||
|
||||
`MPRnb( LEU ,0.0 ,"m*(cm/MV)" ,"" )
|
||||
`MPRnb( NEU ,0.0 ,"m*(cm/MV)" ,"" )
|
||||
`MPRnb( PEU ,0.0 ,"m^2*(cm/MV)" ,"" )
|
||||
|
||||
`MPRnb( LEUR ,LEU ,"" ,"" )
|
||||
`MPRnb( NEUR ,NEU ,"" ,"" )
|
||||
`MPRnb( PEUR ,PEU ,"" ,"" )
|
||||
|
||||
`MPRnb( LUD ,0.0 ,"m*(cm/MV)" ,"" )
|
||||
`MPRnb( NUD ,0.0 ,"m*(cm/MV)" ,"" )
|
||||
`MPRnb( PUD ,0.0 ,"m^2*(cm/MV)" ,"" )
|
||||
|
||||
`MPRnb( LUDR ,LUD ,"" ,"" )
|
||||
`MPRnb( NUDR ,NUD ,"" ,"" )
|
||||
`MPRnb( PUDR ,PUD ,"" ,"" )
|
||||
|
||||
`MPRnb( LUCS ,0.0 ,"" ,"" )
|
||||
`MPRnb( NUCS ,0.0 ,"" ,"" )
|
||||
`MPRnb( PUCS ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPCLM ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPCLM ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPCLM ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPCLMR ,LPCLM ,"" ,"" )
|
||||
`MPRnb( NPCLMR ,NPCLM ,"" ,"" )
|
||||
`MPRnb( PPCLMR ,PPCLM ,"" ,"" )
|
||||
|
||||
`MPRnb( LPCLMG ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPCLMG ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPCLMG ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPCLMCV ,LPCLM ,"" ,"" )
|
||||
`MPRnb( NPCLMCV ,NPCLM ,"" ,"" )
|
||||
`MPRnb( PPCLMCV ,PPCLM ,"" ,"" )
|
||||
|
||||
`MPRnb( LA1 ,0.0 ,"m*(V^-2)" ,"" )
|
||||
`MPRnb( NA1 ,0.0 ,"m*(V^-2)" ,"" )
|
||||
`MPRnb( PA1 ,0.0 ,"m^2*(V^-2)" ,"" )
|
||||
|
||||
`MPRnb( LA11 ,0.0 ,"m*(V^-2/K)" ,"" )
|
||||
`MPRnb( NA11 ,0.0 ,"m*(V^-2/K)" ,"" )
|
||||
`MPRnb( PA11 ,0.0 ,"m^2*(V^-2/K)" ,"" )
|
||||
|
||||
`MPRnb( LA2 ,0.0 ,"m*(V^-1)" ,"" )
|
||||
`MPRnb( NA2 ,0.0 ,"m*(V^-1)" ,"" )
|
||||
`MPRnb( PA2 ,0.0 ,"m^2*(V^-1)" ,"" )
|
||||
|
||||
`MPRnb( LA21 ,0.0 ,"m*(V^-1/K)" ,"" )
|
||||
`MPRnb( NA21 ,0.0 ,"m*(V^-1/K)" ,"" )
|
||||
`MPRnb( PA21 ,0.0 ,"m^2*(V^-1/K)" ,"" )
|
||||
|
||||
`MPRnb( LRDSW ,0.0 ,"m*(ohm-um^WR)" ,"" )
|
||||
`MPRnb( NRDSW ,0.0 ,"m*(ohm-um^WR)" ,"" )
|
||||
`MPRnb( PRDSW ,0.0 ,"(m^2)*(ohm-um^WR)" ,"" )
|
||||
|
||||
`MPRnb( LRSW ,0.0 ,"m*(ohm-um^WR)" ,"" )
|
||||
`MPRnb( NRSW ,0.0 ,"m*(ohm-um^WR)" ,"" )
|
||||
`MPRnb( PRSW ,0.0 ,"(m^2)*(ohm-um^WR)" ,"" )
|
||||
|
||||
`MPRnb( LRDW ,0.0 ,"m*(ohm-um^WR)" ,"" )
|
||||
`MPRnb( NRDW ,0.0 ,"m*(ohm-um^WR)" ,"" )
|
||||
`MPRnb( PRDW ,0.0 ,"(m^2)*(ohm-um^WR)" ,"" )
|
||||
|
||||
`MPRnb( LPRWGS ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NPRWGS ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PPRWGS ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LPRWGD ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NPRWGD ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PPRWGD ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LWR ,0.0 ,"" ,"" )
|
||||
`MPRnb( NWR ,0.0 ,"" ,"" )
|
||||
`MPRnb( PWR ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPDIBL1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPDIBL1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPDIBL1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPDIBL1R ,LPDIBL1 ,"" ,"" )
|
||||
`MPRnb( NPDIBL1R ,NPDIBL1 ,"" ,"" )
|
||||
`MPRnb( PPDIBL1R ,PPDIBL1 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPDIBL2 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPDIBL2 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPDIBL2 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPDIBL2R ,LPDIBL2 ,"" ,"" )
|
||||
`MPRnb( NPDIBL2R ,NPDIBL2 ,"" ,"" )
|
||||
`MPRnb( PPDIBL2R ,PPDIBL2 ,"" ,"" )
|
||||
|
||||
`MPRnb( LDROUT ,0.0 ,"" ,"" )
|
||||
`MPRnb( NDROUT ,0.0 ,"" ,"" )
|
||||
`MPRnb( PDROUT ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPVAG ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPVAG ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPVAG ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LAIGBINV ,0.0 ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( NAIGBINV ,0.0 ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( PAIGBINV ,0.0 ,"((F*s^2/g)^0.5)*m" ,"" )
|
||||
|
||||
`MPRnb( LAIGBINV1 ,0.0 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( NAIGBINV1 ,0.0 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( PAIGBINV1 ,0.0 ,"((F*s^2/g)^0.5)*(m/K)" ,"" )
|
||||
|
||||
`MPRnb( LBIGBINV ,0.0 ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( NBIGBINV ,0.0 ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( PBIGBINV ,0.0 ,"((F*s^2/g)^0.5)*(m/V)" ,"" )
|
||||
|
||||
`MPRnb( LCIGBINV ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NCIGBINV ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PCIGBINV ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LEIGBINV ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NEIGBINV ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PEIGBINV ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LNIGBINV ,0.0 ,"" ,"" )
|
||||
`MPRnb( NNIGBINV ,0.0 ,"" ,"" )
|
||||
`MPRnb( PNIGBINV ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LAIGBACC ,0.0 ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( NAIGBACC ,0.0 ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( PAIGBACC ,0.0 ,"((F*s^2/g)^0.5)*m" ,"" )
|
||||
|
||||
`MPRnb( LAIGBACC1 ,0.0 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( NAIGBACC1 ,0.0 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( PAIGBACC1 ,0.0 ,"((F*s^2/g)^0.5)*(m/K)" ,"" )
|
||||
|
||||
`MPRnb( LBIGBACC ,0.0 ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( NBIGBACC ,0.0 ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( PBIGBACC ,0.0 ,"((F*s^2/g)^0.5)*(m/V)" ,"" )
|
||||
|
||||
`MPRnb( LCIGBACC ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NCIGBACC ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PCIGBACC ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LNIGBACC ,0.0 ,"" ,"" )
|
||||
`MPRnb( NNIGBACC ,0.0 ,"" ,"" )
|
||||
`MPRnb( PNIGBACC ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LAIGC ,0.0 ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( NAIGC ,0.0 ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( PAIGC ,0.0 ,"((F*s^2/g)^0.5)*m" ,"" )
|
||||
|
||||
`MPRnb( LAIGC1 ,0.0 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( NAIGC1 ,0.0 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( PAIGC1 ,0.0 ,"((F*s^2/g)^0.5)*(m/K)" ,"" )
|
||||
|
||||
`MPRnb( LBIGC ,0.0 ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( NBIGC ,0.0 ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( PBIGC ,0.0 ,"((F*s^2/g)^0.5)*(m/V)" ,"" )
|
||||
|
||||
`MPRnb( LCIGC ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NCIGC ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PCIGC ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LPIGCD ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPIGCD ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPIGCD ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LAIGS ,0.0 ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( NAIGS ,0.0 ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( PAIGS ,0.0 ,"((F*s^2/g)^0.5)*m" ,"" )
|
||||
|
||||
`MPRnb( LAIGS1 ,0.0 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( NAIGS1 ,0.0 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( PAIGS1 ,0.0 ,"((F*s^2/g)^0.5)*(m/K)" ,"" )
|
||||
|
||||
`MPRnb( LBIGS ,0.0 ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( NBIGS ,0.0 ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( PBIGS ,0.0 ,"((F*s^2/g)^0.5)*(m/V)" ,"" )
|
||||
|
||||
`MPRnb( LCIGS ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NCIGS ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PCIGS ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LAIGD ,LAIGS ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( NAIGD ,NAIGS ,"(F*s^2/g)^0.5" ,"" )
|
||||
`MPRnb( PAIGD ,PAIGS ,"((F*s^2/g)^0.5)*m" ,"" )
|
||||
|
||||
`MPRnb( LAIGD1 ,LAIGS1 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( NAIGD1 ,NAIGS1 ,"((F*s^2/g)^0.5)/K" ,"" )
|
||||
`MPRnb( PAIGD1 ,PAIGS1 ,"((F*s^2/g)^0.5)*(m/K)" ,"" )
|
||||
|
||||
`MPRnb( LBIGD ,LBIGS ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( NBIGD ,NBIGS ,"((F*s^2/g)^0.5)/V" ,"" )
|
||||
`MPRnb( PBIGD ,PBIGS ,"((F*s^2/g)^0.5)*(m/V)" ,"" )
|
||||
|
||||
`MPRnb( LCIGD ,LCIGS ,"m/V" ,"" )
|
||||
`MPRnb( NCIGD ,NCIGS ,"m/V" ,"" )
|
||||
`MPRnb( PCIGD ,PCIGS ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LNTOX ,0.0 ,"" ,"" )
|
||||
`MPRnb( NNTOX ,0.0 ,"" ,"" )
|
||||
`MPRnb( PNTOX ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPOXEDGE ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPOXEDGE ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPOXEDGE ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LAGISL ,0.0 ,"m/ohm" ,"" )
|
||||
`MPRnb( NAGISL ,0.0 ,"m/ohm" ,"" )
|
||||
`MPRnb( PAGISL ,0.0 ,"(m^2)/ohm" ,"" )
|
||||
|
||||
`MPRnb( LBGISL ,0.0 ,"V" ,"" )
|
||||
`MPRnb( NBGISL ,0.0 ,"V" ,"" )
|
||||
`MPRnb( PBGISL ,0.0 ,"m*V" ,"" )
|
||||
|
||||
`MPRnb( LCGISL ,0.0 ,"m*(V^3)" ,"" )
|
||||
`MPRnb( NCGISL ,0.0 ,"m*(V^3)" ,"" )
|
||||
`MPRnb( PCGISL ,0.0 ,"(m^2)*(V^3)" ,"" )
|
||||
|
||||
`MPRnb( LEGISL ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NEGISL ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PEGISL ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LPGISL ,0.0 ,"" ,"" )
|
||||
`MPRnb( NPGISL ,0.0 ,"" ,"" )
|
||||
`MPRnb( PPGISL ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LAGIDL ,LAGISL ,"m/ohm" ,"" )
|
||||
`MPRnb( NAGIDL ,NAGISL ,"m/ohm" ,"" )
|
||||
`MPRnb( PAGIDL ,PAGISL ,"(m^2)/ohm" ,"" )
|
||||
|
||||
`MPRnb( LBGIDL ,LBGISL ,"V" ,"" )
|
||||
`MPRnb( NBGIDL ,NBGISL ,"V" ,"" )
|
||||
`MPRnb( PBGIDL ,PBGISL ,"m*V" ,"" )
|
||||
|
||||
`MPRnb( LCGIDL ,LCGISL ,"m*(V^3)" ,"" )
|
||||
`MPRnb( NCGIDL ,NCGISL ,"m*(V^3)" ,"" )
|
||||
`MPRnb( PCGIDL ,PCGISL ,"(m^2)*(V^3)" ,"" )
|
||||
|
||||
`MPRnb( LEGIDL ,LEGISL ,"m*V" ,"" )
|
||||
`MPRnb( NEGIDL ,NEGISL ,"m*V" ,"" )
|
||||
`MPRnb( PEGIDL ,PEGISL ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LPGIDL ,LPGISL ,"" ,"" )
|
||||
`MPRnb( NPGIDL ,NPGISL ,"" ,"" )
|
||||
`MPRnb( PPGIDL ,PPGISL ,"" ,"" )
|
||||
|
||||
`MPRnb( LALPHA0 ,0.0 ,"(m^2)/V" ,"" )
|
||||
`MPRnb( NALPHA0 ,0.0 ,"(m^2)/V" ,"" )
|
||||
`MPRnb( PALPHA0 ,0.0 ,"(m^3)/V" ,"" )
|
||||
|
||||
`MPRnb( LALPHA1 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NALPHA1 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PALPHA1 ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LALPHAII0 ,0.0 ,"(m^2)/V" ,"" )
|
||||
`MPRnb( NALPHAII0 ,0.0 ,"(m^2)/V" ,"" )
|
||||
`MPRnb( PALPHAII0 ,0.0 ,"(m^3)/V" ,"" )
|
||||
|
||||
`MPRnb( LALPHAII1 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NALPHAII1 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PALPHAII1 ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LBETA0 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NBETA0 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PBETA0 ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LBETAII0 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NBETAII0 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PBETAII0 ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LBETAII1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NBETAII1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PBETAII1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LBETAII2 ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NBETAII2 ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PBETAII2 ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LESATII ,0.0 ,"V" ,"" )
|
||||
`MPRnb( NESATII ,0.0 ,"V" ,"" )
|
||||
`MPRnb( PESATII ,0.0 ,"m*V" ,"" )
|
||||
|
||||
`MPRnb( LLII ,0.0 ,"(m^2)*V" ,"" )
|
||||
`MPRnb( NLII ,0.0 ,"(m^2)*V" ,"" )
|
||||
`MPRnb( PLII ,0.0 ,"(m^3)*V" ,"" )
|
||||
|
||||
`MPRnb( LSII0 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( NSII0 ,0.0 ,"m/V" ,"" )
|
||||
`MPRnb( PSII0 ,0.0 ,"(m^2)/V" ,"" )
|
||||
|
||||
`MPRnb( LSII1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NSII1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PSII1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LSII2 ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NSII2 ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PSII2 ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LSIID ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NSIID ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PSIID ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LCFS ,0.0 ,"F" ,"" )
|
||||
`MPRnb( NCFS ,0.0 ,"F" ,"" )
|
||||
`MPRnb( PCFS ,0.0 ,"F*m" ,"" )
|
||||
|
||||
`MPRnb( LCFD ,LCFS ,"F" ,"" )
|
||||
`MPRnb( NCFD ,NCFS ,"F" ,"" )
|
||||
`MPRnb( PCFD ,PCFS ,"F*m" ,"" )
|
||||
|
||||
`MPRnb( LCOVS ,0.0 ,"F" ,"" )
|
||||
`MPRnb( NCOVS ,0.0 ,"F" ,"" )
|
||||
`MPRnb( PCOVS ,0.0 ,"F*m" ,"" )
|
||||
|
||||
`MPRnb( LCOVD ,LCOVS ,"F" ,"" )
|
||||
`MPRnb( NCOVD ,NCOVS ,"F" ,"" )
|
||||
`MPRnb( PCOVD ,PCOVS ,"F*m" ,"" )
|
||||
|
||||
`MPRnb( LCGSL ,0.0 ,"F" ,"" )
|
||||
`MPRnb( NCGSL ,0.0 ,"F" ,"" )
|
||||
`MPRnb( PCGSL ,0.0 ,"F*m" ,"" )
|
||||
|
||||
`MPRnb( LCGDL ,LCGSL ,"F" ,"" )
|
||||
`MPRnb( NCGDL ,NCGSL ,"F" ,"" )
|
||||
`MPRnb( PCGDL ,PCGSL ,"F*m" ,"" )
|
||||
|
||||
`MPRnb( LCKAPPAS ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NCKAPPAS ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PCKAPPAS ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LCKAPPAD ,LCKAPPAS ,"m*V" ,"" )
|
||||
`MPRnb( NCKAPPAD ,NCKAPPAS ,"m*V" ,"" )
|
||||
`MPRnb( PCKAPPAD ,PCKAPPAS ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LCGBL ,0.0 ,"F" ,"" )
|
||||
`MPRnb( NCGBL ,0.0 ,"F" ,"" )
|
||||
`MPRnb( PCGBL ,0.0 ,"F*m" ,"" )
|
||||
|
||||
`MPRnb( LCKAPPAB ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NCKAPPAB ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PCKAPPAB ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LNTGEN ,0.0 ,"" ,"" )
|
||||
`MPRnb( NNTGEN ,0.0 ,"" ,"" )
|
||||
`MPRnb( PNTGEN ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LAIGEN ,0.0 ,"(m^-2)*(V^-1)" ,"" )
|
||||
`MPRnb( NAIGEN ,0.0 ,"(m^-2)*(V^-1)" ,"" )
|
||||
`MPRnb( PAIGEN ,0.0 ,"(m^-1)*(V^-1)" ,"" )
|
||||
|
||||
`MPRnb( LBIGEN ,0.0 ,"(m^-2)*(V^-3)" ,"" )
|
||||
`MPRnb( NBIGEN ,0.0 ,"(m^-2)*(V^-3)" ,"" )
|
||||
`MPRnb( PBIGEN ,0.0 ,"(m^-1)*(V^-3)" ,"" )
|
||||
|
||||
`MPRnb( LXRCRG1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NXRCRG1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PXRCRG1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LXRCRG2 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NXRCRG2 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PXRCRG2 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUTE ,0.0 ,"" ,"" )
|
||||
`MPRnb( NUTE ,0.0 ,"" ,"" )
|
||||
`MPRnb( PUTE ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUTER ,LUTE ,"" ,"" )
|
||||
`MPRnb( NUTER ,NUTE ,"" ,"" )
|
||||
`MPRnb( PUTER ,PUTE ,"" ,"" )
|
||||
|
||||
`MPRnb( LUTL ,0.0 ,"" ,"" )
|
||||
`MPRnb( NUTL ,0.0 ,"" ,"" )
|
||||
`MPRnb( PUTL ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUTLR ,LUTL ,"" ,"" )
|
||||
`MPRnb( NUTLR ,NUTL ,"" ,"" )
|
||||
`MPRnb( PUTLR ,PUTL ,"" ,"" )
|
||||
|
||||
`MPRnb( LEMOBT ,0.0 ,"" ,"" )
|
||||
`MPRnb( NEMOBT ,0.0 ,"" ,"" )
|
||||
`MPRnb( PEMOBT ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUA1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NUA1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PUA1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUA1R ,LUA1 ,"" ,"" )
|
||||
`MPRnb( NUA1R ,NUA1 ,"" ,"" )
|
||||
`MPRnb( PUA1R ,PUA1 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUC1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NUC1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PUC1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUC1R ,LUC1 ,"" ,"" )
|
||||
`MPRnb( NUC1R ,NUC1 ,"" ,"" )
|
||||
`MPRnb( PUC1R ,PUC1 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUD1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( NUD1 ,0.0 ,"" ,"" )
|
||||
`MPRnb( PUD1 ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUD1R ,LUD1 ,"" ,"" )
|
||||
`MPRnb( NUD1R ,NUD1 ,"" ,"" )
|
||||
`MPRnb( PUD1R ,PUD1 ,"" ,"" )
|
||||
|
||||
`MPRnb( LUCSTE ,0.0 ,"" ,"" )
|
||||
`MPRnb( NUCSTE ,0.0 ,"" ,"" )
|
||||
`MPRnb( PUCSTE ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPTWGT ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( NPTWGT ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( PPTWGT ,0.0 ,"(m^2)/K" ,"" )
|
||||
|
||||
`MPRnb( LAT ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( NAT ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( PAT ,0.0 ,"(m^2)/K" ,"" )
|
||||
|
||||
`MPRnb( LATR ,LAT ,"" ,"" )
|
||||
`MPRnb( NATR ,NAT ,"" ,"" )
|
||||
`MPRnb( PATR ,PAT ,"" ,"" )
|
||||
|
||||
`MPRnb( LATCV ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( NATCV ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( PATCV ,0.0 ,"(m^2)/K" ,"" )
|
||||
|
||||
`MPRnb( LSTTHETASAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( NSTTHETASAT ,0.0 ,"" ,"" )
|
||||
`MPRnb( PSTTHETASAT ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LPRT ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( NPRT ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( PPRT ,0.0 ,"(m^2)/K" ,"" )
|
||||
|
||||
`MPRnb( LKT1 ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( NKT1 ,0.0 ,"m*V" ,"" )
|
||||
`MPRnb( PKT1 ,0.0 ,"(m^2)*V" ,"" )
|
||||
|
||||
`MPRnb( LTSS ,0.0 ,"" ,"" )
|
||||
`MPRnb( NTSS ,0.0 ,"" ,"" )
|
||||
`MPRnb( PTSS ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LIIT ,0.0 ,"" ,"" )
|
||||
`MPRnb( NIIT ,0.0 ,"" ,"" )
|
||||
`MPRnb( PIIT ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LTII ,0.0 ,"" ,"" )
|
||||
`MPRnb( NTII ,0.0 ,"" ,"" )
|
||||
`MPRnb( PTII ,0.0 ,"" ,"" )
|
||||
|
||||
`MPRnb( LTGIDL ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( NTGIDL ,0.0 ,"m/K" ,"" )
|
||||
`MPRnb( PTGIDL ,0.0 ,"(m^2)/K" ,"" )
|
||||
|
||||
`MPRnb( LIGT ,0.0 ,"" ,"" )
|
||||
`MPRnb( NIGT ,0.0 ,"" ,"" )
|
||||
`MPRnb( PIGT ,0.0 ,"" ,"" )
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,117 +0,0 @@
|
|||
// ********************************************************
|
||||
// **** BSIM-CMG 110.0.0 released by Sourabh Khandelwal on 01/01/2016****/
|
||||
// * BSIM Common Multi-Gate Model Equations (Verilog-A)
|
||||
// ********************************************************
|
||||
//
|
||||
// ********************************************************
|
||||
// * Copyright 2016 Regents of the University of California.
|
||||
// * All rights reserved.
|
||||
// *
|
||||
// * Project Director: Prof. Chenming Hu.
|
||||
// * Authors: Sriramkumar V., Navid Paydavosi, Juan Duarte, Darsen Lu, Sourabh Khandelwal,
|
||||
// * Chung-Hsun Lin, Mohan Dunga, Shijing Yao,
|
||||
// * Ali Niknejad, Chenming Hu
|
||||
// ********************************************************
|
||||
// ********************************************************
|
||||
// * NONDISCLOSURE STATEMENT
|
||||
// Software is distributed as is, completely without warranty or service
|
||||
// support. The University of California and its employees are not liable
|
||||
// for the condition or performance of the software.
|
||||
// The University of California owns the copyright and grants users a perpetual,
|
||||
// irrevocable, worldwide, non-exclusive, royalty-free license with
|
||||
// respect to the software as set forth below.
|
||||
// The University of California hereby disclaims all implied warranties.
|
||||
// The University of California grants the users the right to modify, copy,
|
||||
// and redistribute the software and documentation, both within the user's
|
||||
// organization and externally, subject to the following restrictions
|
||||
// 1. The users agree not to charge for the University of California code
|
||||
// itself but may charge for additions, extensions, or support.
|
||||
// 2. In any product based on the software, the users agree to acknowledge
|
||||
// the University of California that developed the software. This
|
||||
// acknowledgment shall appear in the product documentation.
|
||||
// 3. The users agree to obey all U.S. Government restrictions governing
|
||||
// redistribution or export of the software.
|
||||
// 4. The users agree to reproduce any copyright notice which appears on
|
||||
// the software on any copy or modification of such made available
|
||||
// to others
|
||||
// Agreed to on __Jan 01, 2016__________________
|
||||
// By: ___University of California, Berkeley____
|
||||
// ___Chenming Hu_____________________
|
||||
// ___Professor in Graduate School _______
|
||||
// ********************************************************
|
||||
|
||||
// ********************************************************
|
||||
// Macro for the geometry-dependent fringing capacitance
|
||||
// model
|
||||
// ********************************************************
|
||||
|
||||
/*
|
||||
(while (re-search-forward
|
||||
(rx bow
|
||||
(or "Hr" "Lr" "Hgdelta" "Lmax" "y" "x"
|
||||
"CcgSat" "Cnon" "TT1" "Ccg1" "r1cf" "Rcf" "Ccg2"
|
||||
"Ccg" "C1" "C2" "C3" "Cfglog" "dcf" "TT0"
|
||||
"TT2" "Cfgsat" "delta" "xCfg")
|
||||
eow)
|
||||
nil t)
|
||||
(replace-match "x42_\\&" t))
|
||||
*/
|
||||
|
||||
`define Cfringe_2d_vars() \
|
||||
real x42_Hr, x42_Lr, x42_Hgdelta, x42_Lmax, x42_y, x42_x; \
|
||||
real x42_CcgSat, x42_Cnon, x42_TT1, x42_Ccg1, x42_r1cf, x42_Rcf, x42_Ccg2; \
|
||||
real x42_Ccg, x42_C1, x42_C2, x42_C3, x42_Cfglog, x42_dcf, x42_TT0; \
|
||||
real x42_TT2, x42_Cfgsat, x42_delta, Cfg;
|
||||
|
||||
`define Cfringe_2d(block_name, Hg, Hc, Lext, Wfin, Lc, Lg, Tox, Cf1, Cgg) \
|
||||
begin : block_name \
|
||||
x42_Hr = 2.3 + 0.2 * ((Hg) + (Tox)) / (Hc); \
|
||||
x42_Lr = 1.05; \
|
||||
x42_Hgdelta = abs((Hg) + (Tox) - (Hc)); \
|
||||
x42_Lmax = (Lext) * x42_Lr; \
|
||||
\
|
||||
x42_y = min((Hc), (Hg) + (Tox)); \
|
||||
x42_x = (Lext) / (x42_Hr + 1.0); \
|
||||
x42_Cnon = 1.7e12; \
|
||||
x42_CcgSat = epssp * (x42_y - x42_x) / (Lext); \
|
||||
x42_TT1 = x42_Cnon * x42_CcgSat; \
|
||||
if(x42_TT1 > `EXPL_THRESHOLD) \
|
||||
x42_Ccg1 = x42_CcgSat; \
|
||||
else \
|
||||
x42_Ccg1 = 1.0 / x42_Cnon * ln(1.0 + lexp(x42_TT1)); \
|
||||
\
|
||||
x42_r1cf = 0.5 * \
|
||||
min((Hc) / ((Hg) + (Tox)), ((Hg) + (Tox)) / (Hc)); \
|
||||
x42_Rcf = x42_Hgdelta * x42_r1cf; \
|
||||
x42_Ccg2 = epssp * 2 / `M_PI * \
|
||||
ln(((Lext) + 0.5 * `M_PI * x42_Rcf) / (Lext)); \
|
||||
\
|
||||
x42_Ccg = (Wfin) * (x42_Ccg1 + x42_Ccg2); \
|
||||
\
|
||||
x42_x = x42_Lmax / (Hg); \
|
||||
x42_C1 = 4.0 / (sqrt(2.0 * (x42_x + 1)) * `M_PI); \
|
||||
x42_C2 = sqrt((Tox) * (Tox) + 2.0 * (Hg) * (Tox) + \
|
||||
(Hg) * (Hg) * (x42_x + 1)) * sqrt(x42_x + 1) + (Tox) + \
|
||||
(Hg) * x42_x + (Hg); \
|
||||
x42_C3 = (Tox) * sqrt((x42_x + 1) * (x42_x + 4)) + Tox * (x42_x + 2); \
|
||||
x42_Cfglog = epssp * (x42_C1 * ln(x42_C2 / x42_C3) + 12.27); \
|
||||
\
|
||||
x42_dcf = x42_Hr * x42_Lr; \
|
||||
x42_TT0 = sqrt(x42_dcf * x42_dcf + 1.0); \
|
||||
x42_TT1 = sqrt((x42_dcf * x42_dcf + 1) * ((x42_dcf * (Tox)) * (x42_dcf * (Tox)) + \
|
||||
2 * x42_dcf * x42_Lmax * (Tox) + (x42_dcf * x42_dcf + 1) * x42_Lmax * x42_Lmax)) \
|
||||
+ x42_dcf * (Tox) + x42_dcf * x42_dcf * x42_Lmax + x42_Lmax; \
|
||||
x42_TT2 = (x42_TT0 + 1.0) * (x42_dcf * (Tox)); \
|
||||
x42_Cfgsat = 2.0 * epssp * sqrt(2) / `M_PI * (Cf1) * x42_dcf \
|
||||
/ x42_TT0 * ln(x42_TT1 / x42_TT2); \
|
||||
\
|
||||
x42_delta = 1.2e-12; \
|
||||
x42_TT1 = x42_Cfgsat - x42_Cfglog - x42_delta; \
|
||||
Cfg = (Wfin) * (x42_Cfgsat - 0.5 * (x42_TT1 + \
|
||||
sqrt(x42_TT1 * x42_TT1 + 4 * x42_delta * x42_Cfgsat))); \
|
||||
Cgg = x42_Ccg + Cfg; \
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
// ********************************************************
|
||||
// **** BSIM-CMG 110.0.0 released by Sourabh Khandelwal on 01/01/2016 ****/
|
||||
// * BSIM Common Multi-Gate Model Equations (Verilog-A)
|
||||
// ********************************************************
|
||||
//
|
||||
// ********************************************************
|
||||
// * Copyright 2016 Regents of the University of California.
|
||||
// * All rights reserved.
|
||||
// *
|
||||
// * Project Director: Prof. Chenming Hu.
|
||||
// * Authors: Sriramkumar V., Navid Paydavosi, Juan Duarte, Darsen Lu,
|
||||
// * Chung-Hsun Lin, Mohan Dunga, Shijing Yao,
|
||||
// * Ali Niknejad, Chenming Hu
|
||||
// ********************************************************
|
||||
// ********************************************************
|
||||
// * NONDISCLOSURE STATEMENT
|
||||
// Software is distributed as is, completely without warranty or service
|
||||
// support. The University of California and its employees are not liable
|
||||
// for the condition or performance of the software.
|
||||
// The University of California owns the copyright and grants users a perpetual,
|
||||
// irrevocable, worldwide, non-exclusive, royalty-free license with
|
||||
// respect to the software as set forth below.
|
||||
// The University of California hereby disclaims all implied warranties.
|
||||
// The University of California grants the users the right to modify, copy,
|
||||
// and redistribute the software and documentation, both within the user's
|
||||
// organization and externally, subject to the following restrictions
|
||||
// 1. The users agree not to charge for the University of California code
|
||||
// itself but may charge for additions, extensions, or support.
|
||||
// 2. In any product based on the software, the users agree to acknowledge
|
||||
// the University of California that developed the software. This
|
||||
// acknowledgment shall appear in the product documentation.
|
||||
// 3. The users agree to obey all U.S. Government restrictions governing
|
||||
// redistribution or export of the software.
|
||||
// 4. The users agree to reproduce any copyright notice which appears on
|
||||
// the software on any copy or modification of such made available
|
||||
// to others
|
||||
// Agreed to on __Jan 01, 2016_________________
|
||||
// By: ___University of California, Berkeley____
|
||||
// ___Chenming Hu_____________________
|
||||
// ___Professor in Graduate School _______
|
||||
// ********************************************************
|
||||
// *** Quasi Static CV Model ***
|
||||
|
||||
T11 = (2.0*qia+nVtm)/DvsatCV;//G
|
||||
qg = qia+dqi*dqi/(6.0*T11);//qc
|
||||
qd = -0.5*(qia-(dqi/(6.0))*(1.0-(dqi/T11)*(1+dqi/(5.0*T11))));//qd
|
||||
// Including CLM in qg and qd
|
||||
inv_MclmCV = 1.0 / MclmCV;
|
||||
qg = inv_MclmCV * qg + (MclmCV - 1.0) * qid;
|
||||
qd = inv_MclmCV * inv_MclmCV * qd + 0.5 * (MclmCV - inv_MclmCV) * qid;
|
||||
|
||||
//Calculating partition for NQSMOD2
|
||||
`ifdef __NQSMOD2__
|
||||
if(NQSMOD == 2) xdpart = qd / qg;
|
||||
else xdpart = 0;
|
||||
`endif
|
||||
|
||||
qs = -qg-qd; //from charge conservation qs = -qg-qd;
|
||||
T6 = NFINtotal*WeffCV0 * LeffCV * coxeff;
|
||||
|
||||
qg = T6*qg;
|
||||
qd = T6*qd;
|
||||
qs = T6*qs;
|
||||
qinv = qg ;
|
||||
if(BULKMOD != 0) begin
|
||||
T1 = NFINtotal * WeffCV0 * LeffCV_acc * cox_acc;
|
||||
T7 = qi_acc_for_QM;//qbulk
|
||||
T10 = T7 * T1;
|
||||
qg_acc = - T10;
|
||||
qb_acc = T10;
|
||||
T1 = NFINtotal * WeffCV0 * LeffCV * cox;
|
||||
T2 = qba - qi_acc_for_QM;
|
||||
T10 = T1*T2;
|
||||
qg_acc = qg_acc - T10;
|
||||
qb_acc = qb_acc + T10;
|
||||
T1 = NFINtotal * WeffCV0 * LeffCV * cox;
|
||||
T2 = (nq-1.0)*0.5*(qia+(dqi*dqi/(6.0*T11)));
|
||||
T10 = T1*T2;
|
||||
qg_acc = qg_acc - T10;
|
||||
qb_acc = qb_acc + T10;
|
||||
end
|
||||
|
||||
// if vds is negative, physical charge on qd is qs
|
||||
if (sigvds < 0) begin
|
||||
T1 = qd;
|
||||
qd = qs;
|
||||
qs = T1;
|
||||
end
|
||||
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
// *******************************************************
|
||||
// **** BSIM-CMG 110.0.0 released by Sourabh Khandelwal on 01/01/2016 ****/
|
||||
// * BSIM Common Multi-Gate Model Equations (Verilog-A)
|
||||
// ********************************************************
|
||||
//
|
||||
// ********************************************************
|
||||
// * Copyright 2016 Regents of the University of California.
|
||||
// * All rights reserved.
|
||||
// *
|
||||
// * Project Director: Prof. Chenming Hu.
|
||||
// * Authors: Sriramkumar V., Navid Paydavosi, Juan Duarte, Darsen Lu, Sourabh Khandelwal
|
||||
// * Chung-Hsun Lin, Mohan Dunga, Shijing Yao,
|
||||
// * Ali Niknejad, Chenming Hu
|
||||
// ********************************************************
|
||||
// ********************************************************
|
||||
// * NONDISCLOSURE STATEMENT
|
||||
// Software is distributed as is, completely without warranty or service
|
||||
// support. The University of California and its employees are not liable
|
||||
// for the condition or performance of the software.
|
||||
// The University of California owns the copyright and grants users a perpetual,
|
||||
// irrevocable, worldwide, non-exclusive, royalty-free license with
|
||||
// respect to the software as set forth below.
|
||||
// The University of California hereby disclaims all implied warranties.
|
||||
// The University of California grants the users the right to modify, copy,
|
||||
// and redistribute the software and documentation, both within the user's
|
||||
// organization and externally, subject to the following restrictions
|
||||
// 1. The users agree not to charge for the University of California code
|
||||
// itself but may charge for additions, extensions, or support.
|
||||
// 2. In any product based on the software, the users agree to acknowledge
|
||||
// the University of California that developed the software. This
|
||||
// acknowledgment shall appear in the product documentation.
|
||||
// 3. The users agree to obey all U.S. Government restrictions governing
|
||||
// redistribution or export of the software.
|
||||
// 4. The users agree to reproduce any copyright notice which appears on
|
||||
// the software on any copy or modification of such made available
|
||||
// to others
|
||||
// Agreed to on __Jan 01, 2016_________________
|
||||
// By: ___University of California, Berkeley____
|
||||
// ___Chenming Hu_____________________
|
||||
// ___Professor in Graduate School _______
|
||||
// ********************************************************
|
||||
// Source-Drain Resistance Model
|
||||
case(RDSMOD)
|
||||
1: begin
|
||||
Rdsi = 0.0;
|
||||
Dr = 1.0;
|
||||
|
||||
T2 = vgs_noswap - vfbsd;
|
||||
T3 = sqrt(T2 * T2 + 1.0e-1);
|
||||
vgs_eff = 0.5 * (T2 + T3);
|
||||
T4 = 1.0 + PRWGS_i * vgs_eff;
|
||||
T1 = 1.0 / T4;
|
||||
T0 = 0.5 * (T1 + sqrt(T1 * T1 + 0.01));
|
||||
T5 = RSW_i * (1.0 + RSDR_a * lexp(0.5 * PRSDR * lln(V(si,s) * V(si,s) + 1.0E-6)));
|
||||
Rsource = rdstemp * (RSourceGeo + (RSWMIN_i + T5 * T0) * WeffWRFactor);
|
||||
|
||||
T2 = vgd_noswap - vfbsd;
|
||||
T3 = sqrt(T2 * T2 + 1.0e-1);
|
||||
vgd_eff = 0.5 * (T2 + T3);
|
||||
T4 = 1.0 + PRWGD_i * vgd_eff;
|
||||
T1 = 1.0 / T4;
|
||||
T0 = 0.5 * (T1 + sqrt(T1 * T1 + 0.01));
|
||||
T5 = RDW_i * (1.0 + RDDR_a * lexp(0.5 * PRDDR * lln(V(di,d) * V(di,d) + 1.0E-6)));
|
||||
Rdrain = rdstemp * (RDrainGeo + (RDWMIN_i + T5 * T0) * WeffWRFactor);
|
||||
end
|
||||
0: begin
|
||||
Rsource = RSourceGeo;
|
||||
Rdrain = RDrainGeo;
|
||||
T4 = 1.0 + PRWGS_i * qia;
|
||||
T1 = 1.0 / T4;
|
||||
T0 = 0.5 * (T1 + sqrt(T1 * T1 + 0.01));
|
||||
Rdsi = rdstemp * (RDSWMIN_i + RDSW_i * T0) * WeffWRFactor;
|
||||
Dr = 1.0 + (NFINtotal) * beta * ids0_ov_dqi / (Dmob * Dvsat) * Rdsi;
|
||||
end
|
||||
2: begin
|
||||
T4 = 1.0 + PRWGS_i * qia;
|
||||
T1 = 1.0 / T4;
|
||||
T0 = 0.5 * (T1 + sqrt(T1 * T1 + 0.01));
|
||||
Rdsi = rdstemp * (RSourceGeo + RDrainGeo + RDSWMIN_i + RDSW_i * T0) * WeffWRFactor;
|
||||
Dr = 1.0 + (NFINtotal) * beta * ids0_ov_dqi / (Dmob * Dvsat) * Rdsi;
|
||||
Rsource = 0.0;
|
||||
Rdrain = 0.0;
|
||||
end
|
||||
endcase
|
||||
|
|
@ -1,185 +0,0 @@
|
|||
// ********************************************************
|
||||
// **** BSIM-CMG 110.0.0 released by Sourabh Khandelwal on 01/01/2016 ****/
|
||||
// * BSIM Common Multi-Gate Model Equations (Verilog-A)
|
||||
// ********************************************************
|
||||
//
|
||||
// ********************************************************
|
||||
// * Copyright 2016 Regents of the University of California.
|
||||
// * All rights reserved.
|
||||
// *
|
||||
// * Project Director: Prof. Chenming Hu.
|
||||
// * Authors: Sriramkumar V., Navid Paydavosi, Juan Duarte, Darsen Lu, Sourabh Khandelwal
|
||||
// * Chung-Hsun Lin, Mohan Dunga, Shijing Yao,
|
||||
// * Ali Niknejad, Chenming Hu
|
||||
// ********************************************************
|
||||
// ********************************************************
|
||||
// * NONDISCLOSURE STATEMENT
|
||||
// Software is distributed as is, completely without warranty or service
|
||||
// support. The University of California and its employees are not liable
|
||||
// for the condition or performance of the software.
|
||||
// The University of California owns the copyright and grants users a perpetual,
|
||||
// irrevocable, worldwide, non-exclusive, royalty-free license with
|
||||
// respect to the software as set forth below.
|
||||
// The University of California hereby disclaims all implied warranties.
|
||||
// The University of California grants the users the right to modify, copy,
|
||||
// and redistribute the software and documentation, both within the user's
|
||||
// organization and externally, subject to the following restrictions
|
||||
// 1. The users agree not to charge for the University of California code
|
||||
// itself but may charge for additions, extensions, or support.
|
||||
// 2. In any product based on the software, the users agree to acknowledge
|
||||
// the University of California that developed the software. This
|
||||
// acknowledgment shall appear in the product documentation.
|
||||
// 3. The users agree to obey all U.S. Government restrictions governing
|
||||
// redistribution or export of the software.
|
||||
// 4. The users agree to reproduce any copyright notice which appears on
|
||||
// the software on any copy or modification of such made available
|
||||
// to others
|
||||
// Agreed to on __Jan 01, 2016__________________
|
||||
// By: ___University of California, Berkeley____
|
||||
// ___Chenming Hu_____________________
|
||||
// ___Professor in Graduate School _______
|
||||
// ********************************************************
|
||||
|
||||
// Numerical Constants
|
||||
`define EXPL_THRESHOLD 80.0
|
||||
`define MAX_EXPL 5.540622384e34
|
||||
`define MIN_EXPL 1.804851387e-35
|
||||
`define N_MINLOG 1.0e-38
|
||||
`define MEXPQM 4
|
||||
`define DELTA_1 0.02
|
||||
`define DELTA_ASYMM 0.04
|
||||
`define CONSTCtoK (273.15)
|
||||
`define REFTEMP (300.15) /* 27 degrees C */
|
||||
|
||||
|
||||
// Model type definitions
|
||||
`define ntype 1
|
||||
`define ptype 0
|
||||
|
||||
// Physical Constants
|
||||
`define q 1.60219e-19 // Coul
|
||||
`define EPS0 8.8542e-12 // F/m
|
||||
`define HBAR 1.05457e-34 // Joule-sec
|
||||
`define MEL 9.11e-31 // kg
|
||||
`define KboQ 8.617087e-5 // Joule / degree
|
||||
|
||||
// Mathematical functions
|
||||
//`define SINH(x) (0.5 * (lexp(x) - lexp(-(x))))
|
||||
`define COSH(x) (0.5 * (lexp(x) + lexp(-(x))))
|
||||
//`define TANH(x) ((lexp(x) - lexp(-(x))) / (lexp(x) + lexp(-(x))))
|
||||
`define COT(x) ((x)>=`M_PI/2 ? 0 : ((x)<=-`M_PI/2 ? 0 : 1.0/tan(x)))
|
||||
|
||||
// Junction capacitance
|
||||
//ex:(ves_jct, Czbs, PBS_t, SBS, MJS, MJS2, Qes1)
|
||||
`define BSIM6JunctnCap(vex, Cz, PB, SJ, MJ, MJ2, Qej) \
|
||||
begin \
|
||||
if (Cz > 0.0) begin \
|
||||
T1 = vex / PB; \
|
||||
if (T1 < 0.9) begin \
|
||||
if (SJ > 0.0) begin /*second-step junction*/ \
|
||||
vec = PB * (1.0 - lexp((1.0 / MJ) * lln(1.0/SJ))); /*Switch over voltage*/\
|
||||
pb2 = PB * SJ * MJ2 / MJ / lexp(- (1.0 + MJ) * lln(1.0 - vec / PB)); /*PB for second doping region*/\
|
||||
if (vex > vec) begin \
|
||||
arg = 1.0 - T1; \
|
||||
if (MJ == 0.5) sarg = 1.0 / sqrt(arg); \
|
||||
else sarg = lexp(-MJ * lln(arg)); \
|
||||
Qej = PB * Cz * (1.0 - arg * sarg) / (1.0 - MJ); \
|
||||
end else begin /*vex < vec*/ \
|
||||
arg = 1.0 - vec / PB; \
|
||||
if (MJ == 0.5) sarg = 1.0 / sqrt(arg); \
|
||||
else sarg = lexp(-MJ * lln(arg)); \
|
||||
Qec = PB * Cz * (1.0 - arg * sarg) / (1.0 - MJ); \
|
||||
arg = 1.0 - (vex - vec) / pb2; \
|
||||
if (MJ2 == 0.5) sarg = 1.0 / sqrt(arg); \
|
||||
else sarg = lexp(-MJ2 * lln(arg)); \
|
||||
Qej = Qec + SJ * pb2 * Cz * (1.0 - arg * sarg) / (1.0 - MJ2); \
|
||||
end \
|
||||
end else begin /*single junction*/ \
|
||||
arg = 1.0 - T1; \
|
||||
if (MJ == 0.5) sarg = 1.0 / sqrt(arg); \
|
||||
else sarg = lexp(-MJ * lln(arg)); \
|
||||
Qej = PB * Cz * (1.0 - arg * sarg) / (1.0 - MJ); \
|
||||
end \
|
||||
end else begin /*vex/PB>=0.9*/ \
|
||||
T2 = lexp(-MJ * lln(0.1)); \
|
||||
T3 = 1.0 / (1.0-MJ); \
|
||||
T4 = T2 * (T1 - 1.0) * (5.0 * MJ * (T1-1.0) + (1.0 + MJ) ); \
|
||||
T5 = T3 * (1.0 - 0.05 * MJ * (1.0 + MJ) * T2 ); \
|
||||
Qej = PB * Cz * (T4 + T5); /*Quadratic equation for Qej when vex/PB>=0.9*/\
|
||||
end \
|
||||
end else begin \
|
||||
Qej = 0.0; \
|
||||
end \
|
||||
end
|
||||
|
||||
//
|
||||
// Macros for the model/instance parameters
|
||||
//
|
||||
// MPRxx model parameter real
|
||||
// MPIxx model parameter integer
|
||||
// IPRxx instance parameter real
|
||||
// IPIxx instance parameter integer
|
||||
// ||
|
||||
// cc closed lower bound, closed upper bound
|
||||
// oo open lower bound, open upper bound
|
||||
// co closed lower bound, open upper bound
|
||||
// oc open lower bound, closed upper bound
|
||||
// cz closed lower bound=0, open upper bound=inf
|
||||
// oz open lower bound=0, open upper bound=inf
|
||||
// nb no bounds
|
||||
// ex no bounds with exclude
|
||||
// sw switch(integer only, values 0=false and 1=true)
|
||||
// ty switch(integer only, values -1=p-type and +1=n-type)
|
||||
//
|
||||
// IPM instance parameter mFactor(multiplicity, implicit for LRM2.2)
|
||||
// OPP operating point parameter, includes units and description for printing
|
||||
//
|
||||
`define ALIAS(alias,paramName) aliasparam alias = paramName ;
|
||||
`define OPP(nam,uni,des) (*units=uni, desc=des*) real nam ;
|
||||
|
||||
`define MPRnb(nam,def,uni, des) (*units=uni, desc=des*) parameter real nam=def ;
|
||||
`define MPRex(nam,def,uni,exc, des) (*units=uni, desc=des*) parameter real nam=def exclude exc ;
|
||||
`define MPRcc(nam,def,uni,lwr,upr,des) (*units=uni, desc=des*) parameter real nam=def from[lwr:upr] ;
|
||||
`define MPRoo(nam,def,uni,lwr,upr,des) (*units=uni, desc=des*) parameter real nam=def from(lwr:upr) ;
|
||||
`define MPRco(nam,def,uni,lwr,upr,des) (*units=uni, desc=des*) parameter real nam=def from[lwr:upr) ;
|
||||
`define MPRoc(nam,def,uni,lwr,upr,des) (*units=uni, desc=des*) parameter real nam=def from(lwr:upr] ;
|
||||
`define MPRcz(nam,def,uni, des) (*units=uni, desc=des*) parameter real nam=def from[ 0:inf);
|
||||
`define MPRoz(nam,def,uni, des) (*units=uni, desc=des*) parameter real nam=def from( 0:inf);
|
||||
|
||||
`define MPInb(nam,def,uni, des) (*units=uni, desc=des*) parameter integer nam=def ;
|
||||
`define MPIex(nam,def,uni,exc, des) (*units=uni, desc=des*) parameter integer nam=def exclude exc ;
|
||||
`define MPIcc(nam,def,uni,lwr,upr,des) (*units=uni, desc=des*) parameter integer nam=def from[lwr:upr] ;
|
||||
`define MPIoo(nam,def,uni,lwr,upr,des) (*units=uni, desc=des*) parameter integer nam=def from(lwr:upr) ;
|
||||
`define MPIco(nam,def,uni,lwr,upr,des) (*units=uni, desc=des*) parameter integer nam=def from[lwr:upr) ;
|
||||
`define MPIoc(nam,def,uni,lwr,upr,des) (*units=uni, desc=des*) parameter integer nam=def from(lwr:upr] ;
|
||||
`define MPIcz(nam,def,uni, des) (*units=uni, desc=des*) parameter integer nam=def from[ 0:inf);
|
||||
`define MPIoz(nam,def,uni, des) (*units=uni, desc=des*) parameter integer nam=def from( 0:inf);
|
||||
|
||||
`define MPIsw(nam,def,uni, des) (*units=uni, desc=des*) parameter integer nam=def from[ 0: 1] ;
|
||||
`define MPIty(nam,def,uni, des) (*units=uni, desc=des*) parameter integer nam=def from[ -1: 1] exclude 0 ;
|
||||
|
||||
`define IPRnb(nam,def,uni, des) (*units=uni, type="instance", desc=des*) parameter real nam=def ;
|
||||
`define IPRex(nam,def,uni,exc, des) (*units=uni, type="instance", desc=des*) parameter real nam=def exclude exc ;
|
||||
`define IPRcc(nam,def,uni,lwr,upr,des) (*units=uni, type="instance", desc=des*) parameter real nam=def from[lwr:upr] ;
|
||||
`define IPRoo(nam,def,uni,lwr,upr,des) (*units=uni, type="instance", desc=des*) parameter real nam=def from(lwr:upr) ;
|
||||
`define IPRco(nam,def,uni,lwr,upr,des) (*units=uni, type="instance", desc=des*) parameter real nam=def from[lwr:upr) ;
|
||||
`define IPRoc(nam,def,uni,lwr,upr,des) (*units=uni, type="instance", desc=des*) parameter real nam=def from(lwr:upr] ;
|
||||
`define IPRcz(nam,def,uni, des) (*units=uni, type="instance", desc=des*) parameter real nam=def from[ 0:inf);
|
||||
`define IPRoz(nam,def,uni, des) (*units=uni, type="instance", desc=des*) parameter real nam=def from( 0:inf);
|
||||
|
||||
`define IPInb(nam,def,uni, des) (*units=uni, type="instance", desc=des*) parameter integer nam=def ;
|
||||
`define IPIex(nam,def,uni,exc, des) (*units=uni, type="instance", desc=des*) parameter integer nam=def exclude exc ;
|
||||
`define IPIcc(nam,def,uni,lwr,upr,des) (*units=uni, type="instance", desc=des*) parameter integer nam=def from[lwr:upr] ;
|
||||
`define IPIoo(nam,def,uni,lwr,upr,des) (*units=uni, type="instance", desc=des*) parameter integer nam=def from(lwr:upr) ;
|
||||
`define IPIco(nam,def,uni,lwr,upr,des) (*units=uni, type="instance", desc=des*) parameter integer nam=def from[lwr:upr) ;
|
||||
`define IPIoc(nam,def,uni,lwr,upr,des) (*units=uni, type="instance", desc=des*) parameter integer nam=def from(lwr:upr] ;
|
||||
`define IPIcz(nam,def,uni, des) (*units=uni, type="instance", desc=des*) parameter integer nam=def from[ 0:inf);
|
||||
`define IPIoz(nam,def,uni, des) (*units=uni, type="instance", desc=des*) parameter integer nam=def from( 0:inf);
|
||||
|
||||
`ifdef EXPLICIT_MFACTOR
|
||||
`define IPM (*units="" , type="instance", desc="multiplicity factor"*) parameter real m=1.0 from(0.0:inf) ;
|
||||
`define MFACTOR_USE m
|
||||
`else //
|
||||
`define IPM
|
||||
`define MFACTOR_USE 1.0
|
||||
`endif
|
||||
|
|
@ -126,7 +126,6 @@ int add_udn(int,Evt_Udn_Info_t **);
|
|||
#include "adms/ekv/ekvitf.h"
|
||||
#include "adms/psp102/psp102itf.h"
|
||||
#include "adms/bsimbulk/bsimbulkitf.h"
|
||||
#include "adms/bsimcmg/bsimcmgitf.h"
|
||||
#endif
|
||||
#ifdef CIDER
|
||||
/* Numerical devices (Cider integration) */
|
||||
|
|
@ -208,7 +207,6 @@ static SPICEdev *(*static_devices[])(void) = {
|
|||
(SPICEdev *(*)(void)) get_ekv_info,
|
||||
(SPICEdev *(*)(void)) get_psp102_info,
|
||||
(SPICEdev *(*)(void)) get_bsimbulk_info,
|
||||
(SPICEdev *(*)(void)) get_bsimcmg_info,
|
||||
#endif
|
||||
|
||||
#ifdef NDEV
|
||||
|
|
@ -293,7 +291,7 @@ SPICEdev ** devices(void)
|
|||
#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", "bsim4v7", \
|
||||
"bsim4soi", "bsim3soipd", "bsim3soifd", "bsim3soidd", "hisim2", "hisimhv1", "hisimhv2", \
|
||||
"cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", "mos2", "mos3", \
|
||||
"mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum0", "hicum2", "bjt504t", "ekv", "psp102", "bsimbulk", "bsimcmg"}
|
||||
"mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum0", "hicum2", "bjt504t", "ekv", "psp102", "bsimbulk"}
|
||||
#else
|
||||
#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", "bsim4v7", \
|
||||
"bsim4soi", "bsim3soipd", "bsim3soifd", "bsim3soidd", "hisim2", "hisimhv1", "hisimhv2", \
|
||||
|
|
|
|||
|
|
@ -32,8 +32,7 @@ model_numnodes(int type)
|
|||
}
|
||||
|
||||
#ifdef ADMS
|
||||
if (type == INPtypelook("BSIMBULK") || /* bsimbulk.va */
|
||||
type == INPtypelook("BSIMCMG")) /* bsimcmg.va */
|
||||
if (type == INPtypelook("BSIMBULK")) /* bsimbulk.va */
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
|
|
@ -134,7 +133,6 @@ INP2M(CKTcircuit *ckt, INPtables *tab, card *current)
|
|||
thismodel->INPmodType != INPtypelook("ekv") &&
|
||||
thismodel->INPmodType != INPtypelook("psp102") &&
|
||||
thismodel->INPmodType != INPtypelook("bsimbulk") &&
|
||||
thismodel->INPmodType != INPtypelook("bsimcmg") &&
|
||||
#endif
|
||||
thismodel->INPmodType != INPtypelook("HiSIM2") &&
|
||||
thismodel->INPmodType != INPtypelook("HiSIMHV1") &&
|
||||
|
|
|
|||
|
|
@ -337,14 +337,6 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab)
|
|||
INPmkTemp
|
||||
("Device type BSIMBULK not available in this binary\n");}
|
||||
break;
|
||||
case 17:
|
||||
case 72:
|
||||
type = INPtypelook("BSIMCMG");
|
||||
if (type < 0) {
|
||||
err =
|
||||
INPmkTemp
|
||||
("Device type BSIMCMG not available in this binary\n");}
|
||||
break;
|
||||
case 44:
|
||||
type = INPtypelook("ekv");
|
||||
if (type < 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue