Product Documentation
Virtuoso ADE Explorer User Guide
Product Version IC23.1, November 2023

8


Performing Monte Carlo Analysis

You can use Monte Carlo (statistical) analysis to estimate parametric yields and generate information about the performance characteristics of the circuits you design.

The manufacturing variations in components affect the production yield of any design that includes them. Statistical analysis allows you to study this relationship in detail.

To prepare for a statistical analysis, your design must include devices with statistical models. Device parameters are modeled with statistical distributions which represent the variation of the fabrication process. Multiple simulations are performed during Monte Carlo analysis while randomly sampling from the statistical model distributions. Each sample point is simulated with different statistical parameter values based on the model distributions.

When the simulations finish, you can examine how the variation affects the overall yield of your design.

This chapter covers the following topics:

Before Running a Monte Carlo Analysis

The full-functionality of Monte Carlo analysis run is available only with the following simulators:

Your design must include devices or device models for which you have specified statistically varying parameter values. You must specify either global (process) or mismatch (per-instance) variations or both. You can also specify correlation information by specifying correlation constraints in Constraint Manager. After simulating, you can select the Yield view to view mean and standard deviation information.

For information about specifying parameter distributions for Spectre circuit simulation, see Monte Carlo in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Before you proceed with the Monte Carlo run, ensure the following:

  1. The simulator specified is Spectre, APS, or AMS Designer (with Spectre as the solver). You can run Monte Carlo analysis only with these simulators.
  2. Disabled output expressions—expressions for which the Plot check box is not selected in the Outputs Setup tab—will not be evaluated for Monte Carlo simulations. Therefore, ensure that the Plot check box is selected for the output expressions that you want to be evaluated.
  3. (Optional) If you have corners defined, you can also select the Corners check box on the Explorer Run Summary assistant or Setup assistant to run Monte Carlo over them.
    You can change the corners you have defined on the Corners Setup form.
  4. (Optional) If you do not want to include the nominal corner in the Monte Carlo analysis, you can deselect the Nominal Corner check box on the Run Summary pane.
    Monte Carlo sampling cannot be run in the following cases:
    • Sweeps and corners are defined using the same variable
    • Statistical corners are specified

Specifying Monte Carlo Run Options

To specify Monte Carlo run options, do one of the following:

Before the VVO simulation starts, a lint check is performed that checks out the VVO license and then immediately checks it in. If the VVO license is not available, a warning message is displayed. This lint check is important because if it is not performed, ADE Explorer detects the license non-availability issue only after the VVO history has been created, which results in creating a blank history.

This section includes the following topics:

Performing a Standard Monte Carlo Run

In Standard Monte Carlo, a specific number of points are simulated.

To perform a standard Monte Carlo run, perform the following steps in the Monte Carlo form.

  1. In the Guided Mode section, select the Run a fixed number of points option. This option is selected by default on the Monte Carlo form.
  2. In the text field, specify the number of points to be run. The default number of points is 200.
  3. When you expand the Advanced - Show All Options button, the additional form fields appear as shown in the figure below:
  4. In the Variation field, select one of the statistical variation options:

    Process

    for process statistical variations

    Mismatch

    for per-instance statistical variations

    All

    for both process and per-instance statistical variations

    You must define your models so that they respond to the statistical variations you choose. In addition, specify the file containing your models on the Model Library Setup form. For a Spectre circuit simulator example of how to define your models, see “Specifying Parameter Distributions Using Statistics Blocks” in the Spectre Circuit Simulator User Guide.
  5. The Number of Points field shows the fixed number of points you specify in the Guided Mode section.
  6. The Target Yield shows the target yield and sigma value. This field is disabled when you perform a standard Monte Carlo run.
  7. In the Method drop-down, select the method you want to use to run Monte Carlo sampling. The default method is Standard Monte Carlo Sampling. The other available methods are:
  8. Select the Save Waveforms (Simulation Data) option if you want to save output data (psf) for every Monte Carlo iteration so that you can perform post-processing operations (like plotting, printing, annotation, and re-evaluation) on individual iterations. Histograms are always available for plotting even if this option is not selected. It is suggested not to select this option if you do not want to plot waveforms as it helps in saving disk space.
    If you do not select this check box:
    • The program retains the psf data for the last iteration only.
    • Signals and waveform expressions will not be plotted. Only histograms for scalar expressions will be plotted.
      The program calculates and saves scalar results for every run regardless of whether you select this check box or not.
  9. Select the Save Statistical Parameter Data option if you want to save statistical parameter information in the maestro view database. This option enables the post-processing of Monte Carlo results. For example, for mismatch contribution analysis, creation of statistical corners requires saved statistical parameter data.
  10. In the Sampling Method drop-down, select one of the following statistical sampling methods to be used:
    • Random: The Random sampling method takes the Brute Force approach of sequentially calling a random number generator without considering the samples generated previously. There is no sample selection or rejection. It has a convergence accuracy of 1/sqrt(N).
    • Latin Hypercube: Latin Hypercube is a quasi-random sampling algorithm with sample selection and rejection. The sample space is evenly divided into probable subspaces. All sample points are then chosen simultaneously making sure that the total ensemble of sample points is a Latin Hypercube sample and that each subspace is sampled with the same density. The Latin Hypercube algorithm has a convergence accuracy of 1/pow(N,2/3).
    • Low-Discrepancy Sequence: Low-Discrepancy Sequence (LDS) uses a deterministic sequence to get a uniform coverage of the sampling space, which makes it better than the Random sampling method. In addition, LDS uses auto stop features to generate samples, which is not supported by Latin Hypercube Sampling (LHS). The convergence speed for LDS is faster than the Random sampling method and is comparable to the LHS method. Therefore, overall, this method is better than both, Random and LHS.

    When the selected methods are Random and Low-Discrepancy Sequence, specify the following form fields:
    1. In the Seed field, specify a seed for the Monte Carlo analysis. By always specifying the same seed, you can reproduce a previous experiment. If you do not specify a seed, the value 12345 is used.
    2. In the First Point field, specify a starting run number. The first point specifies the run that Monte Carlo begins with. By specifying this number, you can reproduce a particular run or sequence of runs from a previous experiment (for example, to examine an earlier case in more detail).
      To reproduce a run or sequence of runs, you need to specify the same value in the Starting Run Number and the Monte Carlo Seed fields.

    When the selected sampling method is Latin Hypercube, specify the number of bins (subdivisions) in the Number of Bins field.
  11. In the Netlist Options field, specify additional analysis options that you want to generate in the netlist.
    For example, "nullmfactorcorrelation=yes".
  12. Click the Specify Instances/Devices (Not Specified) button to specify the sensitive instances and devices you want to either include or exclude for applying mismatch variations. For more information, see Specifying Instances for Monte Carlo Mismatch and Process Variation.
  13. Click OK.
    Now, click the run button to run the standard Monte Carlo sampling.
    ADE Explorer calculates the number of simulations to be run. If the number exceeds the threshold limit specified using the warnWhenSimsExceed environment variable, a warning message is displayed to confirm if the run is to be continued.
    When the run is in progress, Monte Carlo displays the details of the run in a log window, as shown below.
    After the run is complete, ADE Explorer displays the results in the Yield view on the Results tab. Results are reported for each test, corner and measurement expression and the total yield is reported for the circuit. For more details, refer to Viewing Monte Carlo Results.
    You can change the default results view for the Monte Carlo Sampling run mode using the defaultResultsViewForMonteCarlo environment variable.
    You can also use the Summary view or the Detail view on the Results tab to view the detailed results for the Monte Carlo analysis. In the Summary view and Detail view, the results for each Monte Carlo sample is displayed under a row named Parameters: monteCarlo::param::sequence=n
    where n is the number of the sample. For example, in the following figure of the Detail view, the results under the row Parameters: monteCarlo::param::sequence=1 displays the results for the first sample.
    The program converts waveforms that have mcparamset as the sweep name to histograms and plots each such waveform in a separate subwindow.
    The program also displays a pass/fail type of histogram plot for the results. For more information about plotting histograms for Monte Carlo results, see Plotting Histograms.

Running Monte Carlo with Sweep Values

If you have sweep values specified for design variables or parameters in the ADE Explorer setup, you can run Monte Carlo only using the Standard Monte Carlo method. If you run Monte Carlo using any other advanced method with sweep values enabled, a pop-up error message is displayed.

Consider the example below in which you have specified sweep values for design variable, cload=100f 200f. The method selected in the Monte Carlo options is Standard Monte Carlo. Now, when you run the simulation, the results for both sweep values appear on the Results tab, as shown in the figure below.

The yield results view contain separate rows for each swept variable or parameter. The overall yield is also displayed at the top.

Performing Sensitivity Accuracy

The Sensitivity Accuracy and mismatch contribution methods are available only when you have the Virtuoso Variation Option (VVO) license.

This method is used to post-process the Monte Carlo results and view the Mismatch Contribution table when you are not sure about the number of samples required to view the mismatch contribution results. This method helps in automatically determining the number of samples required to be run to meet the target accuracy level so that post-processing for mismatch contribution analysis can be done. The number of samples depends on the design and the number of statistical parameters defined by the model files.

When you choose this method, the Monte Carlo run is stopped as soon as a model for variation contribution can be built for every output.

To run sensitivity accuracy method, ensure that Run a fixed number of points field is selected in the Guided Mode section of the Monte Carlo form.

Specify the following field values:

  1. In the Variation drop-down, select variation as Mismatch.
  2. In the Max Points field, specify the maximum number of points to be run. By default, this field is set to 1000.
  3. Select the Save Waveform (Simulation Data) if you want to save the waveform data (psf files) for plotting.
  4. In the Sampling Method drop-down, select the method as Random or Low-Discrepancy Sequence. The Latin Hypercube sampling method is not available with Sensitivity Accuracy method.
    For more information about these form fields on this form, see Performing a Standard Monte Carlo Run.

Viewing Sensitivity Results

You can view the sensitivity results to find out the sensitivity of specifications to variables, device parameters, statistical parameters and DC operating point parameters.

To view sensitivity results:

Viewing Mismatch Contribution Results

You can view the important contributors to mismatch variation by using the Mismatch Contribution post-processing command on the Monte Carlo results. It is recommended to choose the Sensitivity Accuracy method to automatically determine the number of required samples. After you run these required Monte Carlo samples, the Mismatch Contribution tab is visible. This tab is also visible when you manually specify the number of points instead of selecting the Sensitivity Accuracy method.

To view mismatch contribution results:

Performing Yield Verification

The accuracy of the yield estimate from a Monte Carlo run increases by simulating a large number of samples. However, running a large number of simulations can consume a lot of time and resources if a design is large. You can perform one of the following yield verification methods to estimate the yield during the Monte Carlo analysis. These methods can be run when the target yield less than 4 sigma.

