Andrew Beckett
Senior Fellow
Offline
Life, don't talk to me about Life...
Posts: 1742
Bracknell, UK
|
The term "local" is probably being used to indicate device to device variation (i.e. mismatch), whereas "global" is die to die variation (i.e. process variation).
Monte Carlo allows you to generate a set of models based on statistical parameters, usually representing the process spread and/or mismatch spread of the particular process. For process ("global") variation, for each statistical variable you generate a new value per point in the run; for mismatch ("local") variation, you generate a new value per device in the design. Consequently you are generating a set of points across the process/mismatch distribution (assuming the modeling is done well).
Corners just pick extreme values of the same variables, and typically you get all the extremes at once - these are statistically very unlikely to occur. You can also end up with false corners - corners that will never in practice occur, because you are taking devices in opposite directions, when in fact some of the parameters are correlated. You also can end up missing large regions of the process space.
Typically corners leads to over-design, because you make your design bomb-proof in corners that are never likely to happen. Occasionally you can be unlucky and end up with designs that fail because you're missing out the central regions where devices normally will be. The advantage is that corner simulation is fast, because you don't have many points to simulate.
In some simulators (e.g. spectre) you have the option with Monte Carlo of performing "Latin Hypercube Sampling" (see Wikipedia for an explanation) which reduces the typical number of points needed to get good coverage of the distribution. Some foundries have used a Latin Hypercube sampling approach to generate "corners" which are spread over the process - for example, one I know has 25 "corners" (I put the word in quotation marks, since they're not in the corners of the process) to give a better representation of the process.
Normally you don't statistically vary voltage or temperature, because voltage and temperature are usually hard specification limits - your design has to work at low and high voltage extremes, and same for temperature. So you need to simulate at the extremes for certain.
So to be thorough, you'd use corners for the "VT" part, and monte carlo at each corner for the process/mismatch variation.
Best Regards,
Andrew.
|