CMOS インバータと相補動作・スイッチング
なぜ CMOS は静的にほとんど電力を食わないのか、その相補動作の原理が腑に落ちます。VTC・貫通電流・遅延まで、論理ゲートの土台を一気に押さえられます。
- 1.nMOS と pMOS を相補接続すると、定常状態では必ず一方だけがオフになり、電源から接地への直流経路が切れて静的消費電力がほぼゼロになります。
- 2.VTC(電圧伝達特性)は遷移領域で急峻に切り替わり、両トランジスタが同時導通する遷移の瞬間だけ貫通電流(短絡電流)が流れます。
- 3.遅延は出力容量を電流で充放電する時間で決まり、立ち上がりは pMOS、立ち下がりは nMOS が担うため、両者の駆動力を釣り合わせる設計が要点です。
CMOS が解いた「静的に電力を捨てない」という課題
CMOS(Complementary MOS、相補型 MOS)以前の論理回路、たとえば nMOS 論理では、出力が Low のときも負荷を通じて電源から接地へ直流が流れ続け、待機しているだけで電力を消費していました。CMOS の発想は単純かつ強力です。プルアップ(電源側)とプルダウン(接地側)を、互いに逆の極性を持つトランジスタで作り、定常状態では必ずどちらか一方だけを切る。これにより電源から接地へ抜ける直流経路が原理的に存在しなくなります。
その最小単位がインバータ(NOT ゲート)です。MOSFET 自体の動作原理は /semiconductor/mosfet-operation/ を前提とし、本稿では「2 個を相補に組むと何が起きるか」に集中します。
相補接続の構造 ── なぜ片方が必ず切れるのか
CMOS インバータは pMOS と nMOS を縦に積みます。接続は次の通りです。
VDD(電源)
|
[ pMOS ] ← ソースは VDD、ゲートは入力 IN
|
+----- OUT(出力)
|
[ nMOS ] ← ソースは GND、ゲートは入力 IN
|
GND(接地)
両方のゲートに同じ入力 IN をつなぐのがポイント
鍵は 両ゲートが同じ入力につながることと、nMOS と pMOS のオン条件が逆であることです。nMOS はゲート電圧が高いとき(IN=High)にオンになり、pMOS はゲート電圧が低いとき(IN=Low)にオンになります。
| 入力 IN | nMOS | pMOS | 出力 OUT | 直流経路 |
|---|---|---|---|---|
| High(≒VDD) | オン | オフ | Low(GNDへ接続) | なし |
| Low(≒GND) | オフ | オン | High(VDDへ接続) | なし |
どちらの定常状態でも、導通しているのは片方だけ。もう一方が必ずオフなので、VDD と GND を結ぶ直流経路が切れている——これが「静的消費電力ほぼゼロ」の正体です。出力は導通している側を通じて VDD か GND にしっかり張り付くので、論理レベルがレールまで振れる(フルスイングする)点も nMOS 論理に対する利点です。
静的消費電力がゼロに近いのは、あくまでオフのトランジスタを流れる電流が無視できるほど小さいという意味です。微細化が進むと、オフ時でも流れるサブスレッショルド・リーク電流やゲート絶縁膜を抜けるゲートリークが無視できなくなり、待機時の漏れ電力が問題になります。リークの増大は微細化のスケーリングを難しくした主因の一つで、/semiconductor/dennard-scaling/ で扱う電圧スケーリングの限界とも直結します。
VTC(電圧伝達特性)── 入力を連続で動かすと何が見えるか
入力 IN を 0 から VDD まで連続的に動かしたときの出力 OUT を描いたのが VTC(Voltage Transfer Characteristic、電圧伝達特性) です。理想のスイッチなら垂直な段差になりますが、実際は次の 5 領域を通ります。
OUT
VDD ┤━━━━━━━┓ 領域A: nMOSオフ / pMOS線形 → OUT=High
┃ 領域B: nMOS飽和 / pMOS線形
┃ ← 遷移領域 領域C: 両方飽和(最も急峻・利得大)
┗━━━━━━━ 領域D: nMOS線形 / pMOS飽和
0 ┤ ━━━━━━━ 領域E: nMOSオン / pMOSオフ → OUT=Low
└───────┬───────────── IN
VM(スイッチング閾値)
中央の急峻な部分が遷移領域で、ここでは両トランジスタが同時に飽和し、回路の電圧利得(傾き)が大きく負になります。傾きが急なほど、入力のわずかな違いを出力で大きく増幅して 0/1 にきれいに分離できる——ノイズマージンが大きいということです。
VTC が High から Low へ折り返す入力電圧を スイッチング閾値 VM と呼びます。VM は IN = OUT となる点で、nMOS と pMOS の駆動力(実効的な強さ)の釣り合いで決まります。両者の駆動力が等しければ VM は VDD/2 付近に来て、Low 側・High 側のノイズマージンが対称になります。
電子(nMOS のキャリア)は正孔(pMOS のキャリア)より移動度が高く、同じ寸法なら nMOS の方が強くなります。そこで実装ではpMOS のチャネル幅を nMOS より広く取り(典型的には移動度比を補う比率)、両者の駆動力を揃えて VM を VDD/2 に近づけます。キャリアと移動度の物理は /semiconductor/band-theory-carriers/ を参照。
貫通電流(短絡電流)── 切り替わる一瞬だけ流れる
定常状態では直流が流れません。しかし入力が High と Low の間を通過する遷移の瞬間には、nMOS と pMOS が一時的に同時にオンになる入力範囲があります。このとき VDD から GND へ束の間の電流が流れます。これが**貫通電流(short-circuit current、短絡電流)**です。
入力が GND→VDD へ遷移する途中:
IN が「両方の閾値の間」にある区間だけ
→ nMOS も pMOS も導通 → VDD から GND へ電流が突き抜ける
入力の傾き(立ち上がり/立ち下がり時間)が緩いほど
この同時導通の区間に長く留まり、貫通電流による損失が増える
貫通電流は CMOS の動的消費電力の一部を成しますが、支配的なのは多くの場合出力容量の充放電に伴うスイッチング電力です。1 回の遷移で容量 C を VDD まで充電するたびに C * VDD^2 のエネルギーが電源から取り出され、その半分が容量に蓄えられ半分が抵抗で熱になります。動作周波数 f とスイッチング確率を掛けた おおよそ C * VDD^2 * f が動的電力の主項で、電源電圧 VDD の 2 乗で効くことが、低電圧化が省電力に直結する理由です。
入力エッジが緩慢だと、同時導通区間に長く留まって貫通電流が増えるだけでなく、遷移途中の中間電位が次段の入力に残ると次段でも同様の損失を誘発します。クロックや信号線のエッジを十分に立てる(バッファで駆動する)ことは、性能だけでなく消費電力の観点でも重要です。
立ち上がり/立ち下がり遅延 ── 容量を電流で充放電する時間
CMOS インバータの遅延は、本質的に出力ノードの容量を、導通側トランジスタの電流でどれだけ速く充放電できるかで決まります。出力容量には、次段ゲートの入力容量、配線容量、自段のドレイン拡散容量などが含まれます。
立ち下がり遅延(OUT: High→Low):
入力が Low→High → nMOS オン → 出力容量を nMOS が GND へ放電
→ 放電を担うのは nMOS の駆動電流
立ち上がり遅延(OUT: Low→High):
入力が High→Low → pMOS オン → 出力容量を pMOS が VDD へ充電
→ 充電を担うのは pMOS の駆動電流
遅延の目安 ≒ 出力容量 / 駆動電流
(駆動電流は概ね「移動度 × 幅/長さ × 過剰ゲート電圧」で効く)
ここで立ち上がりは pMOS、立ち下がりは nMOS が単独で担う点が決定的です。前述の通り素の駆動力は nMOS が強いので、放置すると立ち下がりが速く立ち上がりが遅い非対称な波形になります。VM を中央に合わせるための pMOS 幅広化は、この立ち上がり/立ち下がり遅延を均等化する目的も兼ねています。
| 遷移 | 担当トランジスタ | 出力の向き | 速くする手段 |
|---|---|---|---|
| 立ち下がり(H→L) | nMOS | GND へ放電 | nMOS 幅を広げる / 負荷容量を減らす |
| 立ち上がり(L→H) | pMOS | VDD へ充電 | pMOS 幅を広げる / 負荷容量を減らす |
遅延を縮める方向は明快です。駆動電流を増やす(トランジスタ幅を広げる、過剰ゲート電圧を確保する)か、出力容量を減らす(次段を軽くする、配線を短くする)。ただし幅を広げれば自身の入力容量が増えて前段の負荷になるため、段間の駆動力配分(バッファ段の最適化)が回路設計の腕の見せどころになります。トランジスタの構造そのものを改良して同じ面積で駆動力を稼ぐ流れは /semiconductor/finfet-gaa/ につながります。
「CMOS は本当に電力を食わないのか?」と問われたら、静的(待機時)はほぼゼロだが、動的(遷移時)には C·VDD²·f の充放電電力と貫通電流が流れると答えるのが正確です。「ゼロ」と言い切ると誤り。また「立ち上がりが遅い原因は?」には、pMOS の移動度が低く同寸では駆動力が弱いからと即答できると良いです。
まとめ
- CMOS インバータは nMOS と pMOS を相補接続し、定常状態では必ず一方がオフになるため VDD–GND 間の直流経路が切れ、静的消費電力がほぼゼロになる。
- VTC は遷移領域で急峻に切り替わり、その傾き(利得)の大きさがノイズマージンを決める。折り返し点 VM は両者の駆動力の釣り合いで決まり、pMOS を幅広にして VDD/2 へ寄せる。
- 切り替わる瞬間だけ両者が同時導通して 貫通電流が流れる。動的電力の主項は C·VDD²·f の充放電電力で、VDD の 2 乗で効く。
- 遅延は容量を電流で充放電する時間で、立ち下がりは nMOS、立ち上がりは pMOS が担う。駆動力の釣り合わせと容量削減が高速化の核心。
- 前提となる単体 MOSFET の動作は /semiconductor/mosfet-operation/、リークと電圧スケーリングの限界は /semiconductor/dennard-scaling/ も参照。
半導体 Article
CMOS インバータと相補動作・スイッチングを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
CMOS
比較で見る軸
難易度: advanced / カテゴリ: 半導体 / タグ数: 5
導入後に効く点
VTC(電圧伝達特性)は遷移領域で急峻に切り替わり、両トランジスタが同時導通する遷移の瞬間だけ貫通電流(短絡電流)が流れます。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- 半導体
- タグ数
- 5
判断チェックリスト
- 自社の用途が「CMOS / 半導体」に近いか確認する。
- 強みである「nMOS と pMOS を相補接続すると、定常状態では必ず一方だけがオフになり、電源から接地への直流経路が切れて静的消費電力がほぼゼロになります。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。