Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com 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.

[SOLVED] Monte Carlo simulation results are not reproducible

Status
Not open for further replies.

sahel2303

Newbie level 4
Joined
Feb 12, 2009
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,342
Dear all,

I am running Monte Carlo simulations of a voltage-controlled oscillator (VCO) using Cadence. I run 100 runs with starting run#=1, and measure the output frequency (f-VCO). Usually one or two runs result in out of range (for e.g. f-VCO is always between 90M and 110MHz, except one case of 180MHz).
The problem is: This outliers are not reproducible when I change the starting run number. If I change the starting run from 1 to 2, all the other results are exactly the same, but the outlier does not happen again.
This causes me to believe that the MC results are not reliable, especially in the simulation where the outlier happens. However, I cannot find the cause of this behavior. I would really appreciate it if you share with me your experience or opinion.

Thanks a lot for your help
 

A Monte Carlo simulation uses a pseudo-random digital number generator to vary the values of all the parts (each part a different percentage) in the circuit to simulate the affect of component tolerance on the circuit performance.
For a given seed (starting) number for the pseudo-random generator, the sequence of selected numbers is repeatable, so the results should be the same.
For a different seed the results will be different and may not result in the selection of the particular value for the parts that gives the maximum deviation in the circuit.

If by "reliable" you mean to catch every outlier, that's not possible in a random simulation. To catch every possible combination, you would have to do an infinite number of runs.
For a better chance of catching all the outliers you can do more runs than a 100 or do a number of runs, all with different seed numbers.
 

Monte Carlo simulations run on "statistically random distributed variables" so most sensitive expression against process variables will be much different than others..
That's exactly what you see what you get...
 

Hi,
Thanks a lot for the answers. Let me explain my problem in other words:
I perform 100 MC simulations with starting run=1, and I get a vector of f_VCO with only one very out outlier at, let's say, iteration 68.
hen, I perform 100 MC simulations with starting run=2 (iterations=2:101). At each iteration, the value of f_VCO is exactly equal to the results from the previous simulation at that iteration, except for iteration 68 (where there was the outlier).
How can this behavior be explained? Why the results are being reproduced for all points except one?

Also about your remark, I thought changing the starting run is different from changing the seed, and so you could still get the the same results... I may be mistaken, but I still cannot explain the above behavior. Thanks again
 

Hi,
I found the cause of the problem: there was a problem with the operating point of one of the building blocks and a slightly different initial condition could lead to a very different operating point and as a result different performance. This was the reason of the changes in MC simulations.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top