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

3


Running the Pre-Layout Electromigration Check

Pre-layout EM check on a schematic help you find whether the MOS device terminals carry more current than the maximum allowed current based on the pin layer shape and size. The limits for each conductor are specified in the EAD technology file. In case of EM violations, EAD may recommend number of fingers or fins for a given device to be EM-compliant.

PreEM check reads the values set for the environment variable layoutXL lxFingeringNames to recognize the names of the device finger CDF parameters.

You can run the pre-layout EM check (pre-EM check) on the specified layers of a Pcell. This helps in identifying and resolving EM violations even before creating the actual circuit layout.

Running the pre-EM check automatically creates a scratch layout view based on the device parameters that you specify. It then runs the EM check on the scratch layout and generates a report that lists EM violations. The report also provides recommendations on how to resolve the reported violations, if any.

The pre-EM check reports violations at the terminals where J/Jmax ratio is greater than or equal to 1. The default threshold percentage value is 100. You can modify the threshold value using the preEMViolThresholdPercent environment variable.

Setting Up Environment Variables for the Pre-EM check

Ensure that you set the following environment variables before running the pre-EM check:

You can also use the Pre-EM Setup form to specify the extraction setup, extraction corner, and pre-em check layers.

To set these options:

  1. From the menu bar of the ADE Assembler, choose EADRun Pre-EM Check.
    The Pre-EM Setup form opens.
  2. In the Extraction Setup field, specify the path to the file containing the setup options.
    For example: "./cadence/dfII/EAD/1/setup/gpdk45.ini"
  3. In the Extraction Corner field, specify the extraction corner that is mapped to an ICT file or eadTechFile to be used for extraction and the source of the EM models to be used for EM Checking.
    For example, nominal.
  4. In the Pre-EM Check Layers field, specify the comma-separated list of layers on which pre-EM check is performed.
    For example, Via1, Via2, Via3
  5. Click OK.

Related Topics

The Pre-EM Setup Form

Running the Pre-EM Check

You can run the pre-EM check as part of simulation runs in ADE Explorer, and ADE Assembler. For this, you need to first enable the pre-EM check mode in EAD setup.

During the simulation run, a scratch layout is internally created and the pre-EM check is run on the scratch layout. After the simulation is complete, electrical data is automatically saved as CSV datasets and a pre-EM report is generated.

Follow these steps to enable and run the pre-EM check:

  1. From the menu bar, choose EAD – Setup.
    The EAD Setup form is displayed.
  2. Select the Enable Electrical Data Capture for EAD Flow check box.
  3. Select the Pre EM Check check box.
    The Pre EM Check check box is enabled only if the Enable Electrical Data Capture for EAD Flow check box is selected.
  4. Ensure that the design for which you need to perform electromigration analysis is displayed in the Design Selection section.
  5. Specify the signal and methods to save electric data. For more information about how to set these options, refer to Preparing the EAD Setup for Simulation.
  6. Click OK.
  7. On the Run toolbar, click Run Simulation.
    If simulation results are already available, select EADRun Pre-EM Check to run the pre-EM check. This helps you save time by eliminating the need of running the simulation again.
    The steps to run the pre-EM check are same in ADE Explorer and ADE Assembler.

After the simulation finishes, the EM report opens, displaying the details of the instances and their terminals where EM violations are reported. The report also provides recommendations on how to resolve the reported violations. For more information about the pre-EM report, refer to Pre-EM Report.

If you want to view the EM report again, click View PreEM Violations in the EAD results view as shown in the following figure.

The View PreEM Violations command is displayed only if you have enabled the pre-EM check in the EAD setup.

Pre-EM Report

The pre-EM report provides the following details:

To view the detailed pre-EM report, ensure that the preEMDetailReport environment variable is set to t.

The following figure shows an example of a pre-EM report:

The Pre-EM checker reports a warning for instance terminals, if any of the following condition is met:

If any of the instance terminals have reported a warning, WARN is printed in the CHECK STATUS for that instance in the Pre-EM report.

