Monte Carlo analysis is a statistical way to analyze a circuit. This simulation allows us **to test the process variation and mismatching** between devices in a single chip or wafer.

Contents

## What is the difference with the corner analysis?

The **Corner analysis** simulates your design with the minimum and maximum value of each parameter. But it does not reproduce the mismatching between devices! The corner analysis makes the problem much harder than it really is. It simulates **extreme cases, that in real fabrication process will never occur**, because of the correlation between parameters are not taken in account.

A basic corner analysis can be around 65 simulations, taking the maximum and minimum of the process variables:

- CMOS thickness
- resistor value,
- capacitor value
- Temperatures
- Voltage supply

Typical Values + 4CMOS*2RES*2CAP*2TEMP*2Vsupply = 65

For example, if the CMOS gate oxide thickness is big for NMOS, it will be also big for the NMOS. It is not realistic to simulate the case when the thickness of the NMOS is minimum and the PMOS is maximum. **Corner analysis will guarantee that the circuit will work**, of course, under all possible consideration, **but it will overdesign your circuit**.

## Monte Carlo Simulation in Circuit Design

**Monte Carlo** is** based on statistical** distributions. It will simulate mismatching and process variation in a realistic way. **Each** **simulation** **run**, it will **calculate every parameter randomly** according to statistical distribution model. With this analysis you will see in which region you circuit will work the most of the time.

The **drawback** of Monte Carlo is that the **amount of simulations** required to have acceptable results is **at least 250**. This is much higher comparison with the Corner analysis.

For the previous example with the gate oxide thickness, the Corner analysis will simulate the worst case of the minimum and maximum values of the thickness parameter in this case as the following table shows:

But in reality if the NMOS is thin, the PMOS transistor will have also similar thickness. This area is shown in the yellow region.

Another type of corner analysis is known as **“statistical corner models”**, here thousands of real produced wafers are measured. Now the statistical corner analysis considers correlations of map parameters. This analysis **improves the Monte Carlo** pure statistical method with the feedback of the real wafer measurements.

**Example of Monte Carlo simulation in Cadence**

In this example a cascade circuit is going to be used to make the Monte Carlo simulation.

Add the Dc- simulation to save the operation point of the circuit.

To have a good performance, you can put many jobs in parallel, depending on how many cores does your machine has. In this case I am using a 8 core machine, so I set 8 simulations in parallel.

Go to Options>> Job setup.

Make a DC-simulation a plot the currents.

Add this values from the calculator into the output window in the ADE XL.

Copy this expression and paste them on the ADE XL.

You can add them by Outputs>>Setup

You should get something like. Delete every corner and leave one, that we are going to use as a reference.

We want to make the Monte Carlo Simulation for the nmos transistor, we chose the model cmosmc (Monte Carlo). If we wanted the Monte Carlo for the resistor you should chose “resmc”.

Select it on the Data View.

Go to options for the Monte Carlo Simulation

Set the configuration parameters. Set to process if you want to check the changes on the process in the electrical parameters. If you want to test the changes by matching on the transistors, select then Mismatch. And the number of points, start with something low, for testing, then you can increase it to a larger amount of simulations.

After the simulation, you can right-click and select “historiogram” to plot the results.

For a larger number of simulations:

Can you provide more detail regarding the models? I am mainly interested in how to setup a monte-carlo simulation from scratch.

Hello Monglebest, I dont understand which models do you need. Here I explain how to set up the Monte Carlo from scratch

Regards. Alberto