To perform yield verification using the Yield Verification - Autostop or Yield Verification - Reorder Samples methods,

  1. In the Guided Mode, select the Verify the yield (sign-off) option.
    When you select this option, the What is the Yield requirement? field appears in which you specify the sigma or percentage value. If you choose sigma, the default value is 3 and if you choose %, the default value is 99.865. The value you specify in this field is always in synchronization with the Target Yield field available in the Advanced - Show All Options section.
    These yield estimation methods are used only when the sigma value is less than 4. For higher sigma values (<4), you can use scaled-sigma sampling or worst case distance methods.
  2. When the yield is 3, in the Advanced - Show All Options section, specify the following fields:
    1. In the Variation drop-down, select variation as All, Mismatch, or Process.
    2. In the Max Points field, specify the maximum number of points to be run. By default, this field is set to 2289 for probability set to 95%. The value of this field changes when you change the probability value.
    3. In the Target Yield field, specify the yield value that you want to achieve for your design. The value of this field is same as the sigma field in the Guided Mode section.
    4. In the Probability field, select a probability percentage value. Probability values closer to 100% will require more simulations before the yield estimate can be determined to be lower or higher than the target. Smaller probability values requires less simulations before auto stop is triggered. The default value is 95%.
  3. In the Method drop-down, select the method as Yield Verification - Basic Autostop or Yield Verification - Sample Reorder.
    If you have the Virtuoso Variation Option license available, Yield Verification - Sample Reorder method is selected by default when you select the Verify the Yield Sign-off option in Guided Mode.
    If you have the Virtuoso Variation Option License available, by default when you select the Verify the Yield Sign-off option in Guided Mode, Yield Verification - Sample Reorder method is selected. For more information about how to run this method, see Running the Yield Verification - Reorder Sample Method in Virtuoso Variation Option User Guide.
  4. Select the Save Waveforms (Simulation Data) option if you want to save output data (psf files) for every Monte Carlo iteration so that you can perform post-processing operations (like plotting, printing, annotation, and re-evaluation) on individual iterations. Histograms are always available for plotting even if this option is not selected. It is suggested not to select this option if you do not want to plot waveforms as it helps in saving memory.
    If you do not select this check box:
    • The program retains the psf data for the last iteration only.
    • Signals and waveform expressions will not be plotted. Only histograms for scalar expressions will be plotted.
      The scalar results are calculated and saved for every run regardless of whether you select this check box or not.
  5. Select the Save Statistical Parameter Data option if you want to save statistical parameter information in the ADE Explorer results database. This option enables the post-processing of Monte Carlo results. For example, mismatch contribution analysis, creation of statistical corners require saved statistical parameter data.
    The Save Statistical Parameter Data option is not available when the method is Yield Verification - Sample Reorder.
  6. In the Sampling Method drop-down, select one of the following statistical sampling method to be used:
    • Random: This sampling method takes the Brute Force approach of sequentially calling a random number generator without considering the samples generated previously. There is no sample selection or rejection. It has a convergence accuracy of 1/sqrt(N).
    • Low-Discrepancy Sequence: Low-Discrepancy Sequence (LDS) uses a deterministic sequence to get a uniform coverage of the sampling space, which makes it better than the Random sampling method. In addition, LDS uses auto stop features to generate samples, which is not supported by Latin Hypercube Sampling (LHS). The convergence speed for LDS is faster than the Random sampling method and is comparable to the LHS method. Therefore, overall, this method is better than both, Random and LHS.
      For more information about these methods, see Performing a Standard Monte Carlo Run.
  7. In the Seed field, specify a seed for the Monte Carlo analysis. By always specifying the same seed, you can reproduce a previous experiment. If you do not specify a seed, the value 12345 is used.
  8. In the First Point field, specify a starting run number. The first point specifies the run that Monte Carlo begins with. By specifying this number, you can reproduce a particular run or sequence of runs from a previous experiment (for example, to examine an earlier case in more detail).
    To reproduce a run or sequence of runs, you need to specify the same value in the Starting Run Number and the Monte Carlo Seed fields.
  9. In the Netlist Options field, specify additional analysis options that you want to generate in the netlist.
    For example, "nullmfactorcorrelation=yes".
  10. Click the Specify Instances/Devices (Not Specified) button to specify the sensitive instances and devices you want to either include or exclude for applying mismatch variations. For more information, see Specifying Instances for Monte Carlo Mismatch and Process Variation.
  11. Click OK.

High Yield Methods

The high yield estimation methods are available only when you have the Virtuoso Variation Option (VVO) license.

While verifying the yield, when you specify a target yield greater than 4 sigma in the Monte Carlo form, the method in Advanced - Show All Options section is automatically changed to Scaled-Sigma Sampling. In addition, for high target yield values, the Worst Case Distance method is also available that you can select in the Method drop-down. For more information about these high yield estimation methods see the below sections:

Scaled-Sigma Sampling

This method is selected by default when the yield is greater than 3 sigma. The Scaled-Sigma Sampling method generates samples where the standard deviation has been scaled up. As a result, a larger number of samples fall into the failure region of the distorted distribution. The failure rate is then estimated from the scaled samples.

The figure below shows the form fields that appear when you select this method:

For detailed information about the common form-fields, see Performing a Standard Monte Carlo Run.

Note the following additional field values available for the Scaled-Sigma Sampling method:

For more information, see The Scaled-Sigma Sampling Method in Virtuoso Variation Option User Guide.

Worst Case Distance

When the target yield sigma value is greater than 4, you can also select the Worst Case Distance method to verify the yield of the design. In this method, the high yield estimation finds the shortest distance, referred to as Worst Case Distance or WCD, from the nominal point to the specification boundary in the process/mismatch parameter space. For detailed information about this method, see

The figure below shows the form-fields that appear when the Worst Case Distance is selected in the Method drop-down.

For information about the common fields, see Performing a Standard Monte Carlo Run.

