JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

CMOS 反相器:通往數位的橋梁

兩顆互補的 MOSFET 一上一下疊起來,造就了現代電子裡最重要的單一電路。看著你在第三篇做出的放大器,搖身變成一個閒置時幾乎不耗電的數位邏輯閘——並認識藏在每一次翻轉裡那個誠實的代價。

從放大器到開關——以及為什麼數位兩者都要

在第三篇你做了一個共源極放大器——一顆待在高增益區的 MOSFET,把閘極上的小擺動,變成汲極上的大擺幅。在第一、二篇你把同一顆元件當開關:把閘極驅動到底,它要嘛完全導通(低導通電阻)、要嘛完全關閉。一個數位邏輯閘,就活在這兩個概念的交會點上。它幾乎一直以開關的姿態停著,但在翻轉的那一瞬間,它必須穿過放大器區。CMOS 反相器 正是把這兩者結合起來的電路——它也是你學過的所有類比知識,通往數位世界的那座橋。

最簡單的數位開關有個麻煩。一顆 NMOS 電晶體導通時,能把輸出往下拉到地,卻沒辦法把輸出拉回上面——所以當它關閉時,你需要有東西來做這個抬升的工作。經典的做法是接一個普通的上拉電阻到電源。它能動,但很浪費:只要輸出是低的,這個電阻就把電流直接從電源灌到地;而輸出要上升時,又只能透過這個電阻軟弱而緩慢地爬。CMOS 把這個懶散的電阻,換成第二顆會主動拉高的互補電晶體——光是這一換,就改變了一切。

CMOS 反相器:兩個互補的開關

CMOS 的意思是「互補式 MOS」,而反相器是其中最簡單的 CMOS 電路。把一顆 P 通道 MOSFET 疊在上面(源極接正電源),一顆 N 通道 MOSFET 放在下面(源極接地)。把兩個閘極綁在一起——那就是輸入。把兩個汲極綁在一起——那就是輸出。兩顆都是普通的增強型元件,在閘極跨過臨界電壓之前都是關的。這就是整個零件:兩顆互補型的電晶體,共用一個閘極和一個汲極。

                 +Vdd
                  |
              +---+---+
   IN o------o|  PMOS |   (ON when IN is LOW)
              +---+---+
                  |
                  o------o OUT
                  |
              +---+---+
   IN o------o|  NMOS |   (ON when IN is HIGH)
              +---+---+
                  |
                 GND

  IN = LOW   -> PMOS on,  NMOS off  -> OUT = HIGH (pulled to Vdd)
  IN = HIGH  -> PMOS off, NMOS on   -> OUT = LOW  (pulled to GND)
  stable state: exactly ONE device on -> no Vdd-to-GND path -> ~0 static current
CMOS 反相器:一顆 PMOS 上拉、一顆 NMOS 下拉,共用一個閘極與一個汲極。

現在走一遍兩個穩定狀態。把輸入拉低:NMOS 沒有閘極驅動,維持關閉;而 PMOS——它的閘極此刻遠低於它的源極——用力導通,把輸出綁到電源上。把輸入拉高:PMOS 關閉、NMOS 導通,把輸出綁到地。在這兩個靜止狀態裡,永遠剛好只有一顆電晶體導通,另一顆則是近乎完美的斷路開關,所以從電源到地之間沒有持續的通路。靜態電流基本上是零——只剩下微小的漏電。就是這一個事實,讓 CMOS 征服了電子業:一顆有十億個閒置邏輯閘的晶片,幾乎不喝電。

轉移曲線、邏輯準位與雜訊容限

把輸入從 0 慢慢掃到電源電壓,並畫出輸出:那就是電壓轉移特性曲線。它一開始平坦而高,接著在中段近乎垂直地落下,然後平坦而低地停住。那段陡峭的中段才是驚喜——那是反相器以高增益共源極放大器之姿在運作。在那道窄窄的區帶裡,兩顆電晶體都部分導通且處於飽和區,互為對方的主動負載,電壓增益高達數十到數百倍。第三篇的那個類比放大器,就字面意義地藏在這個數位閘裡;只是這個閘會盡量縮短待在那裡的時間。