If any of the instance terminals have reported a fail status, FAIL is printed in the CHECK STATUS for that instance in the Pre-EM report.

The priority order of the statuses is as follows: FAIL > WARN > PASS.

You can also view the details of the reported violations in the Annotation Browser of Virtuoso Schematic Editor, as shown in the following figure.

If required, you can view the saved CSV datasets by loading the history results in ADE Assembler. To view the datasets, in the EAD results view, from the Maestro View and History drop-down lists, select ALL. The CSV datasets are displayed in the datasets table as shown in the following figure.

Performing What-If Analysis Based on the Pre-EM Check Results

After analyzing the violations reported in the pre-EM check, you can make the suggested changes in the design, and verify the results by running the pre-EM checks again in ADE Explorer, or ADE Assembler.

Alternatively, you may want to reuse the results saved in the CSV datasets, and run a what-if analysis by making some changes in the setup, for example, changing the EM temperature or electrical data in the dataset. You can then run the EM checks using the EAD Browser in Virtuoso Schematic Editor, as explained below.

Preparing the Setup for What-If Analysis

Follow these steps to prepare the set up for what-if analysis:

  1. Open the design under test (DUT) in Virtuoso Schematic Editor.
  2. From the schematic editor menu, choose Launch Plugins EAD.
    The EAD Browser assistant is displayed.
  3. Select the No Layout check box.
  4. In the Use Setup section, ensure that the correct setup is selected in the Setup Name drop-down list.
  5. Click Start EAD.
  6. Import the dataset that has the latest electrical data used for running the pre-EM check by performing the following actions:
    1. Click the Update with latest electrical data from simulation button to reload the electrical data for the datasets that were saved during the last simulation run.
    2. From the Electrical Dataset drop-down list, select the CSV dataset that was created after the simulation run.
      The CSV datasets are available only if you have run the pre-EM check in ADE Assembler or ADE Explorer.
  7. By default, the EM checker is disabled in the Schematic EAD. To enable the EM checker, perform the following actions:
    1. On the EAD Browser toolbar, click the drop-down arrow next to Run EM check to display additional commands.
    2. Click Disable EM Checker to remove the check mark.
      Click Close if a message box appears, displaying the temperature mismatch warning.

After the setup is ready, you can run what-if analysis. The following sections describes a few examples of performing the analysis:

Editing Terminal Currents in Datasets for What-If Analysis

Follow these steps to edit the values of terminal current and to analyze its effect on EM violations:

  1. In the EAD Browser of Virtuoso Schematic Editor, click the EM tab.
    If the EM tab is disabled, first enable it by removing the check mark from the Disable EM Checker command in the EAD Browser toolbar.
  2. Select a net in the summary pane and click Edit currents on the EM tab toolbar to display the Terminal Electrical Values table. The Terminal Electrical Values table in the detail pane lists all the terminals on the selected net with the electrical values from the dataset.
    Ensure that you have selected the correct dataset from the Electrical Dataset drop-down list.
  3. Double-click the cell next to the terminal to edit its current value.
  4. On the EAD Browser toolbar, click Run Pre-EM Checker ( ).
  5. Select the location where you want to save the log file that contains the detailed report of EM analysis, and then click Save.
    The EM report opens. Analyze the effect of changing the terminal current on the EM violations.

Editing EM Temperature for What-If Analysis

Follow these steps to edit the EM temperature and to analyze its effects on the EM violations:

  1. In the EAD Browser toolbar of Virtuoso Schematic Editor, click the drop-down arrow next to the Options button to display additional commands, and then choose Edit Options.
    The EAD Options form opens.
  2. Click the EM tab.
  3. In the Temperature section, edit the value of EM temperature in the EM Temperature field.
  4. Click OK.
  5. On the EAD Browser toolbar, click Run Pre-EM Checker ( ).
  6. Select the location where you want to save the log file that contains the detailed report of EM analysis, and then click Save.
    The EM report opens. Analyze the effect of EM temperature on the EM violations.

Return to top
 ⠀
X