Note the following additional field values available for this method:

  1. The Number of Points field is by default set to 200. This field is disabled when the Automatic Number of Monte Carlo Points check box is selected.
  2. Select the Create Statistical Corners check box if you want to create statistical corners. When this option is selected, the task selection in the Guided Mode is changed to Create statistical corners.
  3. The Sampling Method drop-down lists the following three methods: Low-Discrepancy Sequence (default), Latin Hypercube, and Random.
  4. In the Worst Case Distance Options section, specify the following fields:
    1. The Use Monte Carlo History option is enabled if you have already run a Monte Carlo simulation, you can use the process and mismatch data from the history of that run. In this drop-down list, you can select a reference Monte Carlo run history from the list of available histories. It is essential that the simulation data of the selected history contains the process and mismatch data. If any one of these data is not available, an error message is displayed.
    2. The Automatic Number of Monte Carlo Points check box is selected by default. This is used to enable the automatic selection of number of Monte Carlo points. When you select this check box, the Number of Points and Automatic Variable Reduction fields become unavailable. To manually provide the number of Monte Carlo points to be simulated, disable this check box.
    3. By default, the Automatic Variable Reduction check box is disabled. To enable this check box, deselect the Automatically Select Number of Monte Carlo Points check box. The Automatic Variable Reduction option reduces the set of statistical variables by eliminating insignificant variables (variables that have no variation or have no influence on the WCD point). Insignificant variables bring noise and require more simulations for sensitivity analysis. Therefore, it is recommended to enable variable reduction.
    4. To ignore the specifications for which Monte Carlo yield is less than a specified percentage, select the Skip Specs With MC Yield < check box and specify a sigma value. The default value of this field is 3 sigma; therefore, specifications for which the Monte Carlo yield is less than 99.86% are ignored. If you want to run high yield estimation on all the specifications, disable the Skip Specs With MC Yield < check box.
    5. In the Max Number of Iterations field, specify the maximum number of iterations to be run for each specification. The default number of iterations is 10.
  5. Click OK.

For information, see Running the Worst-Case Distance Method in Virtuoso Variation Option User Guide.

Creating Statistical Corners

The methods to create statistical corners are available only when you have the Virtuoso Variation Option (VVO) license.

For target yield values greater than 3, you can create statistical corners using the high yield estimation methods, Scaled-Sigma Sampling and Worst Case Distance. When the target yield is 3, the advanced methods can be used to create statistical corners.

This section includes the following topics:

To create statistical corners,

Using K-Sigma Corners Method

This method creates the K-sigma statistical corner that meets the specified target yield value and applies the stopping criteria according to which the Monte Carlo simulation is stopped when the K-sigma statistical corner has been created for each specification. It is possible that multiple corners meet the target specification criteria. Therefore, the K-sigma method finds the most representative corner by calculating the minimum distance to the nominal point. This representative corner has a greater probability to occur. The statistical corner can then be used for further analysis of the design. For more information, see Statistical Corner Creation in Virtuoso Variation Option User Guide.

When you select the Fast statistical Corner creation (~200 points for 3-sigma) option, the K-Sigma corner method is performed. The figure below shows the form fields for this method:

For information about the common fields, see Performing a Standard Monte Carlo Run.

Note the following additional field values available for the K-Sigma Corners method:

Using Worst Samples Method

The Worst Samples method is recommended when high accuracy is needed and the number of statistical parameters is not large (< 1000).

In this method, the points are reordered based on the response surface modeling and sampling is stopped when the worst sample is found for each specification. The statistical corners are automatically created from the worst samples. For more information, see Statistical Corner Creation in Virtuoso Variation Option User Guide.

When you select the Highest accuracy-no hard constraint on number of sims option, the Worst Samples method is used to create statistical corners. The figure below shows the form fields for this method:

For information about the common fields, see Performing a Standard Monte Carlo Run.

Note the following additional field values available for the Worst Samples method:

For information about how to create statistical corner using the advanced methods, see Statistical Corner Creation in Virtuoso Variation Option User Guide.

Creating Statistical Corners using High Yield Methods

The high yield estimation methods are available only when you have the Virtuoso Variation Option (VVO) license.

While verifying the yield, when you specify a target yield greater than 3 sigma in the Monte Carlo form, the method in Advanced - Show All Options section is automatically changed to Scaled-Sigma Sampling. In addition, for high target yield values, the Worst Case Distance method is also available that you can select in the Method drop-down. For more information about these high yield estimation methods see the below sections:

Creating Statistical Corners from Existing Run History

After running Monte Carlo simulations, you can analyze the yield and identify the specifications for which the results need improvement. You can then create statistical corners to be used in further analysis and design optimization.

To create statistical corners from the Monte Carlo results, right-click the specification row in the Results tab and choose one of the methods shown in the figure below.

For more information about these methods, see Creating Statistical Corners in Virtuoso ADE Assembler User Guide.

Running Confidence Interval - Autostop Method

The Confidence Interval - Autostop method automatically stops Monte Carlo run when the confidence interval for the output standard deviation divided by the output value range falls below the Stop Percentage value. The default Stop Percentage value is 5%.

In this method, you need not define number of sample points to run, target yield value, and specification targets because Monte Carlo run stops automatically when the stopping criteria is met, where stopping criteria is defined as follows:

To select this method, open the Monte Carlo form, and then choose Confidence Interval - Autostop from the Method drop-down list in the Advanced - Show All Options section.

For more information about this method, see The Confidence Interval - Autostop Method in Virtuoso Variation Option User Guide.

Specifying Instances for Monte Carlo Mismatch and Process Variation

By default, mismatch variations are applied to all subcircuit instances in the design. You can use the Specify Instances for Mismatch form to do one of the following:

