Product Documentation
Legato Reliability Solution
Product Version IC23.1, June 2023

2


Electrothermal Analysis

Many analog circuits for complex technologies operate at high power. The combination of high-power dissipation in a high-temperature environment can result in thermal over-stress. The stress of operating at high temperature can cause devices that have been designed for a long operating lifetime to fail sooner. The electrothermal analysis feature of the Legato Reliability solution enables designers to prevent thermal over-stress and avoid such premature failures.

In electrothermal analysis, a simulation is performed using Cadence Thermal Technology that delivers true electrothermal co-simulation. In this flow, thermal technology is used to create a thermal model of the die, based on the chip structure and thermal properties of the die stack. This model is a thermal equivalent circuit of the die. Electrothermal analysis uses the electrical and thermal descriptions of the circuit, the netlist, and the thermal model to perform co-simulation. It considers the thermal interactions between devices. In addition, it considers all the power sources in the chip, including transistors, resistors, and other devices.

The electrothermal analysis consists of the following components:

Spectre APS automatically maps the information from the electrical simulator, power, to the thermal solver and maps the information from the thermal solver, temperature, back to the electrical simulator.

Electrothermal analysis starts with an electrical simulation and uses the instance power to drive a thermal solution to calculate the temperature of the instances on the die. If the temperatures converge, the simulation is complete. If not, the thermal and electrical simulation process continues until the results converge to a stable solution that satisfies both the circuit electrical power and the circuit temperature condition. This process is called electrothermal co-simulation or electrothermal simulation.

Electrothermal Analysis Methods

Electrothermal analysis supports the following two methods:

Steady-State Thermal Analysis

In steady-state thermal simulation, electrothermal simulation starts with an electrical simulation with the device temperatures initially set to the ambient value.

Upon completion of the electrical simulation, the average power of all the devices is computed and sent to the thermal solver to compute the temperature rise (Trise) for each device as a result of the steady-state instance power. The calculated instance temperatures are then used to update the instance temperatures for the next iteration of the electrothermal simulation. The process continues until the user-specified iteration count is reached. The output of the steady-state thermal simulation is a text report, which lists the temperature rise and the average power of each device in the DSPF netlist.

The thermal model is then used in thermal simulation to simulate the temperature rise due to device power dissipation.

Dynamic Thermal Analysis

Dynamic thermal analysis is run by performing thermal solving at each time step of the Spectre transient analysis. Because thermal variation is usually much slower than electrical variation, it is assumed that convergence of electrothermal co-simulation is always achieved with just one iteration at each time step. Therefore, no iterations are needed for the electrothermal co-simulation during dynamic thermal analysis. This greatly increases the efficiency of the dynamic thermal analysis algorithm without introducing significant errors.

Performing Electrothermal Analysis in Spectre Command-Line Mode

For pure analog designs, you can run electrothermal analysis by using Spectre 18.1 ISR5 or a higher version. For the analog modules in a mixed-signal designs, use Spectre 19.1 and enable AMSD flexible mode.

To perform electrothermal analysis in Spectre command-line mode, follow these steps:

  1. Prepare the simulation testbench including the postlayout data of the design, and the DSPF files with device location and dimension information for the transistors, resistors, diodes, and so on, in the instance section. A dspf_include statement is required in the electrothermal analysis flow to identify the DSPF data.
    dspf_include “sram.spf” (Spectre syntax)
    .dspf_include “sram.spf” (SPICE syntax)
    dspf_include provides special features for reading the DSPF format data, for example, port order adjustments, or handling of duplicated subcircuits. Do not use the include/.include commands to read the DSPF format data because these commands do not have the special functions of the dspf_include/.dspf_include command.
    After setting up the testbench, you should perform a regular (non-electrothermal) postlayout simulation with the spectre command to ensure that the testbench contains no error, and the circuit behaves as expected.
    % spectre +aps input.scs (Spectre test bench)
  2. Add a reliability block containing the thermal analysis statement which defines the thermal configuration file, as shown below.
    rel reliability 
    {
     myThermal thermal config “thermal.conf” <options>
     {
      tran_thermal tran stop=100n
     }
    }
    The thermal configuration file consists of two parts, the location of the data files required for thermal analysis, and additional options. The following two files are required for electrothermal analysis:
    • Thermal technology file
    • Thermal package file

    The thermal technology file is defined with the keyword tech_file in the thermal configuration file and describes the die stack. It is the thermal equivalent of the ICT file and contains the thickness and the thermal properties of the materials of the die stack.
    thermal tech_file = "tech.txt"
    The thermal package file is defined with the keyword package_file in the thermal configuration file and describes the thermal characteristics of the package, which define the boundary conditions for thermal analysis.
    thermal package_file = "pkg.txt"
  3. Run the simulation, as shown below.
    % spectre +aps input.scs
