Mismatch problem in MC simulation

J

Johannes N Blouwer

Guest
All,

I have added the following statistics block to my model file for a poly
resistor.

parameters rphCtRes=100.0 // Poly h resistor
parameters rphSheetRho=1000.0 // Poly h resistor
statistics {
mismatch { vary rphSheetRho dist=gauss std=100
}
process { vary rphCtRes dist=gauss std=50
}
}

When I simulate a voltage divider consisting of one ideal resistor from
analogLib and one poly resistor I see a variation for process variation
(as expected).

When I simulate a voltage divider consisting of two poly resistors for
process I see changes in the current (as expected) and no change in
division ratio (as expected). When I simulate mismatch in a transient
simulation and a dcmatch simulation I don't see any variation in the
divider voltage. I have tried with and without correlation between the
resistors without any effect.

If I swap the rphSheetRho and rphCtRes parameters around in the statistics
block then the results are the same except that the numerical values are
different because of the different effects that the parameters have on the
resistor model. I.e. I still see no variation of division ratio in the
mismatch simulations.

It seems like the mismatch section is ignored. I have swapped the
mismatch and process sectons around without it having an effect on the
results.

I am completed lost, any help would be appreciated.

JNB

BTW, do we need new license codes to run IC5141 if we have codes for IC5033 ?
 
Hi Johannes,

In order for mismatch to work, you need to ensure that your resistor model (I'm
assuming you have a resistor model) is within a subckt, and is parameterised.
The reason for having it in a subckt is that the model name needs to be unique
for each instance, otherwise the models are shared, and so each instance will
see the same model parameters.

So I think this is the most likely explanation.

Take a look at the useful paper:
http://www.designers-guide.com/Modeling/montecarlo.pdf

And IC5141 does require updated licenses, since the version number in the
license file has been increased to 5.1.

Regards,

Andrew.

On Sun, 25 Jul 2004 17:51:51 -0700, Johannes N Blouwer <jnb@linux.local> wrote:

All,

I have added the following statistics block to my model file for a poly
resistor.

parameters rphCtRes=100.0 // Poly h resistor
parameters rphSheetRho=1000.0 // Poly h resistor
statistics {
mismatch { vary rphSheetRho dist=gauss std=100
}
process { vary rphCtRes dist=gauss std=50
}
}

When I simulate a voltage divider consisting of one ideal resistor from
analogLib and one poly resistor I see a variation for process variation
(as expected).

When I simulate a voltage divider consisting of two poly resistors for
process I see changes in the current (as expected) and no change in
division ratio (as expected). When I simulate mismatch in a transient
simulation and a dcmatch simulation I don't see any variation in the
divider voltage. I have tried with and without correlation between the
resistors without any effect.

If I swap the rphSheetRho and rphCtRes parameters around in the statistics
block then the results are the same except that the numerical values are
different because of the different effects that the parameters have on the
resistor model. I.e. I still see no variation of division ratio in the
mismatch simulations.

It seems like the mismatch section is ignored. I have swapped the
mismatch and process sectons around without it having an effect on the
results.

I am completed lost, any help would be appreciated.

JNB

BTW, do we need new license codes to run IC5141 if we have codes for IC5033 ?
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Hi Andrew

My resistors are not subcircuits. I read have read the paper but missed
the importance of the subcircuits.

Thanks for the response, I am on the west coast of the US and can now get
on with my work without waiting for the local people to answer the query.
I love the internet.

Regards
JNB

On Mon, 26 Jul 2004 09:00:36 +0100, Andrew Beckett wrote:

Hi Johannes,

In order for mismatch to work, you need to ensure that your resistor model
(I'm assuming you have a resistor model) is within a subckt, and is
parameterised. The reason for having it in a subckt is that the model name
needs to be unique for each instance, otherwise the models are shared, and
so each instance will see the same model parameters.

So I think this is the most likely explanation.

Take a look at the useful paper:
http://www.designers-guide.com/Modeling/montecarlo.pdf

And IC5141 does require updated licenses, since the version number in the
license file has been increased to 5.1.

Regards,

Andrew.

On Sun, 25 Jul 2004 17:51:51 -0700, Johannes N Blouwer <jnb@linux.local
wrote:

All,

I have added the following statistics block to my model file for a poly
resistor.

parameters rphCtRes=100.0 // Poly h resistor parameters
rphSheetRho=1000.0 // Poly h resistor statistics {
mismatch { vary rphSheetRho dist=gauss std=100
}
process { vary rphCtRes dist=gauss std=50
}
}
}
When I simulate a voltage divider consisting of one ideal resistor from
analogLib and one poly resistor I see a variation for process variation
(as expected).

When I simulate a voltage divider consisting of two poly resistors for
process I see changes in the current (as expected) and no change in
division ratio (as expected). When I simulate mismatch in a transient
simulation and a dcmatch simulation I don't see any variation in the
divider voltage. I have tried with and without correlation between the
resistors without any effect.

If I swap the rphSheetRho and rphCtRes parameters around in the
statistics block then the results are the same except that the numerical
values are different because of the different effects that the parameters
have on the resistor model. I.e. I still see no variation of division
ratio in the mismatch simulations.

It seems like the mismatch section is ignored. I have swapped the
mismatch and process sectons around without it having an effect on the
results.

I am completed lost, any help would be appreciated.

JNB

BTW, do we need new license codes to run IC5141 if we have codes for
IC5033 ?
 

Welcome to EDABoard.com

Sponsor

Back
Top