62 changed files with 185689 additions and 0 deletions
-
75examples/osdi/EKV2.6/Modelcards/ekv26_0u15.par
-
157examples/osdi/EKV2.6/Modelcards/ekv26_0u5.par
-
41examples/osdi/EKV2.6/ekv26_inverter.sp
-
922examples/osdi/EKV2.6/ekv26_mod.va
-
27examples/osdi/EKV2.6/netlist_mod_nmos.sp
-
28examples/osdi/EKV2.6/netlist_mod_pmos.sp
-
1examples/osdi/EKV2.6/test_osdi_win/README
-
59examples/osdi/README
-
641examples/osdi/bsimbulk/Modelcards/model.l
-
40examples/osdi/bsimbulk/bsimbulk_inverter.sp
-
41examples/osdi/bsimbulk/bsimbulk_ro.sp
-
89241examples/osdi/bsimbulk/c7552_ann_bsimbulk.net
-
27examples/osdi/bsimbulk/netlist_mod_nmos.sp
-
29examples/osdi/bsimbulk/netlist_mod_pmos.sp
-
45examples/osdi/bsimbulk/nmos_pmos_BSIMBULK.sp
-
1examples/osdi/bsimbulk/test_osdi_win/README
-
137examples/osdi/bsimcmg/Modelcards/modelcard.nmos
-
138examples/osdi/bsimcmg/Modelcards/modelcard.pmos
-
38examples/osdi/bsimcmg/inverter_ro.sp
-
36examples/osdi/bsimcmg/inverter_transient.sp
-
28examples/osdi/bsimcmg/netlist_nmos.sp
-
28examples/osdi/bsimcmg/netlist_pmos.sp
-
54examples/osdi/bsimcmg/ringosc_17stg.sp
-
27examples/osdi/bsimcmg/simple_inverter_dc.sp
-
1examples/osdi/bsimcmg/test_osdi_win/README
-
43examples/osdi/hicuml0/DFF_Y_ECL_HICUM.sp
-
59examples/osdi/hicuml0/DFF_Y_ECL_VBIC.sp
-
46examples/osdi/hicuml0/ECL-RO-5.cir
-
25examples/osdi/hicuml0/ECL-RO.cir
-
303examples/osdi/hicuml0/KiCad/ECL-RO.kicad_pro
-
1473examples/osdi/hicuml0/KiCad/ECL-RO.kicad_sch
-
107examples/osdi/hicuml0/KiCad/ECL_Bip.kicad_sym
-
3examples/osdi/hicuml0/KiCad/sym-lib-table
-
40examples/osdi/hicuml0/Modelcards/model-card-hicumL0V1p11_mod.lib
-
23examples/osdi/hicuml0/bip_subsmod.sp
-
20examples/osdi/hicuml0/hic0_gum.sp
-
20examples/osdi/hicuml0/hic0_out.sp
-
1examples/osdi/hicuml0/test_osdi_win/README
-
35examples/osdi/hicuml0/vbic_out.sp
-
76examples/osdi/mextram/Modelcards/mex_model.lib
-
18examples/osdi/mextram/mex_gum.sp
-
16examples/osdi/mextram/mex_out.sp
-
1examples/osdi/mextram/test_osdi_win/README
-
641examples/osdi/mixed-models/Modelcards/model.l
-
283examples/osdi/mixed-models/Modelcards/psp103_nmos-2.mod
-
283examples/osdi/mixed-models/Modelcards/psp103_pmos-2.mod
-
80examples/osdi/mixed-models/bb-psp_ro.sp
-
40examples/osdi/mixed-models/bsimbulk_inverter.sp
-
66examples/osdi/mixed-models/psp_inverter.sp
-
1examples/osdi/mixed-models/test_osdi_win/README
-
283examples/osdi/psp103/Modelcards/psp103_nmos-2.mod
-
283examples/osdi/psp103/Modelcards/psp103_pmos-2.mod
-
89240examples/osdi/psp103/c7552_ann_psp.net
-
70examples/osdi/psp103/nmos_pmos_PSP.sp
-
66examples/osdi/psp103/psp_inverter.sp
-
33examples/osdi/psp103/psp_out_nmos_nm.sp
-
33examples/osdi/psp103/psp_out_pmos_nm.sp
-
66examples/osdi/psp103/psp_ro.sp
-
32examples/osdi/psp103/psp_transfer.sp
-
1examples/osdi/psp103/test_osdi_win/README
-
16examples/osdi/r2_cmc/res_r2_cmc.cir
-
1examples/osdi/r2_cmc/test_osdi_win/README
@ -0,0 +1,75 @@ |
|||
*** SPICE Models |
|||
*** Models created by Daniel Foty. |
|||
*** (c) 2001, Gilgamesh Associates and EPFL – All rights reserved. |
|||
*** These models are provided without warranty or support. |
|||
*** These models represent a completely fictitious 0.15um process, and do |
|||
*** NOT correspond to any real silicon process. They are provided expressly for |
|||
*** use in the examples provided in this text, and should not be used for any |
|||
*** real silicon product design. |
|||
*** NMOS EKV MOSFET Model *************************************************** |
|||
*** Level=44 in WinSPICE and ELDO, Level=55 in ADM/HSPICE, Level=5 in PSPICE, |
|||
*** Level=EKV in Spectre |
|||
*** Lmin=0.15u Wmin=1.05u (If Scale=0.15u then Lmin=1 and Wmin=7) |
|||
*————— |
|||
.MODEL nmos nmos |
|||
+ LEVEL=44 |
|||
*** Setup Parameters |
|||
+ UPDATE=2.6 |
|||
*** Process Related Model Parameters |
|||
+ COX=9.083E-3 XJ=0.15E-6 |
|||
*** Intrinsic Model Parameters |
|||
+ VTO=0.4 GAMMA=0.71 PHI=0.97 KP=453E-6 |
|||
+ E0=88.0E6 UCRIT=4.0E6 |
|||
+ DL=-0.05E-6 DW=-0.02E-6 |
|||
+ LAMBDA = 0.30 LETA=0.28 WETA=0 |
|||
+ Q0=280E-6 LK=0.5E-6 |
|||
*** Substrate Current Parameters |
|||
+ IBN=1.0 IBA=200E6 IBB=350E6 |
|||
*** Intrinsic Model Temperature Parameters |
|||
+ TNOM=27.0 TCV=1.5E-3 BEX=-1.5 UCEX=1.7 IBBT=0 |
|||
*** 1/f Noise Model Parameters |
|||
+ KF=1E-27 AF=1 |
|||
*** Series Resistance and Area Calculation Parameters |
|||
+ HDIF=0.24e-6 ACM=3 RSH=5.0 RS=1250.526 |
|||
+ RD=1250.526 LDIF=0.07e-6 |
|||
*** Junction Current Parameters |
|||
+ JS=1.0E-6 JSW=5.0E-11 XTI=0 N=1.5 |
|||
*** Junction Capacitances Parameters |
|||
+ CJ=1.0E-3 CJSW=2.0E-10 CJGATE=5.0E-10 |
|||
+ MJ=0.5 MJSW=0.3 PB=0.9 PBSW=0.9 FC=0.5 |
|||
*** Gate Overlap Capacitances |
|||
+ CGSO=3.0E-10 CGDO=3.0E-10 CGBO=3.0E-11 |
|||
|
|||
*** PMOS EKV MOSFET Model *************************************************** |
|||
*** Level=44 in WinSPICE and ELDO, Level=55 in ADM/HSPICE, Level=5 in PSPICE, |
|||
*** Level=EKV in Spectre |
|||
*** Lmin=0.15u Wmin=1.05u (If Scale=0.15u then Lmin=1 and Wmin=7) |
|||
*————— |
|||
.MODEL pmos pmos |
|||
+ LEVEL = 44 |
|||
*** Setup Parameters |
|||
+ UPDATE = 2.6 |
|||
*** Process Related Model Parameters |
|||
+ COX=9.083E-3 XJ=0.15E-6 |
|||
*** Intrinsic Model Parameters |
|||
+ VTO=-0.4 GAMMA=0.69 PHI=0.87 KP=92.15E-6 |
|||
+ E0=51.0E6 UCRIT=18.0E6 |
|||
+ DL=-0.05E-6 DW=-0.03E-6 |
|||
+ LAMBDA=1.1 LETA=0.45 WETA=0 |
|||
+ Q0=200E-6 LK=0.6E-6 |
|||
*** Substrate Current Parameters |
|||
+ IBN=1.0 IBA=0.0 IBB=300E6 |
|||
*** Intrinsic Model Temperature Parameters |
|||
+ TNOM=25.0 TCV=-1.4E-3 BEX=-1.4 UCEX=2.0 IBBT=0.0 |
|||
*** 1/f Noise Model Parameters |
|||
+ KF=1.0E-28 AF=1 |
|||
*** Series Resistance and Area Calculation Parameters |
|||
+ HDIF=0.24E-6 ACM=3 RSH=5.0 RS=3145.263 |
|||
+ RD=3145.263 LDIF=0.07e-6 |
|||
*** Junction Current Parameters |
|||
+ JS=1.0E-7 JSW=5.0E-12 XTI=0 N=1.8 |
|||
*** Junction Capacitances Parameters |
|||
+ CJ=1.3E-3 CJSW=2.5E-10 CJGATE=5.5E-10 |
|||
+ MJ=0.5 MJSW=0.35 PB=0.9 PBSW=0.9 FC=0.5 |
|||
*** Gate Overlap Capacitances |
|||
+ CGSO=3.2E-10 CGDO=3.2E-10 CGBO=3.0E-11 |
|||
@ -0,0 +1,157 @@ |
|||
********************************************************************** |
|||
* EKV v2.6 parameters for 0.5um CMOS C. EPFL-LEG, 1999 |
|||
* ---------------------------------- |
|||
* |
|||
* ELDO (LEVEL = 44) / PSPICE (LEVEL = 5) example parameter set |
|||
* for the EKV v2.6 model is provided for NMOS and PMOS. |
|||
* |
|||
* |
|||
* IMPORTANT NOTES: |
|||
* ---------------- |
|||
* |
|||
* Parameters do not correspond to a particular technology but |
|||
* have reasonable values for standard 0.5um CMOS. |
|||
* Not intended for use in real design. |
|||
* |
|||
* Includes all intrinsic model parameters. An example set for |
|||
* extrinsic model parameters is provided. |
|||
* |
|||
* Geometry range: W >= 0.8um, L >= 0.5um |
|||
* Voltage range: |Vgb| < 3.3V, |Vdb| < 3.3V, |Vsb| < 2V |
|||
* |
|||
* For use with either simulator, comment/uncomment respective lines. |
|||
* Use of extrinsic model parameters and models (series resistance, |
|||
* junction currents/capacitances) is in general simulator-dependent. |
|||
* |
|||
********************************************************************** |
|||
|
|||
* EKV v2.6 NMOS |
|||
*--------------- |
|||
.MODEL NCH EKV_VA |
|||
*+ LEVEL = 44 |
|||
*** Setup Parameters |
|||
*+ UPDATE = 2.6 |
|||
*+ XQC = 0.4 |
|||
+ TYPE = 1 |
|||
*** Process Related Model Parameters |
|||
+ COX = 3.45E-3 |
|||
+ XJ = 0.15E-6 |
|||
*** Intrinsic Model Parameters |
|||
+ VTO = 0.6 |
|||
+ GAMMA = 0.71 |
|||
+ PHI = 0.97 |
|||
+ KP = 150E-6 |
|||
+ E0 = 88.0E6 |
|||
+ UCRIT = 4.5E6 |
|||
+ DL = -0.05E-6 |
|||
+ DW = -0.02E-6 |
|||
+ LAMBDA = 0.23 |
|||
+ LETA = 0.28 |
|||
+ WETA = 0.05 |
|||
+ Q0 = 280E-6 |
|||
+ LK = 0.5E-6 |
|||
*** Substrate Current Parameters |
|||
+ IBN = 1.0 |
|||
+ IBA = 200E6 |
|||
+ IBB = 350E6 |
|||
*** Intrinsic Model Temperature Parameters |
|||
+ TNOM = 25.0 |
|||
+ TCV = 1.5E-3 |
|||
+ BEX = -1.5 |
|||
+ UCEX = 1.7 |
|||
+ IBBT = 0.0 |
|||
*** 1/f Noise Model Parameters |
|||
+ KF = 1E-27 |
|||
+ AF = 1 |
|||
*** Short-Distance Matching Statistical Parameters (for MC simulation only) |
|||
*+ AVTO = 0 DEV = 10.0E-3 ; ELDO v4.6 |
|||
*+ AGAMMA = 0 DEV = 10.0E-3 ; ELDO v4.6 |
|||
*+ AKP = 0 DEV = 25.0E-3 ; ELDO v4.6 |
|||
*** Series Resistance and Area Calulation Parameters |
|||
*+ RLEV = 3 |
|||
+ HDIF = 0.9E-6 |
|||
+ RSH = 510 |
|||
*** Junction Current Parameters |
|||
*+ ALEV = 3 |
|||
+ JS = 8.0E-6 |
|||
+ JSW = 1.5E-10 |
|||
+ XTI = 0 |
|||
+ N = 1.5 |
|||
*** Junction Capacitances Parameters |
|||
+ CJ = 8.0E-4 |
|||
+ CJSW = 3.0E-10 |
|||
+ MJ = 0.5 |
|||
+ MJSW = 0.3 |
|||
+ PB = 0.9 |
|||
+ PBSW = 0.5 |
|||
+ FC = 0.5 |
|||
*** Gate Overlap Capacitances |
|||
+ CGSO = 1.5E-10 |
|||
+ CGDO = 1.5E-10 |
|||
+ CGBO = 4.0E-10 |
|||
|
|||
|
|||
* EKV v2.6 PMOS |
|||
*--------------- |
|||
.MODEL PCH EKV_VA |
|||
*+ LEVEL = 44 |
|||
*** Setup Parameters |
|||
*+ UPDATE = 2.6 |
|||
*+ XQC = 0.4 |
|||
+ TYPE = -1 |
|||
*** Process Related Model Parameters |
|||
+ COX = 3.45E-3 |
|||
+ XJ = 0.15E-6 |
|||
*** Intrinsic Model Parameters |
|||
+ VTO = -0.55 |
|||
+ GAMMA = 0.69 |
|||
+ PHI = 0.87 |
|||
+ KP = 35.0E-6 |
|||
+ E0 = 51.0E6 |
|||
+ UCRIT = 18.0E6 |
|||
+ DL = -0.05E-6 |
|||
+ DW = -0.03E-6 |
|||
+ LAMBDA = 1.1 |
|||
+ LETA = 0.45 |
|||
+ WETA = 0.0 |
|||
+ Q0 = 200E-6 |
|||
+ LK = 0.6E-6 |
|||
*** Substrate Current Parameters |
|||
+ IBN = 1.0 |
|||
+ IBA = 10E6 |
|||
+ IBB = 300E6 |
|||
*** Intrinsic Model Temperature Parameters |
|||
+ TNOM = 25.0 |
|||
+ TCV = -1.4E-3 |
|||
+ BEX = -1.4 |
|||
+ UCEX = 2.0 |
|||
+ IBBT = 0.0 |
|||
*** 1/f Noise Model Parameters |
|||
+ KF = 1.0E-28 |
|||
+ AF = 1 |
|||
*** Short-Distance Matching Statistical Parameters (for MC simulation only) |
|||
*+ AVTO = 0 DEV = 10.0E-3 ; ELDO v4.6 |
|||
*+ AGAMMA = 0 DEV = 10.0E-3 ; ELDO v4.6 |
|||
*+ AKP = 0 DEV = 25.0E-3 ; ELDO v4.6 |
|||
*** Series Resistance and Area Calulation Parameters |
|||
*+ RLEV = 3 |
|||
+ HDIF = 0.9E-6 |
|||
+ RSH = 990 |
|||
*** Junction Current Parameters |
|||
*+ ALEV = 3 |
|||
+ JS = 4.0E-5 |
|||
+ JSW = 7.0E-10 |
|||
+ XTI = 0 |
|||
+ N = 1.8 |
|||
*** Junction Capacitances Parameters |
|||
+ CJ = 8.0E-4 |
|||
+ CJSW = 4.0E-10 |
|||
+ MJ = 0.5 |
|||
+ MJSW = 0.35 |
|||
+ PB = 0.9 |
|||
+ PBSW = 0.8 |
|||
+ FC = 0.5 |
|||
*** Gate Overlap Capacitances |
|||
+ CGSO = 1.5E-10 |
|||
+ CGDO = 1.5E-10 |
|||
+ CGBO = 4.0E-10 |
|||
@ -0,0 +1,41 @@ |
|||
* EKV 2.6 |
|||
* simple inverter |
|||
|
|||
.param Vcc = 1.8 |
|||
|
|||
* model definitions: |
|||
*.model .MODEL PCH EKV_VA type=-1 |
|||
*.model .MODEL NCH EKV_VA type=1 |
|||
.include Modelcards/ekv26_0u5.par |
|||
|
|||
* the voltage sources: |
|||
Vdd vdd gnd DC 'Vcc' |
|||
V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) |
|||
Vmeas vss 0 0 |
|||
|
|||
Xnot1 in vdd vss out not1 |
|||
*Rout out 0 1k |
|||
|
|||
.subckt not1 a vdd vss z |
|||
Np1 z a vdd vdd pch W=2u L=0.5u as=0.26235p ad=0.26235p ps=2.51u pd=2.51u |
|||
Nn1 z a vss vss nch W=1u L=0.5u as=0.131175p ad=0.131175p ps=1.52u pd=1.52u |
|||
c3 a vss 0.384f |
|||
c2 z vss 0.576f |
|||
.ends |
|||
|
|||
* simulation command: |
|||
.tran 10ps 10ns |
|||
.dc V1 0 'vcc' 'vcc/100' |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/ekv26_mod.osdi |
|||
run |
|||
*set nolegend |
|||
set xbrushwidth=3 |
|||
plot in out |
|||
plot dc1.out |
|||
plot dc1.i(Vmeas) |
|||
rusage |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,922 @@ |
|||
/* |
|||
EKV MOS model version 2.6 rev.15 with documentation at: http://ekv.epfl.ch |
|||
Matthias Bucher, Christophe Lallement, Christian Enz, Fabien Theodoloz, Francois Krummenacher |
|||
Electronics Laboratories, Swiss Federal Institute of Technology Lausanne, Switzerland |
|||
This Verilog-A was developed by Wladek Grabinski with modifications |
|||
by Tiburon Design Automation (www.tiburon-da.com). |
|||
This software has been provided pursuant to a License Agreement containing restrictions on its use. |
|||
It may not be copied or distributed in any form or medium, disclosed to third parties, |
|||
reverse engineered or used in any manner not provided for in said License Agreement |
|||
except with the prior written authorization. |
|||
Licensed under the Educational Community License, Version 2.0 (the "License"); |
|||
you may not use this file except in compliance with the License. |
|||
|
|||
You may obtain a copy of the License at http://opensource.org/licenses/ECL-2.0 |
|||
|
|||
Unless required by applicable law or agreed to in writing, software distributed under |
|||
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, |
|||
either express or implied. See the License for the specific language governing permissions |
|||
and limitations under the License. |
|||
|
|||
$RCSfile: ekv.va,v $ $Revision: 1.9 $ $Date: 2003/12/17 01:20:10 $ |
|||
$RCSfile: ekv.va,v $ $Revision: 2.6.15 $ $Date: 2020/05/29 11:50:10 $ |
|||
*/ |
|||
/* |
|||
`include "disciplines.vams" |
|||
`include "constants.vams" |
|||
`include "compact.vams" |
|||
*/ |
|||
|
|||
// 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 LRM 2.2) |
|||
// OPP operating point parameter, includes units and description for printing |
|||
|
|||
`define OPP(nam,uni,des) (* units=uni, desc=des *) real nam; |
|||
`define OPM(nam,uni,des) (* units=uni, desc=des, multiplicity="multiply" *) real nam; |
|||
`define OPD(nam,uni,des) (* units=uni, desc=des, multiplicity="divide" *) 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); |
|||
`define BPRco(nam, def, uni, lwr, upr, des) (* units = uni, type = "instance", desc = des *) parameter real nam = def from[lwr : upr); |
|||
`define BPRoz(nam, def, uni, des) (* units = uni, type = "instance", desc = des *) parameter real nam = def from(0.0 : inf); |
|||
`define BPRcz(nam, def, uni, des) (* units = uni, type = "instance", desc = des *) parameter real nam = def from[0.0 : inf); |
|||
`define BPIcc(nam, def, uni, lwr, upr, des) (* units = uni, type = "instance", desc = des *) parameter integer nam = def from[lwr : upr]; |
|||
`define BPInb(nam,def,uni, des) (* units=uni, type = "instance", desc=des *) parameter integer nam=def; |
|||
`define BPRnb(nam,def,uni, des) (* units=uni, type = "instance", desc=des *) parameter real nam=def; |
|||
|
|||
// includes: in case we do not want to include any other file [AB:040902] |
|||
// we can just add the following section in this file |
|||
// AB: i hope this may help our code to be easily transported |
|||
//---------------------------------------- |
|||
// from disciplines.h we need: |
|||
// Electrical |
|||
// Current in amperes |
|||
nature Current |
|||
units = "A"; |
|||
access = I; |
|||
idt_nature = Charge; |
|||
`ifdef CURRENT_ABSTOL |
|||
abstol = `CURRENT_ABSTOL; |
|||
`else |
|||
abstol = 1e-12; |
|||
`endif |
|||
endnature |
|||
// Charge in coulombs |
|||
nature Charge |
|||
units = "coul"; |
|||
access = Q; |
|||
ddt_nature = Current; |
|||
`ifdef CHARGE_ABSTOL |
|||
abstol = `CHARGE_ABSTOL; |
|||
`else |
|||
abstol = 1e-14; |
|||
`endif |
|||
endnature |
|||
// Potential in volts |
|||
nature Voltage |
|||
units = "V"; |
|||
access = V; |
|||
idt_nature = Flux; |
|||
`ifdef VOLTAGE_ABSTOL |
|||
abstol = `VOLTAGE_ABSTOL; |
|||
`else |
|||
abstol = 1e-6; |
|||
`endif |
|||
endnature |
|||
// Flux in Webers |
|||
nature Flux |
|||
units = "Wb"; |
|||
access = Phi; |
|||
ddt_nature = Voltage; |
|||
`ifdef FLUX_ABSTOL |
|||
abstol = `FLUX_ABSTOL; |
|||
`else |
|||
abstol = 1e-9; |
|||
`endif |
|||
endnature |
|||
// Conservative discipline |
|||
discipline electrical |
|||
potential Voltage; |
|||
flow Current; |
|||
enddiscipline |
|||
// Signal flow disciplines |
|||
discipline voltage |
|||
potential Voltage; |
|||
enddiscipline |
|||
discipline current |
|||
potential Current; |
|||
enddiscipline |
|||
//from constants.h we need |
|||
`define C_EPSSIL 1.03594314e-10 |
|||
`define C_EPSOX 34.5e-12 |
|||
`define C_QE 1.602e-19 |
|||
`define C_K 1.3807e-23 |
|||
`define P_K 1.3806226e-23 |
|||
`define P_EPS0 8.85418792394420013968e-12 |
|||
`define P_CELSIUS0 273.15 |
|||
`define POS_MIN 1.0E-6 |
|||
`define SQRT2 1.4142135623730950488016887242097 |
|||
`define ONE3RD 0.33333333333333333333333333333333 |
|||
`define ONESQRT2 0.70710678118654752440084436210485 |
|||
//if any other constant is needed it may be copied from the constants.h and be put above. |
|||
//------------------------------------------ end of includes |
|||
`define FWD 1 |
|||
`define REV -1 |
|||
// AB 040902 |
|||
`define NOT_GIVEN -1.0e21 |
|||
`define DEFAULT_TNOM 25 |
|||
module ekv_va(d,g,s,b); |
|||
// %%DEVICE_CLASS=MOS(NMOS:TYPE=1,PMOS:TYPE=-1)%% |
|||
// Node definitions |
|||
inout d,g,s,b; // external nodes |
|||
electrical d,g,s,b; // external nodes |
|||
// Branch definitions |
|||
branch (d,s) ds; |
|||
branch (d,b) db; |
|||
branch (s,b) sb; |
|||
branch (g,b) gb; |
|||
// * Local variables |
|||
real tmp1, tmp2, tmp3; // temporary variables |
|||
real VGprime, GAMMAprime;// short and narrow channel effect |
|||
real VP, VPprime; // pinch-off voltage |
|||
real if_, ir, irprime; // normalized currents |
|||
real VDSS, VDSSprime;// saturation voltage |
|||
real deltaL, Leq; // channel length reduction |
|||
real beta; // transconductance factor |
|||
real n; // slope factor |
|||
real Ispec; // specific current |
|||
real Vt; // k*T/q |
|||
real gm, gms, gmbs, gds; |
|||
real isub, Isub; |
|||
real inv_Vt, Vt_01, Vt_2, Vt_4, Vt_Vt, Vt_Vt_2, Vt_Vt_16; |
|||
real eps_COX, eps_COX_W, eps_COX_L; |
|||
real Lc, Lc_LAMBDA, IBN_2, T0, T1, eta_qi; |
|||
real inv_UCRIT, Lc_UCRIT, Lc_IBB, IBA_IBB; |
|||
integer Mode; |
|||
real WETA_W, LETA_L; |
|||
real E0_Q_1, AWL; |
|||
real T, KP_Weff; |
|||
real Eg, refEg, deltaT, ratioT, Tnom; |
|||
real VTO_T, VTO_S, KP_T, UCRIT_T, IBB_T, PHI_T, GAMMA_S; |
|||
real sqrt_Lprime_Lmin; |
|||
real GAMMAstar, sqrt_GAMMAstar; |
|||
real big_sqrt_VP; |
|||
real big_sqrt_VP0, VP0; |
|||
real PHI_VD, PHI_VS; |
|||
real sqrt_PHI; |
|||
real sqrt_PHI_VP, sqrt_PHI_VD, sqrt_PHI_VS; |
|||
real sqrt_PHI_VD_Vt, sqrt_PHI_VS_Vt; |
|||
real Vds, deltaV_2, Vip; |
|||
real VDSS_sqrt, sqrt_VDSS_deltaV, sqrt_Vds_VDSS_deltaV; |
|||
real VDSSprime_sqrt, sqrt_VDSSprime_deltaV, sqrt_Vds_VDSSprime_deltaV; |
|||
real if_ir; |
|||
real sqrt_if, sqrt_ir, sqrt_irprime; |
|||
real dif_dv, dir_dv, dirprime_dv; |
|||
// Charge related variables |
|||
real sif, sir, sif2, sir2, sif3, sir3; |
|||
real sif_sir_2; |
|||
real qi, qb; |
|||
real QD, QS, QI, QB, QG; |
|||
real VP_PHI_eps, sqrt_PHI_VP_2, WLCox; |
|||
real n_Vt_COX, n_1, n_1_n; |
|||
// Variables used for derivatives computation |
|||
real dVP_dVD, dVP_dVG, dVP_dVS; |
|||
real dif_dVD, dif_dVS, dif_dVG; |
|||
real dir_dVD, dir_dVS, dir_dVG; |
|||
real dVDSS_dVD, dVDSS_dVG, dVDSS_dVS; |
|||
real ddeltaV_dVD, ddeltaV_dVG, ddeltaV_dVS; |
|||
real dVip_dVD, dVip_dVG, dVip_dVS; |
|||
real dVDSSprime_dVD, dVDSSprime_dVG, dVDSSprime_dVS; |
|||
real dirprime_dVD, dirprime_dVG, dirprime_dVS; |
|||
real dLeq_dVD, dLeq_dVG, dLeq_dVS; |
|||
real dbeta_dVD, dbeta_dVG, dbeta_dVS; |
|||
real VGstar, sqrt_VGstar; |
|||
real VG, VD, VS; |
|||
real Von, Vdsat, Id, Ibd; |
|||
real Gn; |
|||
real GAMMA_sqrt_PHI, Lmin, Lprime, T0_GAMMA_1, THETA_VP_1, Vc; |
|||
real Vdsprime, Vt_Vc, dGAMMAprime_dVD, dGAMMAprime_dVG, dGAMMAprime_dVS; |
|||
real dVPprime_dVD, dVPprime_dVG, dVPprime_dVS, ddeltaL_dVD, ddeltaL_dVG; |
|||
real ddeltaL_dVS, dn_dVD, dn_dVG, dn_dVS; |
|||
real log_Vc_Vt, sqrt_PHI_VP0, sqrt_VP_Vt; |
|||
real Lc_IBB_Vib, Vib, dIsub_factor, exp_ib; |
|||
real inv_Vib, sqrt_PHI_VP2_2; |
|||
real V0, deltaVFB, vL; |
|||
real dQI_dVD, dQI_dVS, dQI_dVG; |
|||
real dQB_dVD, dQB_dVS, dQB_dVG; |
|||
real Leff, Weff; |
|||
real RSeff, RDeff; |
|||
real yk, z0, zk; |
|||
real EPSOX, epssil; |
|||
real ddt_QD, ddt_QS; |
|||
//DIODES realted variables [AB: 040902] |
|||
real as_i, ad_i, ps_i, pd_i, v_di_b, v_si_b; |
|||
real temp_arg, tmp0; |
|||
real js_t, jsw_t, jswg_t; |
|||
real pb_t, pbsw_t, pbswg_t; |
|||
real cj_t, cjsw_t, cjswg_t; |
|||
real njts_t, njtssw_t, njtsswg_t; |
|||
real is_d, arg_d, is_s, arg_s; |
|||
real f_breakdown_d, f_breakdown_s, idb_tun, isb_tun; |
|||
real csb_d, cssw_d, csswg_d; |
|||
real csb_s, cssw_s, csswg_s; |
|||
real qjd, qjs; |
|||
|
|||
// parameter definitions |
|||
parameter integer TYPE = 1 from [-1:1] exclude 0; // NMOS=1, PMOS=-1 |
|||
parameter integer Noise = 1 from [0:1]; // Set to zero to prevent noise calculation |
|||
parameter real Trise = 0.0 from [-inf:inf]; // Difference sim. temp and device temp [C deg] |
|||
// parameter real Temp = -`NOT_GIVEN from [`P_CELSIUS0:inf]; // Device temp [C] |
|||
//AB: the parameter name Temp is not working for no obvious reason; changed to TEMP |
|||
parameter real TEMP = -`NOT_GIVEN from [`P_CELSIUS0:inf]; // Device temp [C] |
|||
parameter real TNOM = -`NOT_GIVEN; // Temperature [C] |
|||
|
|||
|
|||
// Instance parameters |
|||
|
|||
// - intrinsic model |
|||
`IPRoz( L ,1.0e-5 ,"m" ,"Length" ) |
|||
`IPRoz( W ,1.0e-5 ,"m" ,"Total width including fingers" ) |
|||
`IPIco( M ,1 ,"" ,1 ,inf ,"Parallel multiplier" ) |
|||
`IPIco( NS ,1 ,"" ,1 ,inf ,"Series multiplier" ) |
|||
`BPRnb( DTEMP ,0.0 ,"K" ,"Offset of device temperature" ) |
|||
|
|||
// - external parasitics |
|||
`IPRcz( AS ,0.0 ,"m^2" ,"Source-to-substrate junction area" ) |
|||
`IPRcz( AD ,0.0 ,"m^2" ,"Drain-to-substrate junction area" ) |
|||
`IPRcz( PS ,0.0 ,"m" ,"Source-to-substrate junction perimeter" ) |
|||
`IPRcz( PD ,0.0 ,"m" ,"Drain-to-substrate junction perimeter" ) |
|||
|
|||
`IPRcz( NRS ,1.0 ,"" ,"Number of squares in source" ) |
|||
`IPRcz( NRD ,1.0 ,"" ,"Number of squares in drain" ) |
|||
|
|||
|
|||
// *** Process related parameters |
|||
parameter real COX = 2.0E-3 from [0.0:inf]; // Gate oxide capacitance per unit area [F] |
|||
parameter real XJ = 300E-9 from [0.0:inf]; // Junction depth [m] |
|||
//*** Threshold voltage/substrate effect parameters (long-channel) |
|||
parameter real VTO = 0.5 from [-inf:inf]; // Long-channel threshold voltage [V] |
|||
parameter real TCV = 1.0e-3; // Threshold voltage temperature coefficient [V/K] |
|||
parameter real GAMMA = 0.7 from [0.0:inf]; // Body effect parameter |
|||
parameter real PHI = 0.5 from [0.2:inf]; // Bulk Fermi potential [V] |
|||
//*** Mobility parameters (long-channel) *** |
|||
parameter real KP = 150E-6 from [0.0:inf]; // Transconductance parameter [A/V/V] |
|||
parameter real BEX = -1.5; // Mobility temperature exponent |
|||
parameter real THETA = 0.0 from [0.0:inf]; // Mobility reduction coefficient [1/V] |
|||
parameter real E0 = 1.0E8; // Mobility reduction coefficient [V/m] |
|||
//*** Velocity sat./channel length mod. parameters (short-channel) |
|||
parameter real UCRIT = 2.0E6 from [0.0:inf]; // Longitudinal critical field [V/m] |
|||
parameter real UCEX = 0.8; // Longitudinal critical field temperature exponent |
|||
parameter real LAMBDA = 0.8 from [0.0:inf]; // Depletion length coefficient (channel length modulation) |
|||
//*** Process related parameters |
|||
parameter real DL = -0.01E-6; // Channel width correction [m] |
|||
parameter real DW = -0.01E-6; // Channel length correction [m] |
|||
//*** Threshold voltage/substrate effect parameter (narrow-channel) |
|||
parameter real WETA = 0.2 from [0.0:inf]; // Narrow-channel effect coefficient |
|||
//*** Threshold voltage/substrate effect parameters (short-channel) |
|||
parameter real LETA = 0.3 from [0.0:inf]; // Short-channel effect coefficient |
|||
parameter real Q0 = 230E-6 from [0.0:inf]; // Reverse short channel effect peak charge density |
|||
parameter real LK = 0.4E-6 from [0.0:inf]; // Reverse short channel effect characteristic length [m] |
|||
//*** Substrate current parameters |
|||
parameter real IBA = 5.0E8 from [0.0:inf]; // First impact ionization coefficient [1/m] |
|||
parameter real IBB = 4.0E8 from [0.0:inf]; // Second impact ionization coefficient [V/m] |
|||
parameter real IBBT = 9.0e-4; // Temperature coefficient for IBB [1/K] |
|||
parameter real IBN = 1.0 from [0.0:inf]; // Saturation voltage factor for impact ionization |
|||
//*** Series resistance parameters |
|||
parameter real RSH = 0.0 from [0.0:inf]; // Sheet resistance [Ohms] |
|||
parameter real HDIF = 0.5E-6 from [0.0:inf]; // Sheet resistance multipler |
|||
//*** for MC analysis fk 25/05/97 |
|||
parameter real AVTO = 1E-6 from [0.0:inf]; // Area related threshold voltage mismatch parameter [Vm] |
|||
parameter real AKP = 1E-6 from [0.0:inf]; // Area related gain mismatch parameter [m] |
|||
parameter real AGAMMA = 1E-6 from [0.0:inf]; // Area related body effect mismatch parameter [sqr(V) m] |
|||
parameter real AF = 1.0 from (0:inf); // Flicker noise exponent |
|||
parameter real KF = 0.0 from [0:inf); // Flicker noise coefficient |
|||
//*** JUNCTION DRAIN-BULK AND SOURCE-BULK AREA, CURRENT, CAPACITANCE [AB:040902] |
|||
parameter real xd_n = 1.0 from [0.0:inf); |
|||
parameter real xd_js = 1.0E-09 from [0.0:inf); |
|||
parameter real xd_jsw = 1.0E-12 from [0.0:inf); |
|||
parameter real xd_jswg = 1.0E-12 from [0.0:inf); |
|||
parameter real xd_mj = 0.900 from [0.0:1.0]; |
|||
parameter real xd_mjsw = 0.700 from [0.0:1.0]; |
|||
parameter real xd_mjswg = 0.700 from [0.0:1.0]; |
|||
parameter real xd_pb = 0.800 from (0.0:inf); |
|||
parameter real xd_pbsw = 0.600 from (0.0:inf); |
|||
parameter real xd_pbswg = 0.600 from (0.0:inf); |
|||
parameter real xd_cj = 1.0E-09 from [0.0:inf); |
|||
parameter real xd_cjsw = 1.0E-12 from [0.0:inf); |
|||
parameter real xd_cjswg = 1.0E-12 from [0.0:inf); |
|||
parameter real xd_gmin = 0.0 from [0.0:inf); |
|||
parameter real xd_xjbv = 0.0 from [0.0:inf); |
|||
parameter real xd_bv = 10.0 from [0.0:inf); |
|||
parameter real xd_njts = 1.0 from [0.0:inf); |
|||
parameter real xd_njtssw = 1.0 from [0.0:inf); |
|||
parameter real xd_njtsswg = 1.0 from [0.0:inf); |
|||
parameter real xd_vts = 0.0 from [0.0:inf); |
|||
parameter real xd_vtssw = 0.0 from [0.0:inf); |
|||
parameter real xd_vtsswg = 0.0 from [0.0:inf); |
|||
parameter real tp_xti = 3.0 from (-inf:inf); |
|||
parameter real tp_cj = 0.0 from (-inf:inf); |
|||
parameter real tp_cjsw = 0.0 from (-inf:inf); |
|||
parameter real tp_cjswg = 0.0 from (-inf:inf); |
|||
parameter real tp_pb = 0.0 from (-inf:inf); |
|||
parameter real tp_pbsw = 0.0 from (-inf:inf); |
|||
parameter real tp_pbswg = 0.0 from (-inf:inf); |
|||
parameter real tp_njts = 0.0 from [0.0:inf); |
|||
parameter real tp_njtssw = 0.0 from [0.0:inf); |
|||
parameter real tp_njtsswg = 0.0 from [0.0:inf); |
|||
analog begin |
|||
// Set constant |
|||
EPSOX = 3.9 * `P_EPS0; |
|||
epssil = 11.7 * `P_EPS0; |
|||
Ibd = 0.0; |
|||
// The following are necessary to prevent memory states being reserved: |
|||
THETA_VP_1 = 0.0; |
|||
VPprime = 0.0; |
|||
sqrt_VP_Vt = 0.0; |
|||
// Geometry, voltage and temperature independent model variables |
|||
eps_COX = epssil/COX; |
|||
Lc = sqrt(eps_COX*XJ); |
|||
Lc_LAMBDA = Lc * LAMBDA; |
|||
eps_COX_W = 3.0 * eps_COX * WETA; |
|||
eps_COX_L = eps_COX * LETA; |
|||
IBN_2 = IBN + IBN; |
|||
T0 = COX / (epssil*E0); |
|||
V0 = (Q0+Q0) / COX; |
|||
eta_qi = TYPE > 0 ? 0.5 : 0.3333333333333; |
|||
/* Model working variables, geometry and voltage independent, |
|||
* which need to be updated after temperature change |
|||
* EKV model internal variables depending on temperature. |
|||
*/ |
|||
/* If Temp is explicitly specified, use that value |
|||
otherwise use Tckt+Trise */ |
|||
if (TEMP == -`NOT_GIVEN) //AB: 040902 Temp -> TEMP |
|||
T = $temperature + Trise; |
|||
else |
|||
T = TEMP + `P_CELSIUS0; //AB: 040902 Temp -> TEMP |
|||
if (TNOM == -`NOT_GIVEN) |
|||
Tnom = `DEFAULT_TNOM + `P_CELSIUS0; |
|||
else |
|||
Tnom = TNOM + `P_CELSIUS0; |
|||
Vt = $vt(T); |
|||
Vt_01 = 0.1 * Vt; |
|||
inv_Vt = 1.0 / Vt; |
|||
Vt_2 = Vt + Vt; |
|||
Vt_4 = Vt_2 + Vt_2; |
|||
Vt_Vt = Vt * Vt; |
|||
Vt_Vt_2 = Vt_Vt + Vt_Vt; |
|||
Vt_Vt_16 = 16.0 * Vt_Vt; |
|||
|
|||
Eg = 1.16 - 7.02e-4 * T * T / (T + 1108.0); |
|||
refEg = 1.16 - (7.02e-4*Tnom*Tnom) / (Tnom + 1108.0); |
|||
deltaT = T - Tnom; |
|||
ratioT = T / Tnom; |
|||
VTO_T = VTO - TCV * deltaT; |
|||
KP_T = KP * pow(ratioT, BEX); |
|||
UCRIT_T = UCRIT * pow(ratioT, UCEX); |
|||
IBB_T = IBB * (1.0 + IBBT * deltaT); |
|||
PHI_T = PHI * ratioT - 3.0 * Vt * ln(ratioT) - refEg * ratioT + Eg; |
|||
// !! mb 99/07/30 prevents PHI from becoming smaller than 0.2 |
|||
tmp1 = 0.2; |
|||
tmp2 = PHI_T - tmp1; |
|||
PHI_T = 0.5*(tmp2 + sqrt(tmp2*tmp2 + Vt*Vt)) + tmp1; |
|||
sqrt_PHI = sqrt(PHI_T); |
|||
inv_UCRIT = 1.0/UCRIT_T; |
|||
Lc_UCRIT = Lc * UCRIT_T; |
|||
Lc_IBB = Lc * IBB_T; |
|||
IBA_IBB = IBA / IBB_T; |
|||
/* VTO, KP and GAMMA with variation for MC analysis if required. |
|||
* The default value for model parameters AVTO, AKP and AGAMMA |
|||
* is set to 1e-6 to allow meaningful sensitivity analysis. Only |
|||
* the deviation from this value has to be taken into account |
|||
*/ |
|||
// wg: for userc.c and verilog implementations |
|||
Leff = L + DL; |
|||
// wg: for userc.c and verilog implementations |
|||
Weff = W + DW; |
|||
Vc = UCRIT_T*Leff; // NOTE: use L if necessary |
|||
log_Vc_Vt = Vt*(ln(0.5*Vc*inv_Vt)-0.6); // mb 98/02/05 (r1) |
|||
// de-normalization |
|||
AWL = 1.0/sqrt(Weff*Leff); |
|||
if (TYPE > 0) |
|||
VTO_S = ((AVTO != 1e-6) ? AWL*(AVTO - 1e-6) + VTO_T : VTO_T); |
|||
else |
|||
VTO_S = ((AVTO != 1e-6) ? AWL*(1e-6 - AVTO) - VTO_T: -VTO_T); |
|||
KP_Weff = Weff * ((AKP != 1e-6) ? KP_T*(1 + (AKP - 1e-6)*AWL) : KP_T); |
|||
GAMMA_S = ((AGAMMA !=1e-6) ? GAMMA + (AGAMMA - 1e-6)*AWL : GAMMA); |
|||
GAMMA_sqrt_PHI = GAMMA_S*sqrt_PHI; |
|||
/* ************************************ |
|||
* STATIC MODEL EQUATIONS |
|||
* *************************************/ |
|||
// VGprime: |
|||
if (V0 == 0.0) |
|||
deltaVFB = 0.0; |
|||
// else begin : VGprime //AB: 040902 VGPrime is also a variable and |
|||
else begin : VGprime_block //AB: 040902 VGPrime -> VGprime_block |
|||
real sqv; |
|||
// mb 99/03/26 corrected for multiple device number |
|||
vL = 0.28 * (Leff/(LK*NS) - 0.1); |
|||
sqv = 1.0 / (1.0 + 0.5*(vL + sqrt(vL*vL + 1.936e-3))); |
|||
deltaVFB = V0 * sqv * sqv; |
|||
end |
|||
VG = TYPE * V(g,b); // wg 22/04/08 corrected for device TYPE |
|||
VS = TYPE * V(s,b); |
|||
VD = TYPE * V(d,b); |
|||
if (VD - VS < 0) begin |
|||
Mode = `REV; |
|||
T1 = VS; |
|||
VS = VD; |
|||
VD = T1; |
|||
end |
|||
else |
|||
Mode = `FWD; |
|||
// VGB = VGS - VBS; |
|||
// VBD = VBS - VDS; |
|||
VGstar = VG - VTO_S - deltaVFB + PHI_T + GAMMA_sqrt_PHI; |
|||
sqrt_VGstar = sqrt(VGstar*VGstar + 2.0*Vt_Vt_16); |
|||
VGprime = 0.5*(VGstar + sqrt_VGstar); |
|||
// Pinch-off voltage VP, limited to VP >= -PHI |
|||
PHI_VS = PHI_T+VS; |
|||
sqrt_PHI_VS_Vt = sqrt(PHI_VS*PHI_VS+Vt_Vt_16); |
|||
sqrt_PHI_VS = sqrt(0.5*(PHI_VS+sqrt_PHI_VS_Vt)); |
|||
PHI_VD = PHI_T+VD; |
|||
sqrt_PHI_VD_Vt = sqrt(PHI_VD*PHI_VD+Vt_Vt_16); |
|||
sqrt_PHI_VD = sqrt(0.5*(PHI_VD+sqrt_PHI_VD_Vt)); |
|||
WETA_W = eps_COX_W * M / Weff; |
|||
LETA_L = eps_COX_L * NS / Leff; |
|||
// mb: symmetric version of GAMMAprime necessary with charges model |
|||
big_sqrt_VP0 = sqrt(VGprime + 0.25*GAMMA_S*GAMMA_S); |
|||
VP0 = VGprime - PHI_T - GAMMA_S*(big_sqrt_VP0 - 0.5*GAMMA_S); |
|||
sqrt_PHI_VP0 = sqrt(VP0+PHI_T+Vt_01); |
|||
GAMMAstar = GAMMA_S - LETA_L * (sqrt_PHI_VS+sqrt_PHI_VD) + |
|||
WETA_W * sqrt_PHI_VP0; |
|||
// keep GAMMAprime from becoming negative |
|||
sqrt_GAMMAstar = sqrt(GAMMAstar*GAMMAstar+Vt_01); |
|||
GAMMAprime = 0.5*(GAMMAstar+sqrt_GAMMAstar); |
|||
big_sqrt_VP = sqrt(VGprime+0.25*GAMMAprime*GAMMAprime); |
|||
VP = VGprime-PHI_T-GAMMAprime*(big_sqrt_VP-0.5*GAMMAprime); |
|||
// Forward normalized current: |
|||
tmp1 = (VP - VS) * inv_Vt; |
|||
if (tmp1 > -0.35) begin |
|||
z0 = 2.0/(1.3 + tmp1 - ln(tmp1 + 1.6)); |
|||
zk = (2.0 + z0)/(1.0 + tmp1 + ln(z0)); |
|||
yk = (1.0 + tmp1 + ln(zk))/(2.0 + zk); |
|||
end else begin |
|||
if (tmp1 > -15.0) begin |
|||
z0 = 1.55 + exp(-tmp1); |
|||
zk = (2.0 + z0)/(1.0 + tmp1 + ln(z0)); |
|||
yk = (1.0 + tmp1 + ln(zk))/(2.0 + zk); |
|||
end else begin |
|||
if (tmp1 > -23.0) begin |
|||
yk = 1.0/(2.0 + exp(-tmp1)); |
|||
end else begin |
|||
yk = exp(tmp1) + 1E-64; |
|||
end |
|||
end |
|||
end |
|||
if_ = yk*(1.0 + yk); |
|||
sqrt_if = sqrt(if_); |
|||
dif_dv = yk; |
|||
// Saturation voltage: |
|||
Vt_Vc = Vt / Vc; |
|||
VDSS_sqrt = sqrt(0.25+sqrt_if*Vt_Vc); |
|||
VDSS = Vc*(VDSS_sqrt-0.5); |
|||
Vds = 0.5*(VD-VS); |
|||
deltaV_2 = Vt_Vt_16*(LAMBDA*(sqrt_if- |
|||
VDSS*inv_Vt)+15.625e-3); |
|||
sqrt_VDSS_deltaV = sqrt(VDSS*VDSS+deltaV_2); |
|||
sqrt_Vds_VDSS_deltaV = sqrt((Vds-VDSS)*(Vds-VDSS)+deltaV_2); |
|||
Vip = sqrt_VDSS_deltaV-sqrt_Vds_VDSS_deltaV; |
|||
VDSSprime_sqrt = sqrt(0.25+(sqrt_if-0.75*ln(if_))*Vt_Vc); |
|||
VDSSprime = Vc*(VDSSprime_sqrt-0.5)+log_Vc_Vt; |
|||
// Reverse normalized current: |
|||
Vdsprime = Vds-VDSSprime; // mb 97/07/18 introduced Vdsprime |
|||
sqrt_VDSSprime_deltaV = sqrt(VDSSprime*VDSSprime+deltaV_2); |
|||
sqrt_Vds_VDSSprime_deltaV = sqrt(Vdsprime*Vdsprime+deltaV_2); |
|||
tmp1 = (VP-Vds-VS-sqrt_VDSSprime_deltaV+ |
|||
sqrt_Vds_VDSSprime_deltaV)*inv_Vt; |
|||
// include -> Charge F(x) interpolate function |
|||
if (tmp1 > -0.35) begin |
|||
z0 = 2.0/(1.3 + tmp1 - ln(tmp1 + 1.6)); |
|||
zk = (2.0 + z0)/(1.0 + tmp1 + ln(z0)); |
|||
yk = (1.0 + tmp1 + ln(zk))/(2.0 + zk); |
|||
end else begin |
|||
if (tmp1 > -15.0) begin |
|||
z0 = 1.55 + exp(-tmp1); |
|||
zk = (2.0 + z0)/(1.0 + tmp1 + ln(z0)); |
|||
yk = (1.0 + tmp1 + ln(zk))/(2.0 + zk); |
|||
end else begin |
|||
if (tmp1 > -23.0) begin |
|||
yk = 1.0/(2.0 + exp(-tmp1)); |
|||
end else begin |
|||
yk = exp(tmp1) + 1E-64; |
|||
end |
|||
end |
|||
end |
|||
irprime = yk*(1.0 + yk); |
|||
sqrt_irprime = sqrt(irprime); |
|||
dirprime_dv = yk; |
|||
/* Channel length modulation & mobility reduction due |
|||
* to longitudinal field */ |
|||
deltaL = Lc_LAMBDA*ln(1.0+(Vds-Vip)/Lc_UCRIT); |
|||
Lprime = Leff-deltaL+(Vds+Vip)*inv_UCRIT; |
|||
Lmin = 0.1*Leff; |
|||
sqrt_Lprime_Lmin = sqrt(Lprime*Lprime+Lmin*Lmin); |
|||
Leq = 0.5*(Lprime+sqrt_Lprime_Lmin); |
|||
// Transconductance factor: |
|||
// Mobility reduction due to vertical field |
|||
// Reverse normalized current: |
|||
// ratioV_ir |
|||
tmp1 = (VP - VD) * inv_Vt; |
|||
if (tmp1 > -0.35) begin |
|||
z0 = 2.0/(1.3 + tmp1 - ln(tmp1 + 1.6)); |
|||
zk = (2.0 + z0)/(1.0 + tmp1 + ln(z0)); |
|||
yk = (1.0 + tmp1 + ln(zk))/(2.0 + zk); |
|||
end else begin |
|||
if (tmp1 > -15.0) begin |
|||
z0 = 1.55 + exp(-tmp1); |
|||
zk = (2.0 + z0)/(1.0 + tmp1 + ln(z0)); |
|||
yk = (1.0 + tmp1 + ln(zk))/(2.0 + zk); |
|||
end else begin |
|||
if (tmp1 > -23.0) begin |
|||
yk = 1.0/(2.0 + exp(-tmp1)); |
|||
end else begin |
|||
yk = exp(tmp1) + 1E-64; |
|||
end |
|||
end |
|||
end |
|||
ir = yk*(1.0 + yk); |
|||
sqrt_ir = sqrt(ir); |
|||
dir_dv = yk; |
|||
sif2 = 0.25+if_; |
|||
sir2 = 0.25+ir; |
|||
sif = sqrt(sif2); |
|||
sir = sqrt(sir2); |
|||
sif_sir_2 = (sif+sir)*(sif+sir); |
|||
VP_PHI_eps = VP+PHI_T+1.0e-6; |
|||
sqrt_PHI_VP_2 = 2.0*sqrt(VP_PHI_eps); |
|||
n_1 = GAMMA_S/sqrt_PHI_VP_2; |
|||
n_1_n = GAMMA_S/(sqrt_PHI_VP_2 + GAMMA_S); |
|||
// Normalized inversion charge (qi=QI/WLCox) |
|||
qi = -(1.0+n_1)*Vt*((0.66666666+0.66666666)* |
|||
(sir2+sir*sif+sif2)/(sif+sir) - 1.0); |
|||
// Normalized depletion charge (qb=QB/WLCox), for depletion to inversion |
|||
qb = -0.5*GAMMA_S*sqrt_PHI_VP_2 - n_1_n*qi; |
|||
if (E0 == 0.0) begin |
|||
/* NOTE: this version of the simple mobility model from prior |
|||
* versions of the EKV model is reinstated. |
|||
* In case E0 is *not* specified, this |
|||
* simple mobility model is used according to THETA, if specified. |
|||
* VPprime: |
|||
* mb eliminated discontinuity of derivative of 1+THETA*VP |
|||
*/ |
|||
sqrt_VP_Vt = sqrt(VP*VP + Vt_Vt_2); |
|||
VPprime = 0.5 * (VP + sqrt_VP_Vt); |
|||
THETA_VP_1 = 1.0+THETA*VPprime; |
|||
beta = KP_Weff / (Leq * THETA_VP_1); // mb 97/07/18 |
|||
end |
|||
else begin |
|||
/* new model for mobility reduction, linked to the charges model |
|||
* mb 98/10/11 (r10) introduced fabs(Eeff) (jpm) |
|||
* E0_Q_1 = 1.0 + T0 * abs(qb+eta_qi*qi); |
|||
*/ |
|||
if ((qb + eta_qi*qi) > 0.0) |
|||
E0_Q_1 = 1.0 + T0*(qb + eta_qi*qi); |
|||
else |
|||
E0_Q_1 = 1.0 - T0*(qb + eta_qi*qi); |
|||
T0_GAMMA_1 = 1.0 + T0*GAMMA_sqrt_PHI; |
|||
beta = KP_Weff * T0_GAMMA_1 / (Leq * E0_Q_1); |
|||
end |
|||
/* Slope factor: mb introduced new formula to avoid divergence |
|||
* of n for VP->-PHI */ |
|||
sqrt_PHI_VP = sqrt(PHI_T+VP+Vt_4); // mb 95/12/19 introduced Vt_4 |
|||
n = 1.0 + GAMMA_S/(2.0*sqrt_PHI_VP); |
|||
// Drain current: |
|||
if_ir = if_-irprime; |
|||
Ispec = Vt_Vt_2 * n * beta; |
|||
Id = Ispec * if_ir; |
|||
/* Return threshold voltage |
|||
* Von = Vth(Vs) = Vto + Gamma*(sqrt(Phi + Vsb)-sqrt(Phi)) */ |
|||
Von = VTO_S + GAMMAprime*(sqrt_PHI_VS - sqrt_PHI); |
|||
// Return saturation voltage (estimate) |
|||
Vdsat = Vt * (2.0*sqrt_if + 4.0); |
|||
// Return equivalent conductance for thermal noise calculation |
|||
Gn = beta * abs(qi); |
|||
/* Pinch-off voltage derivatives: |
|||
* mb 97/09/14 symmetric version of GAMMAprime necessary with |
|||
* charges model |
|||
* mb 99/05/10 (r12) New VGprime formulation (REVISION III) allows |
|||
* VP derivatives to be expressed with a single equation |
|||
*/ |
|||
tmp1 = GAMMAprime / (sqrt_GAMMAstar+sqrt_GAMMAstar); |
|||
tmp2 = VGprime/sqrt_VGstar; // dVGprime_dVG |
|||
dGAMMAprime_dVD = -LETA_L * tmp1 * sqrt_PHI_VD / sqrt_PHI_VD_Vt; |
|||
dGAMMAprime_dVS = -LETA_L * tmp1 * sqrt_PHI_VS / sqrt_PHI_VS_Vt; |
|||
dGAMMAprime_dVG = WETA_W * tmp1 * (big_sqrt_VP0-0.5*GAMMA_S) / |
|||
(big_sqrt_VP0*sqrt_PHI_VP0) * tmp2; |
|||
tmp3 = (VP+PHI_T) / big_sqrt_VP; |
|||
dVP_dVD = -tmp3 * dGAMMAprime_dVD; |
|||
dVP_dVS = -tmp3 * dGAMMAprime_dVS; |
|||
dVP_dVG = -tmp3 * dGAMMAprime_dVG + (1.0 - |
|||
GAMMAprime/(big_sqrt_VP+big_sqrt_VP)) * tmp2; |
|||
// Forward normalized current derivatives: |
|||
tmp1 = dif_dv * inv_Vt; // mb 95/08/28, 97/04/21 |
|||
dif_dVD = tmp1 * dVP_dVD; |
|||
dif_dVS = tmp1 * (dVP_dVS-1.0); |
|||
dif_dVG = tmp1 * dVP_dVG; |
|||
// Saturation voltage derivatives: |
|||
tmp1 = Vt / (4.0*VDSS_sqrt*sqrt_if); |
|||
dVDSS_dVD = tmp1 * dif_dVD; |
|||
dVDSS_dVS = tmp1 * dif_dVS; |
|||
dVDSS_dVG = tmp1 * dif_dVG; |
|||
// deltaV derivatives: |
|||
tmp1 = (Vt_4+Vt_4) * LAMBDA; |
|||
tmp2 = Vt / (sqrt_if+sqrt_if); |
|||
ddeltaV_dVD = tmp1 * (dif_dVD*tmp2 - dVDSS_dVD); |
|||
ddeltaV_dVS = tmp1 * (dif_dVS*tmp2 - dVDSS_dVS); |
|||
ddeltaV_dVG = tmp1 * (dif_dVG*tmp2 - dVDSS_dVG); |
|||
// Vip derivatives: |
|||
tmp1 = 1.0 / sqrt_VDSS_deltaV; |
|||
tmp2 = 1.0 / sqrt_Vds_VDSS_deltaV; |
|||
tmp3 = Vds-VDSS; |
|||
dVip_dVD = (VDSS*dVDSS_dVD + ddeltaV_dVD) * tmp1 - |
|||
(tmp3 * (0.5-dVDSS_dVD) + ddeltaV_dVD) * tmp2; |
|||
dVip_dVS = (VDSS*dVDSS_dVS + ddeltaV_dVS) * tmp1 - |
|||
(tmp3 * (-0.5-dVDSS_dVS) + ddeltaV_dVS) * tmp2; |
|||
dVip_dVG = (VDSS*dVDSS_dVG + ddeltaV_dVG) * tmp1 - |
|||
(tmp3 * -dVDSS_dVG + ddeltaV_dVG) * tmp2; |
|||
// VDSSprime derivatives: |
|||
tmp1 = Vt * (sqrt_if-1.5)/(4.0*VDSSprime_sqrt*if_); |
|||
dVDSSprime_dVD = tmp1 * dif_dVD; |
|||
dVDSSprime_dVS = tmp1 * dif_dVS; |
|||
dVDSSprime_dVG = tmp1 * dif_dVG; |
|||
// Reverse normalized current derivatives: |
|||
tmp1 = dirprime_dv * inv_Vt; // mb 95/08/28, 97/04/21 |
|||
tmp2 = 1.0 / sqrt_VDSSprime_deltaV; // mb 97/04/21 |
|||
tmp3 = 1.0 / sqrt_Vds_VDSSprime_deltaV; |
|||
dirprime_dVD = tmp1 * (dVP_dVD-0.5 - |
|||
(VDSSprime*dVDSSprime_dVD+ddeltaV_dVD) * tmp2 + |
|||
(Vdsprime*(0.5-dVDSSprime_dVD)+ddeltaV_dVD) * tmp3); |
|||
dirprime_dVS = tmp1 * (dVP_dVS-0.5 - |
|||
(VDSSprime*dVDSSprime_dVS+ddeltaV_dVS) * tmp2 + |
|||
(Vdsprime*(-0.5-dVDSSprime_dVS)+ddeltaV_dVS) * tmp3); |
|||
dirprime_dVG = tmp1*(dVP_dVG - |
|||
(VDSSprime*dVDSSprime_dVG+ddeltaV_dVG) * tmp2 + |
|||
(Vdsprime*(-dVDSSprime_dVG)+ddeltaV_dVG) * tmp3); |
|||
// Channel length modulation & mobility reduction derivatives: |
|||
// deltaL derivatives: |
|||
tmp1 = Lc_LAMBDA / (Lc_UCRIT+Vds-Vip); |
|||
ddeltaL_dVD = tmp1 * (0.5-dVip_dVD); |
|||
ddeltaL_dVS = tmp1 * (-0.5-dVip_dVS); |
|||
ddeltaL_dVG = -tmp1 * dVip_dVG; |
|||
// Leq derivatives: |
|||
tmp1 = 1.0 / sqrt_Lprime_Lmin; // in fact dLeq_dVX/Leq |
|||
dLeq_dVD = tmp1 * (-ddeltaL_dVD + (0.5+dVip_dVD)*inv_UCRIT); |
|||
dLeq_dVS = tmp1 * (-ddeltaL_dVS + (-0.5+dVip_dVS)*inv_UCRIT); |
|||
dLeq_dVG = tmp1 * (-ddeltaL_dVG + dVip_dVG*inv_UCRIT); |
|||
// Transconductance factor derivatives: |
|||
tmp1 = dir_dv*inv_Vt; |
|||
dir_dVD = tmp1 * (dVP_dVD-1.0); |
|||
dir_dVS = tmp1 * dVP_dVS; |
|||
dir_dVG = tmp1 * dVP_dVG; |
|||
tmp1 = -(1.0+n_1)*Vt*0.66666666/sif_sir_2; |
|||
tmp2 = tmp1*(sif+2.0*sir); |
|||
tmp3 = tmp1*(sir+2.0*sif); |
|||
tmp1 = -n_1*qi/((2.0+n_1+n_1)*VP_PHI_eps); |
|||
dQI_dVD = tmp1 * dVP_dVD + tmp2 * dif_dVD + tmp3 * dir_dVD; |
|||
dQI_dVS = tmp1 * dVP_dVS + tmp2 * dif_dVS + tmp3 * dir_dVS; |
|||
dQI_dVG = tmp1 * dVP_dVG + tmp2 * dif_dVG + tmp3 * dir_dVG; |
|||
tmp1 = (1.0+n_1)-qi/(2.0*(1.0+n_1)*VP_PHI_eps); |
|||
dQB_dVD = -n_1_n * (tmp1 * dVP_dVD + dQI_dVD); |
|||
dQB_dVS = -n_1_n * (tmp1 * dVP_dVS + dQI_dVS); |
|||
dQB_dVG = -n_1_n * (tmp1 * dVP_dVG + dQI_dVG); |
|||
if (E0 == 0.0) begin |
|||
tmp1 = THETA * VPprime / (THETA_VP_1 * sqrt_VP_Vt); |
|||
// VPprime derivatives: |
|||
dVPprime_dVD = tmp1 * dVP_dVD; |
|||
dVPprime_dVS = tmp1 * dVP_dVS; |
|||
dVPprime_dVG = tmp1 * dVP_dVG; |
|||
dbeta_dVD = -dLeq_dVD - dVPprime_dVD; // in fact dbeta_dVX / beta |
|||
dbeta_dVS = -dLeq_dVS - dVPprime_dVS; |
|||
dbeta_dVG = -dLeq_dVG - dVPprime_dVG; |
|||
end |
|||
else begin |
|||
tmp1 = T0 / E0_Q_1; |
|||
dbeta_dVD = -dLeq_dVD + tmp1 * (dQB_dVD+eta_qi*dQI_dVD); |
|||
dbeta_dVS = -dLeq_dVS + tmp1 * (dQB_dVS+eta_qi*dQI_dVS); |
|||
dbeta_dVG = -dLeq_dVG + tmp1 * (dQB_dVG+eta_qi*dQI_dVG); |
|||
end |
|||
// Slope factor derivatives: |
|||
tmp1 = -GAMMA_S/(4.0*n*sqrt_PHI_VP*(PHI_T+VP+Vt_4));// mb 95/12/19 |
|||
dn_dVD = tmp1 * dVP_dVD; |
|||
dn_dVS = tmp1 * dVP_dVS; |
|||
dn_dVG = tmp1 * dVP_dVG; |
|||
// Transconductances: |
|||
gds = Ispec*((dn_dVD + dbeta_dVD)*if_ir + dif_dVD - dirprime_dVD); |
|||
gms = -Ispec*((dn_dVS + dbeta_dVS)*if_ir + dif_dVS - dirprime_dVS); |
|||
gm = Ispec*((dn_dVG + dbeta_dVG)*if_ir + dif_dVG - dirprime_dVG); |
|||
gmbs = gms - gm - gds; |
|||
// S/D resistance corrections including W and DW |
|||
RSeff = (RSH*HDIF)/(Weff-DW); |
|||
RDeff = (RSH*HDIF)/(Weff-DW); |
|||
tmp1 = 1.0/(1.0 + gms*RSeff + gds*RDeff); |
|||
Id = Id*tmp1; |
|||
/****** Impact ionization current ****** |
|||
* mb 95/12/19 introduced impact ionization |
|||
* This current component is flowing from the intrinsic drain terminal |
|||
* to the bulk (for NMOS) in parallel with the junction current. |
|||
* The simulator should also take into account the corresponding |
|||
* conductances. |
|||
*/ |
|||
// Substrate current: |
|||
Vib = VD-VS-IBN_2*VDSS; |
|||
if ((Vib > 0.0) && (IBA_IBB > 0.0)) begin |
|||
inv_Vib = 1.0/Vib; |
|||
Lc_IBB_Vib = -Lc_IBB*inv_Vib; |
|||
if (Lc_IBB_Vib < -35.0) // math precision check |
|||
Lc_IBB_Vib = -35.0; |
|||
exp_ib = exp(Lc_IBB_Vib); |
|||
isub = IBA_IBB*Vib*exp_ib; |
|||
Isub = isub*Id; |
|||
dIsub_factor = Isub*inv_Vib*(1.0-Lc_IBB_Vib); |
|||
end |
|||
else begin |
|||
Lc_IBB_Vib = 0.0; |
|||
Isub = 0.0; |
|||
end |
|||
// END: substrate current computation |
|||
Ibd = Ibd - Isub; |
|||
// --- Charge calculations --- |
|||
WLCox = Weff * Leff * COX; |
|||
sif3 = sif*sif2; |
|||
sir3 = sir*sir2; |
|||
tmp1 = sqrt(PHI_T + 0.5 * VP); |
|||
sqrt_PHI_VP2_2 = tmp1+tmp1; |
|||
n_Vt_COX = (1.0 + GAMMAprime/sqrt_PHI_VP2_2) * Vt*WLCox; |
|||
QD = -n_Vt_COX*(0.266666666*(3.0*sir3+6.0*sir2*sif+4.0* |
|||
sir*sif2+2.0*sif3)/sif_sir_2 - 0.5); |
|||
QS = -n_Vt_COX*(0.266666666*(3.0*sif3+6.0*sif2*sir+4.0* |
|||
sif*sir2+2.0*sir3)/sif_sir_2 - 0.5); |
|||
QI = QS + QD; |
|||
QB = WLCox * (-0.5*GAMMAprime*sqrt_PHI_VP_2 + VGprime - VGstar) - |
|||
QI*GAMMAprime/(GAMMAprime+sqrt_PHI_VP2_2); |
|||
QG = -QI -QB; |
|||
I(ds) <+ TYPE * Mode * Id; // wg 22/04/08 corrected for device TYPE |
|||
ddt_QD = ddt(QD); |
|||
ddt_QS = ddt(QS); |
|||
if (Mode == `FWD) begin |
|||
I(db) <+ TYPE * ddt_QD; // wg 22/04/08 corrected for device TYPE |
|||
I(sb) <+ TYPE * ddt_QS; |
|||
I(db) <+ TYPE * Isub; |
|||
end |
|||
else begin |
|||
I(sb) <+ TYPE * ddt_QD; // wg 22/04/08 corrected for device TYPE |
|||
I(db) <+ TYPE * ddt_QS; |
|||
I(sb) <+ TYPE * Isub; |
|||
end |
|||
I(gb) <+ TYPE * ddt(QG); // wg 22/04/08 corrected for device TYPE |
|||
// if (Noise) begin : Noise //AB: 040902 Noise is also a variable and |
|||
if (Noise) begin : Noise_block //AB: 040902 Noise -> Noise_block |
|||
real S_flicker, S_thermal; |
|||
S_thermal = 4 * `P_K * T * Gn; |
|||
S_flicker = KF * gm * gm / (Weff * NS * Leff * COX); |
|||
I(ds) <+ white_noise(S_thermal, "thermal") + |
|||
flicker_noise(S_flicker, AF, "flicker"); |
|||
end |
|||
/////////////////////////////////// |
|||
//EXTRINSIC PART: JUNCTION DIODES// |
|||
/////////////////////////////////// |
|||
//diode area and perimeter computation |
|||
if ((AS == 0.0) && (HDIF>0.0)) as_i = 2.0*HDIF*Weff; |
|||
else as_i = AS; |
|||
if ((PS == 0.0) && (HDIF>0.0)) ps_i = 4.0*HDIF+1.0*Weff; |
|||
else ps_i = PS; |
|||
if ((AD == 0.0) && (HDIF>0.0)) ad_i = 2.0*HDIF*Weff; |
|||
else ad_i = AD; |
|||
if ((PD == 0.0) && (HDIF>0.0)) pd_i = 4.0*HDIF+1.0*Weff; |
|||
else pd_i = PD; |
|||
//temperature update for diodes |
|||
temp_arg = exp((refEg/$vt(Tnom) - Eg/Vt + tp_xti*ln(ratioT))/xd_n); |
|||
js_t = xd_js*temp_arg; |
|||
jsw_t = xd_jsw*temp_arg; |
|||
jswg_t = xd_jswg*temp_arg; |
|||
pb_t = xd_pb - tp_pb*deltaT; |
|||
pbsw_t = xd_pbsw - tp_pbsw*deltaT; |
|||
pbswg_t = xd_pbswg - tp_pbswg*deltaT; |
|||
cj_t = xd_cj*(1.0+tp_cj*deltaT); |
|||
cjsw_t = xd_cjsw*(1.0+tp_cjsw*deltaT); |
|||
cjswg_t = xd_cjswg*(1.0+tp_cjswg*deltaT); |
|||
njts_t = xd_njts*(1.0+(ratioT-1.0)*tp_njts); |
|||
njtssw_t = xd_njtssw*(1.0+(ratioT-1.0)*tp_njtssw); |
|||
njtsswg_t = xd_njtsswg*(1.0+(ratioT-1.0)*tp_njtsswg); |
|||
//DC |
|||
v_di_b = TYPE*V(d,b); |
|||
v_si_b = TYPE*V(s,b); |
|||
//DRAIN - BULK |
|||
is_d = js_t*ad_i+jsw_t*pd_i+jswg_t*Weff; |
|||
arg_d = -v_di_b*ratioT/(Vt*xd_n); |
|||
if (arg_d < -40.0) arg_d = -40.0; |
|||
tmp0 = (-v_di_b+xd_bv)*ratioT/(Vt*xd_n); |
|||
if (tmp0>70) f_breakdown_d = 1.0; |
|||
else f_breakdown_d = 1.0 + xd_xjbv*exp(-tmp0); |
|||
// TRAP-ASSISTED TUNNELING CURRENT |
|||
idb_tun = -Weff*jswg_t*(exp(v_di_b*ratioT/(Vt*njtsswg_t) * xd_vtsswg/max(xd_vtsswg+v_di_b,1.0e-3))-1.0); |
|||
idb_tun = idb_tun - pd_i*jsw_t*(exp(v_di_b*ratioT/(Vt*njtssw_t) * xd_vtssw/max(xd_vtssw+v_di_b,1.0e-3))-1.0); |
|||
idb_tun = idb_tun - ad_i*js_t*(exp(v_di_b*ratioT/(Vt*njts_t) * xd_vts/max(xd_vts+v_di_b,1.0e-3))-1.0); |
|||
I(d,b) <+ (is_d * (1.0 - exp(arg_d))*f_breakdown_d+v_di_b*xd_gmin + idb_tun)*TYPE*M; |
|||
//SOURCE - BULK |
|||
is_s = js_t*as_i+jsw_t*ps_i+jswg_t*Weff; |
|||
arg_s = -v_si_b*ratioT/(Vt*xd_n); |
|||
if (arg_s < -40.0) arg_s = -40.0; |
|||
tmp0 = (-v_si_b+xd_bv)*ratioT/(Vt*xd_n); |
|||
if (tmp0>70) f_breakdown_s = 1.0; |
|||
else f_breakdown_s = 1.0 + xd_xjbv*exp(-tmp0); |
|||
// TRAP-ASSISTED TUNNELING CURRENT |
|||
isb_tun = -Weff*jswg_t*(exp(v_si_b*ratioT/(Vt*njtsswg_t) * xd_vtsswg/max(xd_vtsswg+v_si_b,1.0e-3))-1.0); |
|||
isb_tun = isb_tun - ps_i*jsw_t*(exp(v_si_b*ratioT/(Vt*njtssw_t) * xd_vtssw/max(xd_vtssw+v_si_b,1.0e-3))-1.0); |
|||
isb_tun = isb_tun - as_i*js_t*(exp(v_si_b*ratioT/(Vt*njts_t) * xd_vts/max(xd_vts+v_si_b,1.0e-3))-1.0); |
|||
I(s,b) <+ (is_s * (1.0 - exp(arg_s))*f_breakdown_s+v_si_b*xd_gmin + isb_tun)*TYPE*M; |
|||
//AC |
|||
|
|||
//DRAIN - BULK |
|||
if (v_di_b>0.0) |
|||
begin |
|||
csb_d = cj_t * ad_i * exp(-xd_mj*ln(1.0+v_di_b/pb_t)); |
|||
cssw_d = cjsw_t * pd_i * exp(-xd_mjsw*ln(1.0+v_di_b/pbsw_t)); |
|||
csswg_d = cjswg_t * Weff * exp(-xd_mjswg*ln(1.0+v_di_b/pbswg_t)); |
|||
end |
|||
else |
|||
begin |
|||
csb_d = cj_t * ad_i * (1.0 - xd_mj*v_di_b/pb_t); |
|||
cssw_d = cjsw_t * pd_i * (1.0 - xd_mjsw*v_di_b/pbsw_t); |
|||
csswg_d = cjswg_t * Weff * (1.0 - xd_mjswg*v_di_b/pbswg_t); |
|||
end |
|||
qjd = (csb_d+cssw_d+csswg_d) * v_di_b; |
|||
I(d,b) <+ ddt(qjd)*TYPE*M; |
|||
//SOURCE - BULK |
|||
if (v_si_b>0.0) |
|||
begin |
|||
csb_s = cj_t * as_i * exp(-xd_mj*ln(1.0+v_si_b/pb_t)); |
|||
cssw_s = cjsw_t * ps_i * exp(-xd_mjsw*ln(1.0+v_si_b/pbsw_t)); |
|||
csswg_s = cjswg_t * Weff * exp(-xd_mjswg*ln(1.0+v_si_b/pbswg_t)); |
|||
end |
|||
else |
|||
begin |
|||
csb_s = cj_t * as_i * (1.0 - xd_mj*v_si_b/pb_t); |
|||
cssw_s = cjsw_t * ps_i * (1.0 - xd_mjsw*v_si_b/pbsw_t); |
|||
csswg_s = cjswg_t * Weff * (1.0 - xd_mjswg*v_si_b/pbswg_t); |
|||
end |
|||
qjs = (csb_s+cssw_s+csswg_s) * v_si_b; |
|||
I(s,b) <+ ddt(qjs)*TYPE*M; |
|||
//END OF DIODES |
|||
end |
|||
endmodule |
|||
@ -0,0 +1,27 @@ |
|||
OSDI EKV 2.6 NMOS Test |
|||
*.options abstol=1e-15 |
|||
|
|||
* one voltage source per MOS terminal: |
|||
VD dd 0 1 |
|||
VG gg 0 1 |
|||
VS ss 0 0 |
|||
VB bb 0 0 |
|||
|
|||
* model definitions: |
|||
*.model .MODEL NCH EKV_VA type=1 |
|||
.include Modelcards/ekv26_0u5.par |
|||
|
|||
*OSDI EKV: |
|||
N1 dd gg ss bb nch W=5e-6 L=0.5e-6 |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/ekv26_mod.osdi |
|||
set xbrushwidth=3 |
|||
* a DC sweep: drain, gate |
|||
dc Vd 0 1.6 0.01 VG 0 1.6 0.2 |
|||
* plot source current |
|||
plot i(VS) |
|||
|
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,28 @@ |
|||
OSDI EKV 2.6 PMOS Test |
|||
*.options abstol=1e-15 |
|||
|
|||
* one voltage source per MOS terminal: |
|||
VD dd 0 -1 |
|||
VG gg 0 -1 |
|||
VS ss 0 0 |
|||
VB bb 0 0 |
|||
|
|||
* model definitions: |
|||
*.model .MODEL PCH EKV_VA type=-1 |
|||
.include Modelcards/ekv26_0u5.par |
|||
|
|||
*OSDI EKV: |
|||
N1 dd gg ss bb pch W=5e-6 L=5e-7 |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/ekv26_mod.osdi |
|||
set xbrushwidth=3 |
|||
* a DC sweep: drain, gate |
|||
*op |
|||
dc Vd 0 -1.8 -0.01 VG 0 -1.8 -0.2 |
|||
* plot source current |
|||
plot i(VS) |
|||
|
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1 @@ |
|||
Place ekv26_mod.osdi here. |
|||
@ -0,0 +1,59 @@ |
|||
A 'quick and dirty' howto for OpenVAF and OSDI: |
|||
|
|||
Example BSIMBULK |
|||
Tested under MS Windows 10 |
|||
|
|||
Have OpenVAF compiler available. |
|||
Sources will be available soon. |
|||
Download BSIMBULK model from http://www.bsim.berkeley.edu/models/bsimbulk/ |
|||
Open bsimbulk.va in a text editor |
|||
Search for the module name, here: |
|||
module bsimbulk(d, g, s, b, t); |
|||
The module name 'bsimbulk' will become the new model type in the .model statement |
|||
.model mname type ( pname1 = pval1 pname2 = pval2 ... ). |
|||
Compile bsimbulk.va with OpenVAF to obtain bsimbulk.osdi |
|||
Put bsimbulk.osdi into directory bsimbulk/test_osdi_win |
|||
Search for suitable model parameters |
|||
BSIMBULK107 distro does not contain any parameters |
|||
BSIMBULK106 does contain a model parameter file model.l among the benchmark tests |
|||
Put model.l into directory bsimbulk/Modelcards |
|||
Edit model.l: |
|||
Check if model type is 'bsimbulk' (it is already) |
|||
Choose a model name for mname (nch or pch may be o.k., or BSIMBULK_osdi_N or ...) |
|||
There are NMOS and PMOS parameters in the same file here. |
|||
|
|||
Create a ngspice netlist in directory bsimbulk, e.g. bb_IDvsVG.cir. |
|||
|
|||
*** BSIMBULK107 Id versus Vgs *** |
|||
* the voltage sources |
|||
Vd dd 0 50m |
|||
Vg gg 0 1 |
|||
Vs ss 0 0 |
|||
Vb bb 0 0 |
|||
|
|||
* load the model parameter sets |
|||
.include Modelcards/model.l |
|||
|
|||
* the call to the transistor (OSDI devices always start with N !) |
|||
NMN1 dd gg ss bb BSIMBULK_osdi_N W=500n L=90n |
|||
|
|||
* the .control section |
|||
.control |
|||
* load the model dynamically |
|||
pre_osdi test_osdi_win/bsimbulk107.osdi |
|||
* the dc simulation |
|||
dc Vg 0 1.5 0.01 Vb 0 -1.6 -0.4 |
|||
* plotting |
|||
set xbrushwidth=3 |
|||
plot I(Vs) |
|||
.endc |
|||
.end |
|||
********************************* |
|||
|
|||
So we have two OSDI specific actions in the netlist: |
|||
load the model by |
|||
pre_osdi test_osdi_win/bsimbulk107.osdi |
|||
instantiate the transistor by |
|||
NMN1 dd gg ss bb BSIMBULK_osdi_N W=500n L=90n |
|||
|
|||
|
|||
@ -0,0 +1,641 @@ |
|||
* model parameters fron BSIMBULK 106.2 |
|||
.model BSIMBULK_osdi_N bsimbulk |
|||
+level=77 |
|||
+TYPE = 1 |
|||
+GEOMOD = 0 |
|||
+RGEOMOD = 0 |
|||
+COVMOD = 1 |
|||
+RDSMOD = 0 |
|||
+GIDLMOD = 1 |
|||
+IGCMOD = 0 |
|||
+IGBMOD = 0 |
|||
+LLONG = 2e-6 |
|||
+WWIDE = 1e-5 |
|||
+XL = -1.7e-8 |
|||
+XW = 1.1e-8 |
|||
+LINT = 0 |
|||
+WINT = 0 |
|||
+DLC = 0 |
|||
+DWC = 0 |
|||
+TOXE = 1.74e-9 |
|||
+TOXP = 1.7e-9 |
|||
+NDEP = 4.6e23 |
|||
+NSD = 1e26 |
|||
+NGATE = 8.5e25 |
|||
+VFB = -1.02 |
|||
+EPSROX = 3.9 |
|||
+EPSRSUB = 11.9 |
|||
+NI0SUB = 1.1e16 |
|||
+XJ = 1.5e-7 |
|||
+DMCG = 0 |
|||
+DMDG = 0 |
|||
+DMCGT = 0 |
|||
+CIT = 1e-8 |
|||
+CDSCD = 0.001 |
|||
+CDSCB = 0 |
|||
+CDSCBL = 0.007 |
|||
+CDSCBLEXP = 1 |
|||
+NFACTOR = 0.002 |
|||
+NFACTORL = 2.1e-8 |
|||
+NFACTORLEXP = 6.264 |
|||
+NDEPL1 = 0.096 |
|||
+NDEPLEXP1 = 1 |
|||
+NDEPL2 = -0.0032 |
|||
+NDEPLEXP2 = 2.05 |
|||
+DVTP0 = 7.5e-7 |
|||
+DVTP1 = -4.4e-7 |
|||
+NDEPW = -0.1548 |
|||
+NDEPWEXP = 0.7441 |
|||
+NDEPWL = 0 |
|||
+NDEPWLEXP = 0.2 |
|||
+K2W = 0 |
|||
+AGIDL = 3.728e-8 |
|||
+AGIDLL = -0.04815 |
|||
+AGIDLW = -0.0341 |
|||
+BGIDL = 8.123e9 |
|||
+CGIDL = 1.21e-6 |
|||
+EGIDL = -2.952 |
|||
+PHIN = 0.05 |
|||
+K2L = 0.001636 |
|||
+K2 = -0.014 |
|||
+ETA0 = 8.416e-6 |
|||
+ETAB = -5.561e-5 |
|||
+ETABEXP = 2.155 |
|||
+DSUB = 3 |
|||
+VSAT = 6.4e4 |
|||
+VSATW = 0.05 |
|||
+VSATWEXP = 1 |
|||
+DELTA = 0.15 |
|||
+DELTAL = 0.1 |
|||
+DELTALEXP = 1e-5 |
|||
+U0 = 0.04546 |
|||
+ETAMOB = 1.5 |
|||
+U0L = 0.025 |
|||
+U0LEXP = 0.95 |
|||
+UA = 0.4007 |
|||
+UAW = 0.05 |
|||
+UAWEXP = 1 |
|||
+UAL = 0.00475 |
|||
+UALEXP = 1.118 |
|||
+EUW = -0.02 |
|||
+EUWEXP = 1 |
|||
+EUL = 0.001 |
|||
+EULEXP = 1 |
|||
+EU = 1.9 |
|||
+UDL = 1e-15 |
|||
+UDLEXP = 1 |
|||
+UD = 1.042e-5 |
|||
+UCS = 2 |
|||
+UCW = 0 |
|||
+UCWEXP = 1 |
|||
+UC = 1e-07 |
|||
+UCL = 2.5e4 |
|||
+UCLEXP = 1 |
|||
+PCLM = 0.15 |
|||
+PCLML = 0.01 |
|||
+PCLMLEXP = 0.4 |
|||
+PCLMG = 0 |
|||
+PSCBE1 = 5 |
|||
+PSCBE2 = 1.29e-12 |
|||
+PDITS = 0 |
|||
+PDITSL = 0 |
|||
+PDITSD = 0 |
|||
+RSWMIN = 0 |
|||
+RSW = 100 |
|||
+RDWMIN = 0 |
|||
+RDW = 100 |
|||
+RDSW = 20 |
|||
+RDSWMIN = 0 |
|||
+PRWG = 1 |
|||
+PRWB = 0 |
|||
+WR = 1 |
|||
+RSH = 0 |
|||
+PDIBLCB = 0 |
|||
+PDIBLC = 0.01 |
|||
+PDIBLCL = 1e-5 |
|||
+PDIBLCLEXP = 1e-6 |
|||
+PVAG = 0 |
|||
+PTWG = 0.2 |
|||
+PTWGL = 3e4 |
|||
+PTWGLEXP = 5e-6 |
|||
+FPROUT = 0 |
|||
+CF = 0 |
|||
+CFRCOEFF = 1 |
|||
+CGSO = 2.5e-10 |
|||
+CGDO = 2.5e-10 |
|||
+CGSL = 1.2e-10 |
|||
+CGDL = 1.2e-10 |
|||
+CKAPPAS = 1.25 |
|||
+CKAPPAD = 1.25 |
|||
+CGBO = 0 |
|||
+ADOS = 0 |
|||
+BDOS = 1 |
|||
+QM0 = 0.001 |
|||
+ETAQM = 0.54 |
|||
+NDEPCV = 8e23 |
|||
+VFBCV = -0.95 |
|||
+VSATCV = 1e5 |
|||
+PCLMCV = 0 |
|||
+PSAT = 0.46 |
|||
+PSATL = 6 |
|||
+PSATLEXP = 0.06 |
|||
+TNFACTOR = 0 |
|||
+TETA0 = 0 |
|||
+UTE = -1.4 |
|||
+UTEL = -0.001 |
|||
+UA1 = -0.0011 |
|||
+UA1L = 0 |
|||
+UC1 = 0 |
|||
+UD1 = 0 |
|||
+UD1L = 0 |
|||
+UCSTE = -0.005 |
|||
+PRT = 0 |
|||
+AT = -0.05 |
|||
+ATL = -0.1 |
|||
+TDELTA = -0.0048 |
|||
+PTWGT = -0.002 |
|||
+PTWGTL = 0.01 |
|||
+KT1 = -0.115 |
|||
+KT1EXP = 1 |
|||
+KT1L = 1.286e-9 |
|||
+KT2 = -0.003157 |
|||
+K2LEXP = 1.698 |
|||
+K2WEXP = 0.005 |
|||
+TBGASUB = 0 |
|||
+AIGS = 0.0136 |
|||
+BIGS = 0.00171 |
|||
+CIGS = 0.075 |
|||
+AIGSL = 0 |
|||
+AIGD = 0.0136 |
|||
+BIGD = 0.00171 |
|||
+CIGD = 0.075 |
|||
+AIGDL = 0 |
|||
+AIGC = 0.01285 |
|||
+LAIGC = 2.132e-6 |
|||
+BIGC = 0.0013 |
|||
+CIGC = 0.013 |
|||
+AIGCL = -0.01227 |
|||
+PIGCD = 1 |
|||
+PIGCDL = 6.196 |
|||
+AIGBINV = 0.015 |
|||
+BIGBINV = 0.000949 |
|||
+CIGBINV = 0.006 |
|||
+EIGBINV = 1.1 |
|||
+NIGBINV = 3 |
|||
+AIGBACC = 0.01751 |
|||
+BIGBACC = 8.307 |
|||
+CIGBACC = -898.7 |
|||
+NIGBACC = 1 |
|||
+LPSAT = 0 |
|||
+WPSAT = 0 |
|||
+PPSAT = 0 |
|||
+PSATB = 0 |
|||
+PSATX = 3 |
|||
+WVSAT = 0 |
|||
+PVSAT = 0 |
|||
+WPTWG = 0 |
|||
+PPTWG = 0 |
|||
+TNOM = 25 |
|||
+WDVTP0 = 0 |
|||
+WDVTP1 = 0 |
|||
+LUTE = 0.04574 |
|||
+LUA1 = 8.365e-5 |
|||
+LAT = 0 |
|||
+DVTP2 = 0 |
|||
+DVTP3 = 0 |
|||
+DVTP4 = 0 |
|||
+DVTP5 = 0 |
|||
+VSATL = 1350 |
|||
+VSATLEXP = 0.00033 |
|||
+SCA = 0 |
|||
+SCB = 0 |
|||
+SCC = 0 |
|||
+SC = 0 |
|||
|
|||
.model BSIMBULK_osdi_P bsimbulk |
|||
+level=77 |
|||
+TYPE = -1 |
|||
+GEOMOD = 0 |
|||
+RGEOMOD = 0 |
|||
+RGATEMOD = 0 |
|||
+RBODYMOD = 0 |
|||
+IGCMOD = 0 |
|||
+IGBMOD = 0 |
|||
+COVMOD = 1 |
|||
+RDSMOD = 2 |
|||
+GIDLMOD = 0 |
|||
+TNOIMOD = 0 |
|||
+SHMOD = 0 |
|||
+TOXE = 2.34e-9 |
|||
+TOXP = 1.925e-9 |
|||
+DTOX = 0 |
|||
+EPSROX = 3.9 |
|||
+TNOM = 25 |
|||
+XL = 0 |
|||
+XW = 0 |
|||
+LINT = 0 |
|||
+LLONG = 1000000 |
|||
+LL = 0 |
|||
+LW = 0 |
|||
+LWL = 0 |
|||
+LLN = 1 |
|||
+LWN = 1 |
|||
+WINT = -9.0134104e-9 |
|||
+WL = 0 |
|||
+WW = 0 |
|||
+WWL = 0 |
|||
+WLN = 1 |
|||
+WWN = 1 |
|||
+WWIDE = 1000000 |
|||
+DLC = 0 |
|||
+LLC = 0 |
|||
+LWC = 0 |
|||
+LWLC = 0 |
|||
+DWC = 0 |
|||
+WLC = 0 |
|||
+WWC = 0 |
|||
+WWLC = 0 |
|||
+JSS = 0.0001 |
|||
+JSD = 0.0001 |
|||
+JSWS = 0 |
|||
+JSWD = 0 |
|||
+JSWGS = 0 |
|||
+JSWGD = 0 |
|||
+NJS = 1 |
|||
+NJD = 1 |
|||
+IJTHSFWD = 0.1 |
|||
+IJTHDFWD = 0.1 |
|||
+IJTHSREV = 0.1 |
|||
+IJTHDREV = 0.1 |
|||
+BVS = 10 |
|||
+BVD = 10 |
|||
+XJBVS = 1 |
|||
+XJBVD = 1 |
|||
+JTSS = 0 |
|||
+JTSD = 0 |
|||
+JTSSWS = 0 |
|||
+JTSSWD = 0 |
|||
+JTSSWGS = 0 |
|||
+JTSSWGD = 0 |
|||
+JTWEFF = 0 |
|||
+NJTS = 20 |
|||
+NJTSD = 20 |
|||
+NJTSSW = 20 |
|||
+NJTSSWD = 20 |
|||
+NJTSSWG = 20 |
|||
+NJTSSWGD = 20 |
|||
+VTSS = 10 |
|||
+VTSD = 10 |
|||
+VTSSWS = 10 |
|||
+VTSSWD = 10 |
|||
+VTSSWGS = 10 |
|||
+VTSSWGD = 10 |
|||
+CJS = 0.0005 |
|||
+CJD = 0.0005 |
|||
+CJSWS = 5e-10 |
|||
+CJSWD = 5e-10 |
|||
+CJSWGS = 0 |
|||
+CJSWGD = 0 |
|||
+PBS = 1 |
|||
+PBD = 1 |
|||
+PBSWS = 1 |
|||
+PBSWD = 1 |
|||
+PBSWGS = 1 |
|||
+PBSWGD = 1 |
|||
+MJS = 0.5 |
|||
+MJD = 0.5 |
|||
+MJSWS = 0.33 |
|||
+MJSWD = 0.33 |
|||
+MJSWGS = 0.33 |
|||
+MJSWGD = 0.33 |
|||
+TPB = 0 |
|||
+TCJ = 0 |
|||
+TPBSW = 0 |
|||
+TCJSW = 0 |
|||
+TPBSWG = 0 |
|||
+TCJSWG = 0 |
|||
+XTIS = 3 |
|||
+XTID = 3 |
|||
+XTSS = 0.02 |
|||
+XTSD = 0.02 |
|||
+XTSSWS = 0.02 |
|||
+XTSSWD = 0.02 |
|||
+XTSSWGS = 0.02 |
|||
+XTSSWGD = 0.02 |
|||
+TNJTS = 0 |
|||
+TNJTSD = 0 |
|||
+TNJTSSW = 0 |
|||
+TNJTSSWD = 0 |
|||
+TNJTSSWG = 0 |
|||
+TNJTSSWGD = 0 |
|||
+NOIA = 6.25e40 |
|||
+NOIB = 3.125e25 |
|||
+NOIC = 8.75e8 |
|||
+EM = 41000000 |
|||
+EF = 1 |
|||
+LINTNOI = 0 |
|||
+NTNOI = 1 |
|||
+TNOIA = 0 |
|||
+TNOIB = 0 |
|||
+TNOIC = 0 |
|||
+RNOIA = 0.577 |
|||
+RNOIB = 0.5164 |
|||
+RNOIC = 0.395 |
|||
+DWJ = 0 |
|||
+DMCG = 0 |
|||
+DMCI = 0 |
|||
+DMDG = 0 |
|||
+DMCGT = 0 |
|||
+XGW = 0 |
|||
+XGL = 0 |
|||
+GBMIN = 1e-12 |
|||
+RSHG = 0.1 |
|||
+RBPB = 50 |
|||
+RBPD = 50 |
|||
+RBPS = 50 |
|||
+RBDB = 50 |
|||
+RBSB = 50 |
|||
+RBPS0 = 50 |
|||
+RBPSL = 0 |
|||
+RBPSW = 0 |
|||
+RBPSNF = 0 |
|||
+RBPD0 = 50 |
|||
+RBPDL = 0 |
|||
+RBPDW = 0 |
|||
+RBPDNF = 0 |
|||
+RBPBX0 = 100 |
|||
+RBPBXL = 0 |
|||
+RBPBXW = 0 |
|||
+RBPBXNF = 0 |
|||
+RBPBY0 = 100 |
|||
+RBPBYL = 0 |
|||
+RBPBYW = 0 |
|||
+RBPBYNF = 0 |
|||
+RBSBX0 = 100 |
|||
+RBSBY0 = 100 |
|||
+RBDBX0 = 100 |
|||
+RBDBY0 = 100 |
|||
+RBSDBXL = 0 |
|||
+RBSDBXW = 0 |
|||
+RBSDBXNF = 0 |
|||
+RBSDBYL = 0 |
|||
+RBSDBYW = 0 |
|||
+RBSDBYNF = 0 |
|||
+XRCRG1 = 12 |
|||
+XRCRG2 = 1 |
|||
+NGCON = 1 |
|||
+NDEP = 8.062e23 |
|||
+NDEPL1 = 1.2139 |
|||
+NDEPLEXP1 = 1.9088 |
|||
+NDEPL2 = -1.1825 |
|||
+NDEPLEXP2 = 1.9173 |
|||
+NDEPW = 0.065035 |
|||
+NDEPWEXP = 0.48882 |
|||
+NDEPWL = 0.00040893 |
|||
+NDEPWLEXP = 1.3273 |
|||
+EASUB = 4.05 |
|||
+NI0SUB = 1.1e16 |
|||
+BG0SUB = 1.17 |
|||
+EPSRSUB = 11.9 |
|||
+XJ = 1.5e-7 |
|||
+VFB = -1.2108 |
|||
+VFBSDOFF = 0 |
|||
+NSD = 1e26 |
|||
+DVTP0 = 1.8335e-7 |
|||
+DVTP1 = 220.59 |
|||
+DVTP2 = 9.6351e-10 |
|||
+DVTP3 = 0.89017 |
|||
+DVTP4 = 98.728 |
|||
+DVTP5 = 5.1435e-17 |
|||
+PHIN = 0.045 |
|||
+ETA0 = 0.0051075 |
|||
+ETAB = -0.010908157 |
|||
+ETABEXP = 0.09999 |
|||
+DSUB = 1.0667 |
|||
+K2 = -0.093146 |
|||
+K2L = 0.065574 |
|||
+K2LEXP = 0.79778 |
|||
+K2W = 0.030809 |
|||
+K2WEXP = 0.87253 |
|||
+CIT = 1.0136148e-5 |
|||
+CDSCD = 0.0011509049 |
|||
+CDSCDL = -0.00048388809 |
|||
+CDSCDLEXP = 0.13963388 |
|||
+CDSCB = 9.9995516e-6 |
|||
+CDSCBL = 1.4756534e-9 |
|||
+CDSCBLEXP = 1 |
|||
+NFACTOR = 0.0017201 |
|||
+NFACTORL = 1.7832e-6 |
|||
+NFACTORLEXP = 0.99988 |
|||
+NFACTORW = 0.11149 |
|||
+NFACTORWEXP = 0.8993 |
|||
+NFACTORWL = -0.01386 |
|||
+U0 = 0.04004 |
|||
+U0L = 0.58676 |
|||
+U0LEXP = 0.11151 |
|||
+ETAMOB = 4.0947 |
|||
+UA = 0.4298 |
|||
+UAL = -0.0087246 |
|||
+UALEXP = 1.3647 |
|||
+UAW = 0.11575 |
|||
+UAWEXP = 0.4385 |
|||
+UAWL = -7.027e-5 |
|||
+EU = 1.3371 |
|||
+EUL = 0.0021948 |
|||
+EULEXP = 1.4769 |
|||
+EUW = -0.0031666 |
|||
+EUWEXP = 1.9366 |
|||
+EUWL = -0.00013929 |
|||
+UD = 0.0093995 |
|||
+UDL = 0.067484 |
|||
+UDLEXP = 0.099452 |
|||
+UCS = 0.9999 |
|||
+UC = 4.91e-6 |
|||
+UCL = 0.001096 |
|||
+UCLEXP = 0.0015937 |
|||
+VSAT = 9609100 |
|||
+VSATL = 6.8282 |
|||
+VSATLEXP = 0.086396 |
|||
+VSATW = 0.016834 |
|||
+VSATWEXP = 3.0172 |
|||
+VSATCVL = 0 |
|||
+VSATCVLEXP = 1 |
|||
+VSATCVW = 0 |
|||
+VSATCVWEXP = 1 |
|||
+DELTA = 0.1779 |
|||
+DELTAL = 0.1269 |
|||
+DELTALEXP = 0.18156 |
|||
+PCLM = 0 |
|||
+PCLML = 0 |
|||
+PCLMLEXP = 1e-13 |
|||
+PCLMG = 0 |
|||
+PCLMCVL = 0 |
|||
+PCLMCVLEXP = 1 |
|||
+PSCBE1 = 4.24e8 |
|||
+PSCBE2 = 1e-8 |
|||
+PDITS = 0.85536 |
|||
+PDITSL = 8473.9 |
|||
+PDITSD = 0 |
|||
+PDIBLC = 0.005 |
|||
+PDIBLCL = 0 |
|||
+PDIBLCLEXP = 1 |
|||
+PDIBLCB = -0.49995 |
|||
+PVAG = 1 |
|||
+FPROUT = 0 |
|||
+FPROUTL = 0 |
|||
+FPROUTLEXP = 1 |
|||
+PTWG = 0.09999 |
|||
+PTWGL = 0.069993 |
|||
+PTWGLEXP = 0.0009999 |
|||
+PSAT = 1e-13 |
|||
+PSATL = 0 |
|||
+PSATLEXP = 1 |
|||
+PSATB = 0.9999 |
|||
+PSATX = 1e-13 |
|||
+RSH = 0 |
|||
+PRWG = 1 |
|||
+PRWB = 0.010098993 |
|||
+PRWBL = 0.00070000265 |
|||
+PRWBLEXP = 1 |
|||
+WR = 1 |
|||
+RSWMIN = 0 |
|||
+RSW = 10 |
|||
+RSWL = 0 |
|||
+RSWLEXP = 1 |
|||
+RDWMIN = 0 |
|||
+RDW = 10 |
|||
+RDWL = 0 |
|||
+RDWLEXP = 1 |
|||
+RDSWMIN = 0 |
|||
+RDSW = 0 |
|||
+RDSWL = 0.0007 |
|||
+RDSWLEXP = 1e-7 |
|||
+ALPHA0 = 0 |
|||
+ALPHA0L = 0 |
|||
+ALPHA0LEXP = 1 |
|||
+BETA0 = 0 |
|||
+AGIDL = 0 |
|||
+AGIDLL = 0 |
|||
+AGIDLW = 0 |
|||
+BGIDL = 2.3e9 |
|||
+CGIDL = 0.5 |
|||
+EGIDL = 0.8 |
|||
+AGISL = 0 |
|||
+AGISLL = 0 |
|||
+AGISLW = 0 |
|||
+BGISL = 2.3e9 |
|||
+CGISL = 0.5 |
|||
+EGISL = 0.00171 |
|||
+AIGBACC = 0.00171 |
|||
+BIGBACC = 0.00171 |
|||
+CIGBACC = 0.075 |
|||
+NIGBACC = 1 |
|||
+AIGBINV = 0.0111 |
|||
+BIGBINV = 0.000949 |
|||
+CIGBINV = 0.006 |
|||
+EIGBINV = 1.1 |
|||
+NIGBINV = 3 |
|||
+AIGC = 0.0136 |
|||
+AIGCL = 3 |
|||
+AIGCW = 0.0136 |
|||
+BIGC = 0.00171 |
|||
+CIGC = 0.075 |
|||
+AIGS = 0.0136 |
|||
+AIGSL = 0.075 |
|||
+AIGSW = 0.0136 |
|||
+AIGD = 0.0136 |
|||
+AIGDL = 0 |
|||
+AIGDW = 0.0136 |
|||
+BIGS = 0.00171 |
|||
+BIGD = 0.00171 |
|||
+CIGS = 0.075 |
|||
+CIGD = 0.075 |
|||
+TOXREF = 0.075 |
|||
+NTOX = 1 |
|||
+POXEDGE = 1 |
|||
+PIGCD = 1 |
|||
+PIGCDL = 1 |
|||
+NDEPCV = 4.598e23 |
|||
+NDEPCVL1 = 0 |
|||
+NDEPCVLEXP1 = 1 |
|||
+NDEPCVL2 = 0 |
|||
+NDEPCVLEXP2 = 2 |
|||
+NDEPCVW = 0 |
|||
+NDEPCVWEXP = 1 |
|||
+NDEPCVWL = 0 |
|||
+NDEPCVWLEXP = 1 |
|||
+NGATE = 7.764e25 |
|||
+CF = 0 |
|||
+CFRCOEFF = 1 |
|||
+CGSO = 187.0e-12 |
|||
+CGDO = 187.0e-12 |
|||
+CGBO = 0 |
|||
+CGSL = 130.0e-12 |
|||
+CGDL = 130.0e-12 |
|||
+CKAPPAS = 1.6 |
|||
+CKAPPAD = 1.6 |
|||
+ADOS = 221.4 |
|||
+BDOS = 1.350 |
|||
+QM0 = 405.7e-6 |
|||
+ETAQM = 848.5e-3 |
|||
+VFBCV = -996.0e-3 |
|||
+VFBCVL = 0 |
|||
+VFBCVLEXP = 1 |
|||
+VFBCVW = 0 |
|||
+VFBCVWEXP = 1 |
|||
+VFBCVWL = 0 |
|||
+VFBCVWLEXP = 1 |
|||
+TBGASUB = 0.000473 |
|||
+TBGBSUB = 636 |
|||
+TDELTA = 0 |
|||
+PTWGT = 0 |
|||
+IIT = 0 |
|||
+TGIDL = 0 |
|||
+IGT = 0 |
|||
+KT1 = -0.11 |
|||
+KT1L = 0 |
|||
+KT2 = 0.022 |
|||
+KT1EXP = 1 |
|||
+UTE = -1.5 |
|||
+UA1 = 0.001 |
|||
+UD1 = 0 |
|||
+UC1 = -5.6e-11 |
|||
+UCSTE = -0.004775 |
|||
+PRT = 0 |
|||
+AT = -0.00156 |
|||
+SCA = 0 |
|||
+SCB = 0 |
|||
+SCC = 0 |
|||
+SC = 0 |
|||
+KU0WE = 0 |
|||
+KVTH0WE = 0 |
|||
+K2WE = 0 |
|||
+WEB = 0 |
|||
+WEC = 0 |
|||
+SCREF = 1e-6 |
|||
+SA = 0 |
|||
+SB = 0 |
|||
+SD = 0 |
|||
+SAREF = 1e-6 |
|||
+SBREF = 1e-6 |
|||
+WLOD = 0 |
|||
+KVSAT = 0 |
|||
+KU0 = 0 |
|||
+TKU0 = 0 |
|||
+LKU0 = 0 |
|||
+WKU0 = 0 |
|||
+PKU0 = 0 |
|||
+LLODKU0 = 0 |
|||
+WLODKU0 = 0 |
|||
+KVTH0 = 0 |
|||
+LKVTH0 = 0 |
|||
+WKVTH0 = 0 |
|||
+PKVTH0 = 0 |
|||
+LLODVTH = 0 |
|||
+WLODVTH = 0 |
|||
+STK2 = 0 |
|||
+LODK2 = 1 |
|||
+STETA0 = 0 |
|||
+LODETA0 = 1 |
|||
+RTH0 = 1e7 |
|||
+MOBSCALE = 1 |
|||
@ -0,0 +1,40 @@ |
|||
* BSIMBULK model vers. 107 |
|||
* simple inverter |
|||
|
|||
.param Vcc = 1.2 |
|||
.csparam vcc='Vcc' |
|||
|
|||
* Path to the models |
|||
.include Modelcards/model.l |
|||
|
|||
* the voltage sources: |
|||
Vdd vdd gnd DC 'Vcc' |
|||
V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) |
|||
Vmeas vss 0 0 |
|||
|
|||
Xnot1 in vdd vss out not1 |
|||
*Rout out 0 1k |
|||
|
|||
.subckt not1 a vdd vss z |
|||
Np1 z a vdd vdd BSIMBULK_osdi_P l=0.1u w=1u as=0.26235p ad=0.26235p ps=2.51u pd=2.51u |
|||
Nn1 z a vss vss BSIMBULK_osdi_N l=0.1u w=0.5u as=0.131175p ad=0.131175p ps=1.52u pd=1.52u |
|||
c3 a vss 0.384f |
|||
c2 z vss 0.576f |
|||
.ends |
|||
|
|||
* simulation command: |
|||
.tran 10ps 10ns |
|||
.dc V1 0 'vcc' 'vcc/100' |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimbulk107.osdi |
|||
run |
|||
*set nolegend |
|||
set xbrushwidth=3 |
|||
plot in out |
|||
plot dc1.out |
|||
plot dc1.i(Vmeas) |
|||
rusage |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,41 @@ |
|||
* BSIMBULK model vers. 107 |
|||
* simple 5-stage ring oscillator |
|||
|
|||
.param Vcc = 1.2 |
|||
.csparam vcc='Vcc' |
|||
|
|||
* Path to the models |
|||
.include Modelcards/model.l |
|||
|
|||
* the voltage sources: |
|||
Vdd vdd gnd DC 'Vcc' |
|||
V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) |
|||
Vmeas vss 0 0 |
|||
|
|||
Xnot1 in vdd vss in2 not1 |
|||
Xnot2 in2 vdd vss in3 not1 |
|||
Xnot3 in3 vdd vss in4 not1 |
|||
Xnot4 in4 vdd vss in5 not1 |
|||
Xnot5 in5 vdd vss in not1 |
|||
|
|||
*Rout out 0 1k |
|||
|
|||
.subckt not1 a vdd vss z |
|||
Np1 z a vdd vdd BSIMBULK_osdi_P l=0.1u w=1u as=0.26235p ad=0.26235p ps=2.51u pd=2.51u |
|||
Nn1 z a vss vss BSIMBULK_osdi_N l=0.1u w=0.5u as=0.131175p ad=0.131175p ps=1.52u pd=1.52u |
|||
c3 a vss 0.384f |
|||
c2 z vss 0.576f |
|||
.ends |
|||
|
|||
* simulation command: |
|||
.tran 10p 10n uic |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimbulk107.osdi |
|||
run |
|||
set xbrushwidth=3 |
|||
plot in |
|||
rusage |
|||
.endc |
|||
|
|||
.end |
|||
89241
examples/osdi/bsimbulk/c7552_ann_bsimbulk.net
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,27 @@ |
|||
OSDI BSIMBULK NMOS Test |
|||
*.options abstol=1e-15 |
|||
|
|||
* one voltage source per MOS terminal: |
|||
VD dd 0 1 |
|||
VG gg 0 1 |
|||
VS ss 0 0 |
|||
VB bb 0 0 |
|||
|
|||
* model definitions: |
|||
*.model BSIMBULK_osdi_N bsimbulk type=1 |
|||
.include Modelcards/model.l |
|||
|
|||
*OSDI BSIMBULK: |
|||
N1 dd gg ss bb BSIMBULK_osdi_N W=500n L=90n |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimbulk107.osdi |
|||
set xbrushwidth=3 |
|||
* a DC sweep: drain, gate |
|||
dc Vd 0 1.6 0.01 VG 0 1.6 0.2 |
|||
* plot source current |
|||
plot i(VS) |
|||
|
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,29 @@ |
|||
OSDI BSIMBULK PMOS Test |
|||
*.options abstol=1e-15 |
|||
|
|||
* one voltage source per MOS terminal: |
|||
VD dd 0 -1 |
|||
VG gg 0 -1 |
|||
VS ss 0 0 |
|||
VB bb 0 0 |
|||
|
|||
* model definitions: |
|||
*.model BSIMBULK_osdi_P bsimbulk type=-1 |
|||
.include Modelcards/model.l |
|||
|
|||
*OSDI BSIMBULK: |
|||
* |
|||
N1 dd gg ss bb BSIMBULK_osdi_P W=500n L=90n |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimbulk107.osdi |
|||
set xbrushwidth=3 |
|||
* a DC sweep: drain, gate |
|||
*op |
|||
dc Vd 0 -1.8 -0.01 VG 0 -1.8 -0.2 |
|||
* plot source current |
|||
plot i(VS) |
|||
|
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,45 @@ |
|||
*** NMOS and PMOS transistors BSIMBULK (Id-Vgs, Vbs) (Id-Vds, Vgs) (Id-Vgs, T) *** |
|||
|
|||
Nn1 2 1 3 4 BSIMBULK_osdi_N l=0.1u w=0.5u as=0.131175p ad=0.131175p ps=1.52u pd=1.52u |
|||
vgsn 1 0 3.5 |
|||
vdsn 2 0 0.1 |
|||
vssn 3 0 0 |
|||
vbsn 4 0 0 |
|||
|
|||
Np1 22 11 33 44 BSIMBULK_osdi_P l=0.1u w=1u as=0.26235p ad=0.26235p ps=2.51u pd=2.51u |
|||
vgsp 11 0 -3.5 |
|||
vdsp 22 0 -0.1 |
|||
vssp 33 0 0 |
|||
vbsp 44 0 0 |
|||
|
|||
* BSIMBULK modelparameters for BSIMBULK106, Berkeley |
|||
.include Modelcards/model.l |
|||
|
|||
.control |
|||
* Load the models dynamically |
|||
pre_osdi test_osdi_win/bsimbulk107.osdi |
|||
set xgridwidth=2 |
|||
set xbrushwidth=3 |
|||
|
|||
* NMOS |
|||
dc vgsn 0 1.5 0.05 vbsn 0 -1.5 -0.3 |
|||
plot vssn#branch ylabel 'Id vs. Vgs, Vbs 0 ... -1.5' |
|||
plot abs(vssn#branch) ylog ylabel 'Id vs. Vgs, Vbs 0 ... -1.5' |
|||
dc vdsn 0 1.6 0.01 vgsn 0 1.6 0.2 |
|||
plot vssn#branch ylabel 'Id vs. Vds, Vgs 0 ... 1.6' |
|||
dc vgsn 0 1.5 0.05 temp -40 160 40 |
|||
plot vssn#branch ylabel 'Id vs. Vds, Temp. -40 ... 160' |
|||
plot abs(vssn#branch) ylog ylabel 'Id vs. Vds, Temp. -40 ... 160' |
|||
|
|||
* PMOS |
|||
dc vgsp 0 -1.5 -0.05 vbsp 0 1.5 0.3 |
|||
plot vssp#branch ylabel 'Id vs. Vgs, Vbs 0 ... 1.5' |
|||
plot abs(vssp#branch) ylog ylabel 'Id vs. Vgs, Vbs 0 ... 1.5' |
|||
dc vdsp 0 -1.6 -0.01 vgsp 0 -1.6 -0.2 |
|||
plot vssp#branch ylabel 'Id vs. Vds, Vgs 0 ... -1.6' |
|||
dc vgsp 0 -1.5 -0.05 temp -40 160 40 |
|||
plot vssp#branch ylabel 'Id vs. Vds, Temp. -40 ... 160' |
|||
plot abs(vssp#branch) ylog ylabel 'Id vs. Vds, Temp. -40 ... 160' |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1 @@ |
|||
Place bsimbulk107.osdi here. |
|||
@ -0,0 +1,137 @@ |
|||
******** 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 BSIMCMG_osdi_N BSIMCMG_va |
|||
+ 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 |
|||
@ -0,0 +1,138 @@ |
|||
******** 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 |
|||
.model BSIMCMG_osdi_P BSIMCMG_va |
|||
+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 |
|||
@ -0,0 +1,38 @@ |
|||
*Sample netlist for BSIM-CMG |
|||
|
|||
*Ring Oscillator |
|||
|
|||
.include Modelcards/modelcard.nmos |
|||
.include Modelcards/modelcard.pmos |
|||
|
|||
* --- Voltage Sources --- |
|||
vdd supply 0 dc=1.0 |
|||
Vss ss 0 0 |
|||
|
|||
* --- Inverter Subcircuit --- |
|||
.subckt mg_inv vin vout vdd ss |
|||
NP1 vout vin vdd vdd BSIMCMG_osdi_P TFIN=15n L=40n NFIN=10 NRS=1 NRD=1 |
|||
NN1 vout vin ss ss BSIMCMG_osdi_N TFIN=15n L=40n NFIN=10 NRS=1 NRD=1 D=40n |
|||
.ends |
|||
|
|||
* --- Inverter --- |
|||
Xinv1 vi 1 supply ss mg_inv |
|||
Xinv2 1 2 supply ss mg_inv |
|||
Xinv3 2 3 supply ss mg_inv |
|||
Xinv4 3 4 supply ss mg_inv |
|||
Xinv5 4 vi supply ss mg_inv |
|||
|
|||
Xinv6 vi vo supply 0 mg_inv |
|||
|
|||
* --- Transient Analysis --- |
|||
.tran 0.1p 1n |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimcmg.osdi |
|||
set xbrushwidth=3 |
|||
run |
|||
plot i(vss) |
|||
plot v(vo) |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,36 @@ |
|||
*Sample netlist for BSIM-CMG |
|||
* (exec-spice "ngspice %s" t) |
|||
*Inverter Transient |
|||
|
|||
.include Modelcards/modelcard.nmos |
|||
.include Modelcards/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 |
|||
NP1 vout vin vdd vdd BSIMCMG_osdi_P |
|||
NN1 vout vin gnd gnd BSIMCMG_osdi_N |
|||
.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 |
|||
pre_osdi test_osdi_win/bsimcmg.osdi |
|||
set xbrushwidth=3 |
|||
run |
|||
plot v(vi) v(vo) |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,28 @@ |
|||
OSDI BSIMCMG Test |
|||
*.options abstol=1e-15 |
|||
|
|||
* one voltage source per MOS terminal: |
|||
VD dd 0 1 |
|||
VG gg 0 1 |
|||
VS ss 0 0 |
|||
VB bb 0 0 |
|||
|
|||
* model definitions: |
|||
*.model bsim4_osdi bsim4va |
|||
.include Modelcards/modelcard.nmos |
|||
|
|||
*OSDI BSIM4: |
|||
* Where to put instance parameters channel width and length? |
|||
N1 dd gg ss bb BSIMCMG_osdi_N ; W=5u L=0.2u |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimcmg.osdi |
|||
set xbrushwidth=3 |
|||
* a DC sweep: drain, gate |
|||
dc Vd 0 2.5 0.01 VG 0 2.5 0.5 |
|||
* plot source current |
|||
plot i(VS) |
|||
|
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,28 @@ |
|||
OSDI BSIMCMG Test |
|||
*.options abstol=1e-15 |
|||
|
|||
* one voltage source per MOS terminal: |
|||
VD dd 0 -1 |
|||
VG gg 0 -1 |
|||
VS ss 0 0 |
|||
VB bb 0 0 |
|||
|
|||
* model definitions: |
|||
* |
|||
.include Modelcards/modelcard.pmos |
|||
|
|||
*OSDI BSIMCMG: |
|||
* Where to put instance parameters channel width and length? |
|||
N1 dd gg ss bb BSIMCMG_osdi_P |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimcmg.osdi |
|||
set xbrushwidth=3 |
|||
* a DC sweep: drain, gate |
|||
dc Vd 0 -1.8 -0.01 VG 0 -1.8 -0.3 |
|||
* plot source current |
|||
plot i(VS) |
|||
|
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,54 @@ |
|||
*Sample netlist for BSIM-MG |
|||
* (exec-spice "ngspice %s" t) |
|||
*17-stage ring oscillator |
|||
|
|||
.include Modelcards/modelcard.nmos |
|||
.include Modelcards/modelcard.pmos |
|||
|
|||
* --- Voltage Sources --- |
|||
vdd supply 0 dc=1.0 |
|||
|
|||
* --- Inverter Subcircuit --- |
|||
.subckt mg_inv vin vout vdd gnd |
|||
NP1 vout vin vdd vdd BSIMCMG_osdi_P |
|||
NN1 vout vin gnd gnd BSIMCMG_osdi_N |
|||
.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 |
|||
|
|||
.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 frequency param='3/(t2-t1)' |
|||
.measure tran delay_per_stage param='period/34' |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimcmg.osdi |
|||
set xbrushwidth=3 |
|||
run |
|||
plot v(1) |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,27 @@ |
|||
*Sample netlist for BSIM-CMG |
|||
* (exec-spice "ngspice %s" t) |
|||
*Inverter DC |
|||
|
|||
.include Modelcards/modelcard.nmos |
|||
.include Modelcards/modelcard.pmos |
|||
* --- Voltage Sources --- |
|||
vdd supply 0 dc=1.0 |
|||
vsig vin 0 dc=0.5 sin (0.5 0.5 1MEG) |
|||
|
|||
NP1 vout vin supply supply BSIMCMG_osdi_P |
|||
NN1 vout vin 0 0 BSIMCMG_osdi_N |
|||
|
|||
* --- DC Analysis --- |
|||
*.dc vsig 0 1 0.01 |
|||
|
|||
* --- Transient Analysis --- |
|||
.tran 10n 2u |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimcmg.osdi |
|||
set xbrushwidth=3 |
|||
run |
|||
plot v(vout) v(vin) |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1 @@ |
|||
Place bsimcmg.osdi here. |
|||
@ -0,0 +1,43 @@ |
|||
ECL DFF HICUM2.4 test case |
|||
* |
|||
V6 D GND dc 0 PULSE(-.25 0 0 1P 1P .25N .50N) |
|||
V5 D_BAR GND dc 0 PULSE(0 -.25 0 1P 1P .25N .50N) |
|||
V4 CLK GND dc 0 PULSE(-0.9 -1.2 0 1P 1P .125N .25N) |
|||
V3 CLK_BAR GND dc 0 PULSE(-1.2 -0.9 0 1P 1P .125N .25N) |
|||
VVCS NET2 GND DC -0.8 |
|||
R6 GND NET6 800 |
|||
R5 GND NET11 800 |
|||
R4 NET12 VEE 350 |
|||
VVEE VEE GND DC -2.0 |
|||
R3 GND NET10 800 |
|||
R2 NET13 VEE 350 |
|||
R1 GND Q 800 |
|||
XQVLGNPN16 NET7 CLK_BAR NET4 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN15 NET5 CLK NET3 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN14 NET1dt Q NET7 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN13 Q NET6 NET9 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN12 NET6 NET11 NET5 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN11 NET11 D_BAR NET8 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN1dt NET4 NET2 NET13 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN9 NET3 NET2 NET12 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN8 NET8 CLK_BAR NET3 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN7 NET9 CLK NET4 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN6 Q NET1dt NET7 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN5 NET1dt NET11 NET9 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN4 NET11 NET6 NET5 VEE dt hicumL0V1p1_c_sbt |
|||
XQVLGNPN3 NET6 D NET8 VEE dt hicumL0V1p1_c_sbt |
|||
|
|||
Rdt dt 0 1G |
|||
* |
|||
.include Modelcards/model-card-hicumL0V1p11_mod.lib |
|||
.SAVE V(D) V(CLK) V(Q) |
|||
.control |
|||
pre_osdi test_osdi_win/HICUML0-2.osdi |
|||
TRAN 0.25p 5n |
|||
rusage |
|||
set color0=white |
|||
set xbrushwidth=2 |
|||
plot V(D) V(CLK) V(Q) ylimit -1.2 0.2 |
|||
*quit |
|||
.endc |
|||
.END |
|||
@ -0,0 +1,59 @@ |
|||
ECL DFF VBIC test case |
|||
* |
|||
V6 D GND PULSE(-.25 0 0 1P 1P .25N .50N) |
|||
V5 D_BAR GND PULSE(0 -.25 0 1P 1P .25N .50N) |
|||
V4 CLK GND PULSE(-0.9 -1.2 0 1P 1P .125N .25N) |
|||
V3 CLK_BAR GND PULSE(-1.2 -0.9 0 1P 1P .125N .25N) |
|||
VVCS NET2 GND DC -0.8 |
|||
R6 GND NET6 800 |
|||
R5 GND NET11 800 |
|||
R4 NET12 VEE 350 |
|||
VVEE VEE GND DC -2.0 |
|||
R3 GND NET10 800 |
|||
R2 NET13 VEE 350 |
|||
R1 GND Q 800 |
|||
QVLGNPN16 NET7 CLK_BAR NET4 VEE NPN_VBIC_VLG |
|||
QVLGNPN15 NET5 CLK NET3 VEE NPN_VBIC_VLG |
|||
QVLGNPN14 NET10 Q NET7 VEE NPN_VBIC_VLG |
|||
QVLGNPN13 Q NET6 NET9 VEE NPN_VBIC_VLG |
|||
QVLGNPN12 NET6 NET11 NET5 VEE NPN_VBIC_VLG |
|||
QVLGNPN11 NET11 D_BAR NET8 VEE NPN_VBIC_VLG |
|||
QVLGNPN10 NET4 NET2 NET13 VEE NPN_VBIC_VLG |
|||
QVLGNPN9 NET3 NET2 NET12 VEE NPN_VBIC_VLG |
|||
QVLGNPN8 NET8 CLK_BAR NET3 VEE NPN_VBIC_VLG |
|||
QVLGNPN7 NET9 CLK NET4 VEE NPN_VBIC_VLG |
|||
QVLGNPN6 Q NET10 NET7 VEE NPN_VBIC_VLG |
|||
QVLGNPN5 NET10 NET11 NET9 VEE NPN_VBIC_VLG |
|||
QVLGNPN4 NET11 NET6 NET5 VEE NPN_VBIC_VLG |
|||
QVLGNPN3 NET6 D NET8 VEE NPN_VBIC_VLG |
|||
* |
|||
.MODEL NPN_VBIC_VLG NPN LEVEL=4 |
|||
+TNOM = 27 RCI = 1E3 RCX = 50 |
|||
+VO = 1.5 GAMM = 3.402097E-11 HRCF = 1 |
|||
+RBX = 243 RBI = 20 RE = 30 |
|||
+RS = 0 RBP = 0 IS = 8.084033E-18 |
|||
+NF = 1 NR = 1.005 FC = 0.5 |
|||
+CJE = 2.083234E-15 PE = 0.8793669 ME = 0.3108762 |
|||
+CJC = 1.803275E-15 PC = 0.5512188 MC = 0.4454263 |
|||
+CJCP = 8E-15 PS = 0.66956 MS = 0.2243 |
|||
+IBEI = 4.542609E-20 WBE = 1 NEI = 1 |
|||
+IBEN = 3.275162E-16 NEN = 1.5543186 IBCI = 3.594252E-19 |
|||
+NCI = 0.996 IBCN = 1.717776E-17 NCN = 1.202521 |
|||
+AVC1 = 3E-4 AVC2 = 1E-5 ISP = 1.332E-19 |
|||
+WSP = 1 NFP = 1 IBEIP = 0 |
|||
+IBENP = 0 IBCIP = 0 NCIP = 1 |
|||
+IBCNP = 0 NCNP = 2 VEF = 109.6523 |
|||
+VER = 2.2052435 IKF = 6.03524E-3 IKR = 1.807895E-4 |
|||
+IKP = 2.908576E-5 TF = 1.1E-12 XTF = 21.5423 |
|||
+VTF = 12.4758677 ITF = 0.0175231 TR = 2.23542E-9 |
|||
|
|||
.SAVE V(D) V(CLK) V(Q) |
|||
.control |
|||
TRAN 0.25p 5n |
|||
rusage |
|||
set color0=white |
|||
set xbrushwidth=2 |
|||
plot V(D) V(CLK) V(Q) |
|||
*quit |
|||
.endc |
|||
.END |
|||
@ -0,0 +1,46 @@ |
|||
.title ECL nor gate ring oscillator, 9 stages, 734 MHz |
|||
.include "Modelcards/model-card-hicumL0V1p11_mod.lib" |
|||
|
|||
.subckt nor in1 in2 a1 a2 vee GND |
|||
XQ1 Net-_R1-Pad2_ IN1 Net-_Q1-Pad3_ VEE DT1 hicumL0V1p1_c_sbt |
|||
XQ2 Net-_R1-Pad2_ IN2 Net-_Q1-Pad3_ VEE DT1 hicumL0V1p1_c_sbt |
|||
XQ3 Net-_R2-Pad2_ Net-_R3-Pad2_ Net-_Q1-Pad3_ VEE DT1 hicumL0V1p1_c_sbt |
|||
XQ4 GND Net-_R2-Pad2_ A1 VEE DT1 hicumL0V1p1_c_sbt |
|||
XQ5 GND Net-_R1-Pad2_ A2 VEE DT1 hicumL0V1p1_c_sbt |
|||
|
|||
Rt1 DT1 0 1G |
|||
|
|||
R1 GND Net-_R1-Pad2_ 220 |
|||
R2 GND Net-_R2-Pad2_ 220 |
|||
R3 GND Net-_R3-Pad2_ 575 |
|||
R4 Net-_R3-Pad2_ VEE 1.92k |
|||
R5 Net-_Q1-Pad3_ VEE 780 |
|||
|
|||
Ra1 A1 VEE 510 |
|||
Ra2 A2 VEE 510 |
|||
.ends |
|||
|
|||
X1 out9 out9 a1 out1 vee gnd nor |
|||
X2 out1 out1 a2 out2 vee gnd nor |
|||
X3 out2 out2 a3 out3 vee gnd nor |
|||
X4 out3 out3 a4 out4 vee gnd nor |
|||
X5 out4 out4 a5 out5 vee gnd nor |
|||
X6 out5 out5 a2 out6 vee gnd nor |
|||
X7 out6 out6 a3 out7 vee gnd nor |
|||
X8 out7 out7 a4 out8 vee gnd nor |
|||
X9 out8 out8 a5 out9 vee gnd nor |
|||
|
|||
V1 VEE GND -5.2 |
|||
|
|||
.tran 0.02n 200n |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/HICUML0-2.osdi |
|||
run |
|||
rusage |
|||
plot out9 xlimit 100n 110n |
|||
linearize out9 |
|||
fft out9 |
|||
plot mag(out9) xlimit 0 2G ylimit 0 0.5 |
|||
.endc |
|||
.end |
|||
@ -0,0 +1,25 @@ |
|||
.title KiCad schematic |
|||
.include "Modelcards/model-card-hicumL0V1p11_mod.lib" |
|||
V2 IN1 GND dc -1.75 pulse(-1.75 -0.9 0 1n 1n 5u 10u) |
|||
V1 VEE GND -5.2 |
|||
Ra1 A1 VEE 510 |
|||
XQ5 GND Net-_Q1-Pad1_ A2 VEE DT hicumL0V1p1_c_sbt |
|||
XQ4 GND Net-_Q3-Pad1_ A1 VEE DT hicumL0V1p1_c_sbt |
|||
R4 Net-_Q3-Pad2_ VEE 1.92k |
|||
XQ2 Net-_Q1-Pad1_ IN2 Net-_Q1-Pad3_ VEE DT hicumL0V1p1_c_sbt |
|||
XQ1 Net-_Q1-Pad1_ IN1 Net-_Q1-Pad3_ VEE DT hicumL0V1p1_c_sbt |
|||
R5 Net-_Q1-Pad3_ VEE 780 |
|||
XQ3 Net-_Q3-Pad1_ Net-_Q3-Pad2_ Net-_Q1-Pad3_ VEE DT hicumL0V1p1_c_sbt |
|||
R2 GND Net-_Q3-Pad1_ 220 |
|||
R1 GND Net-_Q1-Pad1_ 220 |
|||
R3 GND Net-_Q3-Pad2_ 575 |
|||
Ra2 A2 VEE 510 |
|||
V3 In2 GND dc -1.75 pulse(-1.75 -0.9 0 1n 1n 2.5u 5u) |
|||
Rt1 DT GND 1G |
|||
.tran 0.1n 100u |
|||
.control |
|||
pre_osdi test_osdi_win/HICUML0-2.osdi |
|||
run |
|||
plot a1 a2+2 in1+4 in2+6 |
|||
.endc |
|||
.end |
|||
@ -0,0 +1,303 @@ |
|||
{ |
|||
"board": { |
|||
"layer_presets": [] |
|||
}, |
|||
"boards": [], |
|||
"cvpcb": { |
|||
"equivalence_files": [] |
|||
}, |
|||
"erc": { |
|||
"erc_exclusions": [], |
|||
"meta": { |
|||
"version": 0 |
|||
}, |
|||
"pin_map": [ |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
1, |
|||
0, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
1, |
|||
2, |
|||
1, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
0, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
1, |
|||
2, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
1, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
] |
|||
], |
|||
"rule_severities": { |
|||
"bus_definition_conflict": "error", |
|||
"bus_entry_needed": "error", |
|||
"bus_label_syntax": "error", |
|||
"bus_to_bus_conflict": "error", |
|||
"bus_to_net_conflict": "error", |
|||
"different_unit_footprint": "error", |
|||
"different_unit_net": "error", |
|||
"duplicate_reference": "error", |
|||
"duplicate_sheet_names": "error", |
|||
"extra_units": "error", |
|||
"global_label_dangling": "warning", |
|||
"hier_label_mismatch": "error", |
|||
"label_dangling": "error", |
|||
"lib_symbol_issues": "warning", |
|||
"multiple_net_names": "warning", |
|||
"net_not_bus_member": "warning", |
|||
"no_connect_connected": "warning", |
|||
"no_connect_dangling": "warning", |
|||
"pin_not_connected": "error", |
|||
"pin_not_driven": "error", |
|||
"pin_to_pin": "warning", |
|||
"power_pin_not_driven": "error", |
|||
"similar_labels": "warning", |
|||
"unannotated": "error", |
|||
"unit_value_mismatch": "error", |
|||
"unresolved_variable": "error", |
|||
"wire_dangling": "error" |
|||
} |
|||
}, |
|||
"libraries": { |
|||
"pinned_footprint_libs": [], |
|||
"pinned_symbol_libs": [] |
|||
}, |
|||
"meta": { |
|||
"filename": "ECL-RO.kicad_pro", |
|||
"version": 1 |
|||
}, |
|||
"net_settings": { |
|||
"classes": [ |
|||
{ |
|||
"bus_width": 12.0, |
|||
"clearance": 0.2, |
|||
"diff_pair_gap": 0.25, |
|||
"diff_pair_via_gap": 0.25, |
|||
"diff_pair_width": 0.2, |
|||
"line_style": 0, |
|||
"microvia_diameter": 0.3, |
|||
"microvia_drill": 0.1, |
|||
"name": "Default", |
|||
"pcb_color": "rgba(0, 0, 0, 0.000)", |
|||
"schematic_color": "rgba(0, 0, 0, 0.000)", |
|||
"track_width": 0.25, |
|||
"via_diameter": 0.8, |
|||
"via_drill": 0.4, |
|||
"wire_width": 6.0 |
|||
} |
|||
], |
|||
"meta": { |
|||
"version": 2 |
|||
}, |
|||
"net_colors": null |
|||
}, |
|||
"pcbnew": { |
|||
"last_paths": { |
|||
"gencad": "", |
|||
"idf": "", |
|||
"netlist": "", |
|||
"specctra_dsn": "", |
|||
"step": "", |
|||
"vrml": "" |
|||
}, |
|||
"page_layout_descr_file": "" |
|||
}, |
|||
"schematic": { |
|||
"annotate_start_num": 0, |
|||
"drawing": { |
|||
"default_line_thickness": 6.0, |
|||
"default_text_size": 50.0, |
|||
"field_names": [], |
|||
"intersheets_ref_own_page": false, |
|||
"intersheets_ref_prefix": "", |
|||
"intersheets_ref_short": false, |
|||
"intersheets_ref_show": false, |
|||
"intersheets_ref_suffix": "", |
|||
"junction_size_choice": 3, |
|||
"label_size_ratio": 0.375, |
|||
"pin_symbol_size": 25.0, |
|||
"text_offset_ratio": 0.15 |
|||
}, |
|||
"legacy_lib_dir": "", |
|||
"legacy_lib_list": [], |
|||
"meta": { |
|||
"version": 1 |
|||
}, |
|||
"net_format_name": "Spice", |
|||
"ngspice": { |
|||
"fix_include_paths": true, |
|||
"fix_passive_vals": false, |
|||
"meta": { |
|||
"version": 0 |
|||
}, |
|||
"model_mode": 4, |
|||
"workbook_filename": "555bip.wbk" |
|||
}, |
|||
"page_layout_descr_file": "", |
|||
"plot_directory": "", |
|||
"spice_adjust_passive_values": false, |
|||
"spice_external_command": "C:\\Spice64\\bin\\ngspice-2022-osdi.exe \"%I\"", |
|||
"subpart_first_id": 65, |
|||
"subpart_id_separator": 0 |
|||
}, |
|||
"sheets": [ |
|||
[ |
|||
"35461762-06be-4c9e-bf12-e38db35c4dcf", |
|||
"" |
|||
] |
|||
], |
|||
"text_variables": {} |
|||
} |
|||
1473
examples/osdi/hicuml0/KiCad/ECL-RO.kicad_sch
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,107 @@ |
|||
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor) |
|||
(symbol "npn" (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes) |
|||
(property "Reference" "Q1" (id 0) (at 6.096 1.6511 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Value" "npn" (id 1) (at 6.096 -0.8889 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27) italic) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at -2.54 0 0) |
|||
(effects (font (size 1.27 1.27)) (justify left) hide) |
|||
) |
|||
(property "Spice_Primitive" "Q" (id 4) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Spice_Model" "NP" (id 5) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Spice_Netlist_Enabled" "Y" (id 6) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Spice_Lib_File" "bipmod.lib" (id 7) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_keywords" "Transistor Double NPN" (id 8) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_description" "100mA IC, 30V Vce, Double NPN Transistors, Current mirror configuration, SOT-143" (id 9) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_fp_filters" "SOT?143*" (id 10) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(symbol "npn_0_0" |
|||
(pin passive line (at 6.604 -5.08 90) (length 2.54) |
|||
(name "S" (effects (font (size 1.27 1.27)))) |
|||
(number "4" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at 8.128 -5.08 90) (length 2.54) |
|||
(name "DT" (effects (font (size 1.27 1.27)))) |
|||
(number "5" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
) |
|||
(symbol "npn_0_1" |
|||
(polyline |
|||
(pts |
|||
(xy 2.54 0) |
|||
(xy 3.302 0) |
|||
) |
|||
(stroke (width 0.1524) (type default) (color 0 0 0 0)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy 5.08 -2.54) |
|||
(xy 3.175 -0.635) |
|||
) |
|||
(stroke (width 0) (type default) (color 0 0 0 0)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy 5.08 2.54) |
|||
(xy 3.175 0.635) |
|||
) |
|||
(stroke (width 0) (type default) (color 0 0 0 0)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy 3.175 -1.905) |
|||
(xy 3.175 1.905) |
|||
(xy 3.175 1.905) |
|||
) |
|||
(stroke (width 0.508) (type default) (color 0 0 0 0)) |
|||
(fill (type outline)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy 3.81 -1.778) |
|||
(xy 4.318 -1.27) |
|||
(xy 4.826 -2.286) |
|||
(xy 3.81 -1.778) |
|||
(xy 3.81 -1.778) |
|||
) |
|||
(stroke (width 0) (type default) (color 0 0 0 0)) |
|||
(fill (type outline)) |
|||
) |
|||
) |
|||
(symbol "npn_1_1" |
|||
(pin passive line (at 5.08 5.08 270) (length 2.54) |
|||
(name "C" (effects (font (size 1.27 1.27)))) |
|||
(number "1" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at 0 0 0) (length 2.54) |
|||
(name "B" (effects (font (size 1.27 1.27)))) |
|||
(number "2" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at 5.08 -5.08 90) (length 2.54) |
|||
(name "E" (effects (font (size 1.27 1.27)))) |
|||
(number "3" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
) |
|||
) |
|||
) |
|||
@ -0,0 +1,3 @@ |
|||
(sym_lib_table |
|||
(lib (name "ECL_Bip")(type "KiCad")(uri "${KIPRJMOD}/ECL_Bip.kicad_sym")(options "")(descr "")) |
|||
) |
|||
@ -0,0 +1,40 @@ |
|||
******************************************************************************** |
|||
******************************************************************************** |
|||
* HICUM Level0 Version 1.1 model cards for testing |
|||
******************************************************************************** |
|||
******************************************************************************** |
|||
* 1D transistor: Isothermal Simulation and Temperature dependence |
|||
******************************************************************************** |
|||
|
|||
******************************************************************************** |
|||
* Complete transistor: Isothermal Simulation with substrate diode |
|||
******************************************************************************** |
|||
.subckt hicumL0V1p1_c_sbt c b e s dt |
|||
*qhcm0 c b e s dt hic0_full |
|||
nqhcm0 c b e s dt hic0_full |
|||
*.model hic0_full npn |
|||
.ends |
|||
.model hic0_full hicumL0va |
|||
+ level=7 is=1.3525E-18 vef=8.0 iqf=3.0e-2 iqr=1e6 |
|||
+ iqfh=1e6 tfh=1e-8 ibes=1.16E-20 mbe=1.015 ires=1.16e-16 mre=2.0 ibcs=1.16e-20 |
|||
+ mbc=1.015 mcf=1.0 mcr=1 kavl=0.9488 eavl=11.96e10 alkav=0.825e-4 |
|||
+ aleav=0.196e-3 rbi0=71.76 rbx=8.83 fgeo=0.73 re=12.534 rcx=9.165 iscs=1.0e-17 msc=1.0 |
|||
+ cje0=8.11e-15 vde=0.95 ze=0.5 aje=1.8 cjci0=1.16e-15 vdci=0.8 zci=0.333 |
|||
+ vptci=46 cjcx0=5.4e-15 vdcx=0.7 zcx=0.333 vptcx=100 fbc=0.1526 vr0e=1.6 vr0c=8.0 |
|||
+ cjs0=3.64e-14 vds=0.6 zs=0.447 vpts=100 t0=4.75e-12 dt0h=2.1e-12 tbvl=4.0e-12 |
|||
+ tef0=1.8e-12 gte=1.4 thcs=30.0e-12 ahc=0.75 tr=0.0 rci0=127.8 vlim=0.7 |
|||
+ vces=0.1 vpt=5 cbepar=1.13e-15 cbcpar=2.97e-15 kf=1.43e-8 af=2.0 vgb=1.17 |
|||
+ alt0=0.0 kt0=0.0 zetaci=1.6 alvs=1.0e-3 alces=0.4e-3 zetarbi=0.588 |
|||
+ zetarbx=0.206 zetarcx=0.223 zetare=0.0 vge=1.1386 vgc=1.1143 vgs=1.15 f1vg=-1.02377e-4 |
|||
+ f2vg=4.3215e-4 zetact=3.5 zetabet=4.0 rth=0.0 cth=0.0 |
|||
+ tnom=27.0 type=1 ; npn=1 pnp=0 |
|||
*+ dt=0.0 |
|||
******************************************************************************** |
|||
* Complete test transistor: default |
|||
******************************************************************************** |
|||
.subckt hicumL0V11_default c b e s dt |
|||
qhcm0 c b e s dt hic0_full |
|||
.ends hicumL0V11_default |
|||
******************************************************************************** |
|||
|
|||
|
|||
@ -0,0 +1,23 @@ |
|||
Bip model in subckt Gummel Test Ic=f(Vc,Vb) |
|||
|
|||
VB B 0 0.5 |
|||
VC C 0 1.0 |
|||
VS S 0 0.0 |
|||
X1 C B 0 S bip_default |
|||
|
|||
.control |
|||
dc vb 0.2 1.4 0.01 |
|||
plot abs(i(vc)) abs(i(vb)) abs(i(vs)) ylimit 0.1p 100m ylog |
|||
plot abs(i(vc))/abs(i(vb)) vs abs(i(vc)) xlog xlimit 100p 100m ylimit 0 200 retraceplot |
|||
.endc |
|||
|
|||
******************************************************************************** |
|||
* Complete test transistor: default |
|||
******************************************************************************** |
|||
.subckt bip_default c b e s |
|||
qhcm0 c b e s hic0_full |
|||
.model hic0_full npn |
|||
.ends hicumL0V11_default |
|||
******************************************************************************** |
|||
|
|||
.end |
|||
@ -0,0 +1,20 @@ |
|||
HICUM0 Gummel Test Ic=f(Vc,Vb) |
|||
|
|||
VB B 0 0.5 |
|||
VC C 0 1.0 |
|||
VS S 0 0.0 |
|||
*AQ1 C B 0 S DT hicumL0V1p1_c_sbt |
|||
XQ1 C B 0 S DT hicumL0V1p1_c_sbt |
|||
Rdt dt 0 1G |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/HICUML0-2.osdi |
|||
dc vb 0.2 1.4 0.01 |
|||
set xbrushwidth=2 |
|||
plot abs(i(vc)) abs(i(vb)) abs(i(vs)) ylimit 0.1p 100m ylog |
|||
plot abs(i(vc))/abs(i(vb)) vs abs(i(vc)) xlog xlimit 100p 100m ylimit 0 200 retraceplot |
|||
.endc |
|||
|
|||
.include Modelcards/model-card-hicumL0V1p11_mod.lib |
|||
|
|||
.end |
|||
@ -0,0 +1,20 @@ |
|||
HICUM0 Output Test Ic=f(Vc,Ib) |
|||
|
|||
IB 0 B 200n |
|||
VC C 0 2.0 |
|||
VS S 0 0.0 |
|||
X1 C B 0 S DT hicumL0V1p1_c_sbt |
|||
|
|||
Rdt dt 0 1G |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/HICUML0-2.osdi |
|||
dc vc 0.0 3.0 0.05 ib 10u 100u 10u |
|||
set xbrushwidth=2 |
|||
plot abs(i(vc)) |
|||
*plot v(dt) |
|||
.endc |
|||
|
|||
.include Modelcards/model-card-hicumL0V1p11_mod.lib |
|||
|
|||
.end |
|||
@ -0,0 +1 @@ |
|||
Place HICUML0-2.osdi here. |
|||
@ -0,0 +1,35 @@ |
|||
HICUM0 Output Test Ic=f(Vc,Ib) |
|||
|
|||
IB 0 B 200n |
|||
VC C 0 2.0 |
|||
VS S 0 0.0 |
|||
Q1 C B 0 S NPN_VBIC_VLG |
|||
|
|||
.control |
|||
dc vc 0.0 5.0 0.05 ib 10u 100u 10u |
|||
run |
|||
plot abs(i(vc)) |
|||
plot v(dt) |
|||
.endc |
|||
|
|||
.MODEL NPN_VBIC_VLG NPN LEVEL=4 |
|||
+TNOM = 27 RCI = 1E3 RCX = 50 |
|||
+VO = 1.5 GAMM = 3.402097E-11 HRCF = 1 |
|||
+RBX = 243 RBI = 20 RE = 30 |
|||
+RS = 0 RBP = 0 IS = 8.084033E-18 |
|||
+NF = 1 NR = 1.005 FC = 0.5 |
|||
+CJE = 2.083234E-15 PE = 0.8793669 ME = 0.3108762 |
|||
+CJC = 1.803275E-15 PC = 0.5512188 MC = 0.4454263 |
|||
+CJCP = 8E-15 PS = 0.66956 MS = 0.2243 |
|||
+IBEI = 4.542609E-20 WBE = 1 NEI = 1 |
|||
+IBEN = 3.275162E-16 NEN = 1.5543186 IBCI = 3.594252E-19 |
|||
+NCI = 0.996 IBCN = 1.717776E-17 NCN = 1.202521 |
|||
+AVC1 = 3E-4 AVC2 = 1E-5 ISP = 1.332E-19 |
|||
+WSP = 1 NFP = 1 IBEIP = 0 |
|||
+IBENP = 0 IBCIP = 0 NCIP = 1 |
|||
+IBCNP = 0 NCNP = 2 VEF = 109.6523 |
|||
+VER = 2.2052435 IKF = 6.03524E-3 IKR = 1.807895E-4 |
|||
+IKP = 2.908576E-5 TF = 1.1E-12 XTF = 21.5423 |
|||
+VTF = 12.4758677 ITF = 0.0175231 TR = 2.23542E-9 |
|||
|
|||
.end |
|||
@ -0,0 +1,76 @@ |
|||
*MEXTRAM modelcard |
|||
|
|||
.model BJTRF1 bjt504tva |
|||
*+ LEVEL=6 |
|||
+MULT=1.000E+00 |
|||
+TREF=25.000E+00 |
|||
+DTA=0.000E+00 |
|||
+EXMOD=1.000E+00 |
|||
+EXPHI=0.000E+00 |
|||
+EXAVL=1.000E+00 |
|||
+IS=23.571E-18 |
|||
+IK=231.660E-03 |
|||
+VER=2.100E+00 |
|||
+VEF=36.001E+00 |
|||
+BF=186.538E+00 |
|||
+IBF=1.140E-15 |
|||
+MLF=2.000E+00 |
|||
+XIBI=0.000E+00 |
|||
+BRI=9.231E+00 |
|||
+IBR=61.600E-15 |
|||
+VLR=400.000E-03 |
|||
+XEXT=648.148E-03 |
|||
+WAVL=1.064E-06 |
|||
+VAVL=3.330E+00 |
|||
+SFH=882.471E-03 |
|||
+RE=949.668E-03 |
|||
+RBC=27.769E+00 |
|||
+RBV=32.004E+00 |
|||
+RCBLX=1.0 |
|||
+RCBLI=1.0 |
|||
+RCC=18.026E+00 |
|||
+RCV=237.417E+00 |
|||
+SCRCV=882.839E+00 |
|||
+IHC=3.370E-03 |
|||
+AXI=300.000E-03 |
|||
+CJE=55.566E-15 |
|||
+VDE=900.000E-03 |
|||
+PE=500.000E-03 |
|||
+XCJE=52.478E-03 |
|||
+CJC=25.153E-15 |
|||
+VDC=660.000E-03 |
|||
+PC=450.000E-03 |
|||
+XP=310.000E-03 |
|||
+MC=500.000E-03 |
|||
+XCJC=122.100E-03 |
|||
+MTAU=1.000E+00 |
|||
+TAUE=6.200E-12 |
|||
+TAUB=977.273E-15 |
|||
+TEPI=7.980E-12 |
|||
+TAUR=64.400E-12 |
|||
+DEG=0.000E+00 |
|||
+XREC=0.000E+00 |
|||
+AQBO=701.246E-03 |
|||
+AE=308.246E-03 |
|||
+AB=846.000E-03 |
|||
+AEPI=2.500E+00 |
|||
+AEX=619.000E-03 |
|||
+AC=1.580E+00 |
|||
+DVGBF=52.000E-03 |
|||
+DVGBR=0.000E+00 |
|||
+VGB=1.197E+00 |
|||
+VGC=1.200E+00 |
|||
+VGJ=1.200E+00 |
|||
+DVGTE=1.202E+00 |
|||
+AF=2.350E+00 |
|||
+KF=47.298E-09 |
|||
+KFN=1.000E-09 |
|||
+ISS=18.480E-18 |
|||
+IKS=219.348E-06 |
|||
+CJS=146.628E-15 |
|||
+VDS=542.048E-03 |
|||
+PS=314.095E-03 |
|||
+VGS=1.221E+00 |
|||
+AS=1.580E+00 |
|||
+RTH=300 |
|||
+CTH=3E-09 |
|||
@ -0,0 +1,18 @@ |
|||
MEXTRAM Gummel Test Ic,b,s=f(Vc,Ib) |
|||
|
|||
.include Modelcards/mex_model.lib |
|||
|
|||
VB B 0 0.5 |
|||
VC C 0 2.0 |
|||
VS S 0 0.0 |
|||
NQ1 C B 0 S DT BJTRF1 |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bjt504t.osdi |
|||
dc vb 0.2 1.4 0.01 |
|||
plot abs(i(vc)) abs(i(vb)) abs(i(vs)) ylog xlimit 0.3 1.4 ylimit 1e-12 100e-3 |
|||
plot abs(i(vc))/abs(i(vb)) vs abs(-i(vc)) xlog xlimit 1e-09 10e-3 ylimit 0 150 |
|||
.endc |
|||
|
|||
|
|||
.end |
|||
@ -0,0 +1,16 @@ |
|||
MEXTRAM Output Test Ic=f(Vc,Ib) |
|||
|
|||
.include Modelcards/mex_model.lib |
|||
|
|||
IB 0 b 1u |
|||
VC C 0 2.0 |
|||
VS S 0 0.0 |
|||
NQ1 C B 0 S T BJTRF1 |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bjt504t.osdi |
|||
dc vc 0 6.0 0.05 ib 1u 8u 1u |
|||
plot abs(i(vc)) xlabel Vce title Output-Characteristic |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1 @@ |
|||
Place bjt505.osdi here. |
|||
@ -0,0 +1,641 @@ |
|||
* model parameters fron BSIMBULK 106.2 |
|||
.model BSIMBULK_osdi_N bsimbulk |
|||
+level=77 |
|||
+TYPE = 1 |
|||
+GEOMOD = 0 |
|||
+RGEOMOD = 0 |
|||
+COVMOD = 1 |
|||
+RDSMOD = 0 |
|||
+GIDLMOD = 1 |
|||
+IGCMOD = 0 |
|||
+IGBMOD = 0 |
|||
+LLONG = 2e-6 |
|||
+WWIDE = 1e-5 |
|||
+XL = -1.7e-8 |
|||
+XW = 1.1e-8 |
|||
+LINT = 0 |
|||
+WINT = 0 |
|||
+DLC = 0 |
|||
+DWC = 0 |
|||
+TOXE = 1.74e-9 |
|||
+TOXP = 1.7e-9 |
|||
+NDEP = 4.6e23 |
|||
+NSD = 1e26 |
|||
+NGATE = 8.5e25 |
|||
+VFB = -1.02 |
|||
+EPSROX = 3.9 |
|||
+EPSRSUB = 11.9 |
|||
+NI0SUB = 1.1e16 |
|||
+XJ = 1.5e-7 |
|||
+DMCG = 0 |
|||
+DMDG = 0 |
|||
+DMCGT = 0 |
|||
+CIT = 1e-8 |
|||
+CDSCD = 0.001 |
|||
+CDSCB = 0 |
|||
+CDSCBL = 0.007 |
|||
+CDSCBLEXP = 1 |
|||
+NFACTOR = 0.002 |
|||
+NFACTORL = 2.1e-8 |
|||
+NFACTORLEXP = 6.264 |
|||
+NDEPL1 = 0.096 |
|||
+NDEPLEXP1 = 1 |
|||
+NDEPL2 = -0.0032 |
|||
+NDEPLEXP2 = 2.05 |
|||
+DVTP0 = 7.5e-7 |
|||
+DVTP1 = -4.4e-7 |
|||
+NDEPW = -0.1548 |
|||
+NDEPWEXP = 0.7441 |
|||
+NDEPWL = 0 |
|||
+NDEPWLEXP = 0.2 |
|||
+K2W = 0 |
|||
+AGIDL = 3.728e-8 |
|||
+AGIDLL = -0.04815 |
|||
+AGIDLW = -0.0341 |
|||
+BGIDL = 8.123e9 |
|||
+CGIDL = 1.21e-6 |
|||
+EGIDL = -2.952 |
|||
+PHIN = 0.05 |
|||
+K2L = 0.001636 |
|||
+K2 = -0.014 |
|||
+ETA0 = 8.416e-6 |
|||
+ETAB = -5.561e-5 |
|||
+ETABEXP = 2.155 |
|||
+DSUB = 3 |
|||
+VSAT = 6.4e4 |
|||
+VSATW = 0.05 |
|||
+VSATWEXP = 1 |
|||
+DELTA = 0.15 |
|||
+DELTAL = 0.1 |
|||
+DELTALEXP = 1e-5 |
|||
+U0 = 0.04546 |
|||
+ETAMOB = 1.5 |
|||
+U0L = 0.025 |
|||
+U0LEXP = 0.95 |
|||
+UA = 0.4007 |
|||
+UAW = 0.05 |
|||
+UAWEXP = 1 |
|||
+UAL = 0.00475 |
|||
+UALEXP = 1.118 |
|||
+EUW = -0.02 |
|||
+EUWEXP = 1 |
|||
+EUL = 0.001 |
|||
+EULEXP = 1 |
|||
+EU = 1.9 |
|||
+UDL = 1e-15 |
|||
+UDLEXP = 1 |
|||
+UD = 1.042e-5 |
|||
+UCS = 2 |
|||
+UCW = 0 |
|||
+UCWEXP = 1 |
|||
+UC = 1e-07 |
|||
+UCL = 2.5e4 |
|||
+UCLEXP = 1 |
|||
+PCLM = 0.15 |
|||
+PCLML = 0.01 |
|||
+PCLMLEXP = 0.4 |
|||
+PCLMG = 0 |
|||
+PSCBE1 = 5 |
|||
+PSCBE2 = 1.29e-12 |
|||
+PDITS = 0 |
|||
+PDITSL = 0 |
|||
+PDITSD = 0 |
|||
+RSWMIN = 0 |
|||
+RSW = 100 |
|||
+RDWMIN = 0 |
|||
+RDW = 100 |
|||
+RDSW = 20 |
|||
+RDSWMIN = 0 |
|||
+PRWG = 1 |
|||
+PRWB = 0 |
|||
+WR = 1 |
|||
+RSH = 0 |
|||
+PDIBLCB = 0 |
|||
+PDIBLC = 0.01 |
|||
+PDIBLCL = 1e-5 |
|||
+PDIBLCLEXP = 1e-6 |
|||
+PVAG = 0 |
|||
+PTWG = 0.2 |
|||
+PTWGL = 3e4 |
|||
+PTWGLEXP = 5e-6 |
|||
+FPROUT = 0 |
|||
+CF = 0 |
|||
+CFRCOEFF = 1 |
|||
+CGSO = 2.5e-10 |
|||
+CGDO = 2.5e-10 |
|||
+CGSL = 1.2e-10 |
|||
+CGDL = 1.2e-10 |
|||
+CKAPPAS = 1.25 |
|||
+CKAPPAD = 1.25 |
|||
+CGBO = 0 |
|||
+ADOS = 0 |
|||
+BDOS = 1 |
|||
+QM0 = 0.001 |
|||
+ETAQM = 0.54 |
|||
+NDEPCV = 8e23 |
|||
+VFBCV = -0.95 |
|||
+VSATCV = 1e5 |
|||
+PCLMCV = 0 |
|||
+PSAT = 0.46 |
|||
+PSATL = 6 |
|||
+PSATLEXP = 0.06 |
|||
+TNFACTOR = 0 |
|||
+TETA0 = 0 |
|||
+UTE = -1.4 |
|||
+UTEL = -0.001 |
|||
+UA1 = -0.0011 |
|||
+UA1L = 0 |
|||
+UC1 = 0 |
|||
+UD1 = 0 |
|||
+UD1L = 0 |
|||
+UCSTE = -0.005 |
|||
+PRT = 0 |
|||
+AT = -0.05 |
|||
+ATL = -0.1 |
|||
+TDELTA = -0.0048 |
|||
+PTWGT = -0.002 |
|||
+PTWGTL = 0.01 |
|||
+KT1 = -0.115 |
|||
+KT1EXP = 1 |
|||
+KT1L = 1.286e-9 |
|||
+KT2 = -0.003157 |
|||
+K2LEXP = 1.698 |
|||
+K2WEXP = 0.005 |
|||
+TBGASUB = 0 |
|||
+AIGS = 0.0136 |
|||
+BIGS = 0.00171 |
|||
+CIGS = 0.075 |
|||
+AIGSL = 0 |
|||
+AIGD = 0.0136 |
|||
+BIGD = 0.00171 |
|||
+CIGD = 0.075 |
|||
+AIGDL = 0 |
|||
+AIGC = 0.01285 |
|||
+LAIGC = 2.132e-6 |
|||
+BIGC = 0.0013 |
|||
+CIGC = 0.013 |
|||
+AIGCL = -0.01227 |
|||
+PIGCD = 1 |
|||
+PIGCDL = 6.196 |
|||
+AIGBINV = 0.015 |
|||
+BIGBINV = 0.000949 |
|||
+CIGBINV = 0.006 |
|||
+EIGBINV = 1.1 |
|||
+NIGBINV = 3 |
|||
+AIGBACC = 0.01751 |
|||
+BIGBACC = 8.307 |
|||
+CIGBACC = -898.7 |
|||
+NIGBACC = 1 |
|||
+LPSAT = 0 |
|||
+WPSAT = 0 |
|||
+PPSAT = 0 |
|||
+PSATB = 0 |
|||
+PSATX = 3 |
|||
+WVSAT = 0 |
|||
+PVSAT = 0 |
|||
+WPTWG = 0 |
|||
+PPTWG = 0 |
|||
+TNOM = 25 |
|||
+WDVTP0 = 0 |
|||
+WDVTP1 = 0 |
|||
+LUTE = 0.04574 |
|||
+LUA1 = 8.365e-5 |
|||
+LAT = 0 |
|||
+DVTP2 = 0 |
|||
+DVTP3 = 0 |
|||
+DVTP4 = 0 |
|||
+DVTP5 = 0 |
|||
+VSATL = 1350 |
|||
+VSATLEXP = 0.00033 |
|||
+SCA = 0 |
|||
+SCB = 0 |
|||
+SCC = 0 |
|||
+SC = 0 |
|||
|
|||
.model BSIMBULK_osdi_P bsimbulk |
|||
+level=77 |
|||
+TYPE = -1 |
|||
+GEOMOD = 0 |
|||
+RGEOMOD = 0 |
|||
+RGATEMOD = 0 |
|||
+RBODYMOD = 0 |
|||
+IGCMOD = 0 |
|||
+IGBMOD = 0 |
|||
+COVMOD = 1 |
|||
+RDSMOD = 2 |
|||
+GIDLMOD = 0 |
|||
+TNOIMOD = 0 |
|||
+SHMOD = 0 |
|||
+TOXE = 2.34e-9 |
|||
+TOXP = 1.925e-9 |
|||
+DTOX = 0 |
|||
+EPSROX = 3.9 |
|||
+TNOM = 25 |
|||
+XL = 0 |
|||
+XW = 0 |
|||
+LINT = 0 |
|||
+LLONG = 1000000 |
|||
+LL = 0 |
|||
+LW = 0 |
|||
+LWL = 0 |
|||
+LLN = 1 |
|||
+LWN = 1 |
|||
+WINT = -9.0134104e-9 |
|||
+WL = 0 |
|||
+WW = 0 |
|||
+WWL = 0 |
|||
+WLN = 1 |
|||
+WWN = 1 |
|||
+WWIDE = 1000000 |
|||
+DLC = 0 |
|||
+LLC = 0 |
|||
+LWC = 0 |
|||
+LWLC = 0 |
|||
+DWC = 0 |
|||
+WLC = 0 |
|||
+WWC = 0 |
|||
+WWLC = 0 |
|||
+JSS = 0.0001 |
|||
+JSD = 0.0001 |
|||
+JSWS = 0 |
|||
+JSWD = 0 |
|||
+JSWGS = 0 |
|||
+JSWGD = 0 |
|||
+NJS = 1 |
|||
+NJD = 1 |
|||
+IJTHSFWD = 0.1 |
|||
+IJTHDFWD = 0.1 |
|||
+IJTHSREV = 0.1 |
|||
+IJTHDREV = 0.1 |
|||
+BVS = 10 |
|||
+BVD = 10 |
|||
+XJBVS = 1 |
|||
+XJBVD = 1 |
|||
+JTSS = 0 |
|||
+JTSD = 0 |
|||
+JTSSWS = 0 |
|||
+JTSSWD = 0 |
|||
+JTSSWGS = 0 |
|||
+JTSSWGD = 0 |
|||
+JTWEFF = 0 |
|||
+NJTS = 20 |
|||
+NJTSD = 20 |
|||
+NJTSSW = 20 |
|||
+NJTSSWD = 20 |
|||
+NJTSSWG = 20 |
|||
+NJTSSWGD = 20 |
|||
+VTSS = 10 |
|||
+VTSD = 10 |
|||
+VTSSWS = 10 |
|||
+VTSSWD = 10 |
|||
+VTSSWGS = 10 |
|||
+VTSSWGD = 10 |
|||
+CJS = 0.0005 |
|||
+CJD = 0.0005 |
|||
+CJSWS = 5e-10 |
|||
+CJSWD = 5e-10 |
|||
+CJSWGS = 0 |
|||
+CJSWGD = 0 |
|||
+PBS = 1 |
|||
+PBD = 1 |
|||
+PBSWS = 1 |
|||
+PBSWD = 1 |
|||
+PBSWGS = 1 |
|||
+PBSWGD = 1 |
|||
+MJS = 0.5 |
|||
+MJD = 0.5 |
|||
+MJSWS = 0.33 |
|||
+MJSWD = 0.33 |
|||
+MJSWGS = 0.33 |
|||
+MJSWGD = 0.33 |
|||
+TPB = 0 |
|||
+TCJ = 0 |
|||
+TPBSW = 0 |
|||
+TCJSW = 0 |
|||
+TPBSWG = 0 |
|||
+TCJSWG = 0 |
|||
+XTIS = 3 |
|||
+XTID = 3 |
|||
+XTSS = 0.02 |
|||
+XTSD = 0.02 |
|||
+XTSSWS = 0.02 |
|||
+XTSSWD = 0.02 |
|||
+XTSSWGS = 0.02 |
|||
+XTSSWGD = 0.02 |
|||
+TNJTS = 0 |
|||
+TNJTSD = 0 |
|||
+TNJTSSW = 0 |
|||
+TNJTSSWD = 0 |
|||
+TNJTSSWG = 0 |
|||
+TNJTSSWGD = 0 |
|||
+NOIA = 6.25e40 |
|||
+NOIB = 3.125e25 |
|||
+NOIC = 8.75e8 |
|||
+EM = 41000000 |
|||
+EF = 1 |
|||
+LINTNOI = 0 |
|||
+NTNOI = 1 |
|||
+TNOIA = 0 |
|||
+TNOIB = 0 |
|||
+TNOIC = 0 |
|||
+RNOIA = 0.577 |
|||
+RNOIB = 0.5164 |
|||
+RNOIC = 0.395 |
|||
+DWJ = 0 |
|||
+DMCG = 0 |
|||
+DMCI = 0 |
|||
+DMDG = 0 |
|||
+DMCGT = 0 |
|||
+XGW = 0 |
|||
+XGL = 0 |
|||
+GBMIN = 1e-12 |
|||
+RSHG = 0.1 |
|||
+RBPB = 50 |
|||
+RBPD = 50 |
|||
+RBPS = 50 |
|||
+RBDB = 50 |
|||
+RBSB = 50 |
|||
+RBPS0 = 50 |
|||
+RBPSL = 0 |
|||
+RBPSW = 0 |
|||
+RBPSNF = 0 |
|||
+RBPD0 = 50 |
|||
+RBPDL = 0 |
|||
+RBPDW = 0 |
|||
+RBPDNF = 0 |
|||
+RBPBX0 = 100 |
|||
+RBPBXL = 0 |
|||
+RBPBXW = 0 |
|||
+RBPBXNF = 0 |
|||
+RBPBY0 = 100 |
|||
+RBPBYL = 0 |
|||
+RBPBYW = 0 |
|||
+RBPBYNF = 0 |
|||
+RBSBX0 = 100 |
|||
+RBSBY0 = 100 |
|||
+RBDBX0 = 100 |
|||
+RBDBY0 = 100 |
|||
+RBSDBXL = 0 |
|||
+RBSDBXW = 0 |
|||
+RBSDBXNF = 0 |
|||
+RBSDBYL = 0 |
|||
+RBSDBYW = 0 |
|||
+RBSDBYNF = 0 |
|||
+XRCRG1 = 12 |
|||
+XRCRG2 = 1 |
|||
+NGCON = 1 |
|||
+NDEP = 8.062e23 |
|||
+NDEPL1 = 1.2139 |
|||
+NDEPLEXP1 = 1.9088 |
|||
+NDEPL2 = -1.1825 |
|||
+NDEPLEXP2 = 1.9173 |
|||
+NDEPW = 0.065035 |
|||
+NDEPWEXP = 0.48882 |
|||
+NDEPWL = 0.00040893 |
|||
+NDEPWLEXP = 1.3273 |
|||
+EASUB = 4.05 |
|||
+NI0SUB = 1.1e16 |
|||
+BG0SUB = 1.17 |
|||
+EPSRSUB = 11.9 |
|||
+XJ = 1.5e-7 |
|||
+VFB = -1.2108 |
|||
+VFBSDOFF = 0 |
|||
+NSD = 1e26 |
|||
+DVTP0 = 1.8335e-7 |
|||
+DVTP1 = 220.59 |
|||
+DVTP2 = 9.6351e-10 |
|||
+DVTP3 = 0.89017 |
|||
+DVTP4 = 98.728 |
|||
+DVTP5 = 5.1435e-17 |
|||
+PHIN = 0.045 |
|||
+ETA0 = 0.0051075 |
|||
+ETAB = -0.010908157 |
|||
+ETABEXP = 0.09999 |
|||
+DSUB = 1.0667 |
|||
+K2 = -0.093146 |
|||
+K2L = 0.065574 |
|||
+K2LEXP = 0.79778 |
|||
+K2W = 0.030809 |
|||
+K2WEXP = 0.87253 |
|||
+CIT = 1.0136148e-5 |
|||
+CDSCD = 0.0011509049 |
|||
+CDSCDL = -0.00048388809 |
|||
+CDSCDLEXP = 0.13963388 |
|||
+CDSCB = 9.9995516e-6 |
|||
+CDSCBL = 1.4756534e-9 |
|||
+CDSCBLEXP = 1 |
|||
+NFACTOR = 0.0017201 |
|||
+NFACTORL = 1.7832e-6 |
|||
+NFACTORLEXP = 0.99988 |
|||
+NFACTORW = 0.11149 |
|||
+NFACTORWEXP = 0.8993 |
|||
+NFACTORWL = -0.01386 |
|||
+U0 = 0.04004 |
|||
+U0L = 0.58676 |
|||
+U0LEXP = 0.11151 |
|||
+ETAMOB = 4.0947 |
|||
+UA = 0.4298 |
|||
+UAL = -0.0087246 |
|||
+UALEXP = 1.3647 |
|||
+UAW = 0.11575 |
|||
+UAWEXP = 0.4385 |
|||
+UAWL = -7.027e-5 |
|||
+EU = 1.3371 |
|||
+EUL = 0.0021948 |
|||
+EULEXP = 1.4769 |
|||
+EUW = -0.0031666 |
|||
+EUWEXP = 1.9366 |
|||
+EUWL = -0.00013929 |
|||
+UD = 0.0093995 |
|||
+UDL = 0.067484 |
|||
+UDLEXP = 0.099452 |
|||
+UCS = 0.9999 |
|||
+UC = 4.91e-6 |
|||
+UCL = 0.001096 |
|||
+UCLEXP = 0.0015937 |
|||
+VSAT = 9609100 |
|||
+VSATL = 6.8282 |
|||
+VSATLEXP = 0.086396 |
|||
+VSATW = 0.016834 |
|||
+VSATWEXP = 3.0172 |
|||
+VSATCVL = 0 |
|||
+VSATCVLEXP = 1 |
|||
+VSATCVW = 0 |
|||
+VSATCVWEXP = 1 |
|||
+DELTA = 0.1779 |
|||
+DELTAL = 0.1269 |
|||
+DELTALEXP = 0.18156 |
|||
+PCLM = 0 |
|||
+PCLML = 0 |
|||
+PCLMLEXP = 1e-13 |
|||
+PCLMG = 0 |
|||
+PCLMCVL = 0 |
|||
+PCLMCVLEXP = 1 |
|||
+PSCBE1 = 4.24e8 |
|||
+PSCBE2 = 1e-8 |
|||
+PDITS = 0.85536 |
|||
+PDITSL = 8473.9 |
|||
+PDITSD = 0 |
|||
+PDIBLC = 0.005 |
|||
+PDIBLCL = 0 |
|||
+PDIBLCLEXP = 1 |
|||
+PDIBLCB = -0.49995 |
|||
+PVAG = 1 |
|||
+FPROUT = 0 |
|||
+FPROUTL = 0 |
|||
+FPROUTLEXP = 1 |
|||
+PTWG = 0.09999 |
|||
+PTWGL = 0.069993 |
|||
+PTWGLEXP = 0.0009999 |
|||
+PSAT = 1e-13 |
|||
+PSATL = 0 |
|||
+PSATLEXP = 1 |
|||
+PSATB = 0.9999 |
|||
+PSATX = 1e-13 |
|||
+RSH = 0 |
|||
+PRWG = 1 |
|||
+PRWB = 0.010098993 |
|||
+PRWBL = 0.00070000265 |
|||
+PRWBLEXP = 1 |
|||
+WR = 1 |
|||
+RSWMIN = 0 |
|||
+RSW = 10 |
|||
+RSWL = 0 |
|||
+RSWLEXP = 1 |
|||
+RDWMIN = 0 |
|||
+RDW = 10 |
|||
+RDWL = 0 |
|||
+RDWLEXP = 1 |
|||
+RDSWMIN = 0 |
|||
+RDSW = 0 |
|||
+RDSWL = 0.0007 |
|||
+RDSWLEXP = 1e-7 |
|||
+ALPHA0 = 0 |
|||
+ALPHA0L = 0 |
|||
+ALPHA0LEXP = 1 |
|||
+BETA0 = 0 |
|||
+AGIDL = 0 |
|||
+AGIDLL = 0 |
|||
+AGIDLW = 0 |
|||
+BGIDL = 2.3e9 |
|||
+CGIDL = 0.5 |
|||
+EGIDL = 0.8 |
|||
+AGISL = 0 |
|||
+AGISLL = 0 |
|||
+AGISLW = 0 |
|||
+BGISL = 2.3e9 |
|||
+CGISL = 0.5 |
|||
+EGISL = 0.00171 |
|||
+AIGBACC = 0.00171 |
|||
+BIGBACC = 0.00171 |
|||
+CIGBACC = 0.075 |
|||
+NIGBACC = 1 |
|||
+AIGBINV = 0.0111 |
|||
+BIGBINV = 0.000949 |
|||
+CIGBINV = 0.006 |
|||
+EIGBINV = 1.1 |
|||
+NIGBINV = 3 |
|||
+AIGC = 0.0136 |
|||
+AIGCL = 3 |
|||
+AIGCW = 0.0136 |
|||
+BIGC = 0.00171 |
|||
+CIGC = 0.075 |
|||
+AIGS = 0.0136 |
|||
+AIGSL = 0.075 |
|||
+AIGSW = 0.0136 |
|||
+AIGD = 0.0136 |
|||
+AIGDL = 0 |
|||
+AIGDW = 0.0136 |
|||
+BIGS = 0.00171 |
|||
+BIGD = 0.00171 |
|||
+CIGS = 0.075 |
|||
+CIGD = 0.075 |
|||
+TOXREF = 0.075 |
|||
+NTOX = 1 |
|||
+POXEDGE = 1 |
|||
+PIGCD = 1 |
|||
+PIGCDL = 1 |
|||
+NDEPCV = 4.598e23 |
|||
+NDEPCVL1 = 0 |
|||
+NDEPCVLEXP1 = 1 |
|||
+NDEPCVL2 = 0 |
|||
+NDEPCVLEXP2 = 2 |
|||
+NDEPCVW = 0 |
|||
+NDEPCVWEXP = 1 |
|||
+NDEPCVWL = 0 |
|||
+NDEPCVWLEXP = 1 |
|||
+NGATE = 7.764e25 |
|||
+CF = 0 |
|||
+CFRCOEFF = 1 |
|||
+CGSO = 187.0e-12 |
|||
+CGDO = 187.0e-12 |
|||
+CGBO = 0 |
|||
+CGSL = 130.0e-12 |
|||
+CGDL = 130.0e-12 |
|||
+CKAPPAS = 1.6 |
|||
+CKAPPAD = 1.6 |
|||
+ADOS = 221.4 |
|||
+BDOS = 1.350 |
|||
+QM0 = 405.7e-6 |
|||
+ETAQM = 848.5e-3 |
|||
+VFBCV = -996.0e-3 |
|||
+VFBCVL = 0 |
|||
+VFBCVLEXP = 1 |
|||
+VFBCVW = 0 |
|||
+VFBCVWEXP = 1 |
|||
+VFBCVWL = 0 |
|||
+VFBCVWLEXP = 1 |
|||
+TBGASUB = 0.000473 |
|||
+TBGBSUB = 636 |
|||
+TDELTA = 0 |
|||
+PTWGT = 0 |
|||
+IIT = 0 |
|||
+TGIDL = 0 |
|||
+IGT = 0 |
|||
+KT1 = -0.11 |
|||
+KT1L = 0 |
|||
+KT2 = 0.022 |
|||
+KT1EXP = 1 |
|||
+UTE = -1.5 |
|||
+UA1 = 0.001 |
|||
+UD1 = 0 |
|||
+UC1 = -5.6e-11 |
|||
+UCSTE = -0.004775 |
|||
+PRT = 0 |
|||
+AT = -0.00156 |
|||
+SCA = 0 |
|||
+SCB = 0 |
|||
+SCC = 0 |
|||
+SC = 0 |
|||
+KU0WE = 0 |
|||
+KVTH0WE = 0 |
|||
+K2WE = 0 |
|||
+WEB = 0 |
|||
+WEC = 0 |
|||
+SCREF = 1e-6 |
|||
+SA = 0 |
|||
+SB = 0 |
|||
+SD = 0 |
|||
+SAREF = 1e-6 |
|||
+SBREF = 1e-6 |
|||
+WLOD = 0 |
|||
+KVSAT = 0 |
|||
+KU0 = 0 |
|||
+TKU0 = 0 |
|||
+LKU0 = 0 |
|||
+WKU0 = 0 |
|||
+PKU0 = 0 |
|||
+LLODKU0 = 0 |
|||
+WLODKU0 = 0 |
|||
+KVTH0 = 0 |
|||
+LKVTH0 = 0 |
|||
+WKVTH0 = 0 |
|||
+PKVTH0 = 0 |
|||
+LLODVTH = 0 |
|||
+WLODVTH = 0 |
|||
+STK2 = 0 |
|||
+LODK2 = 1 |
|||
+STETA0 = 0 |
|||
+LODETA0 = 1 |
|||
+RTH0 = 1e7 |
|||
+MOBSCALE = 1 |
|||
@ -0,0 +1,283 @@ |
|||
* psp_VA_and_CMC_ref_data 103.3.0 asym_nmos_t |
|||
* LEVEL=103.0 |
|||
* https://www.cea.fr/cea-tech/leti/pspsupport/Documents/Level%20103.3.3/psp_VA_and_CMC_ref_data.tar.gz |
|||
.model nch psp103va level=69 |
|||
+type=1 |
|||
+TR=27.0 |
|||
+DTA=0 |
|||
+SWGEO=1 |
|||
+QMC=1.0 |
|||
+LVARO=-10.0E-9 |
|||
+LVARL=0 |
|||
+LVARW=0 |
|||
+LAP=10.0E-9 |
|||
+WVARO=10.0E-9 |
|||
+WVARL=0 |
|||
+WVARW=0 |
|||
+WOT=0 |
|||
+DLQ=0 |
|||
+DWQ=0 |
|||
+VFBO=-1.1 |
|||
+VFBL=0 |
|||
+VFBW=0 |
|||
+VFBLW=0 |
|||
+STVFBO=5.0E-4 |
|||
+STVFBL=0 |
|||
+STVFBW=0 |
|||
+STVFBLW=0 |
|||
+TOXO=1.5E-9 |
|||
+EPSROXO=3.9 |
|||
+NSUBO=3.0E+23 |
|||
+NSUBW=0 |
|||
+WSEG=1.5E-10 |
|||
+NPCK=1.0E+24 |
|||
+NPCKW=0 |
|||
+WSEGP=0.9E-8 |
|||
+LPCK=5.5E-8 |
|||
+LPCKW=0 |
|||
+FOL1=2.0E-2 |
|||
+FOL2=5.0E-6 |
|||
+FACNEFFACO=0.8 |
|||
+FACNEFFACL=0 |
|||
+FACNEFFACW=0 |
|||
+FACNEFFACLW=0 |
|||
+GFACNUDO=0.1 |
|||
+GFACNUDL=0 |
|||
+GFACNUDLEXP=1 |
|||
+GFACNUDW=0 |
|||
+GFACNUDLW=0 |
|||
+VSBNUDO=0 |
|||
+DVSBNUDO=1 |
|||
+VNSUBO=0 |
|||
+NSLPO=0.05 |
|||
+DNSUBO=0 |
|||
+DPHIBO=0 |
|||
+DPHIBL=0 |
|||
+DPHIBLEXP=1.0 |
|||
+DPHIBW=0 |
|||
+DPHIBLW=0 |
|||
+DELVTACO=0 |
|||
+DELVTACL=0 |
|||
+DELVTACLEXP=1 |
|||
+DELVTACW=0 |
|||
+DELVTACLW=0 |
|||
+NPO=1.5E+26 |
|||
+NPL=10.0E-18 |
|||
+CTO=5.0E-15 |
|||
+CTL=4.0E-2 |
|||
+CTLEXP=0.6 |
|||
+CTW=0 |
|||
+CTLW=0 |
|||
+TOXOVO=1.5E-9 |
|||
+TOXOVDO=2.0E-9 |
|||
+LOV=10.0E-9 |
|||
+LOVD=0 |
|||
+NOVO=7.5E+25 |
|||
+NOVDO=5.0e+25 |
|||
+CFL=3.0E-4 |
|||
+CFLEXP=2.0 |
|||
+CFW=5.0E-3 |
|||
+CFBO=0.3 |
|||
+UO=3.5E-2 |
|||
+FBET1=-0.3 |
|||
+FBET1W=0.15 |
|||
+LP1=1.5E-7 |
|||
+LP1W=-2.5E-2 |
|||
+FBET2=50.0 |
|||
+LP2=8.5E-10 |
|||
+BETW1=5.0E-2 |
|||
+BETW2=-2.0E-2 |
|||
+WBET=5.0E-10 |
|||
+STBETO=1.75 |
|||
+STBETL=-2.0E-2 |
|||
+STBETW=-2.0E-3 |
|||
+STBETLW=-3.0E-3 |
|||
+MUEO=0.6 |
|||
+MUEW=-1.2E-2 |
|||
+STMUEO=0.5 |
|||
+THEMUO=2.75 |
|||
+STTHEMUO=-0.1 |
|||
+CSO=1.0E-2 |
|||
+CSL=0 |
|||
+CSLEXP=1 |
|||
+CSW=0 |
|||
+CSLW=0 |
|||
+STCSO=-5.0 |
|||
+XCORO=0.15 |
|||
+XCORL=2.0E-3 |
|||
+XCORW=-3.0E-2 |
|||
+XCORLW=-3.5E-3 |
|||
+STXCORO=1.25 |
|||
+FETAO=1 |
|||
+RSW1=50 |
|||
+RSW2=5.0E-2 |
|||
+STRSO=-2.0 |
|||
+RSBO=0 |
|||
+RSGO=0 |
|||
+THESATO=1.0E-6 |
|||
+THESATL=0.6 |
|||
+THESATLEXP=0.75 |
|||
+THESATW=-1.0E-2 |
|||
+THESATLW=0 |
|||
+STTHESATO=1.5 |
|||
+STTHESATL=-2.5E-2 |
|||
+STTHESATW=-2.0E-2 |
|||
+STTHESATLW=-5.0E-3 |
|||
+THESATBO=0.15 |
|||
+THESATGO=0.75 |
|||
+AXO=20 |
|||
+AXL=0.2 |
|||
+ALPL=7.0E-3 |
|||
+ALPLEXP=0.6 |
|||
+ALPW=5.0E-2 |
|||
+ALP1L1=2.5E-2 |
|||
+ALP1LEXP=0.4 |
|||
+ALP1L2=0.1 |
|||
+ALP1W=8.5E-3 |
|||
+ALP2L1=0.5 |
|||
+ALP2LEXP=0 |
|||
+ALP2L2=0.5 |
|||
+ALP2W=-0.2 |
|||
+VPO=0.25 |
|||
+A1O=1.0 |
|||
+A1L=0 |
|||
+A1W=0 |
|||
+A2O=10.0 |
|||
+STA2O=-0.5 |
|||
+A3O=1.0 |
|||
+A3L=0 |
|||
+A3W=0 |
|||
+A4O=0 |
|||
+A4L=0 |
|||
+A4W=0 |
|||
+GCOO=5.0 |
|||
+IGINVLW=50.0 |
|||
+IGOVW=10.0 |
|||
+IGOVDW=0 |
|||
+STIGO=1.5 |
|||
+GC2O=1.0 |
|||
+GC3O=-1.0 |
|||
+CHIBO=3.1 |
|||
+AGIDLW=50.0 |
|||
+AGIDLDW=0 |
|||
+BGIDLO=35.0 |
|||
+BGIDLDO=41 |
|||
+STBGIDLO=-5.0E-4 |
|||
+STBGIDLDO=0 |
|||
+CGIDLO=0.15 |
|||
+CGIDLDO=0 |
|||
+CGBOVL=0 |
|||
+CFRW=5.0E-17 |
|||
+CFRDW=0 |
|||
+FNTO=1 |
|||
+NFALW=8.0E+22 |
|||
+NFBLW=3.0E7 |
|||
+NFCLW=0 |
|||
+RGO=0 |
|||
+RINT=0 |
|||
+RVPOLY=0 |
|||
+RSHG=0 |
|||
+DLSIL=0 |
|||
+RBULKO=0 |
|||
+RWELLO=0 |
|||
+RJUNDO=0 |
|||
+RJUNSO=0 |
|||
+SWJUNEXP=0 |
|||
+TRJ=27.0 |
|||
+IMAX=1.0E3 |
|||
+VJUNREF=2.5 |
|||
+FJUNQ=0.03 |
|||
+CJORBOT=1.0E-3 |
|||
+CJORSTI=1.0E-9 |
|||
+CJORGAT=0.5E-9 |
|||
+VBIRBOT=0.75 |
|||
+VBIRSTI=1.0 |
|||
+VBIRGAT=0.75 |
|||
+PBOT=0.35 |
|||
+PSTI=0.35 |
|||
+PGAT=0.6 |
|||
+PHIGBOT=1.16 |
|||
+PHIGSTI=1.16 |
|||
+PHIGGAT=1.16 |
|||
+IDSATRBOT=5.0E-9 |
|||
+IDSATRSTI=1.0E-18 |
|||
+IDSATRGAT=1.0E-18 |
|||
+CSRHBOT=5.0E2 |
|||
+CSRHSTI=0 |
|||
+CSRHGAT=1.0E3 |
|||
+XJUNSTI=1.0E-8 |
|||
+XJUNGAT=1.0E-9 |
|||
+CTATBOT=5.0E2 |
|||
+CTATSTI=0 |
|||
+CTATGAT=1.0E3 |
|||
+MEFFTATBOT=0.25 |
|||
+MEFFTATSTI=0.25 |
|||
+MEFFTATGAT=0.25 |
|||
+CBBTBOT=1.0E-12 |
|||
+CBBTSTI=1.0E-18 |
|||
+CBBTGAT=1.0E-18 |
|||
+FBBTRBOT=1.0E9 |
|||
+FBBTRSTI=1.0E9 |
|||
+FBBTRGAT=1.0E9 |
|||
+STFBBTBOT=-1.0E-3 |
|||
+STFBBTSTI=-1.0E-3 |
|||
+STFBBTGAT=-1.0E-2 |
|||
+VBRBOT=10.0 |
|||
+VBRSTI=10.0 |
|||
+VBRGAT=10.0 |
|||
+PBRBOT=3 |
|||
+PBRSTI=4 |
|||
+PBRGAT=3 |
|||
+VJUNREFD=2.5 |
|||
+FJUNQD=0.03 |
|||
+CJORBOTD=1.0E-3 |
|||
+CJORSTID=1.0E-9 |
|||
+CJORGATD=1.0E-9 |
|||
+VBIRBOTD=1.0 |
|||
+VBIRSTID=1.0 |
|||
+VBIRGATD=1.0 |
|||
+PBOTD=0.5 |
|||
+PSTID=0.5 |
|||
+PGATD=0.5 |
|||
+PHIGBOTD=1.16 |
|||
+PHIGSTID=1.16 |
|||
+PHIGGATD=1.16 |
|||
+IDSATRBOTD=1.0E-12 |
|||
+IDSATRSTID=1.0E-18 |
|||
+IDSATRGATD=1.0E-18 |
|||
+CSRHBOTD=1.0E+2 |
|||
+CSRHSTID=1.0E-4 |
|||
+CSRHGATD=1.0E-4 |
|||
+XJUNSTID=1.0E-7 |
|||
+XJUNGATD=1.0E-7 |
|||
+CTATBOTD=1.0E+2 |
|||
+CTATSTID=1.0E-4 |
|||
+CTATGATD=1.0E-4 |
|||
+MEFFTATBOTD=0.25 |
|||
+MEFFTATSTID=0.25 |
|||
+MEFFTATGATD=0.25 |
|||
+CBBTBOTD=1.0E-12 |
|||
+CBBTSTID=1.0E-18 |
|||
+CBBTGATD=1.0E-18 |
|||
+FBBTRBOTD=1.0E9 |
|||
+FBBTRSTID=1.0E9 |
|||
+FBBTRGATD=1.0E9 |
|||
+STFBBTBOTD=-1.0E-3 |
|||
+STFBBTSTID=-1.0E-3 |
|||
+STFBBTGATD=-1.0E-3 |
|||
+VBRBOTD=10.0 |
|||
+VBRSTID=10.0 |
|||
+VBRGATD=10.0 |
|||
+PBRBOTD=4 |
|||
+PBRSTID=4 |
|||
+PBRGATD=4 |
|||
* thermal parameters |
|||
*+RTHO=1.1E4 |
|||
*+RTHW1=990.5 |
|||
*+RTHW2=14.4 |
|||
*+RTHLW=15.0 |
|||
*+CTHO =1.0E-7 |
|||
*+CTHW1=1.0e-8 |
|||
*+CTHW2=1.5 |
|||
*+CTHLW=4.0 |
|||
*+STRTHO=1.3 |
|||
@ -0,0 +1,283 @@ |
|||
* psp_VA_and_CMC_ref_data 103.3.0 asym_pmos_t |
|||
* LEVEL=103.0 |
|||
* https://www.cea.fr/cea-tech/leti/pspsupport/Documents/Level%20103.3.3/psp_VA_and_CMC_ref_data.tar.gz |
|||
.model pch psp103va level=69 |
|||
+TYPE=-1 |
|||
+TR=27.0 |
|||
+DTA=0 |
|||
+SWGEO=1 |
|||
+QMC=1.0 |
|||
+LVARO=-10.0E-9 |
|||
+LVARL=0 |
|||
+LVARW=0 |
|||
+LAP=10.0E-9 |
|||
+WVARO=10.0E-9 |
|||
+WVARL=0 |
|||
+WVARW=0 |
|||
+WOT=0 |
|||
+DLQ=0 |
|||
+DWQ=0 |
|||
+VFBO=-1.1 |
|||
+VFBL=0 |
|||
+VFBW=0 |
|||
+VFBLW=0 |
|||
+STVFBO=5.0E-4 |
|||
+STVFBL=0 |
|||
+STVFBW=0 |
|||
+STVFBLW=0 |
|||
+TOXO=1.5E-9 |
|||
+EPSROXO=3.9 |
|||
+NSUBO=3.0E+23 |
|||
+NSUBW=0 |
|||
+WSEG=1.5E-10 |
|||
+NPCK=1.0E+24 |
|||
+NPCKW=0 |
|||
+WSEGP=0.9E-8 |
|||
+LPCK=5.5E-8 |
|||
+LPCKW=0 |
|||
+FOL1=2.0E-2 |
|||
+FOL2=5.0E-6 |
|||
+FACNEFFACO=0.8 |
|||
+FACNEFFACL=0 |
|||
+FACNEFFACW=0 |
|||
+FACNEFFACLW=0 |
|||
+GFACNUDO=0.1 |
|||
+GFACNUDL=0 |
|||
+GFACNUDLEXP=1 |
|||
+GFACNUDW=0 |
|||
+GFACNUDLW=0 |
|||
+VSBNUDO=0 |
|||
+DVSBNUDO=1 |
|||
+VNSUBO=0 |
|||
+NSLPO=0.05 |
|||
+DNSUBO=0 |
|||
+DPHIBO=0 |
|||
+DPHIBL=0 |
|||
+DPHIBLEXP=1.0 |
|||
+DPHIBW=0 |
|||
+DPHIBLW=0 |
|||
+DELVTACO=0 |
|||
+DELVTACL=0 |
|||
+DELVTACLEXP=1 |
|||
+DELVTACW=0 |
|||
+DELVTACLW=0 |
|||
+NPO=1.5E+26 |
|||
+NPL=10.0E-18 |
|||
+CTO=5.0E-15 |
|||
+CTL=4.0E-2 |
|||
+CTLEXP=0.6 |
|||
+CTW=0 |
|||
+CTLW=0 |
|||
+TOXOVO=1.5E-9 |
|||
+TOXOVDO=2.0E-9 |
|||
+LOV=10.0E-9 |
|||
+LOVD=0 |
|||
+NOVO=7.5E+25 |
|||
+NOVDO=5.0e+25 |
|||
+CFL=3.0E-4 |
|||
+CFLEXP=2.0 |
|||
+CFW=5.0E-3 |
|||
+CFBO=0.3 |
|||
+UO=3.5E-2 |
|||
+FBET1=-0.3 |
|||
+FBET1W=0.15 |
|||
+LP1=1.5E-7 |
|||
+LP1W=-2.5E-2 |
|||
+FBET2=50.0 |
|||
+LP2=8.5E-10 |
|||
+BETW1=5.0E-2 |
|||
+BETW2=-2.0E-2 |
|||
+WBET=5.0E-10 |
|||
+STBETO=1.75 |
|||
+STBETL=-2.0E-2 |
|||
+STBETW=-2.0E-3 |
|||
+STBETLW=-3.0E-3 |
|||
+MUEO=0.6 |
|||
+MUEW=-1.2E-2 |
|||
+STMUEO=0.5 |
|||
+THEMUO=2.75 |
|||
+STTHEMUO=-0.1 |
|||
+CSO=1.0E-2 |
|||
+CSL=0 |
|||
+CSLEXP=1 |
|||
+CSW=0 |
|||
+CSLW=0 |
|||
+STCSO=-5.0 |
|||
+XCORO=0.15 |
|||
+XCORL=2.0E-3 |
|||
+XCORW=-3.0E-2 |
|||
+XCORLW=-3.5E-3 |
|||
+STXCORO=1.25 |
|||
+FETAO=1 |
|||
+RSW1=50 |
|||
+RSW2=5.0E-2 |
|||
+STRSO=-2.0 |
|||
+RSBO=0 |
|||
+RSGO=0 |
|||
+THESATO=1.0E-6 |
|||
+THESATL=0.6 |
|||
+THESATLEXP=0.75 |
|||
+THESATW=-1.0E-2 |
|||
+THESATLW=0 |
|||
+STTHESATO=1.5 |
|||
+STTHESATL=-2.5E-2 |
|||
+STTHESATW=-2.0E-2 |
|||
+STTHESATLW=-5.0E-3 |
|||
+THESATBO=0.15 |
|||
+THESATGO=0.75 |
|||
+AXO=20 |
|||
+AXL=0.2 |
|||
+ALPL=7.0E-3 |
|||
+ALPLEXP=0.6 |
|||
+ALPW=5.0E-2 |
|||
+ALP1L1=2.5E-2 |
|||
+ALP1LEXP=0.4 |
|||
+ALP1L2=0.1 |
|||
+ALP1W=8.5E-3 |
|||
+ALP2L1=0.5 |
|||
+ALP2LEXP=0 |
|||
+ALP2L2=0.5 |
|||
+ALP2W=-0.2 |
|||
+VPO=0.25 |
|||
+A1O=1.0 |
|||
+A1L=0 |
|||
+A1W=0 |
|||
+A2O=10.0 |
|||
+STA2O=-0.5 |
|||
+A3O=1.0 |
|||
+A3L=0 |
|||
+A3W=0 |
|||
+A4O=0 |
|||
+A4L=0 |
|||
+A4W=0 |
|||
+GCOO=5.0 |
|||
+IGINVLW=50.0 |
|||
+IGOVW=10.0 |
|||
+IGOVDW=0 |
|||
+STIGO=1.5 |
|||
+GC2O=1.0 |
|||
+GC3O=-1.0 |
|||
+CHIBO=3.1 |
|||
+AGIDLW=50.0 |
|||
+AGIDLDW=0 |
|||
+BGIDLO=35.0 |
|||
+BGIDLDO=41 |
|||
+STBGIDLO=-5.0E-4 |
|||
+STBGIDLDO=0 |
|||
+CGIDLO=0.15 |
|||
+CGIDLDO=0 |
|||
+CGBOVL=0 |
|||
+CFRW=5.0E-17 |
|||
+CFRDW=0 |
|||
+FNTO=1 |
|||
+NFALW=8.0E+22 |
|||
+NFBLW=3.0E7 |
|||
+NFCLW=0 |
|||
+RGO=0 |
|||
+RINT=0 |
|||
+RVPOLY=0 |
|||
+RSHG=0 |
|||
+DLSIL=0 |
|||
+RBULKO=0 |
|||
+RWELLO=0 |
|||
+RJUNDO=0 |
|||
+RJUNSO=0 |
|||
+SWJUNEXP=0 |
|||
+TRJ=27.0 |
|||
+IMAX=1.0E3 |
|||
+VJUNREF=2.5 |
|||
+FJUNQ=0.03 |
|||
+CJORBOT=1.0E-3 |
|||
+CJORSTI=1.0E-9 |
|||
+CJORGAT=0.5E-9 |
|||
+VBIRBOT=0.75 |
|||
+VBIRSTI=1.0 |
|||
+VBIRGAT=0.75 |
|||
+PBOT=0.35 |
|||
+PSTI=0.35 |
|||
+PGAT=0.6 |
|||
+PHIGBOT=1.16 |
|||
+PHIGSTI=1.16 |
|||
+PHIGGAT=1.16 |
|||
+IDSATRBOT=5.0E-9 |
|||
+IDSATRSTI=1.0E-18 |
|||
+IDSATRGAT=1.0E-18 |
|||
+CSRHBOT=5.0E2 |
|||
+CSRHSTI=0 |
|||
+CSRHGAT=1.0E3 |
|||
+XJUNSTI=1.0E-8 |
|||
+XJUNGAT=1.0E-9 |
|||
+CTATBOT=5.0E2 |
|||
+CTATSTI=0 |
|||
+CTATGAT=1.0E3 |
|||
+MEFFTATBOT=0.25 |
|||
+MEFFTATSTI=0.25 |
|||
+MEFFTATGAT=0.25 |
|||
+CBBTBOT=1.0E-12 |
|||
+CBBTSTI=1.0E-18 |
|||
+CBBTGAT=1.0E-18 |
|||
+FBBTRBOT=1.0E9 |
|||
+FBBTRSTI=1.0E9 |
|||
+FBBTRGAT=1.0E9 |
|||
+STFBBTBOT=-1.0E-3 |
|||
+STFBBTSTI=-1.0E-3 |
|||
+STFBBTGAT=-1.0E-2 |
|||
+VBRBOT=10.0 |
|||
+VBRSTI=10.0 |
|||
+VBRGAT=10.0 |
|||
+PBRBOT=3 |
|||
+PBRSTI=4 |
|||
+PBRGAT=3 |
|||
+VJUNREFD=2.5 |
|||
+FJUNQD=0.03 |
|||
+CJORBOTD=1.0E-3 |
|||
+CJORSTID=1.0E-9 |
|||
+CJORGATD=1.0E-9 |
|||
+VBIRBOTD=1.0 |
|||
+VBIRSTID=1.0 |
|||
+VBIRGATD=1.0 |
|||
+PBOTD=0.5 |
|||
+PSTID=0.5 |
|||
+PGATD=0.5 |
|||
+PHIGBOTD=1.16 |
|||
+PHIGSTID=1.16 |
|||
+PHIGGATD=1.16 |
|||
+IDSATRBOTD=1.0E-12 |
|||
+IDSATRSTID=1.0E-18 |
|||
+IDSATRGATD=1.0E-18 |
|||
+CSRHBOTD=1.0E+2 |
|||
+CSRHSTID=1.0E-4 |
|||
+CSRHGATD=1.0E-4 |
|||
+XJUNSTID=1.0E-7 |
|||
+XJUNGATD=1.0E-7 |
|||
+CTATBOTD=1.0E+2 |
|||
+CTATSTID=1.0E-4 |
|||
+CTATGATD=1.0E-4 |
|||
+MEFFTATBOTD=0.25 |
|||
+MEFFTATSTID=0.25 |
|||
+MEFFTATGATD=0.25 |
|||
+CBBTBOTD=1.0E-12 |
|||
+CBBTSTID=1.0E-18 |
|||
+CBBTGATD=1.0E-18 |
|||
+FBBTRBOTD=1.0E9 |
|||
+FBBTRSTID=1.0E9 |
|||
+FBBTRGATD=1.0E9 |
|||
+STFBBTBOTD=-1.0E-3 |
|||
+STFBBTSTID=-1.0E-3 |
|||
+STFBBTGATD=-1.0E-3 |
|||
+VBRBOTD=10.0 |
|||
+VBRSTID=10.0 |
|||
+VBRGATD=10.0 |
|||
+PBRBOTD=4 |
|||
+PBRSTID=4 |
|||
+PBRGATD=4 |
|||
* thermal parameters |
|||
*+RTHO=1.1E4 |
|||
*+RTHW1=990.5 |
|||
*+RTHW2=14.4 |
|||
*+RTHLW=15.0 |
|||
*+CTHO =1.0E-7 |
|||
*+CTHW1=1.0e-8 |
|||
*+CTHW2=1.5 |
|||
*+CTHLW=4.0 |
|||
*+STRTHO=1.3 |
|||
@ -0,0 +1,80 @@ |
|||
* Mix up two models |
|||
* BSIMBULK model vers. 107 |
|||
* PSP model vers. 103 |
|||
* simple 5-stage ring oscillator |
|||
|
|||
* Power supply |
|||
.param Vcc = 1.2 |
|||
|
|||
* Path to the models |
|||
.include Modelcards/model.l |
|||
.include Modelcards/psp103_nmos-2.mod |
|||
.include Modelcards/psp103_pmos-2.mod |
|||
|
|||
* The voltage sources: |
|||
Vdd vdd gnd DC 'Vcc' |
|||
V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) |
|||
Vmeas vss 0 0 |
|||
|
|||
* The circuit: five stages |
|||
Xnot1 in vdd vss in2 notbb |
|||
Xnot2 in2 vdd vss in3 notpsp |
|||
Xnot3 in3 vdd vss in4 notbb |
|||
Xnot4 in4 vdd vss in5 notpsp |
|||
Xnot5 in5 vdd vss in notbb |
|||
|
|||
* Inverter BSIMBULK |
|||
.subckt notbb a vdd vss z |
|||
Np1 z a vdd vdd BSIMBULK_osdi_P l=0.1u w=1u as=0.26235p ad=0.26235p ps=2.51u pd=2.51u |
|||
Nn1 z a vss vss BSIMBULK_osdi_N l=0.1u w=0.5u as=0.131175p ad=0.131175p ps=1.52u pd=1.52u |
|||
c3 a vss 0.384f |
|||
c2 z vss 0.576f |
|||
.ends |
|||
|
|||
* Inverter PSP |
|||
.subckt notpsp a vdd vss z |
|||
nmp1 z a vdd vdd pch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
|
|||
nmn1 z a vss vss nch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
c3 a vss 0.384f |
|||
c2 z vss 0.576f |
|||
.ends |
|||
|
|||
* Simulation command: |
|||
.tran 10p 10n uic |
|||
|
|||
.control |
|||
* Load the models dynamically |
|||
pre_osdi test_osdi_win/bsimbulk107.osdi test_osdi_win/psp103.osdi |
|||
* Run the simulation |
|||
run |
|||
* Plotting |
|||
set xbrushwidth=3 |
|||
plot in |
|||
* Resource usage |
|||
rusage |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,40 @@ |
|||
* BSIMBULK model vers. 107 |
|||
* simple inverter |
|||
|
|||
.param Vcc = 1.2 |
|||
.csparam vcc='Vcc' |
|||
|
|||
* Path to the models |
|||
.include Modelcards/model.l |
|||
|
|||
* the voltage sources: |
|||
Vdd vdd gnd DC 'Vcc' |
|||
V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) |
|||
Vmeas vss 0 0 |
|||
|
|||
Xnot1 in vdd vss out not1 |
|||
*Rout out 0 1k |
|||
|
|||
.subckt not1 a vdd vss z |
|||
Np1 z a vdd vdd BSIMBULK_osdi_P l=0.1u w=1u as=0.26235p ad=0.26235p ps=2.51u pd=2.51u |
|||
Nn1 z a vss vss BSIMBULK_osdi_N l=0.1u w=0.5u as=0.131175p ad=0.131175p ps=1.52u pd=1.52u |
|||
c3 a vss 0.384f |
|||
c2 z vss 0.576f |
|||
.ends |
|||
|
|||
* simulation command: |
|||
.tran 10ps 10ns |
|||
.dc V1 0 'vcc' 'vcc/100' |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/bsimbulk107.osdi |
|||
run |
|||
*set nolegend |
|||
set xbrushwidth=3 |
|||
plot in out |
|||
plot dc1.out |
|||
plot dc1.i(Vmeas) |
|||
rusage |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,66 @@ |
|||
* PSP models |
|||
* simple inverter |
|||
|
|||
.param Vcc = 1.2 |
|||
.csparam vcc='Vcc' |
|||
|
|||
* Path to the models |
|||
.include Modelcards/psp103_nmos-2.mod |
|||
.include Modelcards/psp103_pmos-2.mod |
|||
|
|||
* the voltage sources: |
|||
Vdd vdd gnd DC 'Vcc' |
|||
V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) |
|||
Vmeas vss 0 0 |
|||
|
|||
Xnot1 in vdd vss out not1 |
|||
*Rout out 0 1k |
|||
|
|||
.subckt not1 a vdd vss z |
|||
*m01 z a vdd vdd pch l=0.1u w=1u as=0.26235 ad=0.26235 ps=2.51 pd=2.51 |
|||
nmp1 z a vdd vdd pch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
|
|||
*m02 z a vss vss nch l=0.1u w=0.5u as=0.131175 ad=0.131175 ps=1.52 pd=1.52 |
|||
nmn1 z a vss vss nch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
c3 a vss 0.384f |
|||
c2 z vss 0.576f |
|||
.ends |
|||
|
|||
* simulation command: |
|||
.tran 10ps 10ns |
|||
.dc V1 0 'vcc' 'vcc/100' |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/psp103.osdi |
|||
run |
|||
*set nolegend |
|||
set xbrushwidth=2 |
|||
plot in out |
|||
plot dc1.out |
|||
plot dc1.i(Vmeas) |
|||
rusage |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1 @@ |
|||
Place bsimbulk107.osdi and psp103.osdi here. |
|||
@ -0,0 +1,283 @@ |
|||
* psp_VA_and_CMC_ref_data 103.3.0 asym_nmos_t |
|||
* LEVEL=103.0 |
|||
* https://www.cea.fr/cea-tech/leti/pspsupport/Documents/Level%20103.3.3/psp_VA_and_CMC_ref_data.tar.gz |
|||
.model nch psp103va level=69 |
|||
+type=1 |
|||
+TR=27.0 |
|||
+DTA=0 |
|||
+SWGEO=1 |
|||
+QMC=1.0 |
|||
+LVARO=-10.0E-9 |
|||
+LVARL=0 |
|||
+LVARW=0 |
|||
+LAP=10.0E-9 |
|||
+WVARO=10.0E-9 |
|||
+WVARL=0 |
|||
+WVARW=0 |
|||
+WOT=0 |
|||
+DLQ=0 |
|||
+DWQ=0 |
|||
+VFBO=-1.1 |
|||
+VFBL=0 |
|||
+VFBW=0 |
|||
+VFBLW=0 |
|||
+STVFBO=5.0E-4 |
|||
+STVFBL=0 |
|||
+STVFBW=0 |
|||
+STVFBLW=0 |
|||
+TOXO=1.5E-9 |
|||
+EPSROXO=3.9 |
|||
+NSUBO=3.0E+23 |
|||
+NSUBW=0 |
|||
+WSEG=1.5E-10 |
|||
+NPCK=1.0E+24 |
|||
+NPCKW=0 |
|||
+WSEGP=0.9E-8 |
|||
+LPCK=5.5E-8 |
|||
+LPCKW=0 |
|||
+FOL1=2.0E-2 |
|||
+FOL2=5.0E-6 |
|||
+FACNEFFACO=0.8 |
|||
+FACNEFFACL=0 |
|||
+FACNEFFACW=0 |
|||
+FACNEFFACLW=0 |
|||
+GFACNUDO=0.1 |
|||
+GFACNUDL=0 |
|||
+GFACNUDLEXP=1 |
|||
+GFACNUDW=0 |
|||
+GFACNUDLW=0 |
|||
+VSBNUDO=0 |
|||
+DVSBNUDO=1 |
|||
+VNSUBO=0 |
|||
+NSLPO=0.05 |
|||
+DNSUBO=0 |
|||
+DPHIBO=0 |
|||
+DPHIBL=0 |
|||
+DPHIBLEXP=1.0 |
|||
+DPHIBW=0 |
|||
+DPHIBLW=0 |
|||
+DELVTACO=0 |
|||
+DELVTACL=0 |
|||
+DELVTACLEXP=1 |
|||
+DELVTACW=0 |
|||
+DELVTACLW=0 |
|||
+NPO=1.5E+26 |
|||
+NPL=10.0E-18 |
|||
+CTO=5.0E-15 |
|||
+CTL=4.0E-2 |
|||
+CTLEXP=0.6 |
|||
+CTW=0 |
|||
+CTLW=0 |
|||
+TOXOVO=1.5E-9 |
|||
+TOXOVDO=2.0E-9 |
|||
+LOV=10.0E-9 |
|||
+LOVD=0 |
|||
+NOVO=7.5E+25 |
|||
+NOVDO=5.0e+25 |
|||
+CFL=3.0E-4 |
|||
+CFLEXP=2.0 |
|||
+CFW=5.0E-3 |
|||
+CFBO=0.3 |
|||
+UO=3.5E-2 |
|||
+FBET1=-0.3 |
|||
+FBET1W=0.15 |
|||
+LP1=1.5E-7 |
|||
+LP1W=-2.5E-2 |
|||
+FBET2=50.0 |
|||
+LP2=8.5E-10 |
|||
+BETW1=5.0E-2 |
|||
+BETW2=-2.0E-2 |
|||
+WBET=5.0E-10 |
|||
+STBETO=1.75 |
|||
+STBETL=-2.0E-2 |
|||
+STBETW=-2.0E-3 |
|||
+STBETLW=-3.0E-3 |
|||
+MUEO=0.6 |
|||
+MUEW=-1.2E-2 |
|||
+STMUEO=0.5 |
|||
+THEMUO=2.75 |
|||
+STTHEMUO=-0.1 |
|||
+CSO=1.0E-2 |
|||
+CSL=0 |
|||
+CSLEXP=1 |
|||
+CSW=0 |
|||
+CSLW=0 |
|||
+STCSO=-5.0 |
|||
+XCORO=0.15 |
|||
+XCORL=2.0E-3 |
|||
+XCORW=-3.0E-2 |
|||
+XCORLW=-3.5E-3 |
|||
+STXCORO=1.25 |
|||
+FETAO=1 |
|||
+RSW1=50 |
|||
+RSW2=5.0E-2 |
|||
+STRSO=-2.0 |
|||
+RSBO=0 |
|||
+RSGO=0 |
|||
+THESATO=1.0E-6 |
|||
+THESATL=0.6 |
|||
+THESATLEXP=0.75 |
|||
+THESATW=-1.0E-2 |
|||
+THESATLW=0 |
|||
+STTHESATO=1.5 |
|||
+STTHESATL=-2.5E-2 |
|||
+STTHESATW=-2.0E-2 |
|||
+STTHESATLW=-5.0E-3 |
|||
+THESATBO=0.15 |
|||
+THESATGO=0.75 |
|||
+AXO=20 |
|||
+AXL=0.2 |
|||
+ALPL=7.0E-3 |
|||
+ALPLEXP=0.6 |
|||
+ALPW=5.0E-2 |
|||
+ALP1L1=2.5E-2 |
|||
+ALP1LEXP=0.4 |
|||
+ALP1L2=0.1 |
|||
+ALP1W=8.5E-3 |
|||
+ALP2L1=0.5 |
|||
+ALP2LEXP=0 |
|||
+ALP2L2=0.5 |
|||
+ALP2W=-0.2 |
|||
+VPO=0.25 |
|||
+A1O=1.0 |
|||
+A1L=0 |
|||
+A1W=0 |
|||
+A2O=10.0 |
|||
+STA2O=-0.5 |
|||
+A3O=1.0 |
|||
+A3L=0 |
|||
+A3W=0 |
|||
+A4O=0 |
|||
+A4L=0 |
|||
+A4W=0 |
|||
+GCOO=5.0 |
|||
+IGINVLW=50.0 |
|||
+IGOVW=10.0 |
|||
+IGOVDW=0 |
|||
+STIGO=1.5 |
|||
+GC2O=1.0 |
|||
+GC3O=-1.0 |
|||
+CHIBO=3.1 |
|||
+AGIDLW=50.0 |
|||
+AGIDLDW=0 |
|||
+BGIDLO=35.0 |
|||
+BGIDLDO=41 |
|||
+STBGIDLO=-5.0E-4 |
|||
+STBGIDLDO=0 |
|||
+CGIDLO=0.15 |
|||
+CGIDLDO=0 |
|||
+CGBOVL=0 |
|||
+CFRW=5.0E-17 |
|||
+CFRDW=0 |
|||
+FNTO=1 |
|||
+NFALW=8.0E+22 |
|||
+NFBLW=3.0E7 |
|||
+NFCLW=0 |
|||
+RGO=0 |
|||
+RINT=0 |
|||
+RVPOLY=0 |
|||
+RSHG=0 |
|||
+DLSIL=0 |
|||
+RBULKO=0 |
|||
+RWELLO=0 |
|||
+RJUNDO=0 |
|||
+RJUNSO=0 |
|||
+SWJUNEXP=0 |
|||
+TRJ=27.0 |
|||
+IMAX=1.0E3 |
|||
+VJUNREF=2.5 |
|||
+FJUNQ=0.03 |
|||
+CJORBOT=1.0E-3 |
|||
+CJORSTI=1.0E-9 |
|||
+CJORGAT=0.5E-9 |
|||
+VBIRBOT=0.75 |
|||
+VBIRSTI=1.0 |
|||
+VBIRGAT=0.75 |
|||
+PBOT=0.35 |
|||
+PSTI=0.35 |
|||
+PGAT=0.6 |
|||
+PHIGBOT=1.16 |
|||
+PHIGSTI=1.16 |
|||
+PHIGGAT=1.16 |
|||
+IDSATRBOT=5.0E-9 |
|||
+IDSATRSTI=1.0E-18 |
|||
+IDSATRGAT=1.0E-18 |
|||
+CSRHBOT=5.0E2 |
|||
+CSRHSTI=0 |
|||
+CSRHGAT=1.0E3 |
|||
+XJUNSTI=1.0E-8 |
|||
+XJUNGAT=1.0E-9 |
|||
+CTATBOT=5.0E2 |
|||
+CTATSTI=0 |
|||
+CTATGAT=1.0E3 |
|||
+MEFFTATBOT=0.25 |
|||
+MEFFTATSTI=0.25 |
|||
+MEFFTATGAT=0.25 |
|||
+CBBTBOT=1.0E-12 |
|||
+CBBTSTI=1.0E-18 |
|||
+CBBTGAT=1.0E-18 |
|||
+FBBTRBOT=1.0E9 |
|||
+FBBTRSTI=1.0E9 |
|||
+FBBTRGAT=1.0E9 |
|||
+STFBBTBOT=-1.0E-3 |
|||
+STFBBTSTI=-1.0E-3 |
|||
+STFBBTGAT=-1.0E-2 |
|||
+VBRBOT=10.0 |
|||
+VBRSTI=10.0 |
|||
+VBRGAT=10.0 |
|||
+PBRBOT=3 |
|||
+PBRSTI=4 |
|||
+PBRGAT=3 |
|||
+VJUNREFD=2.5 |
|||
+FJUNQD=0.03 |
|||
+CJORBOTD=1.0E-3 |
|||
+CJORSTID=1.0E-9 |
|||
+CJORGATD=1.0E-9 |
|||
+VBIRBOTD=1.0 |
|||
+VBIRSTID=1.0 |
|||
+VBIRGATD=1.0 |
|||
+PBOTD=0.5 |
|||
+PSTID=0.5 |
|||
+PGATD=0.5 |
|||
+PHIGBOTD=1.16 |
|||
+PHIGSTID=1.16 |
|||
+PHIGGATD=1.16 |
|||
+IDSATRBOTD=1.0E-12 |
|||
+IDSATRSTID=1.0E-18 |
|||
+IDSATRGATD=1.0E-18 |
|||
+CSRHBOTD=1.0E+2 |
|||
+CSRHSTID=1.0E-4 |
|||
+CSRHGATD=1.0E-4 |
|||
+XJUNSTID=1.0E-7 |
|||
+XJUNGATD=1.0E-7 |
|||
+CTATBOTD=1.0E+2 |
|||
+CTATSTID=1.0E-4 |
|||
+CTATGATD=1.0E-4 |
|||
+MEFFTATBOTD=0.25 |
|||
+MEFFTATSTID=0.25 |
|||
+MEFFTATGATD=0.25 |
|||
+CBBTBOTD=1.0E-12 |
|||
+CBBTSTID=1.0E-18 |
|||
+CBBTGATD=1.0E-18 |
|||
+FBBTRBOTD=1.0E9 |
|||
+FBBTRSTID=1.0E9 |
|||
+FBBTRGATD=1.0E9 |
|||
+STFBBTBOTD=-1.0E-3 |
|||
+STFBBTSTID=-1.0E-3 |
|||
+STFBBTGATD=-1.0E-3 |
|||
+VBRBOTD=10.0 |
|||
+VBRSTID=10.0 |
|||
+VBRGATD=10.0 |
|||
+PBRBOTD=4 |
|||
+PBRSTID=4 |
|||
+PBRGATD=4 |
|||
* thermal parameters |
|||
*+RTHO=1.1E4 |
|||
*+RTHW1=990.5 |
|||
*+RTHW2=14.4 |
|||
*+RTHLW=15.0 |
|||
*+CTHO =1.0E-7 |
|||
*+CTHW1=1.0e-8 |
|||
*+CTHW2=1.5 |
|||
*+CTHLW=4.0 |
|||
*+STRTHO=1.3 |
|||
@ -0,0 +1,283 @@ |
|||
* psp_VA_and_CMC_ref_data 103.3.0 asym_pmos_t |
|||
* LEVEL=103.0 |
|||
* https://www.cea.fr/cea-tech/leti/pspsupport/Documents/Level%20103.3.3/psp_VA_and_CMC_ref_data.tar.gz |
|||
.model pch psp103va level=69 |
|||
+TYPE=-1 |
|||
+TR=27.0 |
|||
+DTA=0 |
|||
+SWGEO=1 |
|||
+QMC=1.0 |
|||
+LVARO=-10.0E-9 |
|||
+LVARL=0 |
|||
+LVARW=0 |
|||
+LAP=10.0E-9 |
|||
+WVARO=10.0E-9 |
|||
+WVARL=0 |
|||
+WVARW=0 |
|||
+WOT=0 |
|||
+DLQ=0 |
|||
+DWQ=0 |
|||
+VFBO=-1.1 |
|||
+VFBL=0 |
|||
+VFBW=0 |
|||
+VFBLW=0 |
|||
+STVFBO=5.0E-4 |
|||
+STVFBL=0 |
|||
+STVFBW=0 |
|||
+STVFBLW=0 |
|||
+TOXO=1.5E-9 |
|||
+EPSROXO=3.9 |
|||
+NSUBO=3.0E+23 |
|||
+NSUBW=0 |
|||
+WSEG=1.5E-10 |
|||
+NPCK=1.0E+24 |
|||
+NPCKW=0 |
|||
+WSEGP=0.9E-8 |
|||
+LPCK=5.5E-8 |
|||
+LPCKW=0 |
|||
+FOL1=2.0E-2 |
|||
+FOL2=5.0E-6 |
|||
+FACNEFFACO=0.8 |
|||
+FACNEFFACL=0 |
|||
+FACNEFFACW=0 |
|||
+FACNEFFACLW=0 |
|||
+GFACNUDO=0.1 |
|||
+GFACNUDL=0 |
|||
+GFACNUDLEXP=1 |
|||
+GFACNUDW=0 |
|||
+GFACNUDLW=0 |
|||
+VSBNUDO=0 |
|||
+DVSBNUDO=1 |
|||
+VNSUBO=0 |
|||
+NSLPO=0.05 |
|||
+DNSUBO=0 |
|||
+DPHIBO=0 |
|||
+DPHIBL=0 |
|||
+DPHIBLEXP=1.0 |
|||
+DPHIBW=0 |
|||
+DPHIBLW=0 |
|||
+DELVTACO=0 |
|||
+DELVTACL=0 |
|||
+DELVTACLEXP=1 |
|||
+DELVTACW=0 |
|||
+DELVTACLW=0 |
|||
+NPO=1.5E+26 |
|||
+NPL=10.0E-18 |
|||
+CTO=5.0E-15 |
|||
+CTL=4.0E-2 |
|||
+CTLEXP=0.6 |
|||
+CTW=0 |
|||
+CTLW=0 |
|||
+TOXOVO=1.5E-9 |
|||
+TOXOVDO=2.0E-9 |
|||
+LOV=10.0E-9 |
|||
+LOVD=0 |
|||
+NOVO=7.5E+25 |
|||
+NOVDO=5.0e+25 |
|||
+CFL=3.0E-4 |
|||
+CFLEXP=2.0 |
|||
+CFW=5.0E-3 |
|||
+CFBO=0.3 |
|||
+UO=3.5E-2 |
|||
+FBET1=-0.3 |
|||
+FBET1W=0.15 |
|||
+LP1=1.5E-7 |
|||
+LP1W=-2.5E-2 |
|||
+FBET2=50.0 |
|||
+LP2=8.5E-10 |
|||
+BETW1=5.0E-2 |
|||
+BETW2=-2.0E-2 |
|||
+WBET=5.0E-10 |
|||
+STBETO=1.75 |
|||
+STBETL=-2.0E-2 |
|||
+STBETW=-2.0E-3 |
|||
+STBETLW=-3.0E-3 |
|||
+MUEO=0.6 |
|||
+MUEW=-1.2E-2 |
|||
+STMUEO=0.5 |
|||
+THEMUO=2.75 |
|||
+STTHEMUO=-0.1 |
|||
+CSO=1.0E-2 |
|||
+CSL=0 |
|||
+CSLEXP=1 |
|||
+CSW=0 |
|||
+CSLW=0 |
|||
+STCSO=-5.0 |
|||
+XCORO=0.15 |
|||
+XCORL=2.0E-3 |
|||
+XCORW=-3.0E-2 |
|||
+XCORLW=-3.5E-3 |
|||
+STXCORO=1.25 |
|||
+FETAO=1 |
|||
+RSW1=50 |
|||
+RSW2=5.0E-2 |
|||
+STRSO=-2.0 |
|||
+RSBO=0 |
|||
+RSGO=0 |
|||
+THESATO=1.0E-6 |
|||
+THESATL=0.6 |
|||
+THESATLEXP=0.75 |
|||
+THESATW=-1.0E-2 |
|||
+THESATLW=0 |
|||
+STTHESATO=1.5 |
|||
+STTHESATL=-2.5E-2 |
|||
+STTHESATW=-2.0E-2 |
|||
+STTHESATLW=-5.0E-3 |
|||
+THESATBO=0.15 |
|||
+THESATGO=0.75 |
|||
+AXO=20 |
|||
+AXL=0.2 |
|||
+ALPL=7.0E-3 |
|||
+ALPLEXP=0.6 |
|||
+ALPW=5.0E-2 |
|||
+ALP1L1=2.5E-2 |
|||
+ALP1LEXP=0.4 |
|||
+ALP1L2=0.1 |
|||
+ALP1W=8.5E-3 |
|||
+ALP2L1=0.5 |
|||
+ALP2LEXP=0 |
|||
+ALP2L2=0.5 |
|||
+ALP2W=-0.2 |
|||
+VPO=0.25 |
|||
+A1O=1.0 |
|||
+A1L=0 |
|||
+A1W=0 |
|||
+A2O=10.0 |
|||
+STA2O=-0.5 |
|||
+A3O=1.0 |
|||
+A3L=0 |
|||
+A3W=0 |
|||
+A4O=0 |
|||
+A4L=0 |
|||
+A4W=0 |
|||
+GCOO=5.0 |
|||
+IGINVLW=50.0 |
|||
+IGOVW=10.0 |
|||
+IGOVDW=0 |
|||
+STIGO=1.5 |
|||
+GC2O=1.0 |
|||
+GC3O=-1.0 |
|||
+CHIBO=3.1 |
|||
+AGIDLW=50.0 |
|||
+AGIDLDW=0 |
|||
+BGIDLO=35.0 |
|||
+BGIDLDO=41 |
|||
+STBGIDLO=-5.0E-4 |
|||
+STBGIDLDO=0 |
|||
+CGIDLO=0.15 |
|||
+CGIDLDO=0 |
|||
+CGBOVL=0 |
|||
+CFRW=5.0E-17 |
|||
+CFRDW=0 |
|||
+FNTO=1 |
|||
+NFALW=8.0E+22 |
|||
+NFBLW=3.0E7 |
|||
+NFCLW=0 |
|||
+RGO=0 |
|||
+RINT=0 |
|||
+RVPOLY=0 |
|||
+RSHG=0 |
|||
+DLSIL=0 |
|||
+RBULKO=0 |
|||
+RWELLO=0 |
|||
+RJUNDO=0 |
|||
+RJUNSO=0 |
|||
+SWJUNEXP=0 |
|||
+TRJ=27.0 |
|||
+IMAX=1.0E3 |
|||
+VJUNREF=2.5 |
|||
+FJUNQ=0.03 |
|||
+CJORBOT=1.0E-3 |
|||
+CJORSTI=1.0E-9 |
|||
+CJORGAT=0.5E-9 |
|||
+VBIRBOT=0.75 |
|||
+VBIRSTI=1.0 |
|||
+VBIRGAT=0.75 |
|||
+PBOT=0.35 |
|||
+PSTI=0.35 |
|||
+PGAT=0.6 |
|||
+PHIGBOT=1.16 |
|||
+PHIGSTI=1.16 |
|||
+PHIGGAT=1.16 |
|||
+IDSATRBOT=5.0E-9 |
|||
+IDSATRSTI=1.0E-18 |
|||
+IDSATRGAT=1.0E-18 |
|||
+CSRHBOT=5.0E2 |
|||
+CSRHSTI=0 |
|||
+CSRHGAT=1.0E3 |
|||
+XJUNSTI=1.0E-8 |
|||
+XJUNGAT=1.0E-9 |
|||
+CTATBOT=5.0E2 |
|||
+CTATSTI=0 |
|||
+CTATGAT=1.0E3 |
|||
+MEFFTATBOT=0.25 |
|||
+MEFFTATSTI=0.25 |
|||
+MEFFTATGAT=0.25 |
|||
+CBBTBOT=1.0E-12 |
|||
+CBBTSTI=1.0E-18 |
|||
+CBBTGAT=1.0E-18 |
|||
+FBBTRBOT=1.0E9 |
|||
+FBBTRSTI=1.0E9 |
|||
+FBBTRGAT=1.0E9 |
|||
+STFBBTBOT=-1.0E-3 |
|||
+STFBBTSTI=-1.0E-3 |
|||
+STFBBTGAT=-1.0E-2 |
|||
+VBRBOT=10.0 |
|||
+VBRSTI=10.0 |
|||
+VBRGAT=10.0 |
|||
+PBRBOT=3 |
|||
+PBRSTI=4 |
|||
+PBRGAT=3 |
|||
+VJUNREFD=2.5 |
|||
+FJUNQD=0.03 |
|||
+CJORBOTD=1.0E-3 |
|||
+CJORSTID=1.0E-9 |
|||
+CJORGATD=1.0E-9 |
|||
+VBIRBOTD=1.0 |
|||
+VBIRSTID=1.0 |
|||
+VBIRGATD=1.0 |
|||
+PBOTD=0.5 |
|||
+PSTID=0.5 |
|||
+PGATD=0.5 |
|||
+PHIGBOTD=1.16 |
|||
+PHIGSTID=1.16 |
|||
+PHIGGATD=1.16 |
|||
+IDSATRBOTD=1.0E-12 |
|||
+IDSATRSTID=1.0E-18 |
|||
+IDSATRGATD=1.0E-18 |
|||
+CSRHBOTD=1.0E+2 |
|||
+CSRHSTID=1.0E-4 |
|||
+CSRHGATD=1.0E-4 |
|||
+XJUNSTID=1.0E-7 |
|||
+XJUNGATD=1.0E-7 |
|||
+CTATBOTD=1.0E+2 |
|||
+CTATSTID=1.0E-4 |
|||
+CTATGATD=1.0E-4 |
|||
+MEFFTATBOTD=0.25 |
|||
+MEFFTATSTID=0.25 |
|||
+MEFFTATGATD=0.25 |
|||
+CBBTBOTD=1.0E-12 |
|||
+CBBTSTID=1.0E-18 |
|||
+CBBTGATD=1.0E-18 |
|||
+FBBTRBOTD=1.0E9 |
|||
+FBBTRSTID=1.0E9 |
|||
+FBBTRGATD=1.0E9 |
|||
+STFBBTBOTD=-1.0E-3 |
|||
+STFBBTSTID=-1.0E-3 |
|||
+STFBBTGATD=-1.0E-3 |
|||
+VBRBOTD=10.0 |
|||
+VBRSTID=10.0 |
|||
+VBRGATD=10.0 |
|||
+PBRBOTD=4 |
|||
+PBRSTID=4 |
|||
+PBRGATD=4 |
|||
* thermal parameters |
|||
*+RTHO=1.1E4 |
|||
*+RTHW1=990.5 |
|||
*+RTHW2=14.4 |
|||
*+RTHLW=15.0 |
|||
*+CTHO =1.0E-7 |
|||
*+CTHW1=1.0e-8 |
|||
*+CTHW2=1.5 |
|||
*+CTHLW=4.0 |
|||
*+STRTHO=1.3 |
|||
89240
examples/osdi/psp103/c7552_ann_psp.net
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,70 @@ |
|||
*** NMOS and PMOS transistors PSP 103.8 (Id-Vgs, Vbs) (Id-Vds, Vgs) (Id-Vgs, T) *** |
|||
|
|||
nmn1 2 1 3 4 nch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
|
|||
vgsn 1 0 3.5 |
|||
vdsn 2 0 0.1 |
|||
vssn 3 0 0 |
|||
vbsn 4 0 0 |
|||
|
|||
nmp1 22 11 33 44 pch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
|
|||
vgsp 11 0 -3.5 |
|||
vdsp 22 0 -0.1 |
|||
vssp 33 0 0 |
|||
vbsp 44 0 0 |
|||
|
|||
* PSP modelparameters for PSP 103.3 |
|||
.include Modelcards/psp103_nmos-2.mod |
|||
.include Modelcards/psp103_pmos-2.mod |
|||
|
|||
.control |
|||
* Load the models dynamically |
|||
pre_osdi test_osdi_win/psp103.osdi |
|||
set xgridwidth=2 |
|||
set xbrushwidth=3 |
|||
|
|||
* NMOS |
|||
dc vgsn 0 1.5 0.05 vbsn 0 -1.5 -0.3 |
|||
plot vssn#branch ylabel 'Id vs. Vgs, Vbs 0 ... -1.5' |
|||
plot abs(vssn#branch) ylog ylabel 'Id vs. Vgs, Vbs 0 ... -1.5' |
|||
dc vdsn 0 1.6 0.01 vgsn 0 1.6 0.2 |
|||
plot vssn#branch ylabel 'Id vs. Vds, Vgs 0 ... 1.6' |
|||
dc vgsn 0 1.5 0.05 temp -40 160 40 |
|||
plot vssn#branch ylabel 'Id vs. Vds, Temp. -40 ... 160' |
|||
plot abs(vssn#branch) ylog ylabel 'Id vs. Vds, Temp. -40 ... 160' |
|||
|
|||
* PMOS |
|||
dc vgsp 0 -1.5 -0.05 vbsp 0 1.5 0.3 |
|||
plot vssp#branch ylabel 'Id vs. Vgs, Vbs 0 ... 1.5' |
|||
plot abs(vssp#branch) ylog ylabel 'Id vs. Vgs, Vbs 0 ... 1.5' |
|||
dc vdsp 0 -1.6 -0.01 vgsp 0 -1.6 -0.2 |
|||
plot vssp#branch ylabel 'Id vs. Vds, Vgs 0 ... -1.6' |
|||
dc vgsp 0 -1.5 -0.05 temp -40 160 40 |
|||
plot vssp#branch ylabel 'Id vs. Vds, Temp. -40 ... 160' |
|||
plot abs(vssp#branch) ylog ylabel 'Id vs. Vds, Temp. -40 ... 160' |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,66 @@ |
|||
* PSP models |
|||
* simple inverter |
|||
|
|||
.param Vcc = 1.2 |
|||
.csparam vcc='Vcc' |
|||
|
|||
* Path to the models |
|||
.include Modelcards/psp103_nmos-2.mod |
|||
.include Modelcards/psp103_pmos-2.mod |
|||
|
|||
* the voltage sources: |
|||
Vdd vdd gnd DC 'Vcc' |
|||
V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) |
|||
Vmeas vss 0 0 |
|||
|
|||
Xnot1 in vdd vss out not1 |
|||
*Rout out 0 1k |
|||
|
|||
.subckt not1 a vdd vss z |
|||
*m01 z a vdd vdd pch l=0.1u w=1u as=0.26235 ad=0.26235 ps=2.51 pd=2.51 |
|||
nmp1 z a vdd vdd pch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
|
|||
*m02 z a vss vss nch l=0.1u w=0.5u as=0.131175 ad=0.131175 ps=1.52 pd=1.52 |
|||
nmn1 z a vss vss nch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
c3 a vss 0.384f |
|||
c2 z vss 0.576f |
|||
.ends |
|||
|
|||
* simulation command: |
|||
.tran 10ps 10ns |
|||
.dc V1 0 'vcc' 'vcc/100' |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/psp103.osdi |
|||
run |
|||
*set nolegend |
|||
set xbrushwidth=2 |
|||
plot in out |
|||
plot dc1.out |
|||
plot dc1.i(Vmeas) |
|||
rusage |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,33 @@ |
|||
psp103 nch output |
|||
* |
|||
vd d 0 dc 0.05 |
|||
vg g 0 dc 0.0 |
|||
vs s 0 dc 0.0 |
|||
vb b 0 dc 0.0 |
|||
nm1 d g s b nch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
* |
|||
.option temp=21 |
|||
|
|||
.include Modelcards/psp103_nmos-2.mod |
|||
*.include Modelcards/psp103_nmos.mod |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/psp103.osdi |
|||
dc vd 0 2.0 0.05 vg 0 1.5 0.25 |
|||
plot i(vs) |
|||
dc vg 0 1.5 0.05 vb 0 -3.0 -1 |
|||
plot i(vs) |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,33 @@ |
|||
psp103 pch output |
|||
* |
|||
vd d 0 dc -0.1 |
|||
vg g 0 dc 0.0 |
|||
vs s 0 dc 0.0 |
|||
vb b 0 dc 0.0 |
|||
nm1 d g s b pch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
* |
|||
.option temp=21 |
|||
.control |
|||
pre_osdi test_osdi_win/psp103.osdi |
|||
dc vd 0 -2.0 -0.05 vg 0 -1.5 -0.25 ; saturation |
|||
plot i(vs) |
|||
dc vg 0 -1.5 -0.05 vb 0 3.0 1 |
|||
plot i(vs) |
|||
.endc |
|||
* |
|||
|
|||
.include Modelcards/psp103_pmos-2.mod |
|||
|
|||
|
|||
.end |
|||
@ -0,0 +1,66 @@ |
|||
* PSP models |
|||
* simple 5-stage ring oscillator |
|||
|
|||
.param Vcc = 1.2 |
|||
.csparam vcc='Vcc' |
|||
|
|||
* Path to the models |
|||
.include Modelcards/psp103_nmos-2.mod |
|||
.include Modelcards/psp103_pmos-2.mod |
|||
|
|||
* the voltage sources: |
|||
Vdd vdd gnd DC 'Vcc' |
|||
V1 in gnd pulse(0 'Vcc' 0p 200p 100p 1n 2n) |
|||
Vmeas vss 0 0 |
|||
|
|||
Xnot1 in vdd vss in2 not1 |
|||
Xnot2 in2 vdd vss in3 not1 |
|||
Xnot3 in3 vdd vss in4 not1 |
|||
Xnot4 in4 vdd vss in5 not1 |
|||
Xnot5 in5 vdd vss in not1 |
|||
|
|||
*Rout out 0 1k |
|||
|
|||
.subckt not1 a vdd vss z |
|||
*m01 z a vdd vdd pch l=0.1u w=1u as=0.26235 ad=0.26235 ps=2.51 pd=2.51 |
|||
nmp1 z a vdd vdd pch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
*m02 z a vss vss nch l=0.1u w=0.5u as=0.131175 ad=0.131175 ps=1.52 pd=1.52 |
|||
nmn1 z a vss vss nch |
|||
+l=0.1u |
|||
+w=1u |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
c3 a vss 0.384f |
|||
c2 z vss 0.576f |
|||
.ends |
|||
|
|||
* simulation command: |
|||
.tran 10p 10n uic |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/psp103.osdi |
|||
run |
|||
set xbrushwidth=3 |
|||
plot in |
|||
rusage |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,32 @@ |
|||
psp103 nch transfer |
|||
* |
|||
vd d 0 dc 0.1 |
|||
vg g 0 dc 0.0 |
|||
vs s 0 dc 0.0 |
|||
vb b 0 dc 0.0 |
|||
nm1 d g s b nch |
|||
+l=1.0e-06 |
|||
+w=10.0e-06 |
|||
+sa=0.0e+00 |
|||
+sb=0.0e+00 |
|||
+absource=1.0e-12 |
|||
+lssource=1.0e-06 |
|||
+lgsource=1.0e-06 |
|||
+abdrain=1.0e-12 |
|||
+lsdrain=1.0e-06 |
|||
+lgdrain=1.0e-06 |
|||
+mult=1.0e+00 |
|||
* |
|||
.option temp=21 |
|||
.control |
|||
pre_osdi test_osdi_win/psp103.osdi |
|||
set xbrushwidth=2 |
|||
dc vg 0 1.5 0.02 vb -3 0 0.5 |
|||
plot abs(i(vd)) |
|||
dc vg -0.3 1.5 0.01 vb -3 0 0.5 |
|||
plot abs(i(vd)) ylog ylimit 1e-12 1e-03 |
|||
.endc |
|||
* |
|||
.include Modelcards/psp103_nmos-2.mod |
|||
|
|||
.end |
|||
@ -0,0 +1 @@ |
|||
Place psp103.osdi and juncap200.osdi here. |
|||
@ -0,0 +1,16 @@ |
|||
r2_cmc |
|||
|
|||
v1 1 0 10 |
|||
NRr2_cmc 1 0 rmodel w=1u l=20u isnoisy=1 |
|||
|
|||
* Poly resistor, r2_cmc model |
|||
.model rmodel r2_cmc(level=2 rsh=200 xl=0.2u xw=-0.05u p3=0.12 q3=1.6 p2=0.015 q2=3.8 tc1=1.5e-4 tc2=7e-7) |
|||
|
|||
.control |
|||
pre_osdi test_osdi_win/r2_cmc.osdi |
|||
op |
|||
let res = v(1) / -v1#branch |
|||
print res |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1 @@ |
|||
Place r2_cmc.osdi here. |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue