3.2.10CMOS Circuit Design

Pass-transistor logic

1,964 words9 min readdifficulty · medium2 backlinks

Chapter: CMOS Circuit Design · Subtopic 3.2.10

The Big Picture


WHAT is a pass transistor?

  • Static CMOS gate output: node is pulled to a rail through a transistor.
  • PTL: node receives the actual input voltage copied through a conducting channel.

WHY nMOS passes a weak '1' (the central fact)

An nMOS transistor conducts (is ON) only while

VGS=VGVS>VtnV_{GS} = V_G - V_S > V_{tn}

HOW this bites us when passing a '1':

Suppose gate is tied to VDDV_{DD} and we apply input VDDV_{DD} at the source, trying to charge an output node (initially 0) up toward '1'. Call the output node voltage VoutV_{out}; it acts as the source of the nMOS (current flows out of it into the load).

WHY nMOS passes a perfect '0': discharging toward 0, the source is the low node, VS0V_S\to 0, so VGS=VDD0=VDDVtnV_{GS}=V_{DD}-0=V_{DD}\gg V_{tn} — the device stays strongly ON all the way to 0 V. So:

  • nMOS: strong 0, weak 1
  • pMOS (symmetric argument): strong 1, weak 0 (it stops when VoutV_{out} falls to Vtp|V_{tp}|).
Figure — Pass-transistor logic

HOW we fix the weak '1'

1. Transmission gate (CMOS pass gate). Put an nMOS in parallel with a pMOS, driven by complementary gate signals.

2. Level-restoring (swing-restoring) pMOS. After a chain of nMOS pass transistors feeding an inverter, add a feedback pMOS from VDDV_{DD} to the degraded node. When the inverter output goes low, the pMOS pulls the weak-'1' node fully to VDDV_{DD}, restoring the level.


Worked Example 1 — 2:1 MUX in PTL

Function: Y=SA+SˉBY = S\cdot A + \bar S\cdot B.

Build: one nMOS with gate SS passing AA; one nMOS with gate Sˉ\bar S passing BB; drains tied to YY.

  • Why this step? Exactly one select line is high, so exactly one pass transistor is ON, steering the chosen input to YY. Only 2 transistors (+ inverter for Sˉ\bar S) vs. many for full CMOS.

Check S=1,A=1S=1,\,A=1: the AA-path nMOS is ON, gate at VDDV_{DD}, passing a '1' → output degrades to VDDVtnV_{DD}-V_{tn}.

  • Why care? If YY drives another gate, that weak '1' may not fully turn off the next pMOS → static leakage. Fix with a transmission gate or restoring inverter.

Worked Example 2 — XOR steering

Y=ABY = A\oplus B. Use AA and Aˉ\bar A as pass signals steered by B,BˉB,\bar B: Y=BˉA+BAˉ.Y = \bar B\cdot A + B\cdot \bar A.

  • Why this step? PTL lets us pass variables themselves (not just rails), so AA and Aˉ\bar A become the data being routed — impossible in pure pull-up/pull-down CMOS thinking. XOR becomes a tiny MUX.

Worked Example 3 — voltage numbers

Let VDD=1.8V_{DD}=1.8 V, Vtn0=0.4V_{tn0}=0.4 V, ignore body effect.

  • Weak '1' out of a single nMOS =1.80.4=1.4=1.8-0.4=1.4 V. Why: conduction stops at VGS=VtnV_{GS}=V_{tn}.
  • Feed a following CMOS inverter with Vtp=0.4V_{tp}=-0.4 V: its pMOS needs VSG>0.4V_{SG}>0.4, i.e. gate below 1.80.4=1.41.8-0.4=1.4 V. Input is exactly 1.41.4 V → pMOS is right at threshold, barely off, leaks. Why fix matters: static power ∝ this leakage.


80/20 — the 20% you must own

  1. nMOS = strong 0, weak 1 (VDDVtnV_{DD}-V_{tn}); pMOS = strong 1, weak 0.
  2. Reason: conduction needs VGS>VtnV_{GS}>V_{tn}, and the passed node is the source.
  3. Fix weak levels with a transmission gate or a restoring pMOS.
  4. PTL trades transistor count for level degradation + no drive.

Recall Feynman: explain to a 12-year-old

