Product Documentation
Virtuoso Electrically Aware Design Flow Guide
Product Version IC23.1, November 2023

2


Running Simulations and Saving Electrical Data

The first step towards electromigration checking is to run simulations for your design and to save the electrical data. This chapter describes how to use the EAD menu in ADE Assembler to save the electrical data in the simulation results. It further describes how to explore the electrical data in the EAD view on the Results tab.

This chapter includes the following topics:

For details on the other features in ADE Assembler, see the Virtuoso ADE Assembler User Guide.

Setting up Testbenches and Corners

Open your design in ADE Assembler, and set up the tests and corners for simulation. For details on how to set up the simulation environment, refer to the following topics:

There is no specific setting for the electromigration analysis in the test and corner setup. However, it would help to note the following points:

If there are multiple tests, ensure that they all include a common design.

Preparing the EAD Setup for Simulation

Electromigration analysis is done using the currents loaded to the terminals of a net. Therefore, before running a simulation, you need to specify the terminals for which you need to save the current data. You can also specify if you want to save the complete data or process the data and save only selected values.

The following sections explain how to use the EAD Setup form to specify the EAD-related settings before running simulations:

Enabling the EAD Mode

To enable the EAD mode, do the following:

  1. Choose EAD — Setup.
    The shortcut for the EAD menu is Alt+E.
    The EAD Setup form is displayed.
  2. Select the Enable Electrical Data Capture for EAD Flow check box.
    This ensures that ADE Assembler saves the electrical data in every simulation run as per the settings given in the other group boxes of this form.
    Note that when you select this check box, all other sections on this form are activated, as shown below.
  3. Select the Pre EM Check check box if you want to enable the Pre-EM check mode.
  4. Ensure that the design for which you need to perform electromigration analysis is displayed in the Design Selection section.
    If required, you can select a different library or cell name for which you need to enable the EAD mode.
    Important Points to Note
    • For the selected design cell, the tool uses the first available schematic in the view name list specified by the viewNameList environment variable set for Virtuoso Schematic Editor.
    • You can set default values for the fields in the EAD Setup form using the corresponding environment variables. For the list of variable names, see Appendix B.

Specifying the Save Options

You can specify the following save options:

Specifying the Signals to Save Electrical Data

The Save Options section of the EAD Setup form specifies the signals for which you need to save the electrical data from the simulation results.

You can select any one of the following two options:

Choosing the Type of Current to be Saved

For the signals specified in the previous section, you can choose to save the DC current, average current, or waveforms.

You can select the following three options to specify the type of electrical data to be saved:

According to the specified current type, ADE Assembler calculates the DC or average current for terminals and saves one value per terminal for each simulation.

Important Points to Note

Choosing a Method to Save the Current Data

Data requirement for static and dynamic EM analysis are different. Therefore, depending on the volume of current data and the type of electromigration checks to be run, you need to choose a method to save the data.

The Waveform Processing Options group box on the EAD Setup form provides options to specify the method to be used.

You can choose from the following options:

Selecting Signals to Save Currents

If you have chosen to save the current data for selected devices and terminals in the design (that is, you have chosen the Selected Signals options on the EAD Setup form), select the required nets and terminals, and create electrical selection setups using the Parasitics & Electrical Setup assistant in Schematic Editor XL.

If you do not select any signal and run a simulation to save the electrical data, ADE Assembler displays the following message and prompts you to either continue the simulation with EAD mode disabled or run the simulation again after selecting instance terminals on the schematic of the DUT.

Similarly, in the Voltage Dependent Rules flow, if you do not select any net, a similar message is displayed to either disable the EAD mode or to select nets on the schematic.

The Create menu on the Parasitics & Electrical Setup toolbar provides commands to add selected terminals to an electrical selection setup.

You can use the following commands to create selection setups or to add the selected terminals to an existing setup:

