How to measure junction temperature using a MOSFET SPICE Netlist?

Dear PLECS User Forum
I’ve noticed that when using a MOSFET Netlist (SPICE model) in PLECS 5.0.2, the temperature seems to be statically set to 27°C. This is different from the XML thermal models, which provide a thermal port that easily connects to a Heat Sink to measure the junction temperature. And we can see the error like figure 3 when and put the MOSFET Netlist into a Heat Sink Model.

Is there a way to expose a thermal port or measure the dynamic junction temperature when using a Netlist model? Any advice on how to solve this would be greatly appreciated.

Best regards, Lin

SPICE models vary in terms of the physical effects that are modeled. You may see the fidelity of different SPICE models referred to as “Level N” where N would be between 0-3. However, in these kinds of vendor models there is no universal taxonomy of what a given level means, apart from higher values of N being higher fidelity but with a corresponding increase in simulation complexity. One must review the SPICE netlist and guidance provided by the manufacturer on where a given SPICE model can be used and the assumptions that are made. The mechanics of integrating the semiconductor losses with the PLECS thermal domain and the overall accuracy of the loss model will vary based upon the SPICE model.

In some SPICE models the junction temperature is calculated explicitly along with an internal representation of the junction-to-case thermal impedance. Other models have no temperature dependence. The model you’re referencing is somewhere in between, where the junction temperature is entered as a static parameter TEMP that is defined at the simulation start and is fixed for the duration of the simulation. For example, if you start your simulation with TEMP = 27C and the die heats up to 100C, you wouldn’t see the corresponding change in Rds,on or threshold voltage. The component included in the demo model you referenced is from Microchip, who refers to this class of model as an L1 model (see section 1.2).

If you need accurate thermal models in the context of a SPICE simulation, I would first and foremost recommend getting the most accurate SPICE model you can from the semiconductor vendor. Of course, the long thermal time constants make SPICE quite slow to run, motivating users to leverage PLECS traditional ideal switch + look-up table based approach for thermal loss simulation.

However, if you want to proceed with a model with a static temperature defined at the start of a simulation run, one could:

  1. Set TEMP to the maximum expected junction temperature. This would be a conservative way of estimating losses given the worst case operating conditions.
  2. Assume an initial junction temperature (e.g. TEMP=75) and run the simulation. Determine the electrical losses at all nodes (V*I), sum the losses, inject net loss into Cauer network modeled in PLECS, and note junction temperature. Then if the junction temp exceeds the initial estimate of TEMP, then increase the guess until the calculated and estimated temperatures converge. This assumes that the temperature operates within a narrow range during the time domain simulation and is not suitable for pulsed applications or startup scenarios.