In older technologies the rule is simple: hot is slow, cold is fast. So the slow corner is the hot one and the fast corner is the cold one. In modern technologies with a low supply voltage this rule can break. Below some voltage, cells can be slower when they are cold than when they are hot. This is called temperature inversion. This article explains why it happens, what it does to the choice of corners, and what to do about it.
7 min read | Intermediate
What You'll Learn
- Explain the usual dependence of cell delay on temperature
- Describe temperature inversion and when it appears
- Say how inversion changes the list of corners that a design needs
- Recognize the limits of the sky130 libraries in this tutorial for showing it
The Normal Case
A transistor drives a current that charges or discharges the load of a cell. A larger current means a faster cell. Two things in the transistor change with temperature:
- The mobility of the charge carriers. When the temperature rises, the carriers move less freely, so the current falls and the cell gets slower.
- The threshold voltage, the gate voltage at which the transistor starts to conduct. When the temperature rises, the threshold voltage falls, so the transistor conducts more easily and the cell gets faster.
The two effects work against each other. At a high supply voltage the mobility effect is stronger, and a hot chip is slower. This is the normal case and the reason why the slow corner is hot.
The Inverted Case
The current of a transistor depends on how far the supply voltage is above the threshold voltage. If the supply is only a little above the threshold, as in a modern low-power design, a small change of the threshold voltage has a big effect on the current. A hot chip then has a lower threshold, and its current increases more than the loss of mobility takes away. The result is that the cell is faster when it is hot and slower when it is cold. The effect is the strongest for lightly loaded cells:
This is temperature inversion. The curves in the picture are schematic. They only show the shape, because the size and the supply voltage at which the lines cross depend on the technology and on the cell. A technology and a voltage can also be in between, with a delay that has a minimum at some temperature.
What It Does to the Corners
With the normal behavior, one slow corner and one fast corner are enough: hot and slow for setup, cold and fast for hold. With inversion, this assumption fails. For the setup check, the slowest cells can be at the cold end of the range, with the low voltage. For the hold check, the fastest cells can be at the hot end with the high voltage. A design that is signed off only at the hot slow corner can miss a violation at the cold slow corner.
The usual answer is to add corners. Instead of a single slow corner, the flow has the slow process and the low voltage at both the lowest and the highest temperature. The same is done for the fast corner. The number of scenarios grows, and the work with it, but the sign-off does not leave a hole.
| Case | Setup is worst at | Hold is worst at |
|---|---|---|
| Normal (high voltage) | slow process, low voltage, hot | fast process, high voltage, cold |
| Inverted (low voltage, advanced node) | slow process, low voltage, cold (and hot, check both) | fast process, high voltage, hot (and cold, check both) |
What the Tutorial Libraries Show
The sky130 libraries that are used in this tutorial are for a 130 nm technology with a supply of 1.8 V. They have three corners: the slow one at 100 C and 1.60 V, the typical one at 25 C and 1.80 V, and the fast one at -40 C and 1.95 V. Each of them changes the process, the voltage and the temperature together, so you cannot separate the effect of the temperature from them. There is also no corner with a cold and slow condition. For these reasons, the tutorial cannot show temperature inversion with measured numbers, and the drawing is only a sketch. In a technology where the effect exists, the vendor provides the library files for the extra corners, and they are treated as any other corner by STA.
How to Check Your Own Technology
- Ask what corners the library vendor recommends for sign-off. The vendor knows if inversion is present.
- Compare the delay of one cell at the slow process and the low voltage in the library files for the cold and the hot temperature. If the cold one is larger, inversion is present for that voltage.
- Include both temperature extremes for every voltage in the corner list, for setup and for hold.
STA itself has nothing special for inversion. It reads the libraries it is given. The work is in choosing the right set of libraries.
Common Mistakes
Mistake #1: Assuming the slow corner is always the hot one
This is true for many technologies and many voltages, but not for all. Using the old rule in an advanced node can leave a failing corner out of the sign-off.
Mistake #2: Looking at the temperature alone
The effect depends on the supply voltage. A design with several voltage domains can show inversion in the low-voltage domain only.
Quick Check: In a technology with temperature inversion, at which temperature can a cell with a low supply voltage be slowest?
At the cold end of the range, because the threshold voltage is higher and the supply is only a little above it.
Practice Exercise
Challenge: Build the Corner List
This is a pencil and paper exercise. A technology has three process corners (slow, typical, fast), two voltages for the core (low and nominal), and a temperature range of -40 C to 125 C. The vendor says that inversion is present at the low voltage only. List the corners that you need for setup and for hold, and count them.
Hint
At the voltage with inversion, check both temperature extremes. At the other voltage, one temperature per check is enough.
Solution
For setup, use the slow process. At the low voltage, check both -40 C and 125 C. At the nominal voltage, check 125 C. That is three corners. For hold, use the fast process. At the nominal voltage, check -40 C, and at the low voltage check both -40 C and 125 C, because inversion can make the hot corner the fastest there. That is also three corners, six in total. A typical corner is added for reference. Without inversion, two corners would have been enough for each voltage.
Summary
- Temperature changes the mobility and the threshold voltage of a transistor, and the two effects work in opposite directions.
- At a high supply voltage, hot is slow. At a low supply voltage, in advanced technologies, cold can be slower: this is temperature inversion.
- With inversion, the slow corner is not always the hot corner, so both temperature extremes have to be checked at the voltage where it occurs.
- The corner list gets longer, but STA works the same way with each library.
- The sky130 libraries of this tutorial vary the three conditions together and cannot show the effect.
- Ask the library vendor which corners are needed for sign-off.