For example, to create an electrical selection setup for the terminals associated with one or more instances, you need to perform the following steps:

  1. In the Design Environment XL window, select EAD — Select Signals.
    The schematic view of the design opens with the Parasitics-Estimates workspace, which displays the Parasitics & Electrical Setup assistant.
  2. Ensure that the schematic is opened in the edit mode.
  3. Press the Ctrl key and click on the desired instances in the design schematic.
  4. In the Parasitics & Electrical Setup assistant, select Create – Select Inst-Terms.
    A new selection setup with a default name, ElectricalSetup_SignalSelection, is created and added to the existing list for the design, as shown in the figure given below.
    In the example shown above, instances M0 and M2 were selected to create an electrical selection setup for all the terminals of these two instances. The tool extracted the details of terminals and listed their names under the ElectricalSetup_SignalSelection selection setup. The count of the selected terminals is also displayed to the right of the selection setup name.
  5. (Optional) Select a particular terminal name in the terminal list of the selection setup and edit the properties, if required.
  6. Select Save Estimates on the Parasitics & Electrical Setup toolbar to save the new selection setup.
    The tool internally saves the electrical selection setups in the constraint view of the design.
    You can modify an existing electrical selection setup by adding more instances or nets to the existing list.

Running Simulations and Viewing Output Current Data

After specifying the test and corner details and creating the EAD setup, click Run Simulation on the Run toolbar. The EAD flow supports all simulators with the following limitations:

ADE Assembler runs the simulations and displays the results on the Results tab. When the EAD mode is enabled, by default, the results are displayed in the EAD results view.

If the required license, 95510: Virtuoso_Variation_Analysis_Op, is not available before running the simulation, ADE Assembler displays a message box to confirm if the simulation is to be continued without enabling the EAD flow. If you click OK, ADE Assembler clears the Enable Electrical Data Capture for EAD Flow check box on the EAD Setup form form and proceeds with the ADE Assembler simulation with EAD disabled. To enable EAD in the subsequent runs, you need to select the Enable Electrical Data Capture for EAD Flow check box again.

You can now view the electrical data in the results and create datasets to be used for electromigration analysis in Layout EAD.

The following sections describes how to view the electrical data from the simulation results and how to create datasets that are referenced in the layout view.

Viewing the Current Data

The current data, Idc and Iavg, for the selected signals is saved as part of the testbench results. To view this data, ensure that the results of the correct history are loaded and select the EAD view on the Results tab of the Design Environment XL window.

The EAD view is displayed, as shown in the figure below.

If the simulation is run for reliability analysis, a few extra data filter dorp-down lists are displayed in the EAD results view. For more details, refer to Viewing the Current Data for Reliability Analysis Results.

By default, the data for the first test, first design point and the first corner in the ADE Assembler results database is displayed in the results table. The test name, design point number, and the corner name is displayed in the title of the result tree node, as highlighted below.

The result tree for every corner shows the DC current and average transient current values in the Idc and Iavg columns, respectively. In addition, if you chose to save the waveforms for RMS and peak checks, the Isignal column shows waveform icons. This indicates that waveforms have also been saved in the results directory. You can click the waveform symbol in the Isignal column to plot the waveforms.

You can change the values in the various drop-down lists given at the top of the results table to apply a desired filter criteria.

The drop-down lists that control the display of the current data in the results table are shown below.

Drop-Down List Displays...

Test

the current or voltage data for the selected test. By default, name of the first test in the results database is selected.

Point

the current or voltage data for the selected design point. By default, the first design point is selected.

Corner

the current or voltage data for the selected corner. By default, name of the first corner saved in the results database is selected.

DUT Masters

the current or voltage data for the selected design master.

By default, name of the DUT that you selected in the EAD Setup form is selected. For hierarchical designs, if you had chosen to traverse through multiple levels, the names of the masters for instances within the traversed design hierarchy are listed in the DUT Masters list. You can select any DUT master name to view the current data for it.