To include or exclude specific instances and devices for applying mismatch variations, do the following:

  1. Click the Specify Instances/Devices button on the Monte Carlo form.
    If the button name appears as Specify Instances/Devices (Not Specified), it indicates that no instances or devices are selected. Therefore, mismatch variations are applied to all subcircuit instances in the design. If the button name appears as Specify Instances/Devices (Exists), it indicates that you have selected specific instances and devices to include or exclude for applying mismatch variations.
    The Specify Instances for Monte Carlo form appears.
  2. In the Variation Applied to Selected/Unselected Instances group box, specify the following drop-down options:
    Drop-Down Options

    Variation

    Specifies the type of variation to be applied.

    • All: To apply mismatch and process variations
    • Mismatch: To apply mismatch variations only
    • Process: To apply process variations only

    Selected

    Specifies the type of variation to be applied to the selected instances and devices.

    • Mismatch and Process: To apply mismatch and process variations to the selected instances and devices
    • Mismatch: To apply mismatch variations to the selected instances and devices
    • Process: To apply process variations to the selected instances and devices
    • No Variation: No variation to be applied to the selected instances and devices
    The options change based on the selection done in the Variation drop-down.

    Unselected

    Specifies the type of variation to be applied to the instances and devices that are not selected.

    • Mismatch and Process: To apply mismatch and process variations to the instances and devices that are not selected
    • Mismatch: To apply mismatch variations to the instances and devices that are not selected
    • Process: To apply process variations to the instances and devices that are not selected
    • No Variation: No variation to be applied to the instances and devices that are not selected
    The options available in the drop-down lists depend on the capabilities provided by the Spectre simulator. Spectre 16.1 ISR5 or later provides an additional set of options compared to older Spectre versions.
  3. Do one of the following:
    Select To

    Schematic

    Select the instances you want to include or exclude for applying mismatch variations in the schematic.

    For more information, see Selecting Schematic Instances for Applying Mismatch Variations.

    Master

    Select instances of cellviews you want to include or exclude for applying mismatch variations. All the instances within the selected cellviews will be included or excluded.

    For more information, see Selecting Instances of Cellviews for Applying Mismatch Variations.

    Subcircuit

    Select the subcircuit instances you want to include or exclude for applying mismatch variations. All the instances within the selected subcircuits will be included or excluded.

    For more information, see Selecting Subcircuit Instances for Applying Mismatch Variations.

    You can either select the instances and devices to be included or excluded for applying mismatch variations. You cannot select instances and devices to be included and excluded at the same time.
  4. Click OK to save the changes and return to the Monte Carlo options form.

Selecting Schematic Instances for Applying Mismatch Variations

To select instances you want to include or exclude for applying mismatch variations in the schematic, do the following:

  1. Select the Schematic option.
    The test name is displayed in the Test drop-down list.
  2. Click the Select Instances button. The schematic for the test is opened in a new tab.
  3. In the schematic, select one or more instances. To select more than one instance at a time, do one of the following:
    • Hold down the Shift key and click instances.
    • Click and drag the mouse over the instances you want to select.
      All the instances that are within the yellow bounding box that appears are included in the selection.
      In the following example, instances I1 and I3 that are within the yellow bounding box are included in the selection.
  4. Press the Esc key when you are done.
    The selected instances are displayed in the Choices field and are simultaneously listed in the summary table at the bottom of the form.
  5. In the Choices field, select the instances you want to include or exclude for applying mismatch variations.
    To select multiple instances, hold down the Shift key (for contiguous selection) or the Ctrl key (for noncontiguous selection) and click the next instance to add it to the selection set.
    The instances listed in the Choices field are cross-linked with the schematic. When you click an instance name in Choices, it will be highlighted in the schematic and vice-versa.
  6. Click Apply.
    The selected instances are added for the test. For example, in the following figure shows the instance /I9 added for the given test.

Selecting Instances of Cellviews for Applying Mismatch Variations

To select instances of cellviews you want to include or exclude for applying mismatch variations, do the following:

  1. Select the Master option.
    The Test drop-down list displays the test name opened in the ADE Explorer setup.
  2. Use the Library, Cell and View drop-down lists to select the library, cell and view in which the cellview exists.
    All the instances of the cellview in the design for the test are displayed in the Choices field.
    Note the following:
    • You can set the ignoredLibsForDUT environment variable in your .cdsenv file to specify the libraries that should not be displayed in the Library drop-down list.
    • You can add only instances of cellviews that exist in the design. If instances of a cellview do not exist in the design, the View field displays the text No View indicating that you cannot select instances of the cellview.
      For example, in the following figure, the View field displays the text No View because none of the cellviews of the invdelayTest_Lib4 cell in the myLib library are instantiated in the design for the given test.
  3. In the Choices field, select the cellview instances you want to include or exclude for applying mismatch variations.
    To select multiple instances, hold down the Shift key (for contiguous selection) or the Ctrl key (for noncontiguous selection) and click the next instance to add it to the selection set.
  4. Click Apply.
    The selected cellview instances are added for the test. For example, the following figure shows that the cellview instance /I24 has been added for the given test.
    By default, the Type and Sch/Master/Subcircuit columns are not visible. To view these columns, right-click the title bar and select the name of the column to be displayed in this table.

Selecting Subcircuit Instances for Applying Mismatch Variations

To select the subcircuit instances you want to include or exclude for applying mismatch variations, do the following:

  1. Select the Subcircuit option.
    The test name is displayed in the Test drop-down list.
  2. In the Subcircuit drop-down list, choose the subcircuit whose instances you want to select.
    All the instances of the subcircuit in the design are displayed in the Choices field.
  3. In the Choices field, select the subcircuit instances you want to include or exclude for applying mismatch variations.
    To select multiple instances, hold down the Shift key (for contiguous selection) or the Ctrl key (for noncontiguous selection) and click the next instance to add it to the selection set.
  4. Click Apply.
    The selected instances are added for the test. For example, the following figure shows that the instance /I15 has been added for the given test.
    By default, the Type and Sch/Master/Subcircuit columns are not visible. To view these columns, right-click the title bar and select the name of the column to be displayed in this table.

Manually Specifying the Instances for Applying Mismatch Variations

To manually specify the instances you want to include or exclude for applying mismatch variations, do the following:

  1. Select the Text option.
  2. In the Test drop-down list, choose the test name.
  3. In the Text field, enter the names of the instances you want to select. For example, "I0.I1 I0.I2".
    You can also use wildcard matching to specify the instances. For example, "I0.I1.M8 I0.I2.M* I0.I4".
    If you use / to specify instances in the Text field, the tool will convert it into a period. For example, I0/I1 will be converted as I0.I1.
    Wildcard matching is supported only in MMSIM15.1 ISR8 or a later version. In older simulator versions, text selection will work if the wildcard pattern is not used.
  4. Click Apply.
    The instance selection is added to the test. For example, in the following figure, "I0.I1 I0.I2" and "I0.I1.M8 I0.I2.M* I0.I4" are added for the TRAN and AC tests. For the wildcard entry, I0.I2.M*, the simulator will consider all the instances prefixed with "M" under I0.I2.

