# Pathfinder3D:Thermal Conductivity Calculation

A significant amount of heat flow in a chip stack is through the metalization layers of the integrated circuit, which can be collectively viewed as a metal-insulator composite material. Thermal conductivity in such composite materials can be difficult to predict, because the conductivities of metals and insulators differ by factors of 100 to 1000. Accurate prediction requires a detailed description of the structure and a set complex matrix solutions to find the thermal conductivity **k** to be used with Fourier's Law of Heat Conduction in the form of a 3x3 matrix tensor.

In the absence of detailed layout information, *Pathfinder3D* constructs a basic unit cell that depends on the metal densities for each layer (as a 0 to 1 range) and its routing direction (horizontal, vertical, or cut). These values are specified in the **dbLayerDensities** section of the technology file. For example, the graphic below shows an illustration of the unit cell constructed for the FreePDK45 metal layers in the default example technology in Pathfinder3D.

Performing the exact matrix calculation of the conductivity tensor for this structure is straight-forward and described below. However, the exact conductivity tensor is currently not computed, because it is time consuming to code and debug. In the meantime, *Pathfinder3D* calculates upper and lower bounds on the diagonal elements of the conductivity tensor (*kx*, *ky*, and *kz*) and prints them in its analysis results. The off-diagonal elements tend to be small, since most of the wires tend to follow the x, y, and z axes.

In the example technology, you will see that the bounds are not very close, differing by 20% to 50%. In order to perform thermal analysis, a specific conductivity value within these bounds needs to be chosen. Because the upper conductivity bound assumes a maximum of heat spreading, it is assumed for the lateral (*kx* and *ky*) values. We base this assumption on the idea that the composite "tiles" used in the analysis are typically 100 times wider than they are thick, and so heat flowing laterally will have a long distance to spread. Likewise, the minimum conductivity is assumed for the vertical (*kz*) value, because it assumes no heat spreading. This is somewhat of a kludge, but it allows us to get the tool up and running fast.

Finally, the *WireX* tool used to perform thermal analysis does not currently allow differing values for lateral (*kx* and *ky*) conductivities, and so the average for their maximums are assumed. The exact values used in the thermal analysis have the word **used** printed at the top of each column the clarify this detail in the analysis results.

The sections below provide more detail on the exact methods used for conductivity calculation. First, simple equivalent conductivity equations are provided to help illustrate how the bounds are calculated. Next the bounds are presented. Next, a brief discussion is presented on how an exact value could be calculated, for perspective and future reference. Finally, remaining details are presented on how *Pathfinder3D* calculates its conductivity values.

## Contents

## Simple Conductivity Calculations

### Parallel Model

If a composite material consists of a matrix of one material with cross-sections in another material running parallel to the direction of heat conduction, then the material can be viewed as a parallel combination of conductances. If we construct a unit-cube (*i.e.* a 1x1x1 cube) with *N* cross-sections, each with area *A _{i}* and conductivity

*k*, then the equivalent parallel conductivity

_{i}*k*can be computed as follows:

_{eq-par}
assuming |

In the figure above, heat conduction is assumed in the *x* direction. Material 2 is the matrix and is illustrated as translucent.

### Orthogonal Model

If a composite material consists of a series of material segments that are orthogonal to the direction of heat conduction, then the material can be viewed as a series combination of conductances. If we construct a unit-cube with *N* segments, each with length *L _{i}* and conductivity

*k*, then the equivalent orthogonal conductivity

_{i}*k*can be computed as follows:

_{eq-orth}

assuming |

Again, in the figure above, heat conduction is assumed in the *x* direction. Material 2 is illustrated as translucent.

## Bounded Conductivity Calculation

Most materials will not fall into these two categories. However, there are a large number of structures (including rectangular meshes) for which we can apply a combination of the parallel and orthogonal equivalent calculations. The order in which we apply them has different assumptions on how heat flows and can therefore be viewed as bounds on the equivalent conductivity.

### Upper Bound

