购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 数字集成电路概述

近年来,电子设计的飞速发展使得数字电路的研究及应用出现了广阔的发展空间。使用现场可编程门阵列(Field Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)的设计软件可以将设计好的程序烧写入FPGA 器件中,如同自行设计集成电路一样,可节省电路开发的费用与时间。

1.1.1 数字集成电路的分类

尽管本书的学习目标是如何利用可编程逻辑器件实现要求的设计功能,但是考察可供选择的各种器件对数字系统的设计者来说还是有益的,因为它有助于我们更好地理解所有可供选择的方案,同时也可以意识到虽然描述数字系统和数字电路的方法及用来实现这些方法的技术在不断变化,但是基本原理并没有改变。

现代数字系统中所使用的数字电路几乎都是集成电路。使用集成电路实现系统功能比使用分立元件具有电路体积小、可靠性高等优点。从20世纪60年代开始,数字集成电路在集成度方面的发展经历了以下四个阶段:①包含数十到数百个逻辑门的小规模集成电路(Small Scale Integration,SSI);②包含数百到数千个逻辑门的中规模集成电路(Medium Scale Integration,MSI);③包含数千到数万个逻辑门的大规模集成电路(Large Scale Integration,LSI);④包含数万个以上逻辑门的超大规模集成电路(Very Large Scale Integration,VLSI)。在工作原理方面,数字集成电路又可以划分为标准逻辑器件、微处理器和专用集成电路。

1.标准逻辑器件

标准逻辑器件在集成度方面属于中小规模集成电路。它包括各种逻辑门、触发器、译码器、多路选择器、寄存器和计数器等器件。标准逻辑器件有三种主要类型:TTL、CMOS和ECL。TTL是一种成熟的技术,新的系统设计已经很少采用TTL逻辑器件,但是正在运行的系统中仍然包含这种器件。CMOS器件是当前最流行的标准逻辑器件,它的优点是功耗低。ECL器件主要用于高速系统中。

作为传统数字系统设计中使用的主要器件,标准逻辑器件已经使用了40多年。标准逻辑器件的产量很大,生产成本低廉,价格便宜。如果设计不很复杂,这些器件仍然是很实用的。标准逻辑器件对于研究数字系统基本构成模块的工作原理具有重要的意义,它在许多基础的理论和实验教学课程中仍然占据重要的位置。

标准逻辑器件由于集成度较低,采用它们设计数字系统需要较多的器件,这就使得电路连线复杂,系统的可靠性降低。由于用户无法修改这类器件的功能,修改系统设计必须通过对电路重新设计和组装来实现。

2.微处理器

数字技术已经进入众多的领域,其中数字计算机是最著名和应用最广泛的产品。尽管计算机影响了人类生活的许多方面,但是许多人并不完全知道计算机能干些什么。简单地说,计算机是一个能完成算术运算、逻辑运算、数据处理和做出判断的数字系统。个人计算机(PC)是最常见的计算机,它由一些数字集成电路芯片组成,这些芯片包括微处理器芯片、存储器芯片及输入/输出(I/O)接口芯片等。在大多数情况下,凡是人能做的,计算机都能做,而且计算机还能干得更快、更精确。尽管事实上计算机每次只能完成所有计算中的一步,但是计算机完成每一步的速度非常快,它的高速度弥补了它的低效率。

计算机依靠所运行的软件(程序)来完成工作。这个软件是人们给计算机的一组完整的指令,指令告诉计算机其操作的每一步应该干什么。这些指令以二进制代码的形式存储在计算机的存储器中,计算机从存储器中一次读取一条指令代码,并完成由指令代码指定的操作。

通过编写软件可以控制计算机完成不同的工作,这个特点使得设计灵活性得到提高。当修改系统设计时,设计者只需要改变软件,不需要或者较少需要修改电路连线。由于计算机一次只能执行一条指令,因此它的主要局限性是工作速度。采用硬件方案设计的数字系统总是比软件方案的数字系统的工作速度快。

集成电路制造工艺的发展使得在一个芯片上制造大量的数字电路成为可能,这也促进了计算机技术的发展。把计算机中的微处理器芯片、存储器芯片及输入/输出接口芯片等做在一块芯片上就形成单片机,有的文献上也将其称为微控制器。这种单芯片的微控制器的性能价格比非常高,它在工程中应用非常广泛,例如,仪表控制、数控机床、自动提款机、复印机、汽车的防抱死制动系统(ABS)、医疗设备等。

