第八章可编程逻辑器件PLD简介可编程逻辑器件PLD概述可编程逻辑器件PLD的基本单元可编程阵列逻辑PAL和通用阵列逻辑GAL高密度可编程逻辑器件HDPLD原理及应用现场可编程门阵列FPGA小结可编程只读存储器PROM和可编程逻辑阵列PLA传统的逻辑系统:当规模增大时焊点多,可靠性下降;系统规模增加,成本升高;功耗增加;占用空间扩大。连接线与点增多抗干扰下降半定制标准单元(StandardCell)门阵列(GateArray)可编程逻辑器件(ProgrammableLogicDevice)近年来PLD从芯片密度、速度等方面发展迅速,已成为一个重要分支。系统放在一个芯片内专用集成电路(简称ASIC)用户定制集成电路ASIC全定制(FullCustomDesignIC)厂商直接做出。如:表芯厂商做出半成品半定制(Semi-CustomDesignIC)第一节可编程逻辑器件PLD概述PLD是70年代发展起来的新型逻辑器件,相继出现了ROM、PROM、PLA、PAL、GAL、EPLD和FPGA等。一、PLD的基本结构与门阵列乘积项PLD主体输入电路输入信号互补输入输出函数反馈输入信号•可由或阵列直接输出,构成组合;•通过寄存器输出,构成时序方式输出。可直接输出也可反馈到输入它们组成结构基本相似如下:输出既可以是低电平有效,又可以是高电平有效。或门阵列和项输出电路F2=B+C+D二、PLD的逻辑符号表示方法1.输入缓冲器表示方法AAA2.与门和或门的表示方法固定连接编程连接F1=A•B•C×PLD具有较大的与或阵列,逻辑图的画法与传统的画法有所不同。下图列出了连接的三种特殊情况:1.输入全编程,输出为0。2.也可简单地对应的与门中画叉,因此E=D。3.乘积项与任何输入信号都没有接通,相当与门输出为1。下图给出最简单的PROM电路图,右图是左图的简化形式。实现的函数为:BABAF1BABAF2BAF3固定连接点(与)编程连接点(或)三、PLD的分类1.与阵列固定,或阵列可编程:可编程只读存储器PROM或可擦除编程只读存储器EPROMPLD基本结构大致相同,根据与或阵列是否可编程分为三类:2.与阵列,或阵列均可编程:可编程逻辑阵列PLA3.与阵列可编程,或阵列固定:可编程阵列逻辑PAL、通用阵列逻辑GAL、高密度可编程逻辑器件HDPLDABCBCA000001010111连接点编程时,需画一个叉。全译码1.与阵列固定,或阵列可编程2.与、或全编程:代表器件是PLA(ProgrammableLogicArray)。在PLD中,它的灵活性最高。下图给出了PLA的阵列结构。由于与或阵列均能编程的特点,在实现函数时,所需的是简化后的乘积项之和,这样阵列规模比PROM小得多。××××可编程可编程不像PROM那样与阵列需要全译码。3.与编程、或固定:代表器件PAL(ProgrammableArrayLogic)和GAL(GenericArrayLogic)。在这种结构中,或阵列固定若干个乘积项输出。××每个交叉点都可编程。F1F1为两个乘积项之和。四、PLD的性能特点采用PLD设计数字系统和中小规模相比具有如下特点:1.减小系统体积:单片PLD有很高的密度,可容纳中小规模集成电路的几片到十几片;2.增强逻辑设计的灵活性:使用PLD器件设计的系统,可以不受标准系列器件在逻辑功能上的限制;3.缩短设计周期:由于可编程特性,用PLD设计一个系统所需时间比传统方式大为缩短;阵列类型与或输出方式PROMPLAPALGAL固定可编程可编程可编程可编程可编程固定固定TS,OCTS,OC,H,LTS,I/O,寄存器用户定义各种PLD的结构特点4.提高系统处理速度:用PLD与或两级结构实现任何逻辑功能,比用中小规模器件所需的逻辑级数少。这不仅简化了系统设计,而且减少了级间延迟,提高了系统的处理速度;7.系统具有加密功能:某些PLD器件,如GAL或高密度可编程逻辑器件本身具有加密功能。设计者在设计时选中加密项,可编程逻辑器件就被加密。器件的逻辑功能无法被读出,有效地防止电路被抄袭。5.降低系统成本:由于PLD集成度高,测试与装配的工作量大大减少,避免了改变逻辑带来的重新设计和修改,有效地降低了成本;6.提高系统的可靠性:用PLD器件设计的系统减少了芯片数量和印制板面积,减少相互间的连线,增加了平均寿命,提高抗干扰能力,从而增加了系统的可靠性;五、用PLD实现逻辑电路的方法与过程用可编程逻辑器件设计电路需要相应的开发软件平台和编程器,可编程逻辑器件开发软件和相应的编程器多种多样。可编程逻辑器件设计电路过程如下图所示。电路方设案计设计输入优化电路选择器件编程器时件序功检能查特别是一些较高级的软件平台,一个系统除了方案设计和输入电路外,其它功能都可用编程软件自动完成。第二节可编程逻辑器件PLD的基本单元编程单元:PLD中用来存放数据的基本单元。非易失性有多种编程单元,其特点是掉电后信息不会丢失,它一般用于只读存储器。易失性单元:这种基本单元采用的是静态随机存储器(SRAM)结构,其特点是掉电以后信息就要丢失。现场可编程门阵列(FPGA)采用这种编程单元。非易失性单元:编程单元编程方式一次编程:信息一次编程固定好,编程元件是PROM。多次编程:用户根据需要将数据储存在编程单元中,并可以多次写入和擦除,编程元件是UVEPROM和E2PROM等。编程单元采用的是浮栅技术。A1A0Y1Y2Y3Y4十进制0001101100000001010010010149一、熔丝型开关二、反熔丝型开关000000111001用高压将PLICE介质击穿。三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元+++5V5VGND开启电压UT1。三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元25V25VGND三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元++++++开启电压加大开启电压UT2三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元---三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元有11三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元×三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元1三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元无11三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元0问题:浮栅上的电荷无放电通路,没法泄漏。用紫外线照射芯片上的玻璃窗,则形成光电电流,把栅极电子带回到多晶硅衬底,SIMOS管恢复到初始的导通状态。(二)隧道型(FLOTOX)储存单元前面研究的可擦写存储器的缺点是擦除已存入的信息必须用紫外光照射一定的时间,因此不能用于快速改变储存信息的场合。隧道型储存单元制成的存储器克服了这一缺点,它称为电可改写只读存储器E2PROM,即电擦除、电编程的只读存储器。面积大FLOTOX管的结构剖面示意图如图所示。它与叠栅型管的不同在于浮栅延长区与漏区N之间的交叠处有一个厚度约为80цm的薄绝缘层。隧道80цm擦除浮栅电荷时,G加5V,D接25V。向浮栅写入电荷时,G加25V,D接GND。(二)隧道型(FLOTOX)储存单元(三)快闪型(Flash)存储单元快闪存储单元又称为快擦快写存储单元,右图是闪速存储单元剖面图。快闪存储单元去掉了隧道型存储单元的选择管,它不像E2PROM那样一次只能擦除一个字,而是可以用一个信号,在几毫秒内擦除一大区段。因此,快闪存储单元比隧道型存储单元的芯片结构更简单、更有效,使用快闪存储单元制成的PLD器件密度更高。Flash工作原理类似于叠栅型存储单元,但有两点不同之处:1.快闪存储单元源极的区域Sn+大于漏极的区域Dn+,两区域不是对称的,使浮栅上的电子进行分级双扩散,电子扩散的速度远远大于叠栅型存储单元;2.叠栅存储单元的浮栅到P型衬底间的氧化物层约200埃左右,而闪速存储单元的氧化物层更薄,约为100埃。N+N+(三)快闪型(Flash)存储单元(四)六管静态存储单元闪速存储单元的可再编程能力约为10万次左右,但还是不及SRAM那样有无限制的再编程能力,以SRAM为存储单元的现场可编程门阵列(FPGA)可以实现无限次从一种运行逻辑转换到另一种运行逻辑的功能。下图是SRAM六管存储单元,由两个具有有源下拉n沟道晶体管和有源上拉p沟道晶体管交互耦合的倒相器组成。高和低电平是用具有分别到电源UCC和地GND的低阻抗通道的有源器件定义的两个电平。D1、D2为两个传输NMOS管,其栅极接到字线,源极分别接到两条互补的位线上,起传输作用。第三节可编程只读存储器PROM和可编程逻辑阵列PLA一、可编程只读存储器PROMPROM的结构是与阵列固定、或阵列可编程的PLD器件。对于有大量输入信号的PROM,比较适合作为存储器来存放数据,它在计算机系统和数据自动控制等方面起着重要的作用。例1:下图是一个8(字线)×4(数据)的存储器数据阵列图。对于较少的输入信号组成的与阵列固定、或阵列可编程的器件中,也可以很方便地实现任意组合逻辑函数。3线-8线译码器8×4存储单元矩阵输出缓冲器地址码输入端数据输出端字线由地址译码器选中不同的字线,被选中字线上的四位数据通过输出缓冲器输出。如当地址码A2A1A0=000时,通过地址译码器,使字线P0=1,将字线P0上的存储单元存储的数据0000输出,即D0~D3=0000。将左图地址扩展成n条地址线,n位地址码可寻址2n个信息单元,产生字线为2n条,其输出若是m位,则存储器的总容量为2n×m位。00010000EPROM有各种类型的产品,下图是紫外线擦除、电可编程的EPROM2716器件逻辑框图和引脚图。EPROM2716是211×8位可改写存储器,有11位地址线A0~A10,产生字线为2048条,D7~D0是8位数据输出/输入线,编程或读操作时,数据由此输入或输出。CS为片选控制信号,是低电平有效。OE/PGM为读出/写入控制端低电平时输出有效,高电平进行编程,写入数据。若当EPROM2716的容量不能满足使用要求,且仅有2716芯片时,可用多片并联来扩展地址线和数据线。下图是将2片2716扩展成2048×16的数据的连接示意图。两片的数据线排列成D0~D15其余线全部并联从组合电路角度来看:例2:试用适当容量的PROM实现两个两位二进制数比较的比较器。(1)两个两位二进制数分别为A1A0和B1B0,当A1A0大于B1B0时,F1=1,A1A0等于B1B0时,F2=1,A1A0小于B1B0时,F3=1,下表给出了两位二进制数比较结果的输入输出对照表。输入地址信号为电路的输入逻辑变量存储矩阵为或阵列把乘积项组合成m个逻辑函数输出。地址译码器产生2n个字线为固定与阵列产生2n个乘积项NA1A0B1B0F1F2F301234567891011121314150000000100100011010001010110011110001001101010111100110111101111010