Difference between revisions of "CoE 197U The CMOS Inverter"
(36 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | To understand the analysis and design of digital circuits, we will look at its fundamental element -- the digital gate. We will start with the simplest digital gate, the inverter. | + | To understand the analysis and design of digital circuits, we will look at its fundamental element -- the digital gate. We will start with the simplest digital gate, the inverter, and look at the basic functionality, static metrics, delay, power, and energy characteristics of CMOS inverters. |
== The Inverter Voltage Transfer Characteristics (VTC) == | == The Inverter Voltage Transfer Characteristics (VTC) == | ||
Line 56: | Line 56: | ||
{| | {| | ||
− | |[[File:Inverter vtc | + | |[[File:Inverter vtc 2.png|thumb|400px|Figure 5: The non-ideal inverter voltage transfer characteristic (VTC)<ref name="se_ee">Electrical Engineering Stack Exchange ([https://electronics.stackexchange.com/questions/174786/significance-of-1-slope-in-cmos-inverter-transfer-characteristics link])</ref>.]] |
− | |[[File: | + | |[[File:Noise margin def.png|thumb|500px|Figure 6: Noise margin definitions<ref name="vlsibasic">VLSI Basic Blog ([https://vlsibasic.blogspot.com/2015/09/noise-margin.html link])</ref>.]] |
|- | |- | ||
|} | |} | ||
− | + | Let us define the following basic inverter VTC features: | |
− | * <math> | + | * <math>V_{OH}</math> is the nominal output high or logic '''1''' output of the inverter, and is seen at the output when <math>V_{OL}</math> or logic '''0''' is placed at the input of the inverter. |
− | * <math> | + | * <math>V_{OL}</math> is the nominal output low or logic '''0''' output of the inverter, and is seen at the output when <math>V_{OH}</math> or logic '''1''' is placed at the input of the inverter. |
+ | * If we connect the output of the inverter to its input, then we would expect the voltage to settle at the point where <math>v_O=v_I=V_M</math>, or the midpoint voltage. Graphically, this can be determined by drawing a 45-degree line on the VTC curve, as shown in Fig. 5. | ||
In the ideal inverter VTC in Fig. 1, we see that we have two flat regions (zero gain) and a vertical region (infinite gain). However, in a non-ideal VTC, the zero gain regions degrade into low gain regions where the absolute value of the slope is typically less than 1, and a high-gain region where the absolute value of the slope is greater than 1. The boundaries between the high- and low-gain regions are marked by the points where the absolute value of the slope of the VTC is equal to 1. | In the ideal inverter VTC in Fig. 1, we see that we have two flat regions (zero gain) and a vertical region (infinite gain). However, in a non-ideal VTC, the zero gain regions degrade into low gain regions where the absolute value of the slope is typically less than 1, and a high-gain region where the absolute value of the slope is greater than 1. The boundaries between the high- and low-gain regions are marked by the points where the absolute value of the slope of the VTC is equal to 1. | ||
− | The two points with a slope of <math>-1</math> are shown in Fig. 5 | + | The two points with a slope of <math>-1</math> are shown in Fig. 5, where <math>V_{IL}</math> is the highest input voltage the inverter will still consider as a low voltage. Anything above this places the inverter in the high-gain region of the VTC, making it sensitive to noise and interference. Similarly, <math>V_{IH}</math> is the lowest input voltage the inverter will still consider as a high voltage. |
− | |||
− | |||
− | + | == Noise in Digital Circuits == | |
+ | One of the main advantages of digital circuits over analog circuits is its relatively good noise immunity. In a binary digital logic system, we reduce the amount of information carried by a digital signal to just 1 bit. This then increases the digital circuit's robustness to interference from nearby signals, or from inherent device noise. The zero-gain regions of the ideal inverter VTC are ideal at the points near <math>V_H</math> and <math>V_L</math> since any disturbance or noise added to the input voltage would just be ignored by the inverter, i.e. the output voltage will not change. | ||
+ | |||
+ | === Noise Margins === | ||
+ | To quantify this robustness to noise and interference, we define the following metrics as illustrated in Fig. 6: | ||
+ | * <math>NM_H = V_{OH}-V_{IH}</math> is the noise margin at the high output level, and is the maximum noise that can reduce the input high or logic '''1''' level to the point where the inverter might not recognize it as a high level anymore. | ||
+ | * <math>NM_L = V_{IL}-V_{OL}</math> is the noise margin at the low output level, and is the maximum noise that can increase the input low or logic '''0''' level to the point where the inverter might not recognize it as a low level anymore. | ||
+ | Note that input signals between <math>V_{IL}</math> and <math>V_{IH}</math> are considered to be in the ''indeterminate'' or ''undefined'' region, where because of the high gain, small variations in the input could result in large output variations, possibly leading to erroneous inverter outputs. | ||
+ | === The Regenerative Property of Inverters === | ||
+ | It is desirable to have a VTC with two low-gain regions, at the nominal input and output voltages, that are separated by a high-gain region. An inverter with this type of VTC is called a ''regenerative'' inverter. This means that if a signal is degraded by noise, leaving it in the indeterminate or undefined zone, then by passing this signal into a chain of inverters, the signal will eventually approach one of the nominal voltage levels, as seen in Fig. 7. | ||
− | == | + | {| |
+ | |[[File:Inv chain regen.png|thumb|400px|Figure 7: The regenerative property of cascaded inverters<ref name="zou2019">Zou, Xuncheng & Nakatake, Shigetoshi, A Low Voltage Stochastic Flash ADC without Comparator, ''IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences'', 2019. E102.A. 886-893. 10.1587/transfun.E102.A.886. </ref>.]] | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | == Inverter Delay == | ||
+ | Aside from the static metrics, we also have the inverter dynamic characteristics, or what happens to the inverter when the input changes from high to low, or low to high. Specifically, we are interested in the time it takes for the output to settle to its correct value once the input has changed. | ||
+ | |||
+ | {| | ||
+ | |[[File:Timing definitions.png|thumb|350px|Figure 8: Logic delay definitions <ref name="wu2014"/>.]] | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | To easily compare delays, we use the standard delay definitions in Fig. 8. | ||
+ | * The ''rise time'', <math>t_r</math>, is defined as the time it takes for a '''0'''<math>\rightarrow</math>'''1''' transition to go from 10% to 90% of its voltage swing. | ||
+ | * The ''fall time'', <math>t_f</math>, is defined as the time it takes for a '''1'''<math>\rightarrow</math>'''0''' transition to go from 90% to 10% of its voltage swing. | ||
+ | * The ''propagation delay'', <math>t_p</math> is defined as the time interval between the time the input reaches 50% of its voltage swing to the time the output reaches 50% of its voltage swing. Since the propagation delay does not have to be the same for a '''0'''<math>\rightarrow</math>'''1''' and a '''1'''<math>\rightarrow</math>'''0''' output transition, we can evaluate the propagation delay for each of these cases: | ||
+ | ** The ''propagation delay, high-to-low'', <math>t_{pHL}</math>, is the propagation delay when the output transitions from high to low. | ||
+ | ** The ''propagation delay, low-to-high'', <math>t_{pLH}</math>, is the propagation delay when the output transitions from low to high. | ||
+ | |||
+ | === A Simple CMOS Inverter Delay Model === | ||
+ | Let us try to estimate the delay of an inverter. First, we recognize that in a purely CMOS digital system, an inverter will drive another CMOS gate, and in this case, let us simplify it to just an inverter. The inverter input impedance is capacitive since we are looking into the gate of both the NMOS and PMOS transistors. Secondly, this output capacitance will be charged by the PMOS transistor when the output transitions from low to high, and it will be discharged by the NMOS when the output goes from high to low. Thus, we can model each transition separately. | ||
+ | |||
+ | For the low-to-high transition, we can model the CMOS inverter as ON resistance of the PMOS charging the load capacitance as seen in Fig. 9. The high-to-low transition can be modeled in a similar fashion, as shown in Fig. 10. | ||
+ | |||
+ | {| | ||
+ | |[[File:Inv RC delay LH.png|thumb|500px|Figure 9: The CMOS inverter RC low-to-high delay model.]] | ||
+ | |[[File:Inv RC delay HL.png|thumb|225px|Figure 10: The CMOS inverter RC high-to-low delay model.]] | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | For the simple RC model, we can easily calculate the output low-to-high step response as: | ||
+ | |||
+ | {{NumBlk|::|<math> | ||
+ | v_O\left(t\right) = V_{DD}\cdot \left(1-e^{-\frac{t}{\tau_p}}\right) | ||
+ | </math>|{{EquationRef|3}}}} | ||
+ | |||
+ | Where <math>\tau_p = R_{ON\text{,p}}C_L</math>. Thus, the propagation delay is the time it takes for the output to reach <math>\tfrac{V_{DD}}{2}</math> is: | ||
+ | |||
+ | {{NumBlk|::|<math> | ||
+ | t_{pLH} = \ln 2\cdot \tau_p = 0.69 \cdot \tau_p | ||
+ | </math>|{{EquationRef|4}}}} | ||
− | + | Similarly, the propagation delay from high to low is: | |
− | == | + | {{NumBlk|::|<math> |
+ | t_{pHL} = \ln 2\cdot \tau_n = 0.69 \cdot \tau_n | ||
+ | </math>|{{EquationRef|5}}}} | ||
− | = | + | Where <math>\tau_n=R_{ON\text{,n}}C_L</math>. |
− | = | + | Since the inverter propagation delay is very much dependent on the load capacitance, it is convenient to define a standard capacitance load so we can compare inverters not only of different topologies, but also across different technologies. One convenient way is to get the delay of an inverter with a fan-out of 4 (FO4), or an inverter driving 4 other identical inverters as shown in Fig. 11. Thus, the FO4 inverter delay uses <math>C_L=4\cdot C_{in}</math>, where <math>C_{in}</math> is the input capacitance of the inverter. |
{| | {| | ||
− | |[[File: | + | |[[File:Fo4 inv.gif|thumb|400px|Figure 11: The inverter FO4 delay<ref name="demone2002">P. DeMone ([https://www.realworldtech.com/cmos-logic/3/ link])</ref>.]] |
|- | |- | ||
|} | |} | ||
− | == Power Dissipation == | + | == Dynamic Power Dissipation == |
+ | Since the CMOS inverter ideally does not draw any current when the output is at its nominal values, i.e. <math>V_{DD}</math> or ground, it only consumes dynamic power, or power when the output transitions from low to high or high to low, as shown in Figs. 12 and 13. During the transition, the most current is drawn when both transistors are in the saturation region, where the NMOS and PMOS transistors are simultaneously behaving like closed switches. Thus, this current is called the ''short-circuit current'' or ''crowbar current'', which lasts over a period called the short-circuit time, <math>t_{sc}</math>. The instantaneous dynamic power consumption is given by: | ||
+ | |||
+ | {{NumBlk|::|<math> | ||
+ | p\left(t\right) = V_{DD}\cdot i_p\left(t\right) = V_{DD}\cdot i_{C_L}\left(t\right) | ||
+ | </math>|{{EquationRef|6}}}} | ||
+ | |||
+ | Recognizing that the capacitor current, <math>i_{C_L}\left(t\right)=C_L\tfrac{\partial v}{\partial t}</math>, the average power dynamic power consumption can be expressed as: | ||
+ | |||
+ | {{NumBlk|::|<math> | ||
+ | \begin{align} | ||
+ | P_{ave} & = \frac{1}{T} \int_t^{t+T} V_{DD}\cdot i_{C_L}\left(t\right) dt = \frac{V_{DD}}{T} \int_t^{t+T} i_{C_L}\left(t\right) dt \\ | ||
+ | & = \frac{V_{DD}}{T} \int_t^{t+T} C_L\tfrac{\partial v}{\partial t} dt =\frac{V_{DD}}{T} \int_0^{V_{DD}} C_L dv \\ | ||
+ | & = \frac{V_{DD}}{T} \cdot C_L \cdot V_{DD} \\ | ||
+ | & = C_L \cdot V_{DD}^2 \cdot \frac{1}{T} | ||
+ | \end{align} | ||
+ | </math>|{{EquationRef|7}}}} | ||
+ | |||
+ | For synchronous systems where the switching occurs regularly with period, <math>T=\tfrac{1}{f}</math>, where <math>f</math> is the frequency of operation of the inverter, the average power becomes: | ||
+ | |||
+ | {{NumBlk|::|<math> | ||
+ | P_{ave} = C_L\cdot V_{DD}^2\cdot f | ||
+ | </math>|{{EquationRef|8}}}} | ||
{| | {| | ||
− | |[[File:Cmos short ckt current.png|thumb|425px|Figure : The CMOS switching current<ref name="king2003-2">Tsu-Jae King's UCB EECS40 (Fall 2003) Lecture 27 Slides ([https://inst.eecs.berkeley.edu/~ee40/fa03/lecture/lecture27.pdf link])</ref>.]] | + | |[[File:Cmos short ckt current.png|thumb|425px|Figure 12: The CMOS switching current<ref name="king2003-2">Tsu-Jae King's UCB EECS40 (Fall 2003) Lecture 27 Slides ([https://inst.eecs.berkeley.edu/~ee40/fa03/lecture/lecture27.pdf link])</ref>.]] |
− | |[[File:Cmos short circuit transient.png|thumb|550px|Figure : The CMOS transient power dissipation<ref name="king2003-2"/>.]] | + | |[[File:Cmos short circuit transient.png|thumb|550px|Figure 13: The CMOS transient power dissipation<ref name="king2003-2"/>.]] |
|- | |- | ||
|} | |} | ||
− | == Energy Consumption == | + | The peak power consumed by the inverter is equal to: |
+ | |||
+ | {{NumBlk|::|<math> | ||
+ | P_{\text{peak}} = V_{DD}\cdot I_{\text{peak}} | ||
+ | </math>|{{EquationRef|9}}}} | ||
+ | |||
+ | During the high-to-low transition, the capacitor is discharged to ground via the NMOS transistor. | ||
+ | |||
+ | == Dynamic Energy Consumption == | ||
+ | In battery powered applications, the energy consumed can become a more important metric than average power. We can then express the energy consumed by the inverter as: | ||
+ | |||
+ | {{NumBlk|::|<math> | ||
+ | \begin{align} | ||
+ | E_{0\rightarrow 1} & = \int_t^{t+T} p\left(t\right) dt = V_{DD} \int_t^{t+T} i_{C_L}\left(t\right) dt \\ | ||
+ | & = V_{DD} \int_0^{V_{DD}} C_L dv \\ | ||
+ | & = C_L \cdot V_{DD}^2 | ||
+ | \end{align} | ||
+ | </math>|{{EquationRef|10}}}} | ||
+ | |||
+ | The energy needed by the capacitor to raise its voltage from 0 to <math>V_{DD}</math> is: | ||
+ | |||
+ | {{NumBlk|::|<math> | ||
+ | E_C = \frac{1}{2} \cdot C_L\cdot V_{DD}^2 | ||
+ | </math>|{{EquationRef|11}}}} | ||
+ | |||
+ | It is interesting to note that only half of the energy drawn from the supply is stored into the capacitor. Half of the energy is dissipated by the PMOS transistor as heat. | ||
== References == | == References == | ||
<references /> | <references /> |
Latest revision as of 11:49, 11 March 2021
To understand the analysis and design of digital circuits, we will look at its fundamental element -- the digital gate. We will start with the simplest digital gate, the inverter, and look at the basic functionality, static metrics, delay, power, and energy characteristics of CMOS inverters.
Contents
The Inverter Voltage Transfer Characteristics (VTC)
The functionality of the inverter can be captured by looking at the output voltage as we change the input voltage, or the voltage-transfer characteristic (VTC).
The Ideal Inverter VTC
Let us define an ideal inverter, where:
-
(1)
-
Where is logic 1 voltage level, and in general may or may not be equal to the positive supply voltage, , and is logic 0 voltage level, and in general may or may not be equal to the negative supply voltage, . The VTC of this ideal inverter, as well as the standard inverter circuit symbol, is shown in Fig. 1.
Inverter Implementations
One implementation of the inverter is to use a single NMOS transistor and a resistor, as shown in Fig. 2. Using our switch model for the NMOS transistor, we can see that when the input is low or at logic 0, the output is pulled up to since the switch is open. When the input voltage is equal to , the switch is closed and the output is pulled down close to ground. For a finite on switch resistance, , the output voltage becomes:
-
(2)
-
Note that a finite will degrade (increase) low output voltage or logic 0 level. Additionally, the when the output of the NMOS inverter is low, there is a non-zero current flowing through the resistor, resulting in static power consumption, or power consumed from the supply even when there is no switching activity present in the circuit.
Another implementation of the inverter is to use an NMOS and a PMOS transistor. This complementary (CMOS) configuration turns on only one switch at a time since the gates of the two transistors are connected to each other. Thus, an input voltage of will turn on (close) the NMOS switch, and turn off (open) the PMOS switch since the gate-to-source voltage of the PMOS transistor is zero, pulling the inverter output down to ground. When the input voltage is ground or logic 0, the NMOS switch is open and the PMOS is closed, pulling the output up to .
Note that due to the complementary function of the CMOS inverter, there is no static current flowing when the output is either at logic 0 or logic 1. However, current will flow during the transition from 01 or 10.
We can derive the VTC of any inverter by determining the regions of operation of each transistor as we vary the input voltage. Fig. 4 shows the VTC of the CMOS inverter with the corresponding regions of operation, which are dependent on the input and output voltages. Note that:
- .
Static Design Metrics
The general form of the inverter voltage transfer characteristic is shown in Fig. 5. We can define several metrics to enable us to determine how close the real VTC is to the ideal VTC.
Let us define the following basic inverter VTC features:
- is the nominal output high or logic 1 output of the inverter, and is seen at the output when or logic 0 is placed at the input of the inverter.
- is the nominal output low or logic 0 output of the inverter, and is seen at the output when or logic 1 is placed at the input of the inverter.
- If we connect the output of the inverter to its input, then we would expect the voltage to settle at the point where , or the midpoint voltage. Graphically, this can be determined by drawing a 45-degree line on the VTC curve, as shown in Fig. 5.
In the ideal inverter VTC in Fig. 1, we see that we have two flat regions (zero gain) and a vertical region (infinite gain). However, in a non-ideal VTC, the zero gain regions degrade into low gain regions where the absolute value of the slope is typically less than 1, and a high-gain region where the absolute value of the slope is greater than 1. The boundaries between the high- and low-gain regions are marked by the points where the absolute value of the slope of the VTC is equal to 1.
The two points with a slope of are shown in Fig. 5, where is the highest input voltage the inverter will still consider as a low voltage. Anything above this places the inverter in the high-gain region of the VTC, making it sensitive to noise and interference. Similarly, is the lowest input voltage the inverter will still consider as a high voltage.
Noise in Digital Circuits
One of the main advantages of digital circuits over analog circuits is its relatively good noise immunity. In a binary digital logic system, we reduce the amount of information carried by a digital signal to just 1 bit. This then increases the digital circuit's robustness to interference from nearby signals, or from inherent device noise. The zero-gain regions of the ideal inverter VTC are ideal at the points near and since any disturbance or noise added to the input voltage would just be ignored by the inverter, i.e. the output voltage will not change.
Noise Margins
To quantify this robustness to noise and interference, we define the following metrics as illustrated in Fig. 6:
- is the noise margin at the high output level, and is the maximum noise that can reduce the input high or logic 1 level to the point where the inverter might not recognize it as a high level anymore.
- is the noise margin at the low output level, and is the maximum noise that can increase the input low or logic 0 level to the point where the inverter might not recognize it as a low level anymore.
Note that input signals between and are considered to be in the indeterminate or undefined region, where because of the high gain, small variations in the input could result in large output variations, possibly leading to erroneous inverter outputs.
The Regenerative Property of Inverters
It is desirable to have a VTC with two low-gain regions, at the nominal input and output voltages, that are separated by a high-gain region. An inverter with this type of VTC is called a regenerative inverter. This means that if a signal is degraded by noise, leaving it in the indeterminate or undefined zone, then by passing this signal into a chain of inverters, the signal will eventually approach one of the nominal voltage levels, as seen in Fig. 7.
Inverter Delay
Aside from the static metrics, we also have the inverter dynamic characteristics, or what happens to the inverter when the input changes from high to low, or low to high. Specifically, we are interested in the time it takes for the output to settle to its correct value once the input has changed.
To easily compare delays, we use the standard delay definitions in Fig. 8.
- The rise time, , is defined as the time it takes for a 01 transition to go from 10% to 90% of its voltage swing.
- The fall time, , is defined as the time it takes for a 10 transition to go from 90% to 10% of its voltage swing.
- The propagation delay, is defined as the time interval between the time the input reaches 50% of its voltage swing to the time the output reaches 50% of its voltage swing. Since the propagation delay does not have to be the same for a 01 and a 10 output transition, we can evaluate the propagation delay for each of these cases:
- The propagation delay, high-to-low, , is the propagation delay when the output transitions from high to low.
- The propagation delay, low-to-high, , is the propagation delay when the output transitions from low to high.
A Simple CMOS Inverter Delay Model
Let us try to estimate the delay of an inverter. First, we recognize that in a purely CMOS digital system, an inverter will drive another CMOS gate, and in this case, let us simplify it to just an inverter. The inverter input impedance is capacitive since we are looking into the gate of both the NMOS and PMOS transistors. Secondly, this output capacitance will be charged by the PMOS transistor when the output transitions from low to high, and it will be discharged by the NMOS when the output goes from high to low. Thus, we can model each transition separately.
For the low-to-high transition, we can model the CMOS inverter as ON resistance of the PMOS charging the load capacitance as seen in Fig. 9. The high-to-low transition can be modeled in a similar fashion, as shown in Fig. 10.
For the simple RC model, we can easily calculate the output low-to-high step response as:
-
(3)
-
Where . Thus, the propagation delay is the time it takes for the output to reach is:
-
(4)
-
Similarly, the propagation delay from high to low is:
-
(5)
-
Where .
Since the inverter propagation delay is very much dependent on the load capacitance, it is convenient to define a standard capacitance load so we can compare inverters not only of different topologies, but also across different technologies. One convenient way is to get the delay of an inverter with a fan-out of 4 (FO4), or an inverter driving 4 other identical inverters as shown in Fig. 11. Thus, the FO4 inverter delay uses , where is the input capacitance of the inverter.
Dynamic Power Dissipation
Since the CMOS inverter ideally does not draw any current when the output is at its nominal values, i.e. or ground, it only consumes dynamic power, or power when the output transitions from low to high or high to low, as shown in Figs. 12 and 13. During the transition, the most current is drawn when both transistors are in the saturation region, where the NMOS and PMOS transistors are simultaneously behaving like closed switches. Thus, this current is called the short-circuit current or crowbar current, which lasts over a period called the short-circuit time, . The instantaneous dynamic power consumption is given by:
-
(6)
-
Recognizing that the capacitor current, , the average power dynamic power consumption can be expressed as:
-
(7)
-
For synchronous systems where the switching occurs regularly with period, , where is the frequency of operation of the inverter, the average power becomes:
-
(8)
-
The peak power consumed by the inverter is equal to:
-
(9)
-
During the high-to-low transition, the capacitor is discharged to ground via the NMOS transistor.
Dynamic Energy Consumption
In battery powered applications, the energy consumed can become a more important metric than average power. We can then express the energy consumed by the inverter as:
-
(10)
-
The energy needed by the capacitor to raise its voltage from 0 to is:
-
(11)
-
It is interesting to note that only half of the energy drawn from the supply is stored into the capacitor. Half of the energy is dissipated by the PMOS transistor as heat.
References
- ↑ 1.0 1.1 Ming Wu's UCB EE105 (Fall 2014) Lecture 24 Slides (link)
- ↑ Tsu-Jae King's UCB EECS40 (Fall 2003) Lecture 26 Slides (link)
- ↑ Electrical Engineering Stack Exchange (link)
- ↑ VLSI Basic Blog (link)
- ↑ Zou, Xuncheng & Nakatake, Shigetoshi, A Low Voltage Stochastic Flash ADC without Comparator, IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 2019. E102.A. 886-893. 10.1587/transfun.E102.A.886.
- ↑ P. DeMone (link)
- ↑ 7.0 7.1 Tsu-Jae King's UCB EECS40 (Fall 2003) Lecture 27 Slides (link)