So, you want to predict component temperatures do you? Part IV

Next stop on the avenue of package thermal modelling is 2 resistor CTMs (compact thermal models). Specifically Theta_jb and Theta_jc, the thermal resistance between junction and board and junction and case respectively. Unlike their lowly 1R cousins these two resistances do not purport to include the effects of the package environment (well almost not) as such they should in theory be more BCI (boundary condition independent) and thus more accurate.  O how we wish they were….

JEDEC recently ratified and published the standard that describes the experimental derivation of both 2R resistances. To get the resistance the heat experiences as it goes from the junction to the case top, a large cold plate of known temperature is plonked on the top of the package, know the consumed power, know the cold plate temperature. measure the junction temperature and with Theta_jc = (Tj-Tc)/Power, you get the resistance, et voila. To get the resistance the heat experiences as it goes from the junction down to the board you use what is known as the ring cold plate test (I like it, sounds medieval, maybe sister to the iron maiden?). This puts a coldplate in a ring shape down on to the surface of the board with the component sitting in the middle. It is intended to be so cold so as to attract all the heat down into the board. A little different in that the temperature at the component/board interface (Tb) is not assumed to be the nearby ring cold plate temperature, instead it is measured on the board surface 1mm away from the middle/side of the package. As before, you can get Theta_jb = (Tj-Tb)/Power.

Before I go any further it would be remiss of me not to mention that our FloTHERM family of simulation tools can do all this numerically for you, specifically FloTHERM.PACK as John Parry has covered in his recent blog entry.

2R, sounds good, two parameters that characterise the thermal performance of a package, do not include the effects of the environment (apart from that heat flow path between the periphery of the package and the 1mm away Tb measuring point) and therefore could well be used to predict component temperature, especially in a full 3D CFD model. For some packages in theory yes, this is true.

“Jeesh, there you go again,  just explain how it is, what packages exactly… why are you English all so obtuse?”

Sorry, it’s safer to be somewhat non-committal in such circumstances.  We English haven’t got where we are today by being decisive don’t you know….

2rOK, so if in reality a package really does just have two dominant heat flow paths (nothing more complex) then abstracting its thermal behaviour to two equivalent thermal resistances will be acceptable and therefore acceptably accurate.

I’m now going to take a couple of different packages, run a detailed model in a wind tunnel type environment, use the wonderful FloTHERM.PACK to derive the 2R equivalent (FloTHERM.PACK automatically runs the detailed package in the two test environments described above, reports the resulting Theta_jc and Theta_jb values AND provides that 2R model in FloTHERM format (pdml) that can be imported into the SAME environment and solved to enable a comparison). If all goes well the 2R model should produce the same results as the detailed model.

Let’s start with a cavity down CBGA package:


Here is the heat flux distribution, showing the heat leave the die (red) on it’s way to the board and the air, only half the package is shown for clarity, it’s symmetric, I’m allowed to do that:


Heat goes up, across the spreader (top), stiffener (middle) and slab (bottom) and then  most goes down out through the solder ball array. (For those heat flux literate (heat fluxerate?) people out there you might notice (as prompted by continuity) that the vectors don’t get smaller as the heat spreads, I’ve used the ‘no scaling’ option in the Visual Editor to make them all the same length for clarity).

When replaced with the 2R equivalent the resulting junction temperature rise is only 4% different when compared to the detailed equivalent. Not bad!! 🙂 For this package type and construction a 2R model does a good job at mimicking the actual heat flow paths and resistances of the actual component.

Let’s look at another package type, an MQFP (metric quad flat pack) with the encapsulant semi-transparent so you can see the die etc.:


The individual leads are lumped together with an adjustment made to the (orthotropic) thermal conductivity to replicate the effects of there being air AND leads in that region. A common enough modelling methodology and something that FloTHERM.PACK does for you automatically, accurate and saves computational grid, neat.

Again, let’s look at the heat flux leaving the die, again, 1/2 the package shown for clarity:


The even more heat fluxerate amongst you will notice that not all heat flux vectors are shown, I’ve clipped off the really small ones for clarity and am also now showing the vector lengths proportional to the heat flux value, longer = more heat per unit area.

Heat goes up through the encapsulant, down through the air in the stand off gap as well as quite a lot going through the leadframe (well it would what with the leadframe having such a low resistance/high thermal conductivity).

Again, replace with the 2R equivalent, solve in the same environment and now the difference in junction temperature rise detailed vs. 2R = 32%. Really very bad, not even vaguely useful.