Modifying an Existing List of Selected Instances

To modify a list of instances that are already selected for mismatch, do the following:

  1. Select a row from the table at the bottom of the Specify Instances for Mismatch form.
  2. Modify the list of selected instances in the Choices field.
    To select multiple instances, hold down the Shift key (for contiguous selection) or the Ctrl key (for noncontiguous selection) and click the next instance to add it to the selection set.
  3. Click Apply.

Deleting Instances Selected for Applying Mismatch Variations

You can delete the selected instances in two ways:

Running Advanced Methods

When you run a standard Monte Carlo, a single Monte Carlo run history is created and saved in the ExplorerRun.0 file, which is the default history file used to view saved results in ADE Explorer.

When you have VVO license available, you can run yield verification or other advanced methods using ADE Explorer. For all these methods, the group run history is created and the child histories are saved within the ExplorerRun.0 file. In addition, the progress bar at the bottom of the ADE Explorer window shows the information and status of each child history run.

To view the child histories, choose Results – Select. The Select History to View Results form appears that lists the histories of all the intermediate child runs.

Consider the following example in which you run Yield Verification - Reorder Samples method. The Monte Carlo setup has Task selected as Verify Yield, Sigma as 3.0, and Method as Reorder Samples.

When you run the Monte Carlo simulation, a log file appears that displays information about the tasks performed by the tool during the run.

The below steps explain the different intermediate tasks that are performed while the simulation is running:

  1. The run begins with an initial Monte Carlo sampling, in which a small number of samples are simulated in the normal order (a minimum of 50 samples) to build the response surface model for each specification. The Sensitivity Accuracy method is applied that stops simulating new Monte Carlo samples after enough data is available for accurate modeling. The tool calculates the number of statistical parameters and also the maximum number of points needed to get the model accuracy. However, the number of samples are identified based on the design and outputs, and can be less than the calculated value.
  2. After the initial sampling and modeling is complete, the remaining samples are generated but not simulated. The total number of samples required for the run is determined automatically from the target yield and the probability requirements specified in the Monte Carlo form. For each of the remaining samples, the statistical parameter values are generated and the samples are ordered using failure probability modeling. This history of this run is saved in the ExplorerRun.0InitialSampling file.
    The statistical parameters values are extracted for all samples in the ExplorerRun.0.ParameterDump file. The progress bar in figure below shows the status of parameter extraction and dumping.
  3. Now, the Monte Carlo samples are simulated in the highest probability to fail order. The Monte Carlo run stops automatically in both cases—target yield is met or not met.
    • When the yield is low, the failed samples are simulated first.
    • When the yield is high, the run stops early when the specifications pass for the samples with high probability to fail. The remaining samples have low probability to fail.

    If the design has low yield, the failed samples are identified early and the simulation run is stopped. On the other hand, if the design has high yield, it can be determined earlier that the yield target is met if the most probable to fail samples pass the specification. If these worst samples pass the specifications, the run stops early.
    In both the cases, the run stops earlier than the traditional significance test method using a normal random sequence of samples. Significant time saving is observed in high yield cases, since the worst case samples are simulated much earlier in the run.
    Now, to view the result histories of this simulation run, choose Results – Select. The Select History to View Results form appears, as shown in the figure below.
    Notice that the run histories for child runs, as mentioned in the steps above, are grouped under the ExplorerRun.0 file.

After the run is complete, as a post-processing step, you can also create statistical corners for a specification from the generated results. To do this, right-click a result value and choose Create Statistical Corner from Worst Sample or Create Statistical Corner from Percentile.

For example, for the above Monte Carlo setup (Yield Verification - Reorder Samples method), when you create the statistical corner for Voffset using Worst Samples, the Stat_seq_987_params_Voffset corner is created as shown in the figure below.

Viewing Monte Carlo Results

The default results view for the Monte Carlo Sampling run mode is the Yield view. This view displays the overall yield estimate based on the pass or fail status of all the specifications. You can also configure the values that you display in the Monte Carlo results in the Yield view.

To do this, select the options in the Configure what is shown in the table drop-down list available on the Results toolbar, as shown in the figure below:

Also see:

Managing Monte Carlo Results in the Yield View

The following topics explain how you can manage the Monte Carlo results either to show the most relevant data:

Expanding and Collapsing Output Data

After a Monte Carlo analysis run is complete, you can view the outputs for all tests in an expanded or collapsed form in the Yield view on the Results tab of the Outputs Setup pane.

To change the view of the outputs of your ADE Explorer tests on the Results tab, right-click a testbench and choose the following from the context-sensitive menu: •

The following figure illustrates the collapsed outputs for a test in the Yield view on the Results tab:

The Yield view displays the number of output rows number specified in the yieldViewMaxOutputsShowExpanded environment variable in expanded form, but when the number of output rows exceeds this limit, the output rows are collapsed by default and you can expand the required rows.

Viewing Data for a Specific Confidence Interval

During or after a Monte Carlo analysis run, you can specify a confidence level to display the confidence intervals for the estimated yield, mean, and sigma.

To set the confidence level, right-click the gray-colored row at the top and choose Set Confidence Level. The Set Confidence Level form is displayed, as shown in the following figure.

Specify a percentage value in the One-sided Confidence Level field and click OK.

ADE Explorer displays the confidence intervals for the yield, mean, and sigma values, as shown in the following figure.

Figure 8-1 Yield View Displaying Confidence Intervals

To revert to the default view without any confidence interval, specify 0 in the One-sided Confidence Level field.

Filtering Out Data from the Yield View

By default, the statistical calculations displayed in the Yield view are based on all the points in Monte Carlo results. However, you can filter out and eliminate the points that were either partially complete or they resulted in simulation or evaluation errors so that the yield estimate is calculated only on the points for which simulation was successfully completed.

A typical Monte Carlo error point represents a real failure of the design. Therefore, it is recommended to filter the error points only when it is certain that the error points are invalid.

