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.

Error in Monte Carlo Simulation

Status
Not open for further replies.

JitterJaw

Newbie level 6
Joined
Jan 20, 2010
Messages
12
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,384
Hi all,
Im running a monte carlo simulation on virtuoso IC6.1.3.500.18. Im using the "clip" and "cross" functions in order to calculate fall time, and it works fine when I use vdd = 0.6 V, when I lower my vdd to 0.3 V the voltage does not drop to the defined cross value, hence the calculated cross value is 'nil' and it stops the simulation saying : *Error* difference: can't handle (nil - 1.275e-06)
How can I force it to ignore the nil results, and only display the right calculations, noting the change in the 'N=' referance of the monte carlo results ?
THX in advance
 

Hi,
The expression is : (cross(clip(VT("/CMOS_NAND3_OUT") 1.27e-06 1.28e-06) (VAR("vdd") / 2) 1 "falling" nil nil) - 1.275e-06)
thanks, any help is appreciated
 

What I find handy, is to make a "threshold" source that tracks
vdd, either by variable or a vcvs. Then take your output signal
with another vcvs and subtract output from threshold. Now you
can use "cross" at 0 on the output of -that- (give the net a
nice meaningful name, even) and always get the right threshold
regardless of vdd position and no additional calculator function
complexity (though you could always pick off vdd, /2 and paste
that expression in the "cross" function box, that's tedious.
 

Hello
let's denote
your_expr = (cross(clip(VT("/CMOS_NAND3_OUT") 1.27e-06 1.28e-06) (VAR("vdd") / 2) 1 "falling" nil nil) - 1.275e-06)
Then type in calculator
if( (your_expr==nil) -1 your_expr)
and copy this to Analog Statistical Analysis window - this expression returns -1 if your curve didn't cross and cross time otherwise.
Run Monte-Carlo analysis. After it completion, go to Analog Statistical Analysis window->Results->Filter and set lower limit to 0 - so all analyses with -1 result won't been taken into account. Then plot your result.
Regards.
 

Maybe you ought to go to a failing case and see what is going
on. Maybe your clip window is too narrow. Especially if vdd=0.3
is deep subthreshold, the timing may blow out exponentially
(as current there is log(Vgs).

Flag values will let your run complete, but what good is a run
full of bogus results? Look for the real root of the problem,
not an error-patch.
 

Hi all & thanks for all of the answers.
I find pavel's to be very helpful. Freebird, I am interested to know, if Im obliging on a certain clock frequency to the system, how low the Vdd can go, hence the using the filtered method I can actually calculate the yield...
 

Well, you would rather capture all data with realism and
disposition the data against limits, than turn it all into
black-and-white before you get to even see it. In my
opinion. There might be more to learn, than just "Fail".

Statistics should be the last thing you apply, because
they are a convenient substitute for understanding,
not a source of it. I have had product engineers tell
me with absolute certainty that some process param
was the problem, and later found it was another thing
entirely that they did not think to look at, but
happened to track the other thing short-term (not
even related at all - a thin film resistor and a BJT
hFE, and the BJT was not even involved with the
failing parameter). Statistics are as good as your
assumptions, including ones you don't know you're
making. Don't let them prevent you understanding
"why" by fixating on the precision of "what".

Because particularly, knowing what the sensitivities
are is the first step in getting yield back. If you have
the real results and process params you can regress
a lot better, than looking at the sensitivity of "-1".
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top