Is the difference because one package is peripheral leaded resulting in effectively 3 heat flow paths, one up, two down? Maybe. Is it due to the much bigger thickness of the package, something about the environment, the different foot print size or die/body ratio? Possibly.

The point is it’s not obvious, sometimes 2R works well as a predictive metric, other times it doesn’t. We could have put a lot of effort into finding correlations that would indicate a priori when a 2R representation will be acceptably accurate and when it wouldn’t be.  However, that would have been like polishing a broken mirror. Instead we headed an EU funded research project to derive a method to derive a more advance CTM that would truly be BCI (boundary condition independent), having good accuracy  for all packages in any environment. It is now know as the DELPHI approach, recently ratified by JEDEC and has been supported by FloTHERM.PACK for a number of years. More on that next time!

8th November, Tel Aviv, Israel.


6 thoughts about “So, you want to predict component temperatures do you? Part IV
  • I find this post interesting as I have spent quite a lot of time comparing detailed and 2R model results with actual, real-life data. There are two main observations I would like to make, based on my experiences;

    1) The quality of results for a 2R model seems to depend very much on the type of package the 2R model is attempting to emulate. For a “simple” package such as the D2Pak (commonly used for power MOSFETs) the device die is mounted on a copper heat spreader (or “tab”) whose outer surface is soldered to the PCB. In addition, the tab area represents a significant proportion of the total device footprint. For packages such as these, I have found a pretty good correlation between 2R results and those from a detailed model or real-life testing. For a more complex package such as an SO20, however, the heat path is less direct(distributed between numerous small, thin legs) and the area of contact with the PCB is a much smaller proportion of the total device footprint. For these kinds of packages the correlation with detailed modelling or real-life data is much, much worse. In both cases, the physical representation of the device in a Flotherm simulation would I presume be a simple cuboid shape whose dimensions matched those of the actual device. For the D2Pak example, this is fine as the thermal resistance downwards (your Theta_jb) is acting through an area similar to that of the real-life heat path and there is a similarly-sized area of contact with the PCB. For the SO20, however, there is a big difference between the two contact areas. For the real device the total contact area of the device pins will be small but for the 2R model the same overal Theta_jb will be distributed over a much larger contact area. Hence, in my opinion, this is a mechanism by which large errors can occur for these more complex packages (and, I suspect, for your MQFP example). I think this is potentially a large problem for the 2R and DELPHI approaches to device modelling – thermal resistances AND contact areas are important!

    2) Going beyond the the device model, it is my experience that detailed modelling of the PCB outer copper layers is essential – the “percentage coverage” method simply does not yield accurate results. For surface-mount devices soldered to a PCB the exposed copper planes facilitate heat loss from the system by the processes of convection and radiation loss from their exposed surfaces, and both these processes are heavily area-dependent. And, as you get physically nearer to the device, the role of the copper planes becomes more and more important. Modelling by the percentage coverage method does not accurately reflect the influence of copper area immediately adjacent to a device – something you can prove to yourself by running some simulations utilising both approaches. I would bet five shiny English pounds that the temperature results for the percentage coverage method are significantly higher than for the detailed modelling approach.

    So I suppose what I’m saying is that any comparison of the relative merits of device modelling approaches must also consider the PCB modelling approach as well. A badly modelled PCB could make a good device model look bad!

    That’s my 2p-worth… Looking forward to your comments and to Part V!

  • Chris, re your point 1). Are the errors due to wrong board contact areas? Not sure, if you look at the board contact area for the two packages I used both have a small contact area in relation to their total footprint size. The 2R ‘implementation’ has a full area coverage from the component to the board. Theta_jb already has the actual small contact area thermal resistance inherent in the theta_jb value. When the 2R is implemented in a full 3D cfd simualtion the worst that will happen I think is that the Tb value will be taken over a much larger area than it is in reality, rather the 2R model assumes a single Tb value when in reality it can vary considerably. Without a full and formal study I really don’t know for sure. Suffice to say that despite 2R models being capable of predicting Tj and Tc accurately there are many instances where it does not.

    I like your point 2). For small packages the local copper feature size is comparable to the package length scale to the extent where it’s heatsinking effects can only be modelled accurately with an explicit geometric representation of the Cu in much the same way that a classic package top mounted heatsink needs to be modelled explicitly. We’ve seen this a lot in recent LED modelling applications for FloTHERM.

    It’s always important to have a ‘balanced’ modelling approach. If you’re modelling components as blocks don’t bother modelling the PCB in detail (or don’t bother to model stand-off resistance, I get that one asked a lot). If you’re modelling detailed small surface mount power packages, don’t make too many assumptions about the local PCB distribution of Cu to that package.

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at