To apply a filter in the Yield view, right-click the gray-colored row at the top and choose Filter Points from Yield Estimate.

Figure 8-2 The Context-Sensitive Menu of the title row

Alternatively, you can right-click the Errors column title in the Yield view and choose the type of filter to be applied.

The Filter Points from Yield Estimate form is displayed, as shown in the following figure.

Select a check box to filter the required type of errors and click OK.

You can select the Points with Partial Data check box to filter data from points that were not simulated completely. By default, Virtuoso includes such points, for which only the partial simulation data is available, in yield calculation.

ADE Explorer filters out the incomplete or error points from the Yield view. The yield values for specifications and the overall yield estimate are updated. The total number of points considered for yield estimate calculation are also reduced to eliminate the points that were filtered out, as shown in the example figures given below.

Figure 8-3 Yield View Before Applying the Error Filter

Figure 8-4 Yield View After Applying Error Filter

Important Points to Note

Generating Plots, Tables, Files, and Reports

After a Monte Carlo run, you can generate plots, tables, files, and reports for your input and output parameters. See the following topics for more information:

Plot/Print versus Iteration

To plot or print the values of outputs or parameters at the end of each iteration, do one of the following:

  1. Click on the Results tab, select a test and choose Plot/Print Versus Iteration.
    Alternatively, switch to the Yield view, right-click a test name and choose Plot/Print Versus Iteration.
    The Plot/Print Versus Iteration form is displayed.
  2. From the drop-down list on the top-left corner of the form, select the type of results for which you want to plot or print values.

The default value is Outputs. When Outputs is selected, the field beneath this list box shows the names of all the outputs. In addition, the Overall Yield Estimate is also listed on top.

When you select Statistical Parameters from the Select from drop-down list, the names of all the parameters are displayed in the field beneath the list box.

Overall Yield Estimate is useful in plotting the yield estimate graphs for a Monte Carlo simulation.
  1. From the scroll list given below the Select from list, select the names of one or more output or parameters for which you want to print or plot the result values at the end of each iteration.
  2. In the What to plot/print section, select appropriate check boxes to specify the types of values to be plotted or printed.

You can choose to print only the result values or the calculated yield, mean or sigma values for each iteration.

  1. In the Sort by list, specify the sorting criteria.

You can sort by iteration number or by the result values. The printed results are sorted in the ascending order.

  1. Select the Plot check box to plot the results.
    You can also choose a plotting mode from the drop-down list given to the right.
  2. Select the Print check box to print the results.
  3. Click Apply to print or plot as per the specifications given on this form.
    The iteration versus value table for the selected outputs or parameters are displayed in a Results Display Window, as shown below.
    The plots of the selected options are displayed in the Virtuoso Visualization and Analysis XL window as shown below.

    You can incrementally change the options on the Plot/Print Versus Iterations form and print parameters and outputs. In that case, the incremented values are appended to the end of the Results Display Window. Extra columns are also added to the right.

The plotted results are displayed in the Virtuoso Visualization and Analysis XL window. Incrementally displayed plots are shown in the same or new window or subwindow as per the specified plotting mode.

Important Points to Note

Printing Correlation Tables

To print a table showing the correlation coefficients of each parameter with each of the other parameters sorted from most correlated to least correlated for each combination of parameters, do one of the following:

  1. Click on the Results tab, select a test and choose Print Correlation.
    Alternatively, switch to the Yield view, right-click a test name and choose Print Correlation
    The Correlation Table form appears.
  2. In the Suppress Printout for Correlations Less Than field, type a minimum correlation value.
  3. Click OK.
    Pairs of parameters with correlation coefficients greater than the value you typed in the Suppress Printout for Correlations Less Than field appear in a table in a Results Display Window.
    Each row lists the pair of measurements considered, the mean and standard deviation of the first measurement, the mean and standard deviation of the second measurement, and the number of data points included in the calculation.

Plotting Histograms

You can plot histograms for the outputs and statistical parameters from Monte Carlo results.

To plot histograms, do the following:

  1. Click on the Results tab, select a test and choose Histogram.
    Alternatively, switch to the Yield view, right-click a test name and choose Histogram.
    The Plot Histogram form appears.
    By default, Outputs is selected from the drop-down list on the top-left corner of the form and a list of names of all the outputs (from the Outputs Setup tab) is also listed in the list given below that.
  2. Select one or more output names that you want to plot on the histogram.
    You can drag or Shift-click to select a group of adjacent outputs or Control-click to select individual outputs.

Alternatively, you can choose to plot histograms for statistical parameters. For this, select Statistical Parameters from the drop-down list on the top-left corner of the form and select the names of one or more parameters from the list below it.

If the list of outputs or statistical parameters is long, you can use the search field to search for a specific output or parameter name.
  1. Specify a numeric value in the Number of Bins field.

The default value is 10.

You can change the default value of this field by setting the histogramBins environment variable. You can also change the default maximum value for this field from 1000 by setting the maxHistogramBins environment variable.

  1. Select an appropriate histogram graph type from the Type drop-down list. You can select one of the following:
    • standard
    • pass/fail
    • cumulative line
    • cumulative box
  2. (Optional) Specify a plotting mode to specify how to plot graphs when a Virtuoso Visualization and Analysis XL window is already open. The default plotting mode is Replace.
  3. (Optional) Select the types of annotations that you want to display on the histogram plots. You can select one of the following annotation types:
    • Density Estimator: Plots a curve that estimates the distribution concentration.
    • % Markers: Shows vertical marker lines in the histogram at percentages corresponding to 1, 2, and 3 standard deviations of a normal distribution. If the distribution of the output is normal, these lines will be at the same position as the sigma lines. You can display the marker lines to get an idea about the distribution of points.
    • Std Dev Lines: Shows the standard deviation lines in the graph indicating the mean, mean – standard deviation, and mean + standard deviation values.
    • Show Points: Shows points on the histogram.
  4. (Optional) Select the Normal Quantile Plots check box to plot the quantile plots (Q-Q plots).
  5. If you have selected multiple corners for a histogram, click Combine. For more details, refer to Plotting Combined Histograms.
  6. Click OK.
    The histogram plot appears in the Virtuoso Visualization and Analysis XL window, as shown below.

