Getting started with ICTherm!
  • Let's compute the steady state temperature of the following chip:
    • Figure 1: Structure of the example chip
  • The example chip, shown by Figure 1, is composed of a substrate, surmonted by a die and encapsulated by a mold resin. The die contains two heat sources, situated in the BEOL layer, that dissipate 1W each. Heat is transferred by convection to the ambient air.

Running ICTherm:

ICTherm is run using the following command: ./ictherm [options] file, where file is the configuration file containing the model of the chip.

Modeling the example chip:

  • Each component of the chip (i.e. substrate, die, heat sources, etc.) is modeled as a rectangular block. A block is defined by its dimension and its position. A block can be assigned a constitutive material and a power dissipation value. The blocks and the materials that compose the chip need to be declared in the configuration files given to ICTherm. For instance, the silicon bulk of the example chip would be declared as follows:
  • Silicon would be defined as follows:
  • The heat transfers coefficients for the six faces of the chip are specified as follows:
  • The six faces of the chip are defined as follows:
  • The different sections [material], [block], and [heat transfer coefficients] can be declared in any order. All the physical quantities must be expressed in the SI units. The example chip can be simulated using the following configuration file.

Output of ICTherm:

  • ICTherm outputs the minimum, maximum and average temperature of each block declared in the configuration files. The temperature values reported by ICTherm are temperature elevation from the ambient temperature. The full-chip thermal map can be obtained using option -a=file on the command line.
    • Figure 2: Thermal map of the example chip