
NMOS 逻辑是数字电子学史上的一个基础性篇章,为早期微处理器提供了构建模块。该技术基于 N 型金属-氧化物-半导体(N-type Metal-Oxide-Semiconductor)晶体管,提供了一种优雅且面积效率高的方式来实现复杂的数字功能。然而,其简洁性背后隐藏着一个关键缺陷——无法传输完美高电压信号的固有缺陷,这个问题被称为“弱 1”。本文深入探讨 NMOS 逻辑的核心,揭示这一缺陷的根源和影响。在“原理与机制”部分,我们将探讨导致这种电压降的晶体管物理原理,包括阈值电压和体效应。随后,“应用与跨学科联系”部分将展示这一缺陷在传输晶体管逻辑中的实际后果,说明它如何影响从简单开关到复杂算术单元的电路,并揭示工程师们为用不完美的元件构建可靠系统而设计的巧妙变通方法。
想象你有一个完美的开关。轻轻一拨,它就能将一根导线连接到电源,让电流通过。再一拨,它就完全断开。几十年来,工程师们一直使用微小的电子元件来追求这一理想,而 N 型金属-氧化物-半导体(NMOS)晶体管是最早也是最成功的竞争者之一。它构成了我们所说的NMOS 逻辑的基石。但正如我们将看到的,这个开关,尽管其设计精巧,却有一个奇特而有趣的缺陷——一种电子学上的“阿喀琉斯之踵”——它塑造了整个数字设计的历史。
在数字电路的核心,它不断执行两个基本任务:将输出导线的电压下拉至地(逻辑“0”),或将其上拉至电源电压 (逻辑“1”)。让我们看看我们的 NMOS 开关在这两项工作中的表现如何。
首先,让它将一根导线拉至 0 V。想象一下,我们的 NMOS 晶体管的输入端(“源极”)接地。我们希望它将输出导线(“漏极”)连接到地。为了打开开关,我们在其控制端(“栅极”)施加高电压 。一旦施加电压,晶体管立即激活,在输出和地之间形成一个导电沟道。它完美地完成了任务,就像一个电阻很小的闭合开关,输出电压被迅速而稳定地拉至 0 V。用晶体管物理学的语言来说,该器件工作在“三极管区”,其行为非常像一个简单的电阻器。在这个角色中,NMOS 是一个明星级选手。
现在,我们尝试相反的操作:将一根导线上拉至 。我们可以尝试通过将晶体管的输入连接到 ,栅极也连接到 ,来构建一个“传输门”,希望它能将这个高电压传递到输出。起初,情况看起来很有希望。最初为 0 V 的输出电压开始上升。但随后,奇怪的事情发生了。这个过程在输出达到目标之前就停止了。为什么呢?
秘密在于晶体管如何决定“开启”。只要栅极电压足够高于其源极电压,NMOS 晶体管就会导通。这个所需的电压差被称为阈值电压,即 。
把它想象成一扇弹簧门,需要一定的压力才能打开。当我们试图传输一个“1”时,晶体管的输入侧处于 ,而输出侧(在这种情况下作为源极)的电压正在上升。栅极保持在恒定的 。这意味着“压力”——栅极和不断上升的源极之间的电压差 ——在持续减小。
当输出电压上升到足够高,使得电压差 等于阈值电压 时,晶体管就会说:“就这样了,压力不够了”,然后自行关闭。它停止导通。输出电压被卡住,无法再升高。最终的电压不是我们想要的强“1”(),而是一个衰减的、“弱”的“1”,等于 。对于一个 3.3 V 电源和 0.68 V 阈值电压的晶体管,输出最高只能达到令人失望的 2.62 V。
但事情变得更糟。实际上,阈值电压甚至不是一个固定值。由于一种称为体效应的现象, 实际上会随着晶体管源极电压高于地而增加。因此,当我们的输出电压攀升时,那个导通所需的目标——阈值电压——本身也在不断提高!这导致晶体管更早地关闭。因此,最终的输出电压不仅仅是 (其中 是基准阈值电压),而是某个显著更低的值,这个值由一个复杂的关系决定,其中最终电压和升高的阈值锁定在一个自洽但衰减的状态。NMOS 晶体管根本上就是一个很差的上拉器件。
那么,如果我们的逻辑“1”有点弱又怎样呢?这似乎只是一个小缺陷,但在数字逻辑的世界里,小缺陷可能会带来灾难性的后果。
考虑一个由这些 NMOS 器件组成的链。如果我们构建一个*源极跟随器链,其中一个晶体管的弱输出驱动下一个晶体管的栅极*,问题就会复合。第一级输出 。这个衰减的电压随后成为第二级的栅极电压,其输出最高只能达到其栅极电压再减去一个 。最终的输出变为 。每经过一级,我们就会再损失一个阈值电压,信号迅速衰减成一个无用的中间电压,就像一串倒下的多米诺骨牌。
有趣的是,如果我们构建另一种链——一个*传输晶体管链,信号通过串联的每个晶体管从输入流向输出——衰减不会*累积。整个链的输出仍然受限于单个、经体效应增强的阈值电压降。电路的拓扑结构决定了一切。
也许最隐蔽的后果出现在当这个来自 NMOS 电路的弱“1”遇到一个现代、高能效的 CMOS 逻辑门时。标准 CMOS 逻辑之所以能实现其惊人的效率,是因为对于任何稳定的“0”或“1”输入,其两个晶体管之一(上拉 PMOS 或下拉 NMOS)应该完全关闭,从而阻止任何电流从电源流向地[@problem_-id:1924061]。但是,当我们给它一个弱“1”——比如 ——这个电压可能不够高,无法完全关闭 CMOS 门的上拉 PMOS 晶体管。结果呢?PMOS 和 NMOS 晶体管都部分导通,为电流从 “泄漏”到地开辟了一条直接路径。这种静态功耗将一个本应省电的电路变成了一个持续消耗能量的设备,这对于电池供电的电子产品来说是一场灾难。
面对 NMOS 晶体管无法正常上拉的问题,早期的设计师们没有放弃。他们想出了一个巧妙的变通方法:伪 NMOS 逻辑。其理念很简单:如果 NMOS 晶体管不擅长上拉,就不要让它们做。让它们做自己最擅长的事——下拉。
在伪 NMOS 门中,逻辑完全由一个 NMOS 晶体管组成的下拉网络实现。“上拉”的工作交给一个单一、简单的器件(比如一个栅极接地的 PMOS),它充当负载电阻,总是试图将输出拉高。当下拉网络被输入激活时,它会与上拉负载对抗。为了使其正常工作,下拉网络必须被做得比上拉负载“强”得多(即具有低得多的“导通”电阻)。
这被称为比率逻辑。逻辑“0”的质量现在取决于上拉和下拉电阻的比率。输出不会一直降到 0 V,而是稳定在一个由简单分压器决定的低电压 上。通过仔细选择晶体管尺寸——这个过程称为调整晶体管比率 ——工程师可以精确控制门的特性,比如其开关阈值。权衡是显而易见的:你得到了功能性的逻辑,但当输出为低时,你也会有持续的功耗,因为上拉和下拉在相互对抗。这是一个功能性但耗电的解决方案。
虽然伪 NMOS 是一个可行的策略,但传输晶体管电路中弱“1”的原始问题仍然需要解决。解决方案原来非常简单:不要让弱信号继续传递。而是要恢复它。
通过在 NMOS 传输晶体管链的输出端放置一个标准的、全摆幅的 CMOS 反相器,我们创建了一个电平恢复器。反相器的开关阈值 被设计在安全地中间位置,比如 。只要来自 NMOS 链的弱“1”(例如,)高于这个阈值,反相器就会正确地将其解释为“高”输入。作为响应,它会在其输出端产生一个完美的、边缘陡峭的逻辑“0”。如果需要一个强“1”,可以再加一个反相器,将这个完美的“0”翻转回一个完美的、全幅的 。这种简单的再生行为打破了衰减链,将信号恢复到理想形式,为构建稳健而复杂的数字系统铺平了道路。这一原则——识别衰减的信号并对其进行再生——是数字设计的基石,证明了工程师如何将元件的缺陷转化为系统的优势。
既然我们已经熟悉了 NMOS 晶体管的基本原理,我们可能会倾向于认为它仅仅是物理学家奇珍柜里的一个元件。但这远非事实!这个简单的器件,作为一个压控开关,是开启一种全新数字设计风格的钥匙。这是一个极简主义的美丽世界,在这里,复杂的功能以惊人的元件经济性得以实现。然而,这也是一个充满微妙妥协的世界,在这种世界里,正是这种简洁性引入了一个我们必须理解和尊重的根本缺陷。让我们踏上一段旅程,看看这些晶体管是如何被应用的,从简单的开关到计算机算术引擎的核心。
在其核心,传输晶体管旨在成为一个简单的开关:当它导通时,它传递信号;当它关闭时,它阻断信号。让我们考虑使用单个 NMOS 晶体管来完成这项工作。如果我们想传递一个逻辑“0”(地电压),它的表现非常出色。栅极保持高电平,输出节点被顺利地完全拉至 0 伏。我们称之为传递一个“强‘0’”。
但是当我们试图传递一个逻辑“1”,一个像电源轨 这样的高电压时,会发生什么呢?在这里,我们遇到了 NMOS 晶体管的阿喀琉斯之踵。随着输出电压的升高,它降低了栅极到源极的电压。一旦输出达到某一点,栅极到源极的电压就不再足够高以保持晶体管强导通。当输出电压攀升到比栅极电压低一个阈值电压 时,晶体管实际上就自行关闭了。所以,如果我们的栅极电压是 ,我们能得到的最佳输出不是 ,而是一个“弱‘1’”,电压为 。信号被衰减了。
有趣的是,PMOS 晶体管具有完全相反的特性。它能毫无问题地传递强“1”,但在传递“0”时却很困难,会卡在一个比地高 的电压上。这种互补性并非偶然;它是现代 CMOS(互补金属氧化物半导体)逻辑的全部基础。通过将一个 NMOS 和一个 PMOS 晶体管配对成一个“传输门”,我们创造了一个近乎完美的开关。NMOS 处理“0”,PMOS 处理“1”,确保信号无衰减地通过。如果这样一个配对中的 PMOS 晶体管失效,该门将恢复到单独 NMOS 的缺陷行为,无法将输出完全拉到 。那么,如果 NMOS 晶体管有这个固有缺陷,为什么还会有人选择只使用它们呢?答案,正如工程中常有的情况一样,是优雅和效率。
让我们来看一个常见的数字构建模块,多路复用器(MUX),它从多个输入中选择一个传递到单个输出。一个实现函数 的 2-1 多路复用器似乎需要几个与门和一个或门。在静态 CMOS 逻辑中,这将是一个相当复杂的电路,涉及十几个晶体管。
但是使用传输晶体管逻辑(PTL),我们可以更巧妙。通过使用香农展开来重新排列函数,我们可以将其表示为 。这具有多路复用器的形式:“如果 为真,输出为 ;否则,输出为 。” 我们可以用令人惊叹的简洁方式构建它:一个 NMOS 晶体管,当其栅极由 控制时传递输入 ;第二个 NMOS 晶体管,当其栅极由 控制时传递输入 。就是这样。一个在静态逻辑中需要大量晶体管的函数,现在仅用两个就实现了。这种在硅片面积上的惊人节省是 NMOS PTL 的主要吸引力。我们可以用一个晶体管和一个反相器构建一个由低电平有效信号控制的简单开关。我们可以用一个 2-1 MUX 结构构建一个异或门,同样也只用最少数量的晶体管。
所以,我们有了一个构建紧凑逻辑电路的强大工具。但我们绝不能忘记机器中的幽灵:弱“1”。以这种方式构建的异或门会产生一个强“0”,但弱“1”的电压为 。对于单个门来说,这可能是可以接受的。但是,当我们开始将这些门连接在一起,构建更庞大的东西,比如一个算术电路时,会发生什么呢?
在这里,情况变得严重得多。想象一下,我们构建一个电路,其中一个传输晶体管 T1 的输出被用来控制第二个传输晶体管 T2 的栅极。如果 T1 产生一个弱“1”(电压为 ),这个衰减的电压现在就是 T2 的栅极电压。当 T2 接着被要求传递一个逻辑“1”时,它的输出将再次衰减一个阈值电压。输出将不是 ,而是 。信号质量在每个连续的阶段都会下降,就像复印件的复印件一样。
这种级联衰减是 NMOS PTL 的关键限制因素。考虑一个全加器,这是计算机中进行加法运算的基本组件,完全由 NMOS 传输晶体管多路复用器构建。该电路接收三位(、、)并计算它们的和()和进位()。一个巧妙的设计可能会级联两个半加器。第一级计算一个中间和,如果它是一个逻辑“1”,其电压将处于 的衰减水平。如果这个衰减的信号随后被用作第二级的控制信号,最终的和位 可能会以 的双重衰减电压出现。
这不仅仅是一个罕见的极端情况。对于一个使用 NMOS 传输网络的典型 CPL(互补传输晶体管逻辑)全加器实现,这种衰减是常态,而非例外。分析表明,在 8 种可能的输入组合中,有 7 种情况下,至少有一个输出会是逻辑“1”,因此会遭受这种电压降。如果没有专门的恢复电路,一个由这种逻辑组成的深层链最终会产生一个弱到无法与“0”区分的“逻辑‘1’”,整个计算将失败。
NMOS 逻辑的故事是一个经典的工程权衡故事。它为更小、更快、更低功耗的芯片提供了一条道路,并且是 20 世纪 70 年代许多开创性微处理器的主导技术。其使用晶体管作为高效开关进行多路复用和逻辑运算的原理仍然是基础。然而,深层逻辑链中信号衰减这个无法克服的问题意味着,随着电路变得越来越复杂,纯粹的 NMOS PTL 让位给了更稳健但密度较低的全 CMOS 范式。今天,PTL 的精神在 CMOS 设计中以全传输门的形式得以延续,其中 NMOS 晶体管在传递“1”时的弱点被其 PMOS 伙伴完美补偿,给了我们两全其美的方案:PTL 的开关效率和静态 CMOS 的信号完整性。