正是這份陡峭,讓數位邏輯如此穩健。因為輸出會啪地貼到某一條軌,一個只是「靠近某條軌」的草率輸入,依然會產生一個乾淨地落在軌上的輸出——這個閘每次通過時都把訊號還原一次。我們把這些安全區帶命名為 邏輯準位:任何低於某個低門檻的輸入都讀作 0、任何高於某個高門檻的輸入都讀作 1;而「最差的保證輸出」與「仍能被正確讀取的輸入準位」之間的空隙,就是 雜訊容限——這個緩衝讓導線沾上一點雜訊也不至於把一個位元翻掉。在 5 V 的 CMOS 閘上,輸出的高準位落在 5 V 附近、低準位落在 0 V 附近,切換點大約在 2.5 V,而兩側的雜訊容限各約 2 V——大約是電源的 40%,比舊的邏輯家族慷慨得多。

電力到底花到哪去了

如果一個靜止的 CMOS 閘幾乎不耗電,那為什麼一顆忙碌的處理器會發熱?答案是,幾乎所有的電力都花在「切換」這個動作上,而不是花在靜止狀態。每次輸出翻轉,掛在它上面的電容——主要是它所驅動的下游閘極電容,也就是你在第四篇認識的那個閘極電荷——都得在上升邊透過 PMOS 充電、在下降邊透過 NMOS 放電。每一次完整的「充電再放電」循環,都會耗掉 C times V^2 的能量,無論電晶體做得多大都一樣。

套上數字。一個帶著 C = 10 pF = 10^-11 F 負載的節點,擺幅 V = 3.3 V、以 f = 100 MHz 翻轉,會耗掉 P = C times V^2 times f = 10^-11 times 3.3^2 times 10^8 ≈ 10.9 mW。把它乘上數百萬個切換節點,你就明白為什麼 CPU 需要風扇了。兩個誠實的註腳:真實晶片還要乘上一個活動因子(大多數節點不是每個時脈都在切換),所以真正的平均值是 P =(活動因子)times C times V^2 times f;還有,注意 V 是平方的——把電源砍半,動態功耗就少到四分之一,這正是每一代晶片都在追逐更低電壓的原因。

還有第二個更隱伏的損耗。在輸入位於中段、兩顆電晶體都部分導通的那一瞬間,有一道短路電流直接從電源衝到地——這道「貫穿電流」的尖峰,會加進切換損耗裡。緩慢的輸入邊緣會拉寬那個重疊的時間窗、浪費更多,這又是一個你想要陡峭邊緣的理由。這些電流尖峰也會猛扯電源軌,所以你會在晶片旁邊放一個去耦電容:在這個口渴的閘旁邊放一個小小的在地水塔,讓那條長長的電源管,在它大口喝水時也不下垂。

誠實的提醒:閘極是個電容,而且很脆弱

牢牢記住那個輸入的真實樣貌。MOSFET 相對於 BJT 最大的魅力,是閘極基本上不抽持續的電流——但閘極「就是」一個電容,而電容每次電壓改變時都會抽一道電流尖峰。在直流下,切換它不花錢;在十億赫茲下,把那一坨閘極電荷每秒來回搬十億次,就是整個功耗預算。那句有名的「閘極不耗電流」是直流的真理,不是交流的真理——天下沒有白吃的午餐,只有一張你切換得越快、就來得越快的帳單。

退一步,看看你已經走了多遠。你從這個階梯開頭的一顆電壓控制開關出發,把它與飢渴於電流的 BJT 對照,做了 MOSFET 放大器與源極隨耦器,學會驅動功率元件的閘極,而現在你手裡握著的,是地球上每一顆處理器、記憶體與邏輯晶片的基本積木:數十億個這樣的互補對,每一個都是一個乾淨的反相器。CMOS 反相器就是那座橋——這一岸,是你已精通的場效電晶體全部的類比工藝;那一岸,是接下來各階梯裡的數位邏輯、記憶體與 CPU。最深刻而誠實的一個體悟:數位並不是另一套物理,它不過是我們允許它一路安定到兩條軌上的類比。