Modules 3 & 4 - NMOS Inverters & PMOS Review

Chapter 6.5: NMOS (+PMOS) Logic Design

We'll now try to use MOSFETS to try to design our logic gates. Recall from Modules 1 & 2 - NMOS Review#Section 4.2 NMOS Equations that the MOS device depends on:

So it is now our job to choose these values such that we get the desired logic functionality we want!

Notice though that usually VDD (usually V and V+) are given values that we have to work around, so then usually the voltages are out of our control. Recall from Modules 1 & 2 - NMOS Review#6.1 Ideal Logic Gates that VDD was usually 5V.

We first do logic design by making a simple logic inverter:

Pasted image 20240117112307.png

We'll explore the intricacies of this NMOS inverter with resistor load now.

6.5.1: NMOS Inverter With Resistive Load

Recall that when we cascade inverters as we did in Modules 1 & 2 - NMOS Review#6.3 Dynamic Response of Logic Gates, we have Vo=VH when an input voltage of VI=VL and vice versa.

Looking at Figure 6.11 seen [[Pasted image 20240117112307.png]], we use a resistor load to "pull" the output up towards the power supply VDD. So when the MOSFET is "off" then no current flows, so Vo=VDDVH, as we wanted. And when the MOSFET is "on" then Vo=VL as desired too.

We need to choose values for R and W/L of switching transistor MS such that we can meet the design specifications, letting us choose VL and the total power dissipation for the gate. We summarize everything below:

NMOS Inverter

When VI=VH:

Vo=VDS=VDDiDR

And when VI=VL:

Vo=VDD=VH

So therefore the power supply voltage VDD sets what a logic high VH is. Further, for VI=VL=VGS we require that VI<Vtn.

Design

For something like Vtn=0.6V a good rule of thumb is to have VL(0.25Vtn,0.5Vtn)=(0.15V,0.3V).

6.5.2: Design of the W/L Ratio for MS

W/L will come from our chosen value for VL. Say we have Vtn=0.6V, so as the design note above mentions, then VL=0.2V:

Choosing W/L

Say Vtn=0.6VVL=0.2V. Say we're given Kn=100μAV2. The current is determined by the power dissipation of the NMOS gate when Vo=VL. Say P=0.2mW. Then we know that P=VDDIDD so then:

0.2mW=2.5VIDDIDD=80μA

Thus, when our VI=VH=VDD then we have Vo=VL. We use the triode drain current since VGSVtn=2.5V0.6V=1.9V, while vDS=VL=0.2V, so VDS<VOV which gives rise to the triode behavior. Thus:

ID=KnWLS(vGSVtn0.5VDS)VDS

Plugging in:

80μA=100μAV2(W/L)s(2.5V0.6V0.50.2V)(0.2V)

Thus:

80=36(W/L)W/L=2.222222

6.5.3: Load Resistor Design

How do we choose R? We choose it based on when Vo=VL, which has:

R=VDDVLIDD=2.5V0.2V80μA=28.8kΩ
Choosing R

Redesign the logic gate designed in Example 1 to operate at a power of 0.4mW while maintaining VL=0.2V. Really, P is getting doubled, which would double IDD. Thus, we expect:

160=36(W/L)W/L=4.4444...

Similarly, R is inversely proportional to IDD so then R gets halved to R=14.4kΩ.

6.5.4: Load-Line Visualization

We'll look at the IV characteristic using:

VDS=VDDIDR

When we are in CO, we have ID=0 so then VDS=VDD=2.5V. When we're in the triode region then we have VGS=VH=2.5V so then VDS=VL=0.2V. But we must have some switch in operating modes between VL and VH. We can draw the load line to visualize when this change happens:

Pasted image 20240119113235.png

Here, we connect the two points described above to see where our Q-point is. In this case, the Q-point is the left point, where the slope's inverse indicates the MOSFETs load resistance.