3.专用集成电路

专用集成电路(Application Specific Integrated Circuit,ASIC)的出现在一定程度上克服了上述两种逻辑器件的缺点。专用集成电路是为了满足一种或几种特定功能而专门设计和制作的集成电路芯片,它的集成度很高。一片专用集成电路芯片甚至可以构成一个完整的数字系统,因此,这使得系统的硬件规模进一步降低,可靠性进一步提高。

专用集成电路可以分为全定制(Full Custom)产品、半定制(Semi-custom)产品和可编程逻辑器件(Programmable Logic Device,PLD)。

1)全定制产品 全定制产品是指专为特定目的设计、制造的集成电路芯片,如电视机、电话等设备中大量使用的专用集成电路芯片。这类产品的设计从晶体管的版图尺寸、位置和相互连线开始进行,其目的是达到半导体芯片面积利用率高、工作速度快、功耗低的优良性能。专用集成电路芯片的制作过程包括电路设计、逻辑模拟、版图设计和集成电路的全部生产工序。全定制产品的性能优越,但是它的设计制造成本高、周期长,同时还具有较大的风险,因此该产品仅适用于需要进行特大批量生产的情况。

2)半定制产品 半定制产品内部包含基本逻辑门、触发器和具有特定功能的逻辑块所构成的标准单元。这些标准单元由器件生产厂家预先做好,但是标准单元之间的连线有待按用户要求进行连接。应用半定制产品时,用户需要根据设计要求选择合适的产品,再由产品的结构设计出连线版图,最后交给生产厂家完成各个标准单元之间的连线。

3)可编程逻辑器件 全定制产品和半定制产品的使用都离不开器件生产厂家的支持,这给用户带来很多麻烦。用户希望自己能设计专用集成电路芯片,并且能立即投入到实际应用之中,而且在使用中也能比较方便地对设计进行修改。可编程逻辑器件就是为满足这一需求而产生的。可编程逻辑器件内的电路和连线都是事先由器件生产厂家做好的,但是其逻辑功能并没有确定。逻辑功能的确定可以由设计者借助于开发工具,通过编写软件的方法来实现。可编程逻辑器件的工作速度与标准逻辑器件工作速度相当,但目前使用它们实现信号处理比使用微处理器要复杂,而且使用成本较高。

1.1.2 标准逻辑器件简介

标准逻辑器件是“数字电路逻辑设计”课程中用来组成数字电路系统的主要器件。“数字电路逻辑设计”课程中介绍的数字电路描述方法不仅适用于由标准逻辑器件组成的电路,而且也适用于在本书将要学习的由可编程逻辑器件组成的电路。

1.数字电路的描述

数字电路也称为逻辑电路。数字电路的任意一个I/O信号仅存在两种可能的状态:高电平或低电平。由于二进制数也只用两个数字(即0和1),因此它适合用来表示数字信号。布尔代数是一种描述逻辑关系的数学工具,利用这种数学工具,数字电路输入信号与输出信号之间的关系(简称I/O关系)可以用代数方程(布尔表达式)来描述。布尔代数中的数只有两种可能的取值,与普通代数相比,布尔代数容易计算。布尔代数仅有三种基本运算:与(AND)、或(OR)和非(NOT)。

布尔代数不仅可以作为分析和简化数字电路的工具,而且也可以作为数字电路的设计工具,用来设计满足给定I/O关系的逻辑电路。用于数字电路分析与设计的其他方法还包括真值表、电路图、时序图及本书将要讨论的硬件描述语言。如果对这些描述方法进行分类,则可以认为:布尔代数利用数学表达式来描述电路I/O关系;真值表利用数字来描述电路I/O关系;电路图利用符号来描述电路I/O关系;时序图利用信号波形来描述电路I/O关系;硬件描述语言利用文本来描述电路I/O关系。

布尔表达式可以通过化简获得一个比较简单的形式。简单的形式可用简单的电路来实现,这个简单电路与原电路在功能上等效,但是使用较少的器件,包含较少的连线。进一步来看,这样也提高了电路的可靠性,因为相互之间的连线减少,减少了可能的潜在电路故障。常用的化简方法有代数法和卡诺图法两种。

