Running simulations at various temperatures is a
key feature and usage of any simulator, including the Saber Simulator.
Unfortunately, many manufacturers put temperature coefficient information on the second or
third page of the data sheet and put it into a unit called "PPM".
What is "PPM" ?
PPM, or "Parts Per Million", is the 'little brother' of percentage.
Where percentage is how many per hundred share a specific characteristic,
PPM is how many per million.
Some examples:
1.0 % = 0.01 = 10,000 PPM = 10m
100 PPM = 0.01 % = 0.000100 = 100u (in Saber notation)
1 PPM = 0.0001 % = 0.000001 = 1.0u
Once you have the temperature coefficient and understand
how to convert PPM into a number, you can begin to modify your schematic.
Saber, SPICE, and most SPICE based simulators, use the following quadratic equation to model temperature dependence:
R = Rnom * ( 1 + TC[1] * (Temp - Tnom) + TC[2] * (Temp - Tnom) ** 2)
Where:
- Rnom is the nominal resistance (or other nominal value) [in Ohms]
- TC is a 2 member array of the temperature coefficients
- Tnom is the temperature where the nominal value is specified (Rnom in this example) [in Celsius]
- Temp is the temperature set in the simulator (more below) [in Celsius]
For example,
If you have a common, board level resistor with a linear
temperature coefficient specified as 100PPM per degree Celsius,
characterized at 25 degrees Celsius,
The temperature coefficient going into Saber would be:
tc=[100u,0], tnom = 25
For other elements, such as capacitors, the equation is the
same but finding the temperature coefficients are more obscure.
An example,
a ceramic capacitor with an NPO (a.k.a C0G) dielectric,
vendors often specify the the temperature coefficient as:
"An envelope within +/- 30 PPM per degree Celsius"
For X7R dielectric the specifications are also vague,
but some manufacturers do include some graphs and data.
Here is one example of a higher order graph as a quadratic:
(The temperature coefficients used were:
tc = [ 375u , -18.75u ] )
Some other Temperature Coefficient plots:
A +100 PPM/C degree with a +30 PPM/C degree and a -30 PPM/C degree:
There are two ways to do an analysis over temperature in Saber,
both require changing the simulator variable "Temp"
from the default value of 27 degrees Celsius :
- The "Alter" command - To change from one value of Temp to a new value.
- The "Vary" comand - which a loop Alter on Temp
Both of these must have an analysis performed either after the Alter or
within the Vary loop to see the effect of changing the temperature.