The standard deviation lines indicate how the data points are spread, far away or close to the mean values. The gap between each vertical line is equal to one standard deviation.

The example histogram given below shows how % markers are displayed.

The vertical marker lines are placed at percentages corresponding to 1, 2, and 3 standard deviations of a normal distribution. The following intervals are bound by vertical lines and labeled, where, a label between two marker lines displays the percentage of points that fall in the given range:

You can display the marker lines to get an idea about the distribution of points. If the distribution of the output is normal, these lines will be at the same position as the sigma lines.

Important Points to Note

Plotting Combined Histograms

When the results of a Monte Carlo simulation contain outputs for multiple corners, you can plot a combined histogram for the outputs of more than one or all the corners. You can plot a combined histogram in any one of the following two ways:

The Virtuoso Visualization and Analysis XL window is opened displaying a combined histogram for all the selected outputs as well as an individual histogram for each output.

By default, all the histograms are visible. However, you can use the visibility (Vis) marker in the graph legend to control the display of an individual histogram.

Important Points to Note

Normal Quantile Plots

A normal quantile plot (Q-Q plot) helps in comparing the result values for an output with the values predicted for a standard normal distribution. Based on the threshold value, a Q-Q plot may be in the following three states:

In the plot shown above, Y-axis shows the Monte Carlo results for an output (sample data) and the X-axis shows the normal quantiles of that sample data, which is calculated with mean=0 and standard deviation=1.

You can compare this normal quantile graph (shown in red) with the linear trend line, which is a reference line that signifies how the data is plotted if it is perfectly normally distributed. The correlation between the normal quantiles and the sample data is a good measure to check how well the data is modeled by a normal distribution. Points of a normal quantile graph that fall on the linear trend line indicate a higher positive correlation. Points close to this line indicate that the data is close to normal distribution and the points far from this line indicate that the data is not close to normal distribution.

The correlation coefficient (r) of the points in the plot is calculated and displayed in the legend. This value indicates the relationship of the two variables, sample data and the normal quantiles. This value ranges between -1 and 1, where the value of 1 indicates a perfect positive correlation, -1 indicates a perfect negative correlation, and 0 indicates no correlation between the two.

Cross-Probing Results from Histogram Plots

By default, the histogram bars are filled with a transparent or alpha color to make the data points clearly visible. When you click any point on the histogram, the Detail view of results is opened in the Results tab and the result corresponding to that point is selected, as shown below.

Similarly, you can cross-probe a result value from the Results tab to the histogram.

Cross-probing is supported for the histograms plotted for outputs as well as statistical parameters. When you select a point on the histogram plotted for a statistical parameter, all the outputs of the corresponding design point are selected in the Detail or Detail – Transpose results views. The following figure shows an example of a cross-probed point from a histogram to the corresponding design point in the Detail view.

If you do not need to cross-probe results from histogram, clear the Show Points check box on the Plot Histograms form or on the Plotting/Printing Options form. You can also set the showHistogramPoints environment variable to nil. This fills the bars with solid red color and disables cross-selection from histogram points. Alternatively, you can clear the Symbols On command on the context-sensitive menu of a histogram.

You can also change the style of data points by using the Symbols command on the context-sensitive menu of a histogram and select any shape to be used as symbol.

Plotting Scatter Plots

To plot a scatter plot depicting the relationship between the pairs of outputs or parameters in the Monte Carlo results, do one of the following:

  1. Click on the Results tab, select a test and choose Scatter Plot.
    Alternatively, switch to the Yield view, right-click a test name and choose Scatter Plot.
    The Create Scatter Plot form is displayed.

The names of all the outputs are displayed in the X-axis Data and Y-axis Data lists. To view the list of parameters, select Statistical Parameters from the drop-down lists given on top.

  1. To make an output pair, select an output from each one of the X-axis Data and Y-axis Data list.
  2. Click Add.

Similarly, you can select more outputs or parameters. The selected pairs appears in the list box shown in the bottom right corner of the form.

  1. (Optional) Select a plotting mode from the Plot Mode list. The default value is Replace.
  2. (Optional) Click Best Fit Line to draw a least-squares-fit line for each parameter pair.
  3. Click OK.
    The scatter plot is displayed for the selected output or parameter pairs in the Virtuoso Visualization and Analysis XL window.

An example is shown below.

Note the following values in the trace legend:

Exporting Results to a CSV File

To export Monte Carlo results to a CSV file:

  1. Click on the Results tab, select a test and choose Export Data to CSV.
    The Export Monte Carlo Data to CSV form is displayed.
  2. Click Browse to open the Select Export Directory form or manually specify the path to the export directory.
  3. Click OK.

Viewing Statistical Parameters for Monte Carlo Samples

After running a Monte Carlo analysis, you can switch to the Detail view on the Results tab to view the detailed results for each Monte Carlo sample. If the results for any sample need further investigation, you can view the statistical parameters for that sample so that you can debug your design.

To view and print the statistical parameters for a Monte Carlo sample, do the following:

  1. In the Select the results view drop-down list on the Results tab, select Detail.
    The Detail view is displayed.
  2. Right-click a result for a sample in the Nominal column and select Print Statistical Parameters.
    The statistical parameters for that sample are displayed in a Results Display Window.

Displaying Statistical Parameters of Statistical Corners

After you create the statistical corners, you can view them in the Corners section of the Setup assistant. You can also view them in the Corner Setup form, as shown in the figure below:

The Design Variables row displays the statistical parameters count in the x stat vars format, where x indicates the number of statistical parameters. To view the complete list of these parameters, double-click in the Design Variable cell for a statistical corner. An editor window appears that displays the complete list of statistical parameters, as shown in the figure above.


Return to top
 ⠀
X