门电路:扩展
扩展 : 门电路的用途 本节旨在扩展您在 A-Level 课程以外的知识。这里介绍的概念并不容易,但您可能会发现它们很有趣。如果您选择在大学学习计算机科学,这里的内容将对您有所帮助。
|
几乎所有现代数字电子设备都是使用 "CMOS" 制成的。早期的 电子管、DTL (二极管-晶体管逻辑) 和 TTL (晶体管-晶体管逻辑) 具有历史意义,但现在仅用于特殊用途(TTL 信号电平通常与 CMOS 逻辑一起使用,这会导致混淆)。
CMOS 这个名称是 "C"(代表互补)和 "MOS"(代表 MOSFET,金属氧化物半导体场效应晶体管)的组合。MOS 来自最初的结构,即在半导体(或硅)基底上的氧化物(二氧化硅)绝缘层上有一个金属(铝)栅极。现在使用多晶硅代替金属,因为更容易制造,但金属正在最新的设计中回归。同样,最新的设计中也使用了比氧化物更好的材料。
MOSFET 器件有两种变体,即 n 型 (NMOS) 和 p 型 (PMOS),具体取决于添加到半导体基底的 掺杂剂。CMOS 使用一对 NMOS 和 PMOS 晶体管,通常将相同的输入连接到 NMOS 栅极和 PMOS 栅极,以及串联的漏极和源极。一次只导通一个晶体管,从而最大程度地减少了功耗。
名称 | PMOS 晶体管 | NMOS 晶体管 |
---|---|---|
图 | ||
当输入为时导通 | 低 (0) | 高 (1) |
CMOS 的优势在于,由于栅极是绝缘的,并且驱动器是互补的(因此一个开而另一个关),因此除了栅极主动切换时之外,泄漏电流最小。实际上,当 CMOS 驱动 CMOS 时,静态电流实际上可以忽略不计。在任何大型集成电路中,只有很小一部分栅极会在任何时候切换,而其余部分则处于静态状态。因此,只有活动栅极消耗功率,并且仅在短暂的切换期间消耗功率。这也解释了为什么现代 CPU 芯片的功耗(以及发热)与时钟速度成正比。
基本的反相器电路(非门)如下所示
上面的栅极是 PMOS 晶体管,只有当 A 为低电压(接近 Vss,源极电压)时才导通,下面的栅极是 NMOS,只有当 A 为高电压(接近 Vdd,漏极电压)时才导通。因此,输出 Q 在 A 接近 Vss 时被强制为 Vdd,反之亦然。此外,A 中的电压变化(电流最小)可以在 Q 中产生明显的电流供应。通常,Vdd 处于 +2v 到 +5v 之间,被视为逻辑 "1",而 Vss 为 0v,被视为逻辑 "0"。
请注意,如果输入 A 来自外部开关或类似设备,则需要一个上拉或下拉电阻,以便当开关打开时,A 将取一个确定值,而不是浮动(取一个不确定的值)。开关将 A 连接到相反的导轨。如果 A 来自外部源,则将添加二极管以确保 A 仅取 Vss 和 Vdd 之间的值。
基本的双输入与非门如下所示
在这里,电路的底部部分只有在 A 和 B 都为高时(打开两个底部晶体管)才会下拉,而上面的部分只有在其中一个为低时才会上拉。这种模式可以轻松扩展到三个或四个输入,从而允许具有超过两个输入的门。实际上,需要在输出端添加一个反相器才能使门正确执行。因此,最基本的门是与门
在上面的门上添加第二个反相器以获得与非功能。CMOS 或非电路只是与非的镜像。
CMOS 或门 画出 CMOS 或门的示意图 答案 这里它显示了一个反相器,使其成为一个或门(需要一个额外的反相器才能获得一个或非门) |
实际的 CMOS 异或门积极地使用 A 和 B 输入而不是 Vss 和 Vdd 来减少门数量,这超出了本文的范围。在现实生活中,您会使用标准设计;但可以通过其他 CMOS 门来创建异或门,使用以下恒等式,我们可以理论上用或门与与非门的与运算来创建一个 CMOS 异或门
一个物理 CMOS 与非门(没有反相器)如下所示
一个 1 位存储器称为 触发器。它们用于 CPU 寄存器,例如 MAR(但不适用于大容量存储器,因为它们会占用大量物理空间,RAM 芯片会变得非常大)。最简单的一种称为 JK 触发器
两个或非门构成存储器;在任何时候,一个为高,另一个为低,反馈保持该状态。一个 J 高脉冲会导致顶部或非门关闭,并存储一个 1(Q 为高),而一个 K 高脉冲会导致底部或非门关闭,并存储一个 0(Q 为低)。(如果 J 和 K 同时脉冲,则输出会改变状态。)实际设备将具有输入条件、输出反相器,通常还有额外的置位、复位和时钟输入。
您可能之前见过以下逻辑电路
如果我们看一下真值表
A | B | C | S |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
您也许可以判断出,上面的电路所做的是让您将两个输入 A 和 B 加在一起
B +A -- CS
这很棒,称为半加器,但它只能将两个 1 位数字加在一起。我们需要的是全加器。更复杂的电路是一个 1 位加法器,它考虑了从先前计算中带入的进位
该设备允许您将 1 位加法器串联在一起,创建一个多位加法器(在这种情况下为 4 位)
在生成多位加法器时,A 和 B 是每个位的输入,而 S 是各自的和输出位。Cin 来自下一个较低的位,Cout 进入下一个较高的位或溢出检测逻辑(它检查结果是否太大而无法容纳在所有 S 输出中)。在实际设计中,超前进位是在 4 位、8 位或更多位一次完成的,以避免进位传播的延迟(进位从第一次计算过滤到几次计算后的时间的长度)。在实际的 ALU(算术逻辑单元)中,额外的输入选择要执行的功能(加、减、与、或等),从而创建一个用于所有简单按位函数的通用单元。
单个逻辑元件由电线或 PCB 轨迹连接的时代早已过去。典型的现代设计使用一些基本构建块,例如存储器、CPU 和以太网接口(这些都是现成的),并将剩余的设计整理成几个大型芯片,其中包含许多单个逻辑元件。
将数百万个晶体管集成到单个芯片上,这意味着为特定用途设计芯片是一个非常昂贵且耗时的过程。只有当芯片能以非常大的数量销售时(例如台式机和笔记本电脑,或将用于一系列产品的工业控制器),这种设计才合理。对于小批量芯片,采用两种方法。现场可编程门阵列 (FPGA) 是一种包含逻辑块和内存的芯片,它决定了这些块的互连方式。有时内存是永久的(但可重写),但更常见的是动态的,在开机序列期间从设备外部的闪存芯片加载。偶尔它由 CPU 加载。最初,逻辑块是简单的功能(触发器、加法器、与门等),但在现代 FPGA 中,它们可以包含完整的 CPU、RAM 区域和类似的功能,以及基本的逻辑功能。CPLD(复杂可编程逻辑器件)和 PAL/PLA(可编程阵列逻辑/可编程逻辑阵列)等术语类似,但用于较小的器件。
专用集成电路 (ASIC) 类似于 FPGA,但芯片部分是作为标准设计制造的,具有逻辑块,然后添加最后几层金属互连以满足客户规格。这比定制设计的芯片更便宜,但生产掩模和原型仍然可能花费数百万美元。它比 FPGA 生成更快更紧凑的结果,因此有些设计只能在 ASIC 上完成。
ASIC 的单位成本也更低,但 FPGA 已经发展到可以在生产中使用,而不仅仅用于原型设计。ASIC 中的错误代价高昂,而 FPGA 可以现场升级。ASIC 比 FPGA 更难复制,因此它们被用于某些需要保密或安全性的应用中。
对于 ASIC 和 FPGA 设计,制造商都提供软件,可以将逻辑设计转换为设备的布局,并能够模拟操作。也有一些非制造商特定的工具,尤其是名为 VHDL 的语言,它可以用来描述逻辑系统并模拟它。制造商随后提供工具来生成 ASIC 或 FPGA 设计(通常是免费的)。VHDL 代表“VHSIC 硬件描述语言”,而 VHSIC 代表超高速集成电路。