Monte Carlo Simulation in Cadence Virtuoso

(Last Updated On: February 21, 2018)

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.

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

process variations in a wafer

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.

Monte Carlo (yellow) versus Corner Analysis

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:

2 thoughts on “Monte Carlo Simulation in Cadence Virtuoso

  1. Reply
    monglebest - August 2, 2018

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

    1. Reply
      Alberto L. - August 9, 2018

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

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top