2.组合逻辑电路

当一个电路的逻辑功能用布尔表达式给出时,具体的逻辑电路图则可以直接由表达式画出。适用于简单例子的原理可以推广到复杂的电路。

在组合逻辑电路中,常用的中规模逻辑器件还有编码器、译码器、数据选择器、数据分配器及加法器等。这些中规模逻辑器件也由门电路构成,读者可以参考相关器件的数据手册。

布尔代数仅有三种基本运算,即与(AND)、或(OR)和非(NOT),由这三种布尔代数基本运算的组合就能获得需要的输出。

3.时序逻辑电路

有些逻辑电路被当作组合电路。组合电路是指在任何时刻,输出状态只取决于该时刻电路输入状态的组合,而与先前电路的状态无关的逻辑电路。无论是控制电路还是数据显示电路,它们的输出只与电路当时的输入有关,与电路先前的状态无关,因此它们都是组合逻辑电路。

但是,有些逻辑电路的输出不仅取决于当前时刻各输入状态的组合,而且还与先前电路的状态有关,即需要记忆功能。这样的逻辑电路称为时序逻辑电路。组合逻辑电路的输出只与电路当前的输入有关;时序逻辑电路的输出则不仅与电路当前的输入有关,而且还与电路上一个状态有关。

最基本的具有记忆功能的电路是触发器,它也由逻辑门组成。逻辑门本身没有记忆能力,但是几个逻辑门组合起来就具有了记忆能力。图1-1-1给出边沿触发的J-K触发器的内部电路及其电路符号,表1-1-1给出功能表。

img

图1-1-1 边沿触发的J-K触发器的内部电路及其电路符号

表1-1-1 边沿触发的J-K触发器的功能表

img

在表1-1-1的第2行,J=0,K=0,时钟跳变时触发器保持原有状态;在第3行,J=0,K=1,时钟跳变时无论前一个输出状态是什么,输出状态都清零;在第4行,J=1,K=0,时钟跳变时无论前一个输出状态是什么,输出状态都置位;在第5行,J=1,K=1,时钟跳变时输出状态发生翻转。

对于时序逻辑电路,常用的中规模逻辑器件还有其他形式的计数器和寄存器等器件。这些中规模逻辑器件也由门电路和触发器构成,读者可以参考相关器件的数据手册。

任意组合逻辑电路都可以由与门、或门和非门这样的逻辑门组成。逻辑门本身没有记忆能力,但是几个逻辑门组合起来可以组成触发器,就具有了记忆能力。把逻辑门和触发器结合起来就可以组成各种时序逻辑电路。综上所述,与门、或门和非门这样的逻辑门是数字电路或数字系统的最基本单元,换句话说,应用与门、或门和非门这样的逻辑门就可以实现所有逻辑功能。

1.1.3 可编程逻辑器件简介

1.可编程逻辑器件基础

在介绍可编程逻辑器件前,我们再次回顾一下基于标准逻辑器件的数字电路设计过程。首先定义I/O变量,即确定设计I/O信号,并指定变量名称。然后写出描述I/O关系的真值表。真值表是描述电路如何工作的方法之一,描述电路工作原理的另一种方法是布尔表达式。利用布尔表达式就可以用逻辑门符号画出电路图。最后是选择合适的数字集成电路器件组装实际电路。你也许有这样的体会,组装实际电路的过程最麻烦,既费时间又容易出错。如果需要修改电路功能,电路还必须重新组装。

可编程逻辑器件能使组装电路这个烦人的步骤借助计算机和相关的开发软件来完成,因此现在许多数字系统采用可编程逻辑器件实现以提高设计效率。为支持计算机的工作,可编程逻辑器件提供了硬件基础。由数字电路逻辑设计相关的知识,可以得到以下结论:与门、或门和非门这样的基本逻辑门能够组成任何组合逻辑电路;这样的基本逻辑门也能够组成触发器,使电路具有存储能力;组合电路加上存储元件就构成了时序逻辑电路。

可编程逻辑器件的基本原理结构图如图1-1-2所示。

img