Select ALL to display the current data for all the DUT masters. Note that this option is used only to display the current data. You cannot create a dataset for all the DUT masters.

DUT Instance

the current or voltage data for the selected design instance. You can either select the name of another instance to display the current data for it or select ALL to display the current data for all the instances in the DUT.

Group By

A flat view of the current or voltage data for all the signals, or groups the rows according to the selected grouping parameter.

The available grouping parameters are listed below.

  • Flat: Displays a flat view with the current data for all the design instances, and signals (or terminals). This is the default selection.
  • Instance: Re-groups the current data instance-wise.
  • Instance Master: Re-groups the current data instance master-wise.
  • Signal: Re-groups the current data signal-wise.

For example, signal-wise regrouping displays the current data, as shown below.

Viewing the Current Data for Reliability Analysis Results

When the ADE Assembler simulation is run for reliability analysis, and the results data is saved for fresh, stress, and aged tests, additional drop-down lists are displayed on the Results tab, as shown below.

Using the RelX drop-down list, you can choose the name of reliability analysis setup for which you need to view the results. Using the Age field, you can choose the age for which you need to view the results of fresh and aged tests.

Note that reliability analysis name and age value are also displayed in the title of the result tree node.

Creating Datasets

For electromigration analysis, you need to use the current data in the layout view. For that, you need to save the data in datasets, which can be further referenced from Virtuoso Layout EAD.

For more details on how to use a dataset in the layout view, refer to Loading an EAD Setup in Chapter 3.

To save the current data displayed in the results table, open the results in the EAD results view and perform the following steps:

  1. Select appropriate values in the following drop-down lists:
    Drop-down List Select...

    Test

    Name of the test for which you want to save the current or voltage data

    Point

    Point ID

    If simulation results have only voltage data, this field is disabled when the environment variable ei.dataSet excludeCurrentsInCI is set to nil and the environment variable ei.setup enableWorstCaseDatasetForVoltages is set to t.

    Corner

    Name of the corner for which you want to save results. Select ALL to save the results for all the corners.

    When you select ALL, multiple datasets are created; one for each corner. Name of a dataset is the string specified in the DUT Dataset field followed by _<incremental_count>.

    If simulation results have only voltage data, this field is disabled when the environment variable ei.dataSet excludeCurrentsInCI is set to nil and the environment variable ei.setup enableWorstCaseDatasetForVoltages is set to t.

    DUT Masters

    Name of the DUT master. Select ALL to save the results for all the instance masters in the design hierarchy. When you select ALL, DUT Instance is also set to ALL.

    The dataset table is not visible when you select ALL in this drop-down list. To view the datasets, select any value other than ALL.

    DUT Instance

    Name of the DUT instance for which you want to save results in the dataset. Select ALL to create dataset for all the instances in the master selected in DUT Masters.

    If simulation results have only voltage data, this field is disabled when the environment variable ei.dataSet excludeCurrentsInCI is set to nil and the environment variable ei.setup enableWorstCaseDatasetForVoltages is set to t.

    If the design specified in the DUT Masters drop-down list is not editable, the DUT Dataset field and the Create command button are disabled.
  2. Specify a name for the dataset in the DUT Dataset field. Depending on the number of datasets being created, if multiple datasets are created, the name specified in this field is used as a prefix.
    If no name is specified for the dataset, the default name dataset_<incremental_count> is used to name the dataset. For more details on the naming convention of the datasets, refer to Important Points to Note.
  3. Click Create.
    Depending on the filters on the EAD results view and your choice to save the current or voltage data on the EAD Setup form, ADE Assembler creates one or more datasets as described below.

How many datasets are created?

The datasets are created for unique combinations of values in the Point, Corner, DUT Masters, and DUT Instance drop-down lists. For example, if the Corner drop-down list is set to All and an instance name is selected in the DUT Instance filter, a separate dataset is created for each corner. The number of datasets created is the total number of corners. Each dataset contains results only for the selected DUT instance.

