Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Vth Variation and Monte Carlo simulations in HSpice

Not open for further replies.


Newbie level 2
May 5, 2011
Reaction score
Trophy points
Activity points

After many hours of online searches and reading and re-reading the documentations I am still stuck...

I am trying to run Monte Carlo simulations to vary Vth in my model file for all of my transistors. I want them all to be different for each transistor (independent) so I figured I should be using the .local_variation instead of .global_variation. After reading the Hspice documents over and over I think this is what I am supposed to have:

nmos N_50n vth0=sigma
pmos P_50n vth0=sigma

My concern is the sigma value itself. I want to simulate with a mean 0 and sigma 3. The simulator by default does a mean=0 so I am not worried about that. I guess I am having trouble understand what is happening in their examples files:

nmos snps20N vth0=0.07
pmos snps20P vth0=0.08
nmos snps20N vth0='1.234e-9/sqrt(get_E(W)*get_E(L)*get_E(M))'
pmos snps20P vth0='1.234e-9/sqrt(get_E(W)*get_E(L)*get_E(M))'

Where did they get the 0.07 and 0.08 values for their global variation? Does that represent 7sigma or 70mV? Also for the local_variation, where are they getting these equations? If they are process specific do you know where I can find the equations for 50nm BSIM4 models with VDD=1V?

Thanks in advance for any help!


1. The vth0=0.07 line means model vth0 as a Gaussian with 1sigma variation = 70mV.

2. The equation for vth sigma is roughly P/sqrt(W * L), where W and L are width and length and P is a process dependent parameter. They also include M since it's a multiplier on W and L I guess. So yes, for your BSIM 50nm process you will have to calculate P.

Calculating P is kind of a pain, you're a bit on your own for that. There are a couple equations out there that you can use. Here's one of them:

σ_vth = ((4 * q³ * ε_si * θ_B)¼ / 2) * (T_ox / ε_ox) * (N)¼ / (W * L)½


θ_B = 2 * k_B * T * ln(N/n_i)


q = charge of an electron
k_B = boltzmann's constant
T = temperature
n_i = intrinsic carrier concentration
ε_si = permittivity of silicon
T_ox = gate oxide thickness
ε_ox = permittivity of gate oxide
N = channel dopant concentation
W = width
L = length

Kind of a pain to write out but there it is. You're going to have to try to pull some of those numbers out of your model. If you are familiar with the BSIM model it shouldn't be that bad. If not, well, good luck! For a reference on where this equation came from see "Modeling Statistical Dopant Fluctuations in MOS Transistors", Stolk et al.

I've now done my good deed for the day :)
  • Like
Reactions: dnanar


    Points: 2
    Helpful Answer Positive Rating
Not open for further replies.

Part and Inventory Search

Welcome to