Quantcast
Channel: Cadence Custom IC Design Forum
Viewing all articles
Browse latest Browse all 4891

ADE-XL Mismatch Monte-Carlo Simulation Issues

$
0
0

Hello,

I'm a student and I'm trying to figure out how to use the Monte Carlo simulation built into Cadence Virtuoso's ADE-XL simulation tool for personal research. Right now, I am just trying the mismatch sampling simulation on a simple inverter:

My university uses PTM (Predictive Technology Models) which had no built-in statistics blocks for the models we use. I added my own statistics block and made educated guesses for the expected distributions for 10 of the model parameters. Below is my statistics block section:

statistics {
process { // process: generate random number once per MC run
vary vth0n dist=gauss std=5 percent=yes
vary toxn dist=gauss std=5 percent=yes
vary cgdon dist=gauss std=10 percent=yes
vary cjn dist=gauss std=10 percent=yes
vary cjswn dist=gauss std=10 percent=yes
vary mjn dist=gauss std=2 percent=yes
vary pbn dist=gauss std=5 percent=yes
vary mjswn dist=gauss std=1 percent=yes
vary pbswn dist=gauss std=5 percent=yes
vary cgson dist=gauss std=10 percent=yes

vary vth0p dist=gauss std=5 percent=yes
vary toxp dist=gauss std=5 percent=yes
vary cgdop dist=gauss std=10 percent=yes
vary cjp dist=gauss std=10 percent=yes
vary cjswp dist=gauss std=10 percent=yes
vary mjp dist=gauss std=2 percent=yes
vary pbp dist=gauss std=5 percent=yes
vary mjswp dist=gauss std=1 percent=yes
vary pbswp dist=gauss std=5 percent=yes
vary cgsop dist=gauss std=10 percent=yes
}

mismatch { // mismatch: generate a random number per instance
vary vth0n dist=gauss std=5 percent=yes
vary toxn dist=gauss std=5 percent=yes
vary cgdon dist=gauss std=10 percent=yes
vary cjn dist=gauss std=10 percent=yes
vary cjswn dist=gauss std=10 percent=yes
vary mjn dist=gauss std=2 percent=yes
vary pbn dist=gauss std=5 percent=yes
vary mjswn dist=gauss std=1 percent=yes
vary pbswn dist=gauss std=5 percent=yes
vary cgson dist=gauss std=10 percent=yes

vary vth0p dist=gauss std=5 percent=yes
vary toxp dist=gauss std=5 percent=yes
vary cgdop dist=gauss std=10 percent=yes
vary cjp dist=gauss std=10 percent=yes
vary cjswp dist=gauss std=10 percent=yes
vary mjp dist=gauss std=2 percent=yes
vary pbp dist=gauss std=5 percent=yes
vary mjswp dist=gauss std=1 percent=yes
vary pbswp dist=gauss std=5 percent=yes
vary cgsop dist=gauss std=10 percent=yes
}
}

Note that I instantiated these parameters at the top of the .scs model file with values from the original PTM model. Now, when I run a Process Monte-Carlo simulation, the result of the simulation turns out the way I expect it to look. However, when I run a Mismatch Monte-Carlo simulation, there is no deviation from the nominal simulation whatsoever. All iterations of the simulation land on the nominal values. I looked at the output log for each iteration and I notice this line:

"Notice from spectre during Monte Carlo analysis `mc1'.
Number of defined mismatch parameters: 20, number of non-referenced mismatch parameters: 20. Number of mismatch instances: 0."

I take this to mean that the instances from the schematic are not being recognized as mismatch instances, so no mismatch is being applied in the simulation. Does anyone know how to get ADE-XL to recognize the instances from my schematic file? Help would be greatly appreciated!


Viewing all articles
Browse latest Browse all 4891

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>