Similarly, if both the Corner and DUT Instance drop-down lists are set to All, a dataset is created for each unique combination of point, corner, and instance. The total number of datasets created is the product of the number of corners and the number of instances. Each DUT master can have a different set of DUT instances. Therefore,

If the DUT Masters drop-down list is set to ALL, multiple datasets are created, one for each unique combination of corner, DUT master, and DUT instance. The number of datasets created for each DUT master is the product of the number of instances it contains and the number of corners.

If the environment variable ei.dataSet excludeCurrentsInCI is set to nil and the environment variable ei.setup enableWorstCaseDatasetForVoltages is set to t, only a single worst-case simulation voltage dataset having worst Vmin and Vmax values for all nets is created.

Where are the datasets saved?

These datasets are saved in the constraint view of the design. If the constraint view is not editable, the tool displays the following message and prompts you to confirm if the constraint view can be modified.

Click Yes to make the constraint view editable.

If you are sure that ADE Assembler can always make the constraint view editable and it is not required to confirm every time before editing, set the warnOnCacheEdit environment variable to nil. ADE Assembler will suppress the display of the message box shown above. Instead, it makes the constraint view editable and creates the dataset. After completion, it displays the following information message is displayed in the CIW:
--> Creating Dataset dd1 on DUT Master: "<lib-name>", "<cell-name>", "<schematic-view-name>"
INFO (CMGR-5020): Created constraint of type 'currentData' in cache '<constraint-view-name>' with name '<dataset-name>'.

Next, the tool displays the following message and confirms that the constraint view has been modified and prompts you to save the changes.

Click OK to save the changes.

To suppress the display of the message box shown above, set the warnOnCacheSave environment variable to nil. ADE Assembler will save the constraint view and display the following information message in the CIW.
INFO (CMGR-5030): "<constraint-view-name>" saved.

ADE Assembler saves the dataset. If a dataset already exists with the given name, ADE Assembler displays a message box to confirm that you want to delete the existing dataset and overwrite it with the new one. To suppress the display of the message box, set the warnOnDatasetOverwrite environment variable to nil.

Important Points to Note

For example, if the value in the DUT Dataset field is myDataset and the results contain the current as well as voltage data, the datasets are named as myDataset_0_I, myDataset_0_V, myDataset_1_I, myDataset_1_V, and so on.

Viewing Datasets

The datasets that contain the current data are saved in the constraint view for the design under test. You can view datasets for a design in any of the following two ways:

Select the name of the view from the ADEXL View or Maestro View drop-down list. All the histories for that view are listed in the History drop-down list.

Note that the name of the drop-down list for view selection changes depending on the current tool being used to to run simulations and create datasets. For ADE Assembler, the field name is Maestro View.

By default, the History drop-down list is set to ALL, but you can select a specific history for which you want to view the datasets. All the datasets for the selected history of the given adexl or maestro view are listed in the dataset table.

Expand a dataset to view details, such as the scaling factors (Iavg and Idc), test name, corner name, and temperature values.

When you expand the dataset name, it does not show any details. Only a dummy member, dummyMember, is shown. This is because the dataset does not include any schematic element. Instead, it contains only the references to the current data in the results database.

Note the following points regarding datasets:

Filtering Signals in the EAD Results View

To filter signals in the EAD results view:

Search results are displayed interactively as you type.

You can also use the following advanced filter options to define the search criteria.

Advanced Filter Options Description

Find With

Using this option, you can set the filter criteria to search:

  • All of the words specified in the Search field
  • Any of the words specified in the Search field
  • The exact phrase specified in the Search field
  • Results that do not contain the words specified in the Search field

Match Word

Using this option, you can set the filter criteria to match:

  • Substring: displays the column with the values containing the filter criteria
  • Prefix: displays the columns with values starting with the filter criteria
  • Exactly: displays the columns with values matching exactly with the filter criteria
  • Suffix: displays the columns with values ending with the filter criteria

Using Case

