电子技术——数字IC技术,逻辑电路和设计方法
在我们之前的学习中,我们学习了CMOS技术,然而CMOS技术并不是唯一的数字逻辑技术,因此,本节系统的介绍当今使用的数字技术和逻辑电路族。
数字IC技术和逻辑电路族
逻辑电路族指的是使用相同技术,具有相同结构,以及基本特性的所有的逻辑门电路。每一中数字IC技术和逻辑电路族都有其独特的优点和缺点。通常,在一个模块或者是封装中,只使用一种数字IC技术和逻辑电路族。因此,若一个数字系统使用两个以上的数字IC技术和逻辑电路族,则设计师需要设计相应的接口电路。选择适合的数字IC技术和逻辑电路族需要考虑到灵活性、响应速度、功率耗散、费用等待方面。
下图展示了如今常用的数字IC技术和逻辑电路族:
CMOS
虽然CMOS具有四个分支,但这并不表明CMOS独占所有的数字IC的市场份额。CMOS技术占有大部分的数字IC技术,主宰现代数字IC技术,适用于所有的数字IC电路设计。尽管早期微处理器使用NMOS电路,之后CMOS完全替代了NMOS逻辑电路。主要是因为CMOS具有极低的功率耗散,同时CMOS也快速占领了BJT的数字逻辑电路的份额,加快了IC微型化的发展,这是BJT很难做到的。CMOS能取代BJT主要是因为:
- CMOS比BJT具有更低的功率耗散,而且可以在相同的IC中包含更多的CMOS电路。
- CMOS极高的输入阻抗可以实现临时的电荷保持,这可以实现双向逻辑和记忆储存电路。这项技术不适用于BJT。
- CMOS的器件尺寸逐年降低,比起BJT具有更大的集成度。
最常见的CMOS电路的分支,就是我们在上一章学过的互补MOS逻辑电路,适用于 小规模集成电路SSI (包含1-10个逻辑门), 中等模集成电路MSI (包含10-100个逻辑门), 超大规模集成电路VLSI (包含上百万个逻辑门)和记忆存储电路中。CMOS电路通常具有两个其他的分支,其一是伪NMOS电路,其二是通道晶体管逻辑。我们将在之后介绍这些。
CMOS技术的第四个分支是动态逻辑,其具有很高的响应速度,并且保持较低的功率耗散。除此之外,CMOS技术还广泛应用于记忆存储芯片中。这两个我们将在之后一一介绍。
BJT
对于BJT,最主要的两个逻辑电路族为TTL和ECL。晶体管-晶体管逻辑TTL广泛应用于数字逻辑电路。但是随着超大规模集成电路的出现,占比也在下降。TTL厂商,也在致力于解决低功耗和高速问题。在一些新技术中,通过阻止BJT进入饱和区并且快关技术使得BJT得以实现高速逻辑电路。不会饱和的BJT使用肖特基二极管。尽管如此,BJT也会逐渐被CMOS取代,因此TTL电路不会在本书中介绍。
另外一种BJT数字电路技术称为发射极耦合逻辑ECL。基于电流源开关反相器。ECL的基本结构是一个BJT差分对。因为ECL通常使用在电流舵逻辑中,也称为 电流模式逻辑CML ,BJT的饱和可以被避免,因此可以实现高速操作。实际上,在所有的商用逻辑电路中,ECL是最快的。通常,ECL也被设计在超大规模集成电路中,,在硅面积和功耗允许的情况下,用来实现特定的高速操作。
BiCMOS
BiCMOS技术结合了CMOS的优点和BJT的优点。像CMOS一样,BiCMOS也允许在同一芯片中实现模拟和数字电路,同时BiCMOS在某些领域取得了重大的突破,例如在高性能高速电容电流驱动器中。
砷化镓GaAs
极高的载流能力使得GaAs可以实现极高速的操作。许多数字电路逐渐开始使用砷化镓技术。但是需要注意的是,砷化镓仍然属于新型技术,虽然具有极大的潜力,但是还并没有完全投入商业使用。因此,本书也不会介绍砷化镓技术。
数字电路设计风格
传统的数字电路设计包括使用标准封装的IC来实现数字系统。但是虽然超大规模集成电路的出现,使得设计师可以直接使用现成的组件,例如微控制器和储存芯片,这种设计方法可以使用一个或多个定制的VLSI芯片。然而,这种方法通常只使用在大规模产品设计中。
另外一种方案,称为半定制设计,使用门阵列芯片,其中包括超过100000个未连接的逻辑门电路。最后的逻辑门连接根据客户定义的模式和实现,通过最后一步金属化(通常由IC厂家完成)来完成。另一种称为 现场可编程门阵列FPGA 的技术逐渐变得可用,正如它的名字所暗示的,可以直接让用户进行编程。FPGA提供了更加方便的方式来实现复杂的逻辑电路,并且减小了VLSI的中间花费和周转时间。
抽象设计和计算机辅助
无论是设计什么样的数字系统,使用抽象设计和计算机辅助几乎是必要的。为了说明抽象设计理念,我们考虑使用现成封装的逻辑门来实现我们的数字系统。设计师查阅datasheet来确定逻辑门的输入输出特性和扇入扇出限制等。设计师只需要根据封装好的逻辑门的操作特性来进行设计,而不需要知道数字IC内部的实现。实际上,此时我们把现成的IC看做是是一个黑盒函数作为组件。这极大的简化了数字电路的设计。设计师可以继续根据抽象设计过程来设计更多的组件,称为 标准单元 。这些标准单元可以组成更大的子系统(例如加法器和乘法器),再组成更大的系统(例如处理器)。
计算机辅助设计IC可以让设计IC的工作更加方便。抽象设计和计算机辅助使得设计超大规模集成电路称为可能。而对于模拟IC来说使用抽象设计几乎是不可能的。每一个模拟IC都必须手动设计,也就是必须考虑模块内部的实现和模块与模块之间的影响。因此模拟IC的集成度和复杂度都远不如数字IC。