If a unit cube can be constructed that consists of *N* orthogonal segments, each with *M _{i}* parallel cross-sections, then a parallel equivalent can be assumed for each segment, and an orthogonal equivalent can be assumed for the segments collectively. The equivalent parallel-orthogonal conductivity

*k*can be computed as follows:

_{eq-par-orth}
assuming |

The figure above has three segments. Segment 2 has only one cross section and is illustrated as translucent. Segments 1 and 3 have three and two cross-sections, respectively.

This model differs from the exact equivalent conductivity, because it assumes perfect heat spreading between the segments. In reality, heat spreads gradually through the material when a temperature gradient is applied. Therefore, *k _{eq-par-orth}* can be viewed as an upper-bound on the conductivity of the composite material.

### Lower Bound

If a unit cube can be constructed that consists of *N* parallel cross-sections, each with *M _{i}* orthogonal segments, then an orthogonal equivalent can be assumed for each cross-section, and a parallel equivalent can be assumed for the cross-sections collectively. The equivalent orthogonal-parallel conductivity

*k*can be computed as follows:

_{eq-orth-par}
assuming |

The figure above has three cross-sections. Cross-section 2 has only one segment and is illustrated as translucent. Cross-sections 1 and 3 have two and three segments, respectively.

This model differs from the exact equivalent conductivity, because it assumes no heat spreading between the cross-sections. In reality, heat spreads gradually through the material when a temperature gradient is applied. Therefore, *k _{eq-orth-par}* can be viewed as a lower-bound on the conductivity of the composite material.

## Exact Conductivity Calculation

One common approach to determine the conductivity matrix tensor is model the material as a rectangular mesh, in which each volume element is represented by 6 resistors as represented below on the left. Here the thermal conductivity equation is transformed into an electrical conductivity, which is more familiar to electrical engineers. As the number of volume elements in the model increases, the computed conductivity values converge.

A modified nodal admittance matrix formulation for the resistive mesh can be used to compute the conductivity values, which is frequently used in circuit simulators (such as SPICE). The figure on the right above illustrates how the simulation would be set up in two dimensions for a 1x1 unit cube (in reality, this must be performed on a 1x1x1 unit cube). Temperature sources (transformed as voltage sources) on the left apply the temperature gradient, while heat flux sensors (transformed as 0V current sensors) on the top and right measure the heat flux. One temperature source or heat-flux sensor for each row or column is used (rather than a single source/sensor for the entire face) in order to avoid modeling a perfect heat spreader on each face, which would alter the calculation. The total heat flux for each face divided by the temperature gradient gives the conductivity values. In the figure, because the temperature gradient is applied in the *x* direction, the total heat-flux on the right of the figure would be used to compute the diagonal element of the conductivity matrix (*kx*), while the total heat-flux on the top of the figure would be used to compute the off-diagonal element (*kxy*). Applying a temperature gradient across the top and bottom would give the *ky* and *kyx* values. In order for energy to be conserved, *kxy* and *kyx* must be identical. In the event that the *Pathfinder3D* conductivity estimates described above are not sufficient, this approach may be used to compute a more exact value.

## Pathfinder3D Composite Conductivity Model

As described above, *Pathfinder3D* constructs a unit cell based on the metal densities per layer and the routing direction (horizontal, vertical, or cut). The upper-bound (*k _{eq-par-orth}*) is used for

*kx*and

*ky*values, while the lower-bound (

*k*) is used for the

_{eq-orth-par}*kz*value.

One remaining detail is how the stack-technology vias (*i.e.* through-silicon vias or TSVs) are handled. TSVs are essentially cut-layers, but depending on the start and stop layers defined for each TSV in the techfile, they are likely to coincide with a wafer-technology layer (*i.e.* horizontal or vertical routing layer or another cut layer). In these cases, the density of the TSV is added to the density of the wafer-technology layer, and the wafer-technology routing direction is assumed. The new "metal" conductivity is calculated as the parallel equivalent (*k _{eq-par}*) described above for the wafer-technology routing layer and the TSV. This is akin to an upper-bound on the conductivity impact of a TSV. A better approach would be to use a unit cell that is extracted from actual layout, but again, the current approach allows us to get a tool up and running quickly.