Answers:
为了获得逻辑的同相操作(即AND或OR与NAND或NOR),您需要以共漏极模式(也称为“源极跟随器”模式)操作晶体管。
这种逻辑模式的问题包括:
总之,这些问题意味着您无法将此门的输出连接至自身另一副本的输入。这使得它对于构建更复杂的电路毫无用处。
这就是为什么所有成功的逻辑系列1均采用共源(或共发射极)模式的晶体管构建的原因,该晶体管具有显着的电压增益,并且在输入和输出之间没有累积的偏移-但是输出相对于输入是反相的。因此,基本功能包括反转:NAND或NOR。
另外,NAND和NOR门“功能完善”,这意味着您可以从所有NAND门或所有NOR门构建任何逻辑功能(包括锁存器和触发器之类的存储元件)。
1具体来说,是使用电压作为逻辑状态的逻辑系列。这包括RTL,DTL,TTL,PMOS,NMOS和CMOS。电流模式逻辑系列(例如ECL)确实使用发射极跟随器和共基极晶体管的组合来达到相同的目的,同时又避免了饱和(速度)。
您要描述的是PMOS逻辑。与CMOS相比,它具有一些明显的缺点:
如果电阻值较低,则当栅极处于活动状态时,栅极将消耗大量的静态功率。CMOS门不进行主动开关时,基本上不消耗功率。
如果电阻器的值较高,则栅极关闭的速度很慢,因为由输出驱动的任何栅极的电容都必须通过电阻器放电。另外,高值电阻器可能会比一组互补晶体管消耗更多的面积。
出于与过程相关的原因,PMOS的效率不如反NMOS逻辑。
我认为尚未有人提及的原因:技术限制:
与晶体管相比,片上电阻很大。为了获得可观的价值,我们正在谈论比最小的晶体管大几个数量级的情况。换句话说,除了使用适当的CMOS可获得的所有其他优势(静态电流,驱动电平,输出摆幅)外,它的价格也便宜很多。
图案化:逻辑上的晶体管可以这么小,因为它们是以重复的方式进行图案化的。这也使他们可以获得更高的产量和更一致的性能。扔电阻会破坏这一点。
电容:逻辑系统中速度的限制是下一级的电容。更大的电容意味着需要更慢的性能(更低的性能)或更大的驱动强度(更大的晶体管,更大的面积,更大的静态电流,更多的功耗,更大的电容呈现给前一级)。大电阻可能会为您提供大量电容,因为它会占用很大的面积。这可能会损害性能。
有时,这可能是在更专业的技术上完成的,这些技术可能没有好的逻辑晶体管(用于模拟/ RF应用)。
晶体管电阻器逻辑是一个知识领域。依赖电阻的逻辑门的特性与使用晶体管的逻辑门的特性非常不同。首先,保持高态的下拉电阻会持续消耗功率。对于电池供电或高密度设计而言,这可能是个问题。反之亦然(下拉保持低电平)。
速度和驱动强度存在很大差异的另一个领域。静态时,CMOS中使用的推挽输出结构可以快速切换而不会耗散功率。
请注意,您绘制的电路根本无法工作。除非输入电压高于VCC,否则不能将NMOS置于顶部分支。如果输出负载很大,那么电路将无法驱动VCC附近的任何地方。它甚至可能还不够高,无法被某些逻辑门识别为“高”。
这不只是挑剔。事实证明,除非在本质上是反相的(如NAND和NOR一样),否则很难构建一个可以在一个阶段切换轨到轨的东西。这就是“与”门使用“与非”后跟“非”(反相器)的真正原因。世界上没有人知道采用少于6个晶体管的通用CMOS AND门的方法。同样适用于OR。
使用CMOS设计的优点有很多:
因此,使用“与非”门后跟反相器来设计“与”门。
从NAND中构建AND,可以使逻辑使用最小的栅极尺寸,并确定反相器中两个(只有两个)晶体管驱动线路的尺寸。这样可以最大程度地提高速度并最大程度地降低功率损耗,但仅以额外的晶体管使用更多的面积为代价(考虑了在预期应用中驱动线路所需的电阻大小)。
另外,为了分享我在大学(很久以前在遥远的银河系中……)学到的一些智慧:我们曾经享受了有关门阵列逻辑的演讲。最后,一位学生问,当所有这些NAND门首先都在芯片上时,工程师为什么要打扰尽量减少使用的NAND门数量?主持人的答案一直困扰着我30年:因为如果我们不这样做,我们的竞争对手就会这样做。
如果您的竞争对手可以制造出更快,更省电的电路,而没有明显的成本差异,那么使用电阻器是商业上的错误,而不仅仅是工程上的错误。
穿过非放大门的逻辑信号最终会比开始时弱得多。虽然可能在芯片内包含一个非反相AND门,但弱输出馈电的门的开关速度可能比强输出馈电的门的开关慢得多,以至于将信号通过NAND反相器传递所需的时间,而另一个门则可能小于将NAND和反相器替换为弱输出AND的情况。
请注意,即使一个人同时具有NMOS和PMOS晶体管并且想要建立一个弱输出的AND门,也应该以类似于CMOS NOR门的方式构造该门,但是要反转NMOS和PMOS晶体管,以避免静态功耗。电阻非常昂贵,因此除非绝对必要,否则应避免使用它们。
然而,在其他答案中没有提到的一点是,反相门可以包含串联输出和并联输出的混合。例如,可能有一个实用的复杂门,仅使用一个反转级别即可计算“不((X和Y)或(X和Z)或(Y和Z))”。尽管使用“与”将其输出馈送到电路中的多个位置并不现实,但可以在“或”门的一个或多个输入上包括“与”门,或在一个或多个门上包括“或”门。 “与非”门的更多输入。