可编程逻辑器件及其编程技术.ppt
《可编程逻辑器件及其编程技术.ppt》由会员分享,可在线阅读,更多相关《可编程逻辑器件及其编程技术.ppt(159页珍藏版)》请在三一办公上搜索。
1、第8章 可编程逻辑器件及其编程技术,8.1 可编程逻辑器件及EDA技术发展概况 8.2 可编程逻辑器件的分类 8.3 阵列型可编程逻辑器件(PLD)8.4 单元型可编程逻辑器件(FPGA)8.5 可编程逻辑器件的编程设计 8.6 硬件描述语言(VHDL)习题,8.1 可编程逻辑器件及EDA技术发展概况,可编程逻辑器件(PLD,Programmable Logic Devices)可以由用户在开发装置的辅助下,对器件进行编程,使之实现所需的组合或时序逻辑功能。PLD的发展概况如下:1970年制成的PROM是最早出现的PLD器件,主要用作存储器。20世纪70年代中期出现了可编程逻辑阵列(PLA,P
2、rogrammableJP Logic Array),但由于编程复杂而没有得到广泛应用。20世纪70年代末期,美国MMI公司率先推出了可编程阵列逻辑(PAL,ProgrammableArray Logic)。它输出结构种类多,设计灵活,因此得到了广泛应用。,20世纪80年代初,Lattice公司发明了通用阵列逻辑(GAL,Generic Array Logic)。它比PAL使用更加灵活,得到了广泛应用。20世纪80年代中期,Altera公司推出了一种新型的可擦除、可编程逻辑器件(EPLD,Erasable Programmable Logic Device)。它的密度比PAL和GAL高,设计更
3、灵活。1985年,Xilinx公司首家推出了现场可编程门阵列(FPGA,Filed Programmable Gate Array)。它是一种新型的高密度PLD器件,采用CMOSCD*2SRAM工艺制作,可以实现在系统编程。20世纪80年代末,Lattice公司提出了在系统可编程(In System Programmable)技术,以后相继出现了一系列复杂可编程逻辑器件(CPLD,Complex PLD)。,20世纪90年代以来,高密度PLD在生产工艺、器件密度、编程和测试技术等方面都有了飞速发展。现在构成大的数字系统仅需要三类“积木块”:微处理器、存储器和可编程逻辑器件。自20世纪70年代可
4、编程逻辑器件问世以来,数字电路的设计方法和手段得到了不断的改进和创新。传统的数字系统设计是通过设计电路板来实现系统功能的,而采用可编程逻辑器件是基于芯片的设计方法。这显然提高了设计的灵活性,大大减少了电路图和电路板设计的工作量,同时,也可以使系统体积小、功耗低,提高系统的性能指标和可靠性。,20世纪80年代中期以来,Xilinx、Altera、Lattice等公司相继推出各自的在系统可编JP2程逻辑器件和相应的开发软件,这使电子设计自动化(EDA,Electronic Design Automanion)技术有了迅速的发展。EDA技术以计算机为工具,代替设计者完成数字系统的逻辑综合、布局布线和
5、设计仿真等工作,设计者只需要完成对系统功能的描述,就可以由计算机软件进行处理,得到设计结果。EDA技术使电子设计发生了革命性变化。,8.2 可编程逻辑器件的分类,可编程逻辑器件主要有以下3种分类方法。1.按器件密度分类,表8.2.1 可编程逻辑器件按密度分类,2.按结构特点分类目前常用的可编程逻辑器件都是从与或阵列和门阵列发展起来的,所以也可以把可编程逻辑器件分为阵列型PLD和现场可编程门阵列FPGA,又称为阵列型PLD和单元型PLD,所示。,表8.2.2 可编程逻辑器件按结构特点分类,3.按编程方法分类按编程方法分类,可编程逻辑器件可分为4种,如表所示。,表8.2.3 可编程逻辑器件按编程方
6、法分类,上表中,熔丝型编程原理在第7章中已介绍过。由于熔丝元件要留出较大的保护空间,占用芯片的面积较大,而反熔丝元件克服了熔丝元件的缺点,它通过击穿介质来连通线路,实现一次性编程。紫外线擦除、电编程(EPROM、UVCMOS工艺结构)和电擦除、电编程(E2CMOS或快闪存储单元结构)都是基于第7章中介绍过的各种浮栅编程原理。基于SRAM的可编程逻辑器件在每次上电工作时,需要从器件外部的EPROM、E2PROM或其他存储体上将编程信息写入器件内部的SRAM中。这类器件在工作中可以快速进行任意次数的编程,实现板级和系统级的动态配置,因而也称为在线重配置(ICR,In Circuit Reconfi
7、gruable)的可编程逻辑器件或可重配置硬件。,8.3 阵列型可编程逻辑器件(PLD),8.3.1 PLD电路的表示方法因为PLD器件内部电路的连接规模大,用传统的逻辑电路表示方法很难描述,所以采用了特殊的逻辑符号和简化画法来表示其内部电路。其电路内部基本逻辑符号如图8.3.1所示。而且,还常采用图8.3.2(a)、(b)所示的逻辑符号来表示多输入变量的与逻辑和或逻辑。图中,竖线与乘积线的交叉点表示在生产时用熔丝(或浮栅管)连接,是可编程点。交叉点上如果有“”,表示固定连接点,用户不可改变;交叉点上如果有“”,表示编程连接;若交叉点上没有标记,表示交叉点是断开的。所以图8.3.2(a)的输出
8、为F=AC;图(b)的输出为F=AB。图(c)为缓冲器的逻辑符号。,图8.3.1 PLD内部逻辑符号(a)国标符号;(b)国际符号,图8.3.2 PLD与逻辑、或逻辑、缓冲器和数据选择器的画法(a)F=AC;(b)F=A+B;(c)缓冲器的逻辑符号;(d)2选1和4选1可编程数据选择器,8.3.2 简单PLD的类型和主要特点简单PLD的基本结构如图所示。,图8.3.3 简单PLD的基本结构,简单PLD的产品主要有4种类型:可编程只读存储器PROM、可编程逻辑阵列PLA、可编程阵列逻辑PAL和通用阵列逻辑GAL。它们都包含有一个与阵列和一个或阵列。PLA、PAL和GAL在其或阵列的输出还具有驱动
9、门、寄存器或输出逻辑宏单元,可以实现各种组合逻辑或时序逻辑功能。各种简单PLD器件的结构特点如表所示。,表8.3.1 各种简单PLD器件的结构,1.可编程只读存储器PROM及其应用PROM的原理已在第7章中作了介绍。PROM是一种可编程逻辑器件,它由固定的与阵列和可编程的或阵列组成。在图8.3.4所示的PROM中,其固定的与阵列的输出为输入变量ABCD的16个最小项。其或阵列有 164=64个可编程点,输出字长为 4位。我们知道,任何组合逻辑电路都可用最小项之和式来表示。因此,可以用PROM来实现各种组合逻辑功能。PROM常用于存储各种固定多输入/多输出的函数表。,图8.3.4 PROM的与或
10、逻辑阵列,表8.3.2 4位二进制码转换为格雷码的转换表,由代码转换表写出输出格雷码的逻辑函数表达式:,根据逻辑表达式对PROM或阵列进行编程,在或阵列的输出就可得到格雷码G3G2G1G0,如图所示。,图8.3.5 用PROM实现4位二进制码转换为格雷码的与或阵列,2.PAL的主要特点PAL器件的与阵列是可编程的,或阵列是固定的。与PROM相比,PAL的芯片品种较多。不同类型PAL的容量大小和输出电路类型不同,用户可根据使用要求,选择其阵列结构大小、输入/输出的数目与方式、要实现的是组合逻辑功能或时序逻辑功能等来选择芯片类型。图是PAL16X4的原理图及芯片引脚图。,图8.3.6 PAL16X
11、4的原理图及芯片引脚图(a)原理图;(b)芯片引脚图,PAL的输出方式有以下5种基本类型。1)基本组合输出型如图8.3.7(a)所示,这类PAL可以实现多种组合逻辑功能。其输出有3种形式:型号中带有字符H的芯片(如PAL10H8)输出为高电平有效;型号中带有字符L的芯片(如PAL12L6)输出为低电平有效;型号中带有字符C的芯片(如PAL20C1)为互补输出。,2)可编程的IO结构 如图8.3.7(b)所示,这类芯片除与阵列和或阵列外,还具有:可用与阵列直接控制输出三态缓冲器,当输出三态缓冲器未被选通时,可将此引脚(IO端)作为 PAL的输入,当输出三态缓冲器已被选通时,它就具有IO功能;反馈
12、结构,能使输出返送回与阵列。,4)具有异或功能及反馈的寄存器输出 如图8.3.7(d)所示,这类器件的与或项分为两部分再异或,输出信号在系统时钟的上升沿存入D触发器。这类器件的型号带有字符X,如PAL20X4等。5)算术选通反馈结构如图8.3.7(e)所示,是在第4种结构的基础上增加了反馈选通电路,可以对反馈信号和专用输入信号实现或操作,由4个或门构成4种形式的或逻辑送至与阵列,通过编程可得到16种不同的组合逻辑输出。这种结构的PAL器件对实现快速算术操作(加、减、大于、小于、等于等)很方便。,图8.3.7 PAL的内部结构及输出方式(a)基本组合输出型;(b)可编程I/O结构;(c)带反馈的
13、寄存器结构;(d)具有异或功能及反馈的寄存器输出结构;(e)算术选通反馈结构,图8.3.7 PAL的内部结构及输出方式(a)基本组合输出型;(b)可编程I/O结构;(c)带反馈的寄存器结构;(d)具有异或功能及反馈的寄存器输出结构;(e)算术选通反馈结构,图8.3.7 PAL的内部结构及输出方式(a)基本组合输出型;(b)可编程I/O结构;(c)带反馈的寄存器结构;(d)具有异或功能及反馈的寄存器输出结构;(e)算术选通反馈结构,3 GALGAL采用先进的电改写CMOS(E2CMOS,Electrically Erasable CMOS)工艺,数秒内即可完成芯片的擦除和编程过程,还可设置加密。
14、GAL与PAL器件的不同是其输出采用了输出逻辑宏单元(OLMC),可编程功能更强,GAL器件可应用于数字信号处理、图形图像处理、存储器控制、以微处理器为基础的系统、总线接口、通信工业控制等领域。一个GAL芯片可以实现既有组合逻辑功能又有时序逻辑功能的数字小系统。在研制和开发数字系统时更为方便。目前较常用的产品有两种:GAL16V8(20引脚)和GAL20V8(24引脚)。下面以GAL16V8为例来说明GAL的结构。图所示为其原理图及引脚图。,图8.3.8 GAL16V8的原理图及引脚图(a)原理图;(b)引脚图,1)基本组成可编程与阵列由88个与门构成,每个与门有32个输入端,所以形成32列6
15、4行=2048个编程单元,即在与阵列中隐含了一个2 K的E2PROM。有8个输出逻辑宏单元OLMC(Output Logic Macrocell)。有16个具有互补输出的缓冲器,其中8个为输入缓冲器,接29引脚(引脚29只能做输入端),另外8个为输出逻辑宏单元,反馈到输入列线的缓冲器。,2)输出逻辑宏单元OLMC的结构8个输出逻辑宏单元OLMC(12)OLMC(19)的内部结构完全相同,如图8.3.9所示,均由8输入或门、异或门、1个D触发器和4个数据选择器所组成,但外部连线稍有不同,图中n表示本级引脚号,m表示邻级引脚号。,图8.3.9 输出逻辑宏单元OLMC,GAL中有4个结构控制字:SY
16、N、AC0、AC1(n)、XOR(n),用以控制将OLMC配置成实现各种组合逻辑和时序逻辑功能。这4个控制字不受GAL外部引脚的控制,而是在对GAL编程过程中由软件翻译用户源程序后自动设置。其中SYN和AC0所设置的值对8个OLMC均相同,而AC1(n)和XOR(n)对不同OLMC则可能有不同的值。,4个数据选择器:乘积项数据选择器用于控制来自于与阵列的第一乘积项,控制信号为AC0和AC1(n)。由图8.3.9可知,AC0和AC1(n)中任何一个为0时,A0=1,第一乘积项被选中,成为或门的一项输入;而当AC0AC1(n)=11时,A0=0,低电平被送到或门,作为或门的开门信号。输出数据选择器
17、:用于控制输出是组合的还是寄存的。其控制信号也是AC0和AC1(n)。由图8.3.9可知,控制字AC0和AC1(n)通过或非门后接至数据选择器的使能端A0,控制字如表8.3.3所示。当AC0 AC1(n)=10时,Y0=Q,输出是寄存的。当AC0、AC1(n)处于其他状态时,输出数据选择器将异或输出值送到输出三态缓冲器,输出是组合的。,三态数据选择器:由图8.3.9可知,它在AC0和AC1(n)的控制下,从4路信号中选一路信号作为输出三态缓冲器使能端的控制信号。AC0和AC1(n)对输出三态缓冲器的全部控制功能如表所示。,表8.3.3 输出数据选择器的控制功能,表8.3.4 三态数据选择器的控
18、制功能,表8.3.5 反馈数据选择器控制功能,3)输出逻辑宏单元OLMC的功能配置 由于GAL器件具有用户可编程的输出逻辑宏单元,因此通过编程软件能自动设置4个结构控制字SYN、AC0、AC1(n)、XOR(n)的组态,使OLMC能配置成如图8.3.10所示的5种电路结构和表8.3.6所示的5种输出工作方式。有寄存器的组合输出方式,是指在8个输出逻辑宏单元中,有的配置成组合输出,有的配置成寄存器输出。纯寄存器输出方式配置对8个OLMC都适用。,图8.3.10 OLMC的5种组态结构方式(a)纯输入方式;(b)纯组合输出方式;(c)三态控制的组合输出方式;(d)有寄存器的组合输出方式;(e)纯寄
19、存器输出方式,图8.3.10 OLMC的5种组态结构方式(a)纯输入方式;(b)纯组合输出方式;(c)三态控制的组合输出方式;(d)有寄存器的组合输出方式;(e)纯寄存器输出方式,表8.3.6 OLMC的工作方式,8.3.3 高密度阵列型PLD的基本结构EPLD和CPLD是从PAL、GAL发展起来的高密度阵列型PLD器件。它们大多采用了CMOS EPROM、EPROM和快闪存储器等编程技术,具有高密度、高速度、低功耗等特点。目前各主要半导体公司(Xilinx、Altera、Lattice、AMD等)生产的高密度PLD产品有各自的特点,但总体结构基本相同。大多数EPLD和CPLD器件中至少包含了
20、3种结构:可编程逻辑宏单元(也称为通用逻辑模块GLB,Generic Logic Block)、可编程I/O单元、可编程内部连线。,在系统可编程逻辑器件(ispPLD)是Lattice公司于20世纪90年代推出的阵列型在系统可编程高密度PLD器件,图8.3.11为ispLSI1032的电路结构框图,它将整个芯片分成几个区,每个区有自己的通用逻辑模块、可编程的输出布线区 ORP(Output Routing Pool)、编程控制电路和输入输出单元 IOC(IO Cell)。各区之间的联系通过一个可编程的全局布线区 GRP(Global Routing Pool)来实现。这种结构的优点是每个区的阵
21、列传输路径短,可减少传输延迟时间。,图8.3.11 ispLSI1032的电路结构框图,1.可编程逻辑宏单元可编程逻辑宏单元主要包括与或阵列、可编程触发器和多路选择器等电路,能独立地配置为组合或时序工作方式。EPLD器件和GAL器件相似,其逻辑宏单元和I/O做在一起,称为输出逻辑宏单元(OLMC),但其与阵列及宏单元数比GAL大得多。CPLD器件的宏单元在内部,如图8.3.11电路中所示的GLB单元。EPLD和CPLD除了高密度外,其很多优点也反映在可编程逻辑宏单元上。可编程逻辑宏单元在电路上做了以下改进:,1)与或逻辑阵列中的改进有的EPLD的与或逻辑阵列中每一组乘积项的数目不完全相等,这既
22、便于产生不同项数的与或逻辑函数,又有利于提高乘积项的利用率。乘积项共享的可编程结构,可使与逻辑阵列的乘积项得到充分利用。在EPLD和CPLD的宏单元中,可以借助可编程开关将同一单元(或其他单元)中的或门与之联合起来使用,或者在每个宏单元中提供未使用的乘积项供其他宏单元使用和共享。图8.3.12所示为EPM7128E乘积项共享电路。由图可知,乘积项可以单独送出,或相加,或并联扩展到相邻宏单元,每个共享乘积项可以被任意宏单元共享使用。所以,乘积项共享的可编程结构提高了资源的利用率,可快速实现复杂的逻辑函数。,图8.3.12 EPM7128E的乘积项共享结构,2)多触发器结构和“隐埋”触发器结构GA
23、L的OLMC中只有一个触发器,而EPLD和CPLD的宏单元内通常含有2个或2个以上的触发器,其中只有一个触发器与输出端相连,其余触发器的输出不与输出端相连,可以通过相应的缓冲电路反馈到与阵列,从而与其他触发器一起构成较复杂的时序电路,这些不与输出端相连的触发器就叫做“隐埋”触发器。这种结构可以做到不增加芯片引脚数,只增加触发器数目,就可增加其内部资源。图为EPLD器件ATV750的此类宏单元结构。,图8.3.13 ATV750的OLMC结构,3)可编程时钟选择GAL器件一般只能实现同步时序电路,而EPLD和CPLD的触发器工作方式可以同步,也可以异步,还有预置和置零功能,使EPLD和CPLD既
24、可用于同步时序电路的设计,也可用于异步时序电路的设计。图8.3.13中,有两个触发器,每个触发器的CLK、SP(预置)和AR(清零)都是独立的,分别由与逻辑阵列的一个乘积项给出,是可编程的异步工作方式。每个触发器的输出都直接反馈到与逻辑阵列,可为时序逻辑电路的设计提供更多方便。,2.可编程输入/输出单元可编程输入/输出单元简称I/O单元或IOC,一般阵列型高密度PLD只有少数几个专用输入端,大部分端口为可编程的IOC电路结构。图8.3.14(a)所示为器件ispLSI 1016的IOC结构图,由输入缓冲器、触发器、三态输出缓冲器和几个可编程的数据选择器组成。触发器的工作方式有两种:RL=0时,
25、被设置成锁存器;当RL=1时,被设置成边沿触发器。可编程数据选择器编程状态的不同组合,可以使IOC有不同组态,如图8.3.14(b)所示。,图8.3.14 ispLSI 1016 的IOC结构和组态(a)IOC结构;(b)IOC的各种编程组态,图8.3.14 ispLSI 1016 的IOC结构和组态(a)IOC结构;(b)IOC的各种编程组态,可编程的数据选择器MUX1用于控制三态输出缓冲器的工作状态。MUX2用于选择输出信号的传送通道。MUX3用于选择输出极性。MUX4用于选择输入方式:在同步输入方式下,输入信号加到触发器的输入端后在时钟信号IOCLK到达时被存入触发器,再经MUX4送到全
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 逻辑 器件 及其 编程 技术
链接地址:https://www.31ppt.com/p-5098668.html