第八章可编程逻辑器件.ppt
1,第八章 可编程逻辑器件,本章的重点:1.PLD的基本特征,分类以及每种类型的特点;2.用PLD设计逻辑电路的过程和需要用的开发工具。本章的重点在于介绍PLD的特点和应用,PLD内部的详细结构和工作过程不是教学重点。本章的难点:在本章的重点内容中基本没有难点。但在讲授PLD开发工具时,如能与实验课配合,结合本校实验室配备的开发工具讲解更好。,2,第八章 可编程逻辑器件,第一节 可编程逻辑器件PLD概述,第二节 可编程逻辑阵列PLA(略),第三节 可编程阵列逻辑(PAL),第四节 通用阵列逻辑(GAL),第五节 可擦除可编程逻辑器件(EPLD),第六节 现场可编程门阵列(FPGA),概述,3,概述,目前集成电路分为通用型和专用型两大类。,通用集成电路:如前面讲过的SSI,MSI,PIO,CPU等。特点:,1.可实现予定制的逻辑功能,但功能相对简单;,2.构成复杂系统时,功耗大、可靠性差,灵活性差。,专用型集成电路(ASIC)分为定制型和半定制型。特点:,(一)定制型:由用户提出功能,交工厂生产。其特点是,1.体积小、功耗低、可靠性高,2.批量小时成本高,设计制造周期长。,(二)半定制型:是厂家作为通用产品生产,而逻辑功能由用户自行编程设计的ASIC芯片。如可编程逻辑器件(PLD)。其特点是,1.用户可编程,可加密,因此使用方便;,2.组成的系统体积小,功耗低,可靠性高,集成度高;,3.适合批量生产。,3.用户不可编程。,一、数字集成电路按逻辑功能分类,4,1.PLD是实现电子设计自动化的硬件基础:,基于芯片的设计方法,可编程器件,芯 片 设 计,电路板的设计,电 子 系 统,传统电子系统设计方法,固定功能元件,电路板的设计,电 子 系 统,EDA是“基于芯片的设计方法”:,传统的数字系统设计方法是“固定功能集成块+连线”,见图。,二、电子设计自动化(EDAElectronic Design Automation)简介,当然,仅有硬件还不够,还要有EDA软件。本章只介绍硬件。,5,2.基于PLD设计流程,基于可编程逻辑器件设计分为三个步骤:设计输入、设计实现、编程。其设计流程如下图。,设计实现:生成下载所需的各种文件。,器件编程:即“下载”和“配置”,即将编程数据放到具体的可编程 器件中。,6,3.用PLD设计数字系统的特点,采用PLD设计数字系统和中小规模相比具有如下特点:,(1)减小系统体积:单片PLD有很高的密度,可容纳中小规模集成电路的几片到十几片。(低密度PLD小于700门/片,高密度PLD每片达数万门,最高达25万门)。,(2)增强逻辑设计的灵活性:使用PLD器件设计的系统,可以不受标准系列器件在逻辑功能上的限制;用户可随时修改。,(3)缩短设计周期:由于可完全由用户编程,用PLD设计一个系统所需时间比传统方式大为缩短;,7,(4)提高系统处理速度:用PLD与或两级结构实现任何逻辑功能,比用中小规模器件所需的逻辑级数少。这不仅简化了系统设计,而且减少了级间延迟,提高了系统的处理速度;,(7)系统具有加密功能:多数PLD器件,如GAL或高密度可编程逻辑器件,本身具有加密功能。设计者在设计时选中加密项,可编程逻辑器件就被加密。器件的逻辑功能无法被读出,有效地防止电路被抄袭。,(5)降低系统成本:由于PLD集成度高,测试与装配的量大大减少。PLD可多次编程,这就使多次改变逻辑设计简单易行,从而有效地降低了成本;,(6)提高系统的可靠性:用PLD器件设计的系统减少了芯片数量和印制板面积,减少相互间的连线,增加了平均寿命,提高抗干扰能力,从而增加了系统的可靠性;,8,第一节 可编程逻辑器件PLD概述,一、PLD的基本结构,PLD主体,可直接输出,也可反馈到输入,它们组成结构基本相似:,9,F2=B+C+D,二、PLD的逻辑符号表示方法,1.输入缓冲器表示方法,2.与门和或门的表示方法,固定连接,编程连接,F1=ABC,PLD具有较大的与或阵列,逻辑图的画法与传统的画法有所不同。,10,下图列出了连接的三种特殊情况:,1.输入全编程,输出为0。,2.也可简单地在对应的与门中画叉,因此E=D=0。,3.乘积项与任何输入信号都没有接通,相当与门输出为1。,11,下图给出最简单的PROM电路图,右图是左图的简化形式。,实现的函数为:,固定连接点(与),编程连接点(或),12,三、PLD的结构类型,(1)与固定、或编程:PROM,(2)与或全编程:FPLA,(3)与编程、或固定:PAL、GAL、EPLD、FPGA,1.与固定、或编程:(PROM),PLD基本结构大致相同,根据与或阵列是否可编程分为三类:,0 0 0,0 0 1,0 1 0,1 1 1,连接点编程时,需画一个叉。,13,2.与、或全编程:,代表器件是FPLA(Programmable Logic Array)(略),3.与编程、或固定:代表器件PAL(Programmable Array Logic)和GAL(Generic Array Logic)EPLD、FPGA(Field Programmable Gate Array)。,在这种结构中,与阵列可编程,或阵列中每个或门所连接的乘积项是固定的,见下页图。其中EPLD和FPGA的结构还要复杂得多,我们将在后面介绍。,14,每个交叉点都可编程。,O1,O1为两个乘积项之和。,由于或阵列固定,以后将只画出或门,与阵列可编程,或阵列不可编程的PLD。,15,四、PLD的分类(按集成度分类),可编程逻辑器件PLD,16,第三节 可编程阵列逻辑器件(PAL),PAL采用双极型熔丝工艺,工作速度较高(10-35ns)。,PAL的基本结构,PAL器件的型号很多,它的典型输出结构通常有五种,其余的结构是在这五种结构基础上变形而来。,PAL是由可编程的与阵列、固定的或阵列和输出电路三部分组成。有些PAL器件中,输出电路包含触发器和从 触发器输出端到与阵列的反馈线,便于实现时序逻辑电路。同一型号的PAL器件的输入、输出端个数固定。本节介绍PAL的五种基本结构。,17,1.专用输出结构,一个输入,如输出采用或门,为高电平有效PAL器件。若采用互补输出的或门,为互补输出器件。,输入信号,四个乘积项,I,18,2.可编程I/O输出结构,可编程I/O结构如下图所示。,19,3.寄存器型输出结构:也称作时序结构,如下图所示。,或门的输出通过D触发器,在CP的上升沿时到达输出。,触发器的Q端可以通过三态缓冲器送到输出引脚,触发器的反相端反馈回与阵列,可构成时序逻辑电路,20,4.带异或门的寄存器型输出结构:,增加了一个异或门,有些PAL器件是由数个同一结构类型组成,有的则是由不同类型结构混合组成。,如由8个寄存器型输出结构组成的PAL器件命名为PAL16R8,由8个可编程I/O结构组成的PAL器件则命名为PAL16L8。,21,5.运算选通反馈输出结构:,反馈选通电路的输入变量B,A+B,反馈选通电路的反馈变量A,22,1A+BAA+BBA BA BA+B,用途:利用反馈结构的反馈量编程可在与阵列的输出端产生A和B的16种运算结构。见下表:,AA B0A BA BA BBA+B,23,采用E2CMOS工艺和灵活的输出结构,有电擦除、可反复编程的特性。,与PAL相比,GAL的输出结构配置了可以任意组态的输出逻辑宏单元OLMC(Output Logic Macro Cell)。因此,同一型号的GAL器件可满足多种不同的需要。,第四节 通用阵列逻辑GAL器件,24,GAL和PAL在结构上的区别见下图:,适当地为OLMC进行编程,GAL就可以在功能上代替前面讨论过的PAL各种输出类型以及其派生类型,25,一.GAL器件的结构,GAL器件型号定义和PAL一样根据输入输出的数量来确定,GAL16V8中的16表示器件的输入端数量,8表示输出端数量,V则表示输出形式可以改变的普通型,GAL16V8的基本结构(下图),一个共用时钟CLK,26,二 GAL输出逻辑宏单元OLMC的组成,输出逻辑宏单元OLMC 由或门、异或门、D触发器、多路选择器MUX、时钟控制、使能控制和编程元件等组成,如下图:,27,三.输出逻辑宏单元OLMC组态,输出逻辑宏单元由对AC1(n)和AC0进行编程决定PTMUX、TSMUX、OMUX和FMUX的输出,共有5种基本组态:,专用输入组态、专用输出组态、复合输入/输出组态、寄存器组态和寄存器组合I/O组态。8个宏单元可以处于相同的组态,或者有选择地处于不同组态。,(1)专用输入组态:如下图所示:,此时AC1(n)1,AC00,使TSMUX输出为0,三态输出缓冲器的输出呈现高电阻,本单元输出功能被禁止,,28,(2)专用组合输出组态【AC0=0,AC1(n)0】:如下图所示:,FMUX选择接地,本单元和相邻单元的反馈信号均被阻断,PTMUX选择1,第一与项送入或门,OMUX选择0,跨过DFF,TSMUX选择VCC,29,(3)寄存器组态:当AC1(n)0,AC01时,如下图所示。,CLK、OE作为时钟和输出缓冲器的使能信号,是器件的公共端(TSMUX选中OE端),FMUX选中DFF的Q端,OMUX选中1端,DFF的Q端输出,30,(4)反馈组合输出组态:AC0=AC1(n)=1,且SYN=1,2.输出信号反馈到与阵列。,(5)时序电路中的组合输出AC0=AC1(n),且SYN=0,这时其他OLMC中至少有一个工作在寄存器组态,而该OLMC作为组合电路使用。,与(4)不同在于CLK和OE端作为公共信号使用。,和专用输出组态比,有两点不同:,1.三态门使能端接第一与项;,GAL的输入,输出电路和特性留给同学自学。,31,(一)优点:GAL是继PAL之后具有较高性能的PLD,和PAL相比,具有以下优点:,(1)有较高的通用性和灵活性:它的每个逻辑宏单元可以根据需要任意组态,既可实现组合电路,又可实现时序电路。,(2)利用率高:GAL采用电可擦除CMOS技术,可以用电压信号擦除并可重新编程。因此,可反复使用。,(3)高性能的E2COMS工艺:使GAL的高速度、低功耗,编程数据可保存20年以上。,四、GAL的特点,32,二、GAL器件的缺点,(1)时钟必须共用;,(2)或的乘积项最多只有8个;,(3)GAL器件的规模小,达不到在单片内集成一个数字系统的要求;,(4)尽管GAL器件有加密的功能,但随着解密技术的发展,对于这种阵列规模小的可编程逻辑器件解密已不是难题。,EPLD、FPGA等高密度可编程逻辑器件出现后,上述缺点都得到克服。,33,第五节 可擦除的可编程逻辑器件EPLD,1.EPLD(Erasable Programmable Logic Device)。分为两类:一类是紫外线可擦除的EPLD(采用UVEPROM工艺),另一类是电可擦除EPLD(采用E2PROM工艺)。,2.EPLD采用COMS工艺,属高密度可编程逻辑器件HDPLD(集成度大于1000门/片),芯片规模已达上万等效逻辑门。可以实现功能相当复杂的数字系统。,3.速度高(2ns)、功耗低(电流在数十毫安以下),抗干扰能力强。,4.具有在系统编程能力,不用编程器,使用方便,可靠性高。,5.与GAL相比,从结构上增加了:,异步时钟、异步清除功能。可实现异步时序电路。,乘积项共享功能,每个宏单元可多达32个乘积项,,输出级多种使能控制,而且三态输出使能控制比GAL要丰富。,一、EPLD的特点,34,I.在系统编程芯片EPM7128S的引脚图,64个I/O既可以作为输入端也可为输出端,二、在系统编程芯片(isp)EPM7128S的基本结构,是Altera公司生产的高密度、高性能CMOS可编程逻辑器件之一,PLCC封装84端子,35,II、EPM7128S器件结构图,36,(一)宏单元(MacroCell),37,(二)扩展乘积项 EPM7128S结构中提供的扩展乘积项有两种:共享扩展乘积项并联扩展乘积项,1.共享扩展乘积项:,38,2.并联扩展乘积项:,并联扩展乘积项是一些宏单元没有使用的乘积项可以分配到邻近单元使用。使有的宏单元最多可达20个乘积项,而这其中5个乘积项由本宏单元提供,其他15个并联扩展乘积项是由邻近的宏单元提供的。,39,(三)可编程内连矩阵PIA(Programmable Interconnection Array),40,(四)I/O控制块 EMP7128S的每个I/O引脚允许三种工作方式:,1.输入方式,2.输出方式,3.双向工作方式,41,前面讨论的可编程逻辑器件基本组成部分是与阵列、或阵列和输出电路。再加上触发器则可实现时序电路。,本节介绍的FPGA(Field Programmable Gate Array)不像PLD那样受结构的限制,它可以靠门与门的连接来实现任何复杂的逻辑电路,更适合实现多级逻辑功能。,陆续推出了新型的现场可编程门阵列FPGA。功能更加丰富,具有基本逻辑门电路、传输外部信号的输入/输出电路和可编程内连资源之外,还具有很高的密度等等。,第六节 现场可编程门阵列FPGA,42,一、现场可编程门阵列FPGA结构,FPGA的编程单元是基于静态存储器(SRAM)结构,从理论上讲,具有无限次重复编程的能力,下面介绍XILINX公司的XC4000E系列芯片,了解FPGA内部各个模块的功能,见下图:,可配置逻辑模块CLB,输入/输出模块I/OB,可编程连线PI,编程开关矩阵PSM,43,四、现场可编程门阵列FPGA的特点,(一)SRAM结构:可以无限次编程,但它属于易失性元件,掉电后芯片内信息丢失;通电之后,要为FPGA重新配置逻辑,FPGA配置方式有七种,请读者参考有关文献。,(二)内部连线结构:HDPLD的信号汇总于编程内连矩阵,然后分配到各个宏单元,因此信号通路固定,系统速度可以预测。而FPGA的内连线是分布在CLB周围,而且编程的种类和编程点很多,使得布线相当灵活,因此在系统速度方面低于HDPLD的速度。,(三)芯片逻辑利用率:由于FPGA的CLB规模小,可分为两个独立的电路,又有丰富的连线,所以系统综合时可进行充分的优化,以达到逻辑最高的利用。,(四)芯片功耗:高密度可编程逻辑器件HDPLD的功耗一般在0.5W2.5W之间,而FPGA芯片功耗0.25mW5mW,静态时几乎没有功耗,所以称FPGA为零功耗器件。,44,举例,一、BCD码求补电路求x补10,解:x补10=10 xx补15=15 x x补10=x补15 5=x补15+11 16,x补15 可用逐位求反法得到。例如1010补15=0101。加11可用四位加法器实现;减16,实际是舍掉加法器的进位。,进位,45,四位加法器,BCD七段译码器,舍掉进位,46,h,二、扫描电路,四个八选一数据选择器74151,A0A7,B0B7,C0C7,D0D7,BCD七段译码器,八进制计数器,S2,S1,S0,A,B,C,D,a,b,c,d,e,f,g,S2,S0,S1,47,32107654,8段数码管位置编号,S2=0,S2=1,48,返回27,返回26,返回28,