Imagine a water pipe with a valve you open using a spring. The spring's pull depends on how high the water on the far side is. To let water flow out (make the far side empty), the spring stays strong — easy. But to fill the far side up, as the water rises it pushes back on the spring, and at some point the valve snaps shut before it's completely full. So this valve is great at emptying but leaves the tank a bit short when filling. That "leaves it short" is why an nMOS switch gives a weak '1'. To fill fully, you add a second, opposite valve (the pMOS) — together they do both jobs.


Flashcards

Why can't a single nMOS pass a strong logic '1'?
As output rises, VGS=VDDVoutV_{GS}=V_{DD}-V_{out} falls; conduction stops when VGS=VtnV_{GS}=V_{tn}, so Vout,max=VDDVtnV_{out,\max}=V_{DD}-V_{tn}.
Maximum voltage an nMOS pass transistor delivers (gate at VDDV_{DD})?
VDDVtnV_{DD}-V_{tn} (even lower with body effect).
nMOS pass transistor strengths?
Strong '0', weak '1'.
pMOS pass transistor strengths?
Strong '1', weak '0'.
What is a transmission gate?
nMOS ∥ pMOS with complementary gates, passing both rails full-swing.
Two ways to restore a degraded '1' from an nMOS pass chain?
Transmission gate; or a feedback (level-restoring) pMOS to VDDV_{DD}.
Transistor count of a PTL 2:1 MUX (excluding inverter)?
2 (one nMOS per data input, steered by SS and Sˉ\bar S).
Downside of feeding a degraded '1' into a CMOS inverter?
The inverter's pMOS may not fully turn off → static leakage / power.
How does body effect worsen the weak '1'?
VSB=VoutV_{SB}=V_{out} is large, raising VtnV_{tn} further, so the '1' is even lower than VDDVtn0V_{DD}-V_{tn0}.
Why does an nMOS pass a perfect '0'?
When discharging, VS0V_S\to 0 so VGS=VDDVtnV_{GS}=V_{DD}\gg V_{tn}: it stays strongly ON to 0 V.

Connections

Concept Map

uses

gate acts as

gives

typically

conducts while

passing 0

passing 1

caused by

worsened by

complemented by

fixed by

combined in

Pass-transistor logic

Pass transistor

Gate steers signal

Fewer transistors

nMOS pass device

Condition VGS gt Vtn

Strong logic 0

Weak logic 1

Threshold drop Vout max eq VDD minus Vtn

Body effect

pMOS strong 1 weak 0

Transmission gate

Hinglish (regional understanding)

Intuition Hinglish mein samjho

Dekho, normal static CMOS mein transistor ka kaam hota hai node ko power rail (VDDV_{DD} ya GND) se connect karna, aur input sirf gate pe aata hai. Pass-transistor logic (PTL) mein game palat jaata hai — ab signal khud transistor ke source/drain se pass hoke nikalta hai, aur gate ek "steering" control ban jaata hai. Iska fayda: bahut kam transistors mein MUX jaisi cheezein ban jaati hain.

Lekin ek bada twist hai. nMOS transistor tabhi ON rehta hai jab VGS=VGVS>VtnV_{GS} = V_G - V_S > V_{tn}. Jab hum '1' pass karke output node ko charge karte hain, to output node hi source ban jaata hai. Jaise-jaise output upar chadhta hai, VGSV_{GS} ghatta jaata hai, aur jab Vout=VDDVtnV_{out} = V_{DD}-V_{tn} ho jaata hai, transistor band ho jaata hai — matlab full VDDV_{DD} kabhi nahi milta, sirf weak '1' milta hai. Body effect isko aur bhi kharab kar deta hai. Ulta, '0' pass karte time source 0 ki taraf jaata hai, VGS=VDDV_{GS}=V_{DD} rehta hai, so strong '0' milta hai. Yaad rakho: nMOS = strong 0, weak 1; pMOS = strong 1, weak 0.

Ye weak '1' problem kyun matter karta hai? Agar ye degraded '1' aage kisi CMOS inverter ko drive kare, to uska pMOS puri tarah OFF nahi hota — static leakage aur power waste. Fix simple hai: nMOS ke saath pMOS parallel mein laga do (yani transmission gate), ya ek level-restoring pMOS feedback lagao jo node ko poora VDDV_{DD} tak khींch de. Exam aur real design dono mein: PTL transistor bachaata hai par level degradation aur drive ki kami ka trade-off deta hai — isliye MUX/adder datapaths mein restoration ke saath use hota hai.

Go deeper — visual, from zero

Test yourself — CMOS Circuit Design

Connections