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.

Monte Carlo analysis fails to evaluate expression in Cadence Virtuoso

Status
Not open for further replies.

RafelPerello

Newbie
Joined
Mar 23, 2022
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
43
Dear all,
I am designing a differential amplifier with Cadence Virtuoso IC 6.1.5. I set some expressions to be evaluated in ADE XL environment (gain, bandwidth, phase, etc.), which are correctly given in the Simple Run test. However, when I run the Monte Carlo analysis, only the signals are being displayed properly and some of the expressions (two equivalent expressions on different nodes behaves differently). Could you provide any clue? I have attached the expressions.
Thanks in advance,
Rafel
Captura de pantalla de 2022-03-23 15-40-09.png
 

Run one single pass, paste the expression into the Calculator and "print*.

If it works there it will work inside param loops. If it doesn't you will get real time error messages to debug against.
 

can you provide one expression that does not work as an example?

I observed some weird behavior as well in the past, but I concluded that using calculator to get expression is more consistent compared to using database explorer.
 

Try to use VF("/net") instead v("/net" ?result "ac-ac" ).
Basically, it would be nice if you might provide error message and check what is visible in result browser. Check also what you get if you open results, calculator and use your expression directly.

Virtuoso 6.1.5 is ca 7 years old it might be buggy as well.
 

Thanks for your quick response. I will try to give further detail.
For example, I want to obtain which is the AC magnitude at 1MHz for different nodes. Therefore, I included the following expressions in my analysis:
Captura de pantalla de 2022-03-24 10-32-00.png

Weridly, only two out of four, even though the expressions are equivalent, are evaluated properly during Monte Carlo (Simple Run gives proper values for all of them).
1648114465485.png

Then, I want to obtain the phase at 5MHz for exactly the same nodes as follows:
1648114534639.png

In this case, again only two out of four expressions are evaluated properly. However, they do not match the ones in the gain expressions.
1648114620287.png

The error message looks like the following
1648114815054.png

Thanks a lot in advance for your help.
 

I had similar issue but cannot guarantee if they are exactly the same because we use different version of cadence.
One thing you can try is making statistical corner for the samples that fail in MC.
Then select these corners and run single simulation.
In my case, I can get the results which show error in MC simulation.
 

Yes, a failed iteration will have no data to chew on. But this should be global, not some working and some not.

If you return to the failing mccnt= and other loop indices (add vars to explicit list) then you can run the same seed and then execute the same expressions to get debug info. May be that your formulation is "data-brittle", looking for something that occasionally fails to happen, and maybe this is (a) real under some conditions and (b) affects only some portions of the circuit?
 

Yes, a failed iteration will have no data to chew on. But this should be global, not some working and some not.

If you return to the failing mccnt= and other loop indices (add vars to explicit list) then you can run the same seed and then execute the same expressions to get debug info.
Out of Topic.
I was looking a way to control the MC simulation from ocean script.
Particularly, I wanted to put a variable into the "mcStartingRunNumber" and add a loop somewhere in the script using this variable.
Do you have any idea how I can do that?
From your comment, it seems that it is possible to play around on this MC statement in the ocean.
Please just excuse me if I misunderstood your statement.
 

Most of my MC work was with cdsSpice and I never got into Ocean. However I expect the scheme is the same only substituting languages.

Look for options in the ADE Monte Carlo setup, run, data analysis menus that offer to save the session as an Ocean script. Or maybe the one in the main ADE menus, but I imagine the MC stuff may be compartmentalized and need saved special.

Getting the run script with all the MC setup and control would be a real shortcut. Then commence to cutting away everything that's not useful.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top