图1-1-2 可编程逻辑器件的基本原理结构图

输出缓冲电路中通常包括触发器,输出信号可以直接输出,也可以通过触发器输出。触发器的输出信号还可以反馈回来以实现时序电路。

图1-1-2也可以看作CPLD的原理结构图,这种“与—或”结构组成的可编程逻辑器件的功能比较简单。可编程逻辑器件还有一种基于查找表的逻辑形成方法。查找表的功能就像真值表,对于每一组输入组合存储0或1,从而产生所要求的组合函数。由于使用多个查找表构成一个查找表阵列,因此这种器件称为FPGA。

2.可编程逻辑器件内部电路描述

图1-1-3给出一个简单的可编程逻辑器件的内部电路图。这个器件具有两个输入端:A和B。两个同相缓冲器和两个反相缓冲器构成输入缓冲电路,输入信号A和B分别经过同相缓冲器和反相缓冲器产生原变量和反变量。这些原变量和反变量连接到与门阵列的输入线。与阵列由4个与门组成,它们能够产生两个输入信号的所有组合的与运算,为此每个与门分别连接到两条不同的输入线。与门的输出也称作乘积项线,它们把与运算的结果送到或阵列。

每条乘积项线通过熔丝与每个4输入或门的一个输入端相连。1个4输入或门能够实现一个布尔表达式,采用多个4输入或门能够实现多个布尔表达式。由于所有熔丝的原始状态是完好的,因此每个或门的输出为1。以或门1为例,未编程前它的输出为

img

烧断熔丝的或门输入端被认为是逻辑0,通过有选择地烧断熔丝,每一个或门的输出都能产生变量A 和B 的任意函数。例如,设计或门1的输入端1和输入端4 的熔丝被烧断,则或门4的输出为

img

又如,设计或门2的输入端1、输入端2和输入端3的熔丝被烧断,则或门2的输出为

img

图1-1-3给出的电路仅有两个输入信号,但是电路图已经很复杂了,具有许多连线。实际使用的可编程逻辑器件可能具有几十甚至上百个输入/输出引脚,如果画出其内部电路,将是非常复杂的,以致无法使用。为了简化电路的绘制,描述可编程逻辑器件内部电路时采用了不同于以前的基于标准逻辑器件电路绘制的特殊方法。图 1-1-4 所示为使用这种特殊方法重新绘制的可编程逻辑器件内部电路图。

img

图1-1-3 可编程逻辑器件内部电路图(1)

img

图1-1-4 可编程逻辑器件内部电路图(2)

对于图1-1-4所示的电路图,与基于标准逻辑器件电路绘制的区别为:一是用具有两个输出端的单个缓冲器代替原来的同相缓冲器和反相缓冲器,新缓冲器的两个输出端,一个表示同相,另一个表示反相;二是与门和或门虽然图上只画了一条输入线,但是它表示该逻辑门具有多个输入信号,行线和列线之间具有多少个交叉点,表示该逻辑门具有多少个输入端。

逻辑门的输入线上的交叉点表示该逻辑门的输入端,但是这些输入端的一些可能与输入信号相连接,另一些可能与输入信号不连接。如果在交叉点上具有“·”符号,则表示这个信号与逻辑门为固定连接;如果在交叉点上具有“×”符号,则表示这个信号与逻辑门为编程连接;如果在交叉点上既没有“·”符号也没有“×”符号,则表示这个信号与逻辑门不连接。以图1-1-4所示的电路图为例,它的与门输入端采用固定连接,或门输入端采用编程连接,4个或门的输出分别为

img

3.可编程逻辑器件内部电路的分类

可编程逻辑器件一直在发展之中,这个发展过程经历了可编程只读存储器(Programmable Read Only Memory,PROM)、可编程逻辑阵列(Programmable Logic Array,PLA)、通用阵列逻辑(Generic Array Logic,GAL),直到复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)。可编程逻辑器件也可以按器件的编程工艺来划分,编程工艺包括熔丝型、EPROM 型、E 2 PROM型、Flash型和SRAM型。 2jewPfEiFmTw+rpS8d6W9KbKx4kX+zzVZwE2n06qnsJ1oJHGFqMsou2cM0zxE4gZ

点击中间区域
呼出菜单
上一章
目录
下一章
×