Using this option, you can set the filter criteria to:

  • Insensitive Match: filters the results regardless of the case specified in the filter field
  • Sensitive Match: filters the results matching the case specified in the filter field

Working with VDR Datasets

The VDR Dataset form enables you to view, refresh, and delete voltage information derived from simulation datasets. The form lists the nets in each dataset and the minimum and maximum voltages allowed for each net. You can also create a new CSV dataset from an existing CSV file.

This feature requires an EXL license or an MXL license.

Opening the VDR Dataset Form

Ensure that the Enable Electrical Data Capture for EAD Flow option is selected on the EAD Setup form before you open the VDR Dataset form.

To open the VDR Dataset form, do one of the following:

The VDR Dataset form has following tabs:

Viewing Simulation Datasets

To view voltage datasets generated after a simulation is run for a DUT:

  1. Open the VDR Dataset form. For more information, see Opening the VDR Dataset Form.
    The VDR Dataset form opens, displaying a list of simulation datasets available for the selected DUT.
  2. In the Name column, click the '+' icon next to a dataset name to view the minimum and maximum voltage for the nets in the dataset.
  3. Double-click the cells in the Vmin and Vmax columns to edit the minimum and maximum voltages for the nets in the datasets.
    The Save as CSV Dataset command appears dimmed and becomes available only when you edit a simulation dataset.
  4. Click Save as CSV Dataset to save the edited simulation dataset as a CSV dataset.
    The edited simulation dataset is saved as CSV dataset with the name nameOfSimulationDataset_suffix and displayed in the CSV Dataset tab of the VDR Dataset form. The default suffix for the CSV dataset name is csv. A CSV file with the same name is also saved in the current working directory.
  5. If new simulations have been run, thus creating new simulations datasets, you can view them by clicking the Refresh command.

Deleting Simulation Datasets

To delete simulation datasets:

Exporting Simulation Datasets

To export simulation datasets in a CSV file:

  1. On the Simulation Dataset tab, select the name of datasets that you want to export, and then click Export.
    The EAD Save CSV For Simulation Dataset form opens.
  2. In the File name field, enter the name of the CSV file in which you want to export the simulation dataset.
  3. Click Save.
    The simulation datasets are exported to a CSV file. You can use this file to create CSV datasets.

Viewing CSV Datasets

To view CSV datasets:

  1. Click the CSV Dataset tab on the VDR Dataset form to display a list of available CSV datasets.
  2. In the Name column, click the '+' icon next to a dataset name to view the minimum and maximum voltage for the nets in the dataset.
  3. You can also edit the values of minimum and maximum voltages for a net by double-clicking the cells in the Vmin and Vmax columns against that net.
  4. Click Refresh to view any new CSV datasets that have been created after you have opened the VDR Dataset form.

Creating a CSV Dataset

To create a CSV Dataset from a CSV file:

  1. On the CSV Dataset tab, click Create CSV Dataset.
    The Create Dataset From CSV form opens, displaying the library cellview information of the currently selected DUT master.
  2. In the Dataset Name field, either enter a name with which you want to create the CSV dataset or select an existing name from the drop-down list.
  3. In the Select CSV File field, click the ellipsis (...) command to open the Choose a File form.
  4. Select a CSV file that you want to use to create the CSV dataset, and then click Open.
    The CSV file must have entries for maximum and minimum voltages for nets.
  5. Click OK on the Create Dataset From CSV form.
    The CSV dataset is created and added to the list on the CSV Dataset tab.

Deleting CSV Datasets

To delete CSV datasets:

Exporting CSV Datasets

To export CSV datasets to a CSV file:

  1. On the CSV Dataset tab, select the name of datasets that you want to export, and then click Export.
    The EAD Save CSV For Simulation Dataset form opens.
  2. In the File name field, enter the name of the CSV file in which you want to export the dataset.
  3. Click Save.
    The datasets are exported to a CSV file.

Return to top
 ⠀
X