数字电路逻辑设计白静版第8章.ppt
《数字电路逻辑设计白静版第8章.ppt》由会员分享,可在线阅读,更多相关《数字电路逻辑设计白静版第8章.ppt(119页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章 可编程逻辑器件数字电路逻辑设计白静版第8章 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第八章 可编程逻辑器件8.1 可编程逻辑器件可编程逻辑器件(PLD)概述概述 可编程逻辑器件(Programmable Logic Device,PLD)是在PROM基础上发展起来的新型大规模数字逻辑集成器件,是现代设计数字系统的基础之一。前面几章讲到的中、小规模数字集成电路,如74系列及其改进系列、74HC系列的各种门电路、触发器、计数器等,都属于通用器件,它们所实
2、现的逻辑功能是固定不变的,任何数字系统都可使用。用这些通用的MSI、SSI可以组成任何复杂的数字系统,但系统的体积、重量、功耗会随之增加,而且可靠性也大为降低。PLD的研制成功有效地解决了上述问题,它是一种半成品性的、集成度很高的通用型逻辑器件,它的功能不再是单一的存储信息,而是可以通过用户对器件的编程来实现包括组合逻辑、时序逻辑在内的数字电路系统的各种复杂逻辑功能。第八章 可编程逻辑器件8.1.1 PLD的基本结构的基本结构 我们知道,无论是组合电路还是时序电路,都可以用“与-或”表达式或者真值表、状态转移表来表示,因此可以用与门和或门实现,PLD的内部结构就是建立在此基础上的。图8.1为基
3、于与-或阵列结构的PLD基本结构,这类PLD由输入电路、与阵列、或阵列、输出电路以及反馈电路组成。如同ROM的阵列结构,PLD结构主体是与阵列和或阵列。为了适应各种输入情况,与阵列的输入端(包括内部反馈信号的输入端)都设置有输入缓冲电路,主要作用是使输入信号有足够的驱动能力,并产生一组互补的原变量和反变量。这些外部输入变量或内部反馈变量根据地址变量从与门阵列输入,产生与项;这些与项输出又成为或门阵列的输入,最后,或门阵列的输出就是与-或表达式形成的逻辑函数。在输出电路中,有多个按一定规律排列的寄存器以便输出时序电路,还有多路选择器、三态逻辑输出门以便控制芯片的操作,它们的输入来自或阵列的输出。
4、第八章 可编程逻辑器件图8.1 基于与-或阵列结构的PLD基本结构第八章 可编程逻辑器件PLD内部设置有内部反馈通路,可把输出信号反馈到输入端。这样,在增加了输入、输出缓冲电路、内部反馈电路等之后,就可以构成不同类型、不同规模的PLD器件。由于PLD内部电路庞大而规则、紧凑,用传统的绘制逻辑图方法不方便,因而常采用一些简化的表示方法。图8.2为PLD输入缓冲电路的简化表示。图8.3为PLD中一个多输入与门和多输入或门的简化表示。竖线为一组输入信号,用它与横线相交叉的点的状态表示相应的输入信号是否接到了该门的输入端上。交叉点上一般用符号“”表示可编程的连接点,可以通过编程将其断开;用“”表示是固
5、定连接,不能通过编程改变(不可编程);无任何标记,则表示是不连接的。第八章 可编程逻辑器件图8.3 PLD的与阵列、或阵列简化表示图8.2 PLD的输入电路简化表示第八章 可编程逻辑器件8.1.2 PLD的分类的分类 早期的PLD属于低集成密度可编程逻辑器件,也是简单的可编程逻辑器件(Simple PLD,SPLD)。根据其可编程情况,可分为可编程只读存储器PROM、可编程逻辑阵列(Programmable Logic Array,PLA)、可编程阵列逻辑(Programmable Array Logic,PAL)和通用阵列逻辑(Generic Array Logic,GAL)4种类型,它们在
6、结构上主要都是一个“与阵列”和一个“或阵列”,不同之处如表8.1所示。第八章 可编程逻辑器件表表8.1 SPLD的分类与结构比较的分类与结构比较第八章 可编程逻辑器件7.3节讨论的PROM、EPROM和EEPROM等可编程ROM属于用户编程的逻辑器件,它们可实现组合逻辑函数,其与阵列(地址译码器)是不可编程的,或阵列(存储矩阵)是可编程的,ROM存储了组合逻辑的真值表,或者说,ROM按标准的与-或表达式编程。PROM由于其阵列规模大,速度低,因而它的基本用途是用作存储器,如软件固化、显示查寻等。可编程逻辑阵列PLA是按照最简与-或表达式编程的器件,它的与阵列和或阵列都是可编程的。利用率比PRO
7、M高得多,使用灵活方便,但其集成度较低,又由于缺少好的支持软件和编程工具,价格较贵,器件的资源利用率也不够高,现在已经不常使用。第八章 可编程逻辑器件可编程阵列逻辑PAL是与阵列可编程而或阵列不可编程的器件。PAL具有多种输出结构形式,但输出结构固定。应用不同的输出结构,需选用不同型号的PAL器件。若存储单元采用熔丝结构,就如同PROM一样,一旦编程后不能再改写。通用阵列逻辑GAL是在PAL基础上产生的新一代器件。大部分GAL同PAL一样,有一个可编程的与阵列和一个不可编程的或阵列,仅有GAL39V8的与、或阵列均可编程。但为了通用,GAL在或阵列之后接一个输出逻辑宏单元(Output Log
8、ic Macrocell,OLMC),为逻辑设计提供了很大的灵活性。GAL器件采用CMOS工艺,是可多次编程的器件。第八章 可编程逻辑器件上述几种可编程逻辑器件易于编程,对开发软件的要求低,在20世纪80年代得到了广泛的应用,但随着技术的发展,其在集成密度和性能方面的局限性也暴露出来。由于其寄存器、I/O引脚、时钟资源的数目有限,没有内部互连,使其设计的灵活性受到明显限制。近代的PLD属于高集成密度可编程逻辑器件,有复杂的可编程逻辑器件(Complex PLD,CPLD)和现场可编程门阵列(Field Programmable Gate Array,FPGA)两类。第八章 可编程逻辑器件复杂的
9、可编程逻辑器件CPLD的每一个逻辑单元类似一个GAL,它利用连续式的连线结构把各个逻辑单元连接在一起,构成一个器件。这类PLD主要产品有Lattice公司的ispLSI 系列,Altera公司的MAX5000/7000系列,AMD公司的MACH系列等。CPLD的主要特点是延迟与连接情况无关,工作速度的可预测性好。但其集成密度低于FPGA。第八章 可编程逻辑器件现场可编程门阵列FPGA器件顾名思义是一种可以现场进行编程的门阵列。20世纪80年代由Xilinx公司首先提出并制作出世界上第一片FPGA器件。FPGA在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块来实现一定的逻辑功能
10、。这类PLD主要产品有Xilinx公司的LCA系列,Actel公司的ACT系列和Ti公司的TPC系列等。其特点是集成密度相当大,可集成各种逻辑功能的单元,结构灵活,可满足各种应用场合的需要。由于其内部结构与诸多因素如逻辑分割、布局布线、逻辑单元结构、以及互连资源的种类、数量、分布等密切相关,因此其速度的可预测性差,在设计前难以预测最终结果能否满足时序上的要求。另外,这类PLD的多数典型应用能达到的速度低于CPLD。下面就每一种器件的结构及应用作一些介绍。更为详细的了解请参考专门的PLD书籍。第八章 可编程逻辑器件8.2 可编程逻辑阵列器件可编程逻辑阵列器件(PLA)8.2.1 PLA的基本结构
11、的基本结构 图8.4为3输入、3输出PLA的基本结构,它同ROM的结构类似,是由与阵列和或阵列组成,因两个阵列都可编程,所以用户编程控制的程度很高。与ROM实现逻辑函数相比,PLA的与阵列不需要产生全部最小项,与阵列可进行简化,从而或阵列也得到简化。第八章 可编程逻辑器件图8.4 PLA基本结构第八章 可编程逻辑器件8.2.2 PLA的应用的应用用PLA实现组合逻辑函数时,首先需要把逻辑函数化为最简与-或表达式,式中的每一个乘积项用与阵列中的一个与门来实现。从或阵列的输出得到所要求的逻辑函数。【例【例8-1】用PLA实现4位二进制码转换成循环码的代码转换电路。解:解:表8.2为4位二进制码B3
12、B2B1B0转换成循环码G3G2 G1G0的真值表。B3、B2、B1、B0为输入变量,G3、G2、G1、G0为输出变量。用PLA实现时,需4个输入端,4个输出端。将G3、G2、G1、G0 4个输出函数用卡诺图化简后,得到如下最简的与-或表达式:第八章 可编程逻辑器件第八章 可编程逻辑器件用PLA实现的编程连接图如图8.5所示。第八章 可编程逻辑器件图8.5 例8-1用PLA实现图第八章 可编程逻辑器件【例【例8-2】试用PLA和JK触发器实现模4可逆计数器。当X=0时,进行加法计数;当X=1时,进行减法计数。解:解:由第五章式(5-16)可知,模4可逆计数器的激励方程和输出方程为用PLA实现时
13、,外部输入信号X和内部反馈信号Q2和Q1作为PLA的3个输入端,J2、K2、J1、K1和Z为5个输出端。其PLA器件实现的编程连接图如图8.6所示。第八章 可编程逻辑器件图8.6 例8-2用PLA实现图第八章 可编程逻辑器件8.3 可编程阵列逻辑器件可编程阵列逻辑器件(PAL)8.3.1 PAL的基本结构的基本结构PAL器件是20世纪70年代末期由MMI公司推出的一种低密度、一次性可编程逻辑器件,它采用双极型工艺制作、熔丝编程方式。这是在可编程逻辑阵列PLA器件之后,第一个具有典型实际意义的可编程逻辑器件。随着MOS工艺的广泛应用,后来又出现了以叠栅MOS管作为编程单元的PAL器件。第八章 可
14、编程逻辑器件PAL器件的基本结构是可编程的与阵列和固定的或阵列,如图8.7所示。这是一个3输入、3输出的PAL阵列,在未编程之前,与阵列的所有交叉点上均有熔丝接通,编程时将有用的熔丝保留,将无用的熔丝熔断,即得到所需的电路。图8.8是经过编程后的一个PAL器件的结构图。第八章 可编程逻辑器件图8.7 PAL基本结构第八章 可编程逻辑器件图8.8 编程后的PAL电路第八章 可编程逻辑器件需要注意的是,对于每一条与线,如果该线上的熔丝全部保留,表示编程时没有利用,则这条与线始终为逻辑0电平,且与输入值无关,图中简化表示为在相应的与门上画“”(见图8.8),所有交叉点上的“”就不用画了;如果该线上的
15、熔丝全部烧断,则这条与线始终为逻辑1电平,也与输入值无关。它产生的逻辑函数为第八章 可编程逻辑器件为了扩展电路的功能,增加使用的灵活性,在许多型号的PAL器件中还增加了各种形式的输出电路。不同型号的PAL器件有不同的输出结构和反馈结构,可适用于不同的组合逻辑电路和时序逻辑电路的设计。第八章 可编程逻辑器件1.专用输出结构专用输出结构 专用输出结构的输出端是一个与或门,图8.7所示的PAL电路就属于这种输出结构。有些PAL器件输出端还采用与或非门或者互补输出结构。图8.9给出了互补输出的电路结构。这种专用输出结构的PAL器件无输出反馈信号,只能用来产生组合逻辑函数。PAL10H8、PAL14H4
16、等器件的输出端是与或门结构,输出信号高电平有效;PAL10L8、PAL14L4的输出端是与或非门结构,输出信号低电平有效;PAL16C1的输出端是互补输出的或门结构,同时输出一对互补的信号。第八章 可编程逻辑器件图8.9 具有互补输出的专用输出结构第八章 可编程逻辑器件2.可编程输入可编程输入/输出输出(I/O)结构结构PAL器件的可编程输入/输出电路结构图如图8.10所示。这种输出结构的特点是具有一个可编程控制端的三态缓冲器和输出反馈缓冲器。三态缓冲器的控制端由与阵列最上面一个与门所对应的乘积项(即第一乘积项,也称为专用乘积项)给出,具有互补输出的反馈缓冲器可使三态输出反馈到与阵列的输入端,
17、因而可构成简单的触发器,使输出具有记忆功能。第八章 可编程逻辑器件如果在编程时,使第一乘积项为0,则三态缓冲器被禁止,呈高阻态,这时可以将I/O作为变量输入端使用,互补输出的反馈缓冲器作为输入缓冲门使用;相反,如果在编程时,该乘积项为1,则三态缓冲器被选通,I/O处于输出工作状态,同时输出数据又通过反馈缓冲器反馈到与阵列。PAL16L8、PAL20L10等器件属于这种输出结构。第八章 可编程逻辑器件图8.10 PAL的可编程输入/输出结构第八章 可编程逻辑器件3.寄存器输出结构寄存器输出结构 PAL器件的寄存器输出结构如图8.11所示。与可编程输入/输出电路结构相比,它在或阵列的输出和输出三态
18、缓冲器之间增加了由D触发器组成的寄存器。同时触发器的端又经互补输出的缓冲器反馈到与阵列的输入端。在系统时钟CP上升沿作用下,将或门的输出存入D触发器,在输出使能控制信号OE有效时,Q端的信号经三态缓冲器反相后输出,输出为低电平有效。这样PAL具有记忆功能,且整个器件只有一个共用时钟脉冲CP和一个输出使能信号OE,从而可实现计数器、移位寄存器等同步时序逻辑电路。PAL16R4、PAL16R6、PAL16R8等器件属于该结构。第八章 可编程逻辑器件图8.11 PAL的寄存器输出结构第八章 可编程逻辑器件除了以上3种输出结构外,PAL器件还有异或输出结构,其电路结构与寄存器输出结构类似,只是在或阵列
19、的输出端又增加了一级异或门。另外还有能实现快速的加、减、大于、小于等算术逻辑操作的运算选通反馈结构等。第八章 可编程逻辑器件8.3.2 PAL的应用的应用 PAL器件可根据其型号的命名方式来确定它的结构。例如,PAL16L8,其中“PAL”说明它是一个PAL器件;“16”表示它的与阵列最多可以有16个输入;“L”表示输出信号低电平有效;“8”表示该器件最多可有8个输出。第八章 可编程逻辑器件图8.12为PAL16L8器件完整的内部逻辑图。从图中可知,PAL16L8器件为可编程输入/输出结构的PAL器件。它有20个引脚,10号和20号引脚在图中没有给出,它们分别是“地”和+5 V电源的引脚;包括
20、反馈输入在内最多可有16个输入端;而输出端最多为8个,输出为低电平有效;每个输出中有8个乘积项,共有88=64个乘积项,其中每个输出中第一个乘积项为专用乘积项,用于控制三态输出缓冲器的输出;19以及11号引脚只能作为输入引脚;12和19号引脚只能用作输出引脚;1318号引脚由它们的输出三态缓冲器的状态决定其工作情况,当三态缓冲器处于高阻态时,对应的引脚只能作为输入引脚;当三态缓冲器正常工作时,对应的引脚用作输出引脚,并将输出信号反馈到与阵列,作为与阵列的一个输入信号。第八章 可编程逻辑器件图8.12 PAL16L8逻辑图及例8-3连接图第八章 可编程逻辑器件【例【例8-3】试用PAL器件实现一
21、个带使能控制输出的2线-4线译码器。解:解:2线-4线译码器真值表如表8.3所示。由表可知,当输出使能控制端为0时,2线-4线译码器的输出表达式为(8-1)第八章 可编程逻辑器件因为输出表达式为带非号的组合逻辑函数,并且要求有使能控制输出,故选用输出低电平有效的、带输出三态控制的PAL16L8器件实现,连接示意图在图8.12标出。在目前常见的PAL器件中,输入变量最多可达到20个,与阵列输出的乘积项最多的有80个,或阵列的输出端最多有10个,每个或门的输入端最多的达到16个。第八章 可编程逻辑器件PAL和SSI、MSI通用标准器件相比有许多优点:提高了功能密度,节省了空间。通常一片PAL可以代
22、替 412 片 SSI或 24 片MSI。PAL只有20多种型号,但可以代替90%的通用SSI、MSI器件,因而进行系统设计时,可以大大减少器件的种类。提高了设计的灵活性,且编程和使用都比较方便。PAL的主要缺点是由于它采用了双极型熔丝工艺(PROM结构),只能一次性编程,因而使用者仍要承担一定的风险。另外PAL器件输出电路结构的类型繁多,因此也给设计和使用带来一些不便。第八章 可编程逻辑器件8.4 通用阵列逻辑器件通用阵列逻辑器件(GAL)GAL是Lattice公司于1985年首先推出的另一种新型低密度可编程逻辑器件。它采用了电擦除、电可编程的EECMOS工艺制作,可以用电信号擦除并反复编程
23、上百次。为了通用,GAL器件的输出端设置了可编程的输出逻辑宏单元OLMC,通过编程可以将OLMC设置成不同的输出方式。这样,同一型号的GAL器件就可以实现PAL器件所有的各种输出电路工作模式,即取代了大部分PAL器件,因此称为通用可编程逻辑器件。GAL器件分为两大类:一类为普通型GAL,其与或阵列结构与PAL相似,如GAL16V8、ispGAL16Z8、GAL20V8都属于这一类;另一类为新型GAL,其与或阵列均可编程,与PLA结构相似,主要有GAL39V8。第八章 可编程逻辑器件8.4.1 GAL的基本结构的基本结构图8.13是常见的GAL16V8的电路结构图。它在结构上继承了PAL器件与阵
24、列可编程和或阵列固定的基本结构,在输出电路中采用了OLMC。OLMC结构可通过编程,确定可编程器件各单元的输出和反馈结构,既可满足组合逻辑设计,又可满足时序逻辑设计,大大增加了数字系统设计的灵活性。第八章 可编程逻辑器件图8.13 GAL16V8逻辑图第八章 可编程逻辑器件由图8.13可知,GAL16V8器件有8个输入缓冲器,8个三态输出缓冲器,8个输出反馈/输入缓冲器,1个系统时钟CP输入缓冲器和1个三态输出使能OE输入缓冲器;与阵列由88个与门构成,共形成64个乘积项,每个乘积项有32个输入,对应图中32条列线;含8个输出逻辑宏单元OLMC(或阵列包含在OLMC中),其中前3个(引脚17、
25、18、19)和后3个(引脚12、13、14)OLMC输出端都有反馈线连接到相邻单元的OLMC。第八章 可编程逻辑器件GAL16V8器件有8个引脚(引脚29)固定作为输入端,另外8个输入/输出引出端也可配置为输入模式。因此,GAL16V8器件最多可有16个输入端,输出端最多为8个。这也是器件型号中16和8两个数字的含义。时钟输入是1脚,使能控制输入是11脚。第八章 可编程逻辑器件8.4.2 GAL的输出逻辑宏单元的输出逻辑宏单元(OLMC)1.OLMC的结构和结构控制字的结构和结构控制字OLMC内部结构如图8.14所示。每个OLMC包含或阵列中的一个或门、一个可编程异或门、一个D触发器和四个可编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路 逻辑设计 白静版第
限制150内