fjal
New Member
Offline
Posts: 2
|
I am attempting to use ADE XL in Cadence to simulate a monte carlo analysis of a cascaded set of inverters at near/sub threshold voltage levels. In order to test robustness, I want to use a mismatch monte carlo simulation to change the threshold voltage of the individual transistors in my cascaded chain.
The problem is that the threshold voltage of nmos transistors is stored in their model file and aren't a parameter that can be changed via a simple monte carlo simulation.
I attempted to add a statistics block into the NMOS_VTL.scs model file to allow the monte carlo sim to change the threshold voltage (vth0). The result is as follows, and it works for process variation changes, but for mismatch variation, all transistors in my schematic have the same vth0 value instead of them all being different.
--------------------------------------------------------
* Customized PTM 45 NMOS nom
simulator lang=spectre
parameters TTHRESH = 0.322
statistics{ process{ vary TTHRESH dist=gauss std=10 percent=yes } mismatch{ vary TTHRESH dist=gauss std=100 percent=yes } }
subckt NMOS_VTL (a b c d) parameters w=0 l=0 as=0 ad=0 ps=0 pd=0 ld=0 ls=0
Q1 (a b c d) jnmos w=w l=l as=as ad=ad ps=ps pd=pd ld=ld ls=ls vth0=TTHRESH
simulator lang=spice
.model jnmos nmos level = 54
* parameters related to the technology node +tnom = 27 epsrox = 3.9 +eta0 = 0.006 nfactor = 2.1 wint = 5e-09 +cgso = 1.1e-10 cgdo = 1.1e-10 xl = -2e-08
* parameters customized by the user +toxe = 1.14e-09 toxp = 1e-09 toxm = 1.14e-09 toxref = 1.14e-09 +dtox = 0.14e-09 lint = 3.75e-09 +vth0 = TTHRESH k1 = 0.4 u0 = 0.045 vsat = 148000 +rdsw = 155 ndep = 3.4e+18 xj = 1.98e-08 ... (more parameters, not important)
simulator lang=spectre
ends NMOS_VTL
--------------------------------------------------------------------------
Any advice on an easy way to allow mismatch monte carlo simulations to modify the vth0 for this nmos model file?
Thanks!
|