The electrothermal analysis is enabled by the presence of the reliability block. All electrothermal related options are defined either as options to the thermal analysis statement or in the thermal configuration file.

Viewing Electrothermal Analysis Output in Spectre Results

As the simulation runs, Spectre outputs messages to the screen and the simulation log file that shows the progress of the simulation and provides statistical information. After the simulation completes, electrothermal analysis generates a report file with the extension .thermal_rpt and the iteration count in the raw file directory after each iteration. It reports the temperature rise and power value on each device in the DSPF file. The last of these reports can be used as the final result of the electrothermal analysis. The following is a sample report that is generated

For more information on Electrothermal analysis refer to the Spectre Thermal Analysis section in the Spectre Classic Simulator, Spectre Accelerated Parallel Simulator (APS), and Spectre Extensive Partitioning Simulator (XPS) User Guide.

Performing DSPF-Based Electrothermal Analysis in ADE Explorer or ADE Assembler

Running the Electrothermal Analysis in ADE Assembler

Before running electrothermal analysis in Virtuoso ADE Assembler, ensure that you have the following files:

To run electrothermal analysis for pure analog designs, use Spectre 18.1 ISR5 or a newer version. For the analog modules of a mixed-signal design, enable AMS flexible mode in the Netlist and Run Options form and using Spectre 19.1 or a newer version.

To perform electrothermal analysis in Virtuoso ADE Assembler, follow these steps:

  1. In the Data View assistant, right-click a test and choose High-Performance Simulation.
    The High-Performance Simulation Options form is displayed.
  2. Enable the Spectre APS mode, as shown below.
  3. In the Data View assistant, right-click a test and click Simulation Files to open the Simulation Files Setup form.
  4. In the Simulation Files Setup form, specify the name of the DSPF file mentioned in Running the Electrothermal Analysis in ADE Assembler.
  5. In the Data View assistant, expand the Analysis tree for a test, and click Click to add analysis to add a tran (transient) analysis.
  6. In the Choose Analysis form, select tran, and click Options to open the Transient Options form.
  7. On the Electrothermal tab and select the Enable Electrothermal Analysis check box.
  8. Specify the path to the thermal configuration file mentioned in Running the Electrothermal Analysis in ADE Assembler.
  9. Choose the required method, Steady State or Dynamic State, in the Thermal Analysis Method drop-down list.
    For details about the thermal analysis methods, refer to Electrothermal Analysis Methods.
  10. Modify other settings on this tab. For information about the fields on this tab, refer to Transient Options Form – Electrothermal Tab.
  11. Click OK to save the settings and close the Transient Options form.
  12. Run simulation.

Transient Options Form – Electrothermal Tab

Use the Electrothermal tab of the Transient Options form to configure the settings for Spectre thermal analysis:

Field Description

Enable Electrothermal Analysis

Enables or disables thermal analysis.

Default value: unselected

Thermal Configuration File

Specifies the location of the thermal configuration file.

Default value: ""

Thermal Analysis Method

Select the thermal analysis mode.

Possible Values: Steady State and Dynamic

Default value: Steady State

Trise Limit

Specifies the upper limit to be used for updating the device temperatures. This helps to prevent device temperatures from going out of range during electrical simulation. Unit is degree centigrade.

Default value: 300

Report Updated Parasitic Resistor Temperatures

Specifies whether or not to report the resistor temperature values in thermal reports.

Default value: Yes

Number of Electrothermal Iterations

Specifies the number of iterations to run when using the steady state thermal analysis method.

Default value: 2

Sorting Method

Device sorting order in debug reports (.dbg_trise_iter* and .thermal_pwr.iter*) for steady state thermal analysis.

Possible values:

  • Temperature Rise (trise values)
  • Power

