dcmatch model parameters

Guest
Hi,

anyone know how I can calculate the BSIM parameters mvtwl, mvtwl2,
mvt0, mbewl and mbe0 to make use of the dcmatch analysis for spectre?

Best Regards,
David
 
Dear David,

These parameters are representing the randomness of the Threshold
voltage and Beta and their value is very critical in getting correct
DCmatch analysis. Wrong values could harm your results. The best for
you is to ask your Foundry/Model/PDK provider.

If your spectre model cards are supporting the MC Mismatch variation
for VTh and Beta, there is a way to approximately set these values.
This is the only idea that sprang to my mind ...

I'm talking about Vth only in the following discussion, the same
applies for Beta

1. Does your spectre model cards are supporting the MC Mismatch
variation for VTh ?
You can check your BSIM section for VTh0, whether it has a Stat
Mismatch variation, something like (this is an example):
Vth=VthMean + X*DeltaVthMismatch
Statistics{
Mismatch{
Vary DeltaVthMismatch dist=gauss std=1
}
}

The other way to check this is to make a quick MC (Mismatch only) on a
very simple design : The transistor you're interested on with some
biasing.
Make the transistor's VTH0 MP as the output (Use the Calculator).
Run the MC (Mismatch only). It should come with a nice histogram
showing the distribution of Vth0 (I assume MC Mismatch data available
for this device).
You have then to grab the value of the Standard deviation. This is the
key point, getting the standard deviation for a MC Mismatch
simulation.
What to do with these SD now ?

The spectre documentation shows that the DC mismatch default model
equations are :
ó(ÄVth)^2 = (mvtwl^2/WL)+(mvtwl2^2/WL^2)+mvt0^2 ... (1)
ó(ÄVth) is the Standard deviation.
This equation (1) could be written as :
y = a*x+b*x^2+c , with
x = 1/wl
y = Standard Deviation
a = mvtwl^2
b = mvtwl2^2
c = mvt0^2

From a mathematical stand point, you've got a second order equation
with 3 unknowns. So a set ot 3 (x,y) pairs is good enough to compute
your a, b, c values which are the the squares of the model parameters
you're looking for. You have then to run a MC with 3-sweeping WL
(either W or L), grab the standard deviation for each run and then
compute a, b and c.
This is obviously the ideal situation but don't forget that we are
dealing with random data and what I've mentioned above is not really
mathematically true but has a fair physical sense.

If it comes to me, I'll just ignore the parameters mvt0 and mvtwl2
(Zero them) and use the simplified Pelgrom equation :
ó(ÄVth)^2 = (mvtwl^2/WL)
=> mvtwl = SD*sqrt(W*L)
I would then run 5 MC Mismatch with different sets of W, L and compute
an average for mvtwl.

Well, before doing all of this, you have to understand the differences
between the MC Mismatch and the DC match, look at he SourceLink SR
11176364. It's worth reading the 'Theory' section about the dcmatch in
the Spectre doc as well.

At the end, the best for you is to ask your PDK vendor for this data,
it's more safe ...

Hope it helps.

Riad.
 
The "ó(Ä" string is for SIGMA. Seems the original symbol was not
allowed. Sorry :-(

Riad
 
Thanks a lot Riad,

this was exactly what I was looking for. My PDK has Vth and beta
mismatch modeled, but it doesn't support the dcmatch analysis. I
assumed it would be possible to calculate these parameters.

Also, if I'm usure about the result I can always verify it with a MC
simulation in the end.

Thanks and Regards,
David
 

Welcome to EDABoard.com

Sponsor

Back
Top