Consult [[microelectronic-circuit-design-4th-edition-jaeger1.pdf#pages=301]] for a design process using this idea.

6.5.5: On-Resistance of the Switching Device

We can generalize this process, as we really only care when VI=VL or VH, using the Ron as a factor here using a voltage divider:

VL=VDDRonRon+R=VDD11+RRon

where recall that Ron is given by Modules 1 & 2 - NMOS Review#Section 4.2 NMOS Equations, but we review here:

Ron=VDSID=1Kn(VGSVtnVDS2)

So for VL to be small, we require that Ron<<R. This whole RRon idea gives rise to the idea of ratioed logic, where we design based on this ratio, rather than the values themselves.

6.5.6: Noise Margin Analysis

Using our designs above, we can simulate or do the math ourselves and get an IV plot:

Pasted image 20240119114233.png

of which now we can find the slope=1 points which give the VIL,VIH,... points.

6.5.7: Calculating VIL and VOH

We do an example of this now. Consider again:

VO=VDDIDR

When VI=VIL we have VGS as small (VGS=VI) and VDS is large (relatively speaking, since VDS=VDD). Thus, we are likely in the saturation region:

ID=Kn2(VGSVtn)2,(λ=0)

Substituting this in gives:

VO=VDDKn2(VIVtn)2R

We want to find the slope at this point to get the -1 slope points:

vovi=Kn(VIVtn)R

We know these points have -1 slope so:

1=Kn(VIVtn)RVIL=1KnR+Vtn

where plugging this back in as VI from our VO equation:

VOH=VDD12KnR

We usually note that 1/(KnR) has units of voltage, so it's the ratio of the transistor's transconductance parameter (say that 10 times fast).

6.5.8: Calculating VIH and VOL

Likewise, we do the same for the other 2 parameters. When VI=VIH then VGS is large and VDS is small so we are in the triode region. Thus:

ID=Kn(VGSVtn(VDS/2))VDS

We substitute in back into our VO generic equation to get:

VO=VDDKNVDS(VGSVtnVO/2)R

We can do some rearranging to get:

VO22VO[VIVtn+1KnR]+VDDKnR=0

We solve for Vo and set the derivative of Vo to -1 for VI=VIH to get:

VIH=Vtn1KnR+1.63VDDKnR

and:

VOL=2VDD3KnR
Calculating NMH and NML

We can substitute our values into our NMH and NML equations described at Modules 1 & 2 - NMOS Review#6.3.1 Rise and Fall Time to get:

NMH=VDDVtn+12KnR1.63VDDKnR

and:

NML=Vtn+1KnR2VDD3KnR

I'd recommend not doing it this way and instead using the equations defined in terms of VOL,VOH,... and finding those instead using the above equations.

6.5.9: Load Resistor Problems

Consider a rectangular block of semiconductor material:

Pasted image 20240119120945.png

The resistance is given by:

R=ρLA=ρLtW

For say a resistor like the 28.8kΩ we usually we, we require the L/W ratio to be:

L/W=Rtρ=2.88k|Omega0.1μm0.001Ωcm=2880/1

So if the W was some minimum line width of 1μm, then L=2800μm. The area would be 2800μm2 while the transistor itself is only W/L=2.22 which wouldn't be acceptable.

6.6: Transistor Alternatives to the Load Resistor

The R in our previous calculations just sucked! How about we remove it? Change R with some new NMOS transistor M2.

Pasted image 20240119122341.png

(a) and (b) are always either turned always off or on. But (c-e) have properties that'll be interesting to us.

6.6.1: The NMOS Saturated Load Inverter

First consider (c). Here VDS=VGS in ML. We refer to this as a saturated load inverter.

Pasted image 20240121230640.png

Notice:

Consider for our cases that ID=80μA and VDD=2.5V and VL=0.2V. We know that ML has to operate in the saturation region (as VGS=VDS so then VGSVtn=VDSVtn<VDS for Vtn>0), so then:

ID=Kn2W/L(VGSVtnL)2

We know that when VL=Vo then VDS,S=0.2V and VDS,L=2.3V. Other values are in Figure 6.19 above. But we need to get VtnL first, which is given by:

Vtn=VTO+γ(VSB+2ϕF2ϕF)

We usually are just given these values from a table, so we'll use:

Pasted image 20240121232546.png

Cool! So then:

VtnL=0.6+0.5(0.2+0.60.6)=0.66V

Now solve for W/L in the current equation above:

(W/L)L=2IDKn(VGSVtnL)2=280μA100μAV2(2.3V0.66V)2=11.68

So now the L has to be bigger than W, but we still use the larger side as the measure of size. With that, then the gate area is ML=1.68μm2.

Calculation of VH

We'll find that the value of VHVDD sadly. Consider the following circuit:

Pasted image 20240122113836.png

Consider VI=VL, so then MS is turned off. But VO will approach VDDVTO so we'd reach 1.9V rather than 2.5V. But with body effect we consider the entirety of VtnL which is lower than VTO.

Really, we use the same Vtn equation as before, so for instance:

VtnL=0.6V+0.5(0.2V+0.6V0.6)=0.66V

where VTO=0.6V,γ=0.5,VSB=0.2V,2ϕF=0.6V as per usual.

Calculation of VH

is just:

VH=VDDVtnL=VDD[VTO+γ(VH+2ϕF2ϕF)]

where we do some solving via using a calculator to find the intersection for VH.

Calculation of (W/L)S

For the switching transistor MS calculating the ratio is via determining the region of operation based on given design values. For triode:

(W/L)s=iDKnVDS(VGSVtnSVDS2)

Pasted image 20240128162437.png

Notice here VH=VOH as it suddenly gives to a negative slope.

6.6.2: NMOS Inverter w/ A Linear Load Device

Consider (d) now. The gate is connected to a VGG, which is normally chosen to be at least one threshold voltage greater than the supply voltage VDD:

VGGVDD+VtnL

Again, like the previous analysis, consider VH as equal to VDD, as:

VDS=0VDS=VDDVH

We can check the region of operation by seeing when VDSVGSVtnL:

VGSVtnL=VGGVoVtnLVDD+VtnLVoVtnLVDDVo

but since VDS=VDDVo then always VDSVGSVtnL we are always in the triode region. As before we can solve for the W/L ratios for both MOSFETs. We know that VH=VDD=2.5V. We can use a graph to estimate VIL,VIH,...

6.6.3: NMOS Inverter w/ Depletion-Mode Load

Consider (a) now. Notice that since Vtn is always negative, as the VOV typically is negative for depletion-mode NMOSFETs (not enhancement mode), so then we are usually in saturation via:

VDSVGSVtnL=VtnL

so we require for that state that VDS|VtnL|.

Design of W/L ratios for ML.

Assume VDD=2.5V, VL=0.2V and VtnL=1V. When Vo=VL=0.2V then VDS=2.3VVtnL=1V. So the MOS operates in saturation, then:

IDL=Kn2W/L(VGSLVtnL)2=Kn2W/L(VtnL)2

if there's body effect we account for that in our VtnL calculation:

VtnL=1+0.5(0.2+0.60.6)=0.94V

Design of W/L ratios for MS.

When VI=VH=VDD then the bottom MOS is in saturation, which follows the exact same analysis as we did in Modules 3 & 4 - NMOS Inverters & PMOS Review#6.5.3 Load Resistor Design.

Noise Margin Analysis

Again, the calculations for finding NML and NMH are tedious, so just use a SPICE simulation or some graph.

4.3: PMOS Review

PMOS Characteristics are derived almost exactly as their Modules 1 & 2 - NMOS Review#Section 4.2 NMOS Equations counterparts, except for an extra sign here and there:

PMOS Equations

For all regions:

Kp=KpW/L,Kp=μpCox,IG=0,IB=0

Cutoff Region (VGSVtp):

ID=0

Triode Region (VGS<Vtp and 0|VDS||VGSVtp|):

ID=Kp(VGSVtpVDS2)VDS

Saturation Region (VGS<Vtp and |VDS||VGSVtp|0):

ID=Kp2(VGSVtp)2(1+λ|VDS|)

Threshold Voltage:

Vtp=VTOγ(VBS+2ϕF2ϕF)

Enhancement Mode Vtp<0. Depletion Mode Vtp0.

Pasted image 20240121231815.png