Default value: Temperature Rise

Max Devices in Report

Specifies the number of instances to be included in steady state thermal analysis reports.

Chip Bounding Box

Specifies a vector of four numbers [lower-left-x-coordinate lower-left-y-coordinate upper-right-x upper-right-y] representing a user-defined chip bounding box. By default, the chip bounding box is calculated from the device geometries so that a tight bounding box containing all the devices is used.

Default value: nil

Devices in Thermal Report

Specifies a list of instance names for which temperature and power are to be included in dynamic thermal analysis reports.

Default value: nil

Thermal Time Step

Specifies the thermal time step (in seconds) for dynamic thermal solver. Set this parameter to zero to get identical electrical and thermal time steps.

Default value: 1.0

Trise for Thermal Update

Specifies the Trise threshold for device temperature update.

Default value: 0.0

Save Channel Layer

Specifies whether the Trise data is to be saved for the channel layer only or for all layers.

When set to Yes, the data is saved only for the channel layer. Otherwise, the data is saved for all layers.

Default value: No

Save Layer

Specifies a list of layer names for which trise will be reported in the thermal .temp_grid file.

Default value: ""

Use this field when you want to save the data for a selected set of layers. To save data for all the layers, select No from the Save Channel Layer drop-down list.

Additional Options

Placeholder where you can specify any additional option for Spectre electrothermal analysis.

Viewing Results of Electrothermal Analysis in ADE Explorer or ADE Assembler

After the simulation for an electrothermal analysis is complete, the results are displayed in the results table.

Right-click an output value in the Results tab and choose Electrothermal Report to view a detailed report, as shown below.

You can see a similar report for the dynamic electrothermal analysis too. In addition, you can plot graphs to show the Trise values for the devices specified in the Devices in Thermal Report field on the Electrothermal tab of the Transient Options form.

To plot the graphs for the saved devices, open Results Browser and plot the results of transient analysis, as shown below.

Alternatively, you can create outputs on the Outputs Setup tab by using the following expressions:

(getData "totalPwr" ?result "input.temp_probe-tran") 
(getData "maxTrise" ?result "input.temp_probe-tran") 
(getData "minTrise" ?result "input.temp_probe-tran") 
(getData "avgTrise" ?result "input.temp_probe-tran")

After the simulation run is complete, these expressions result into waveforms that you can double-click and plot in Virtuoso Visualization and Analysis XL.

Performing Schematic-Based Electrothermal Analysis in ADE Explorer or ADE Assembler

To run electrothermal analysis for a schematic-based flow, use Spectre 20.1 ISR7 or a newer version. For the analog modules of a mixed-signal design, enable AMS flexible mode in the Netlist and Run Options form.

To perform electrothermal analysis in Virtuoso ADE Explorer, follow these steps:

  1. In the Setup assistant, right-click a tesst and choose High-Performance Simulation.
    The High-Performance Simulation Options form is displayed.
  2. Enable the Spectre APS mode, as shown below.
  3. In the Setup assistant, expand the Analysis tree for the test, and click Click to add analysis to add a tran (transient) analysis.
  4. In the Choose Analysis form, select tran, and click Options to open the Transient Options form.
  5. On the Misc tab, select the enable thermal node check box in the THERMAL NODE PARAMETERS section.
    This check box enables the schematic-based thermal analysis. It also disables the DSPF-based electrothermal analysis options if any specified on the Electrothermal tab of this form.
  6. In the thermal model file field, specify the path to the model file in which external or internal thermal nodes are defined for the subcircuit.
  7. In the Instance field, specify the name of an instance for which you want to measure the thermal data.
    Alternatively, you can click Select to select an instance from the schematic.
  8. In the Thermal Pin Name field, specify the name of pins of that instance.
  9. Click Add.
    An instance-pin name pair is added to the table. Similarly, you can add multiple instance-pin name pairs or load from a CSV file by clicking Load.
  10. Click OK to save the settings and close the Transient Options form.
  11. Choose OutputsTo be PlottedThermal Node.
    ADE Explorer creates new getData expressions for the thermal nodes you specified on the Misc tab of the Transient Options form.
  12. Run simulation.
    Thermal analysis is run and the data for the thermal node is plotted.
    Related Topic: Spectre Thermal Nodes

Return to top
 ⠀
X