Simulating Thermal Effects in Semiconductors

Using the Thermal Ports

Certain SimElectronics® blocks, for example, the blocks in the Semiconductors library, contain an optional thermal port. This port is hidden by default. If you want to simulate the generated heat and device temperature, expose the thermal port on a particular block instance in your block diagram:

  1. Right-click the block where you want to show the thermal port.

  2. From the context menu, select Simscape > Block choices > Show thermal port.

When the thermal port is exposed, the block dialog box contains an additional tab, Thermal Port. For semiconductor devices, the tab always contains the same set of parameters.

  • Junction case and case-ambient (or case-heatsink) thermal resistances, [R_JC R_CA] — A row vector [ R_JC R_CA ] of two thermal resistance values, represented by the two Conductive Heat Transfer blocks in the Thermal Model for Semiconductor Blocks. The first value R_JC is the thermal resistance between the junction and case. The second value R_CA is the thermal resistance between port H and the device case. See Thermal Model for Semiconductor Blocks for further details. The default value is [ 0 10 ]K/W.

  • Thermal mass parameterization — Select whether you want to parameterize the thermal masses in terms of thermal time constants (By thermal time constants), or specify the thermal mass values directly (By thermal mass). For more information, see Thermal Mass Parameterization. The default is By thermal time constants.

  • Junction and case thermal time constants, [t_J t_C] — A row vector [ t_J t_C ] of two thermal time constant values. The first value t_J is the junction time constant. The second value t_C is the case time constant. This parameter is only visible when you select By thermal time constants for the Thermal mass parameterization parameter. The default value is [ 0 10 ] s.

  • Junction and case thermal masses, [M_J M_C] — A row vector [ M_J M_C ] of two thermal mass values. The first value M_J is the junction thermal mass. The second value M_C is the case thermal mass. This parameter is only visible when you select By thermal mass for the Thermal mass parameterization parameter. The default value is [ 0 1 ] J/K.

  • Junction and case initial temperatures, [T_J T_C] — A row vector [ T_J T_C ] of two temperature values. The first value T_J is the junction initial temperature. The second value T_C is the case initial temperature. The default value is [ 25 25 ] C.

For more information on selecting the parameter values, see Thermal Model for Semiconductor Blocks and Improving Numerical Performance. For explanation of the relationship between the Thermal Port and Temperature Dependence tabs in a block dialog box, see Electrical Behavior Depending on Temperature.

Thermal Model for Semiconductor Blocks

All blocks with optional thermal ports include an internal thermal model with thermal masses and resistances. The purpose of including this model internally is to keep your diagram uncluttered by the thermal model. The following figure shows an equivalent model of the internal thermal model for semiconductor devices.

The port H in the diagram corresponds to the thermal port H of the block. The two Thermal Mass blocks represent the thermal mass of the device case and the thermal mass of the semiconductor junction, respectively. The Ideal Heat Flow Source block inputs heat to the model with value equal to the electrically generated heat from the device.

The two Conductive Heat Transfer blocks model the thermal resistances. Resistance R_JC (conductance 1/R_JC) represents the thermal resistance between junction and case. Because of this resistance, under normal conditions the junction will be hotter than the case. Resistance R_CA represents the thermal resistance between port H and the device case. If the device has no heatsink, then in your model you should connect port H to an Ideal Temperature Source with its temperature set to ambient conditions. If your device does have an external heatsink, then you must model the heatsink externally to the device, and connect the heatsink thermal mass directly to port H.

If you wish to keep all or part of the thermal model of the device external to the model, you can set the necessary block parameters to zero. The following rules apply:

  • Case thermal mass must be greater than zero.

  • Junction thermal mass can only be set to zero if the junction-case resistance is also set to zero.

  • If both case and junction thermal masses are defined, but junction-case resistance is zero, then the initial temperatures assigned to junction and case must be identical.

Thermal Mass Parameterization

Datasheets usually quote both of the thermal resistances, but rarely give values for thermal masses. There are two parameterization options for the thermal masses:

  • By thermal time constants — Parameterize the thermal masses in terms of thermal time constants. This is the default.

  • By thermal mass — Specify the thermal mass values directly.

The thermal time constants t_J and t_C are defined as follows:

t_J = M_J · R_JC

t_C = M_C · R_CA

where M_J and M_C are the junction and case thermal masses, respectively, R_JC is the thermal resistance between junction and case, and R_CA is the thermal resistance between port H and the device case.

You can determine the case time constant by experimental measurement. If data is not available for the junction time constant, you can either omit it and set the junction-case resistance to zero, or you can set the junction time constant to a typical value of one tenth of the case time constant. The alternative is to estimate thermal masses based on device dimensions and averaged material specific heats.

Electrical Behavior Depending on Temperature

For blocks with optional thermal ports, there are two simulation options:

  • Simulate the generated heat, device temperature, and the effect of temperature on the electrical equations.

  • Simulate the generated heat and device temperature, but do not include effect of temperature on the electrical equations. Use this option when the impact of temperature on the electrical equations is small over the temperature range to be simulated, or where the primary task of the simulation is to capture the heat generated to support system-level design.

The thermal port and the Thermal Port tab of the block dialog box let you simulate the generated heat and device temperature. The Thermal Dependence tab of the block dialog box lets you model the effect of temperature of the semiconductor junction on the electrical equations. Therefore:

  • To simulate all the temperature effects, show the block's thermal port and set the Parameterization parameter on the Thermal Dependence tab to Model temperature dependence (or, for blocks with a choice of options for modeling temperature dependence, select one of these options, for example, Use an I-V data point at second measurement temperature).

  • To simulate just the generated heat and device temperature, show the block's thermal port but set the Parameterization parameter on the Thermal Dependence tab to None — Simulate at parameter measurement temperature.

Improving Numerical Performance

It is very important that you set realistic values for thermal masses and resistances. Otherwise, junction temperatures can become extreme, and out of range for valid results, which in turn may manifest itself as numerical difficulties when simulating. A simple test to see if numerical difficulties are a result of unrealistic thermal values is to turn off the temperature dependence for the electrical equations, by setting the Parameterization parameter on the Thermal Dependence tab to None — Simulate at parameter measurement temperature.

The thermal time constants are generally much slower than electrical time constants, so the thermal aspects of your model are unlikely to dictate the maximum fixed time step you can simulate at (for example, for hardware-in-the-loop simulations). However, if you need to remove detail (for example, to speed up simulation), the junction thermal mass time constant is typically an order of magnitude faster than the case thermal mass time constant. You can remove the effect of the junction thermal mass by setting the junction thermal mass to zero and also setting the junction-case thermal resistance to zero.

Was this topic helpful?