版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3 3讲讲 PLDPLD概述概述 第第3讲讲 PLD概述概述3.1 PLD概述概述 3.2 PLD分类分类 3.3 阵列型阵列型PLD3.4 FPGA 3.5 CPLD 和和FPGA的选择的选择第第3 3讲讲 PLDPLD概述概述 3.1 PLD概述概述 自20世纪60年代以来,数字集成电路已经历了从SSI、MSI到LSI、VLSI的发展过程。20世纪70年代初以1K位存储器为标志的大规模集成电路(LSI)问世以后,微电子技术得到迅猛发展,集成电路的集成规模几乎以平均每12年翻一番的惊人速度迅速增长。 第第3 3讲讲 PLDPLD概述概述 集成技术的发展也大大促进了电子设计自动化(EDA)
2、技术的进步,20世纪90年代以后,由于新的EDA工具不断出现,使设计者可以直接设计出系统所需要的专用集成电路,从而给电子系统设计带来了革命性的变化。过去传统的系统设计方法是采用SSI、MSI标准通用器件和其它元件对电路板进行设计,由于一个复杂电子系统所需要的元件往往种类和数量都很多,连线也很复杂,因而所设计的系统体积大、功耗大、可靠性差。 第第3 3讲讲 PLDPLD概述概述 先进的EDA技术使传统的“自下而上”的设计方法,变为一种新的“自顶向下”的设计方法,设计者可以利用计算机对系统进行方案设计和功能划分,系统的关键电路可以采用一片或几片专用集成电路(ASIC)来实现,因而使系统的体积、重量
3、减小,功耗降低,而且具有高性能、高可靠性和保密性好等优点。第第3 3讲讲 PLDPLD概述概述 专用集成电路(ASICApplication Specific Integrated Circuit)是指专门为某一应用领域或为专门用户需要而设计、制造的LSI或VLSI电路,它可以将某些专用电路或电子系统设计在一个芯片上,构成单片集成系统。ASIC可分为数字ASIC和模拟ASIC,数字ASIC又分为全定制和半定制两种。全定制ASIC芯片的各层(掩膜)都是按特定电路功能专门制造的。设计人员从晶体管的版图尺寸、位置和互连线开始设计,以达到芯片面积利用率高、速度快、功耗低的最优性能,但其设计制作费用高,
4、周期长,因此只适用于批量较大的产品。 第第3 3讲讲 PLDPLD概述概述 半定制是一种约束性设计方式。约束的主要目的是简化设计、缩短设计周期和提高芯片成品率。目前半定制ASIC主要有门阵列、标准单元和可编程逻辑器件三种。门阵列(Gate Array)是一种预先制造好的硅阵列(称母片),内部包括几种基本逻辑门、触发器等,芯片中留有一定的连线区。用户根据所需要的功能设计电路,确定连线方式,然后再交生产厂家布线。第第3 3讲讲 PLDPLD概述概述 标准单元(Standard Cell)是厂家将预先配置好、经过测试,具有一定功能的逻辑块作为标准单元存储在数据库中,设计人员在电路设计完成之后,利用C
5、AD工具在版图一级完成与电路一一对应的最终设计。和门阵列相比,标准单元设计灵活、功能强,但设计和制造周期较长,开发费用也比较高。第第3 3讲讲 PLDPLD概述概述 可编程逻辑器件(PLD-Programmable Logic Device)是ASIC的一个重要分支。与上述两种半定制电路不同,PLD是厂家作为一种通用型器件生产的半定制电路,用户可以通过对器件编程使之实现所需要的逻辑功能。PLD是用户可配置的逻辑器件,它的成本比较低,使用灵活,设计周期短,而且可靠性高,承担风险小,因而很快得到普遍应用,发展非常迅速。 第第3 3讲讲 PLDPLD概述概述 可编程逻辑器件从20世纪70年代发展到现
6、在,已形成了许多类型的产品,其结构、工艺、集成度、速度和性能等都在不断改进和提高。 最早出现的可编程逻辑器件是1970年制成的PROM,它由全译码的与阵列和可编程的或阵列组成。由于阵列规模大,速度低,因此它的主要用途还是作存储器。第第3 3讲讲 PLDPLD概述概述 20世纪70年代中期出现了可编程逻辑阵列(PLA-Programmable Logic Array)器件,它由可编程的与阵列和可编程的或阵列组成,虽然其阵列规模大为减少,提高了芯片的利用率,但由于编程复杂,支持PLA的开发软件有一定难度,因而也没有得到广泛应用。 20世纪70年代末美国MMI公司(Monolithic Memori
7、es Inc,单片存储器公司)率先推出了可编程阵列逻辑(PAL-Programmable Array Logic)器件,它由可编程的与阵列和固定的或阵列组成,采用熔丝编程方式,双极型工艺制造,器件的工作速度很高。由于它的输出结构种类很多,设计很灵活,因而成为第一个得到普遍应用的可编程逻辑器件。第第3 3讲讲 PLDPLD概述概述 20世纪80年代初Lattice公司发明了通用阵列逻辑(GAL-Generic Array Logic)器件,它在PAL的基础上进一步改进,采用了输出逻辑宏单元(OLMC)的形式和ECMOS工艺结构,因而具有可擦除、可重复编程、数据可长期保存和可重新组合结构等优点。G
8、AL比PAL使用更加灵活,它可以取代大部分SSI、MSI和PAL器件,所以在20世纪80年代得到广泛应用。 第第3 3讲讲 PLDPLD概述概述 PAL和GAL都属于低密度PLD,其结构简单,设计灵活,但规模小,难以实现复杂的逻辑功能。20世纪80年代末,随着集成电路工艺水平的不断提高,PLD突破了传统的单一结构,向着高密度、高速度、低功耗以及结构体系更灵活,适用范围更宽的方向发展,因而相继出现了各种不同结构的高密度PLD。第第3 3讲讲 PLDPLD概述概述 20世纪80年代中期Altera公司推出了一种新型的可擦除、可编程逻辑器件(EPLD-Erasable Programmable Lo
9、gic Device),它采用CMOS和UVEPROM工艺制作,集成度比PAL和GAL高得多,设计也更加灵活,但内部互连能力比较弱。1985年Xilinx公司首家推出了现场可编程逻辑(FPGA-Field Programmable Gate Array)器件,它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作,其结构和阵列型PLD不同,内部由许多独立的可编程逻辑模块组成,逻辑块之间可以灵活地相互连接,具有密度高、编程速度快、设计灵活和可再配置设计能力等许多优点。FPGA出现后立即受到世界范围内电子设计工程师的普遍欢迎,并得到迅速发展。第第3 3讲讲 PLDPLD概述概述 20世纪80年
10、代末Lattice公司提出了在系统可编程技术以后,相继出现一系列具备在系统可编程能力的复杂可编程逻辑器件(CPLD-Complex PLD)。CPLD是在EPLD的基础上发展起来的,它采用ECMOS工艺制作,增加了内部连线,改进了内部结构体系,因而比EPLD性能更好,设计更加灵活,其发展也非常迅速。 20世纪90年代以后高密度PLD在生产工艺、器件的编程和测试技术等方面都有了飞速发展。第第3 3讲讲 PLDPLD概述概述 例如CPLD的集成度一般可达数千甚至上万门,Altera公司推出的EPM9560,其单密度达到12000个可用门,包含多达50个宏单元,216个用户I/O引脚,并能提供15n
11、s的脚至脚延时,16位计数的最高工作频率为118MHz。AMD公司推出的MACH5系列产品,其单片密度最多达2万门,引脚到引脚的延时为7.5ns,构成计数器时最高工作频率达125MHz。目前CPLD的集成度最多可达25万个等效门,最高工作速度已达180MHz。可编程集成电路的线宽已广泛采用0.35m工艺,各厂家正在积极开发0.18m和0.5m工艺的器件。 第第3 3讲讲 PLDPLD概述概述 FPGA的门延时已小于3ns。Xilinx公司生产的FPGA从最初的1200个可利用门发展到现在已达25万个可利用门,规模已扩大了200多倍。在系统可编程技术、边界扫描技术的出现也使器件在编程技术和测试技
12、术及系统可重构技术方面有了很快的发展。第第3 3讲讲 PLDPLD概述概述 目前世界各著名半导体器件公司,如Xilinx、Altera、Lattice和AMDAtmel等公司,均可提供不同类型的CPLD、FPGA产品,众多公司的竞争促进了可编程集成电路技术的提高,使其性能不断完善,产品日益丰富。可以预计,可编程逻辑器件将在结构、密度、功能、速度和性能等各方面得到进一步发展,并在现代电子系统设计中得到更广泛的应用。第第3 3讲讲 PLDPLD概述概述 3.2 PLD分类分类 3.2.1 按集成密度分类按集成密度分类 可编程逻辑器件从集成密度上可分为低密度可编程逻辑器件(LDPLD)和高密度可编程
13、逻辑器件(HDPLD)两类。LDPLD主要指早期发展起来的PLD,它包括PROM、PLA、PAL和GAL四种,其集成密度一般小于700门/片。这里的门是指PLD等效门。第第3 3讲讲 PLDPLD概述概述 HDPLD包括EPLD、CPLD和FPGA三种,其集成密度大于700门/片。随着集成工艺的发展,HDPLD的集成密度不断增加,性能不断提高。如Altera公司的EPM9560,其密度为12000门/片,Lattice公司的pLSI/ispLSI3320为14000门/片,AMD公司的M5-512为20000门/片,Xilinx公司的XC4020为20000门/片,等等。目前集成度最高的HDP
14、LD可达25万门/片。第第3 3讲讲 PLDPLD概述概述 3.2.2 按编程方式分类按编程方式分类 可编程逻辑器件的编程方式分为两类:一类是一次性编程(One Time Programmable,简称OTP)器件;另一类是可多次编程器件。OTP器件只允许对器件编程一次,编程后不能修改,其优点是集成度高、工作频率和可靠性高、抗干扰性强。可多次编程器件的优点是可多次修改设计,特别适合于系统样机的研制。第第3 3讲讲 PLDPLD概述概述 可编程逻辑器件的编程信息均存储在可编程元件中。根据各种可编程元件的结构及编程方式,可编程逻辑器件通常又可以分为四类: 采用一次性编程的熔丝(Fuse)或反熔丝(
15、Antifuse)元件的可编程器件。 采用紫外线擦除、电可编程元件,即采用EPROM、UVCMOS工艺结构的可编程器件。 采用电擦除、电可编程元件。其中一种是E2PROM,即采用E2CMOS工艺结构的可编程器件;另一种是采用快闪存储单元(Flash Memory)结构的可编程器件。第第3 3讲讲 PLDPLD概述概述 基于静态存储器SRAM结构的编程器件。 以上四类器件中第类属于一次性编程器件,第、类属于可多次编程器件。基于EPROM、E2PROM和快闪(Flash)存储器的可编程器件的优点是系统断电后,编程信息不丢失。其中基于E2PROM和快闪存储器的编程器件可以编程100次以上,因而得到广
16、泛应用。在系统编程(ISP-In System Programmable)器件就是利用E2PROM或快闪存储器来存储编程信息的。基于只读存储器的可编程器件还设有保密位,可以防止非法复制。 第第3 3讲讲 PLDPLD概述概述 基于SRAM的可编程器件的缺点是,编程信息在系统断电后会丢失,是易失性器件。多数FPGA是基于SRAM的可编程器件。它在每次上电工作时,需要从器件外部的EPROM、E2PROM或其它存储体上将编程信息写入器件的SRAM中。这类可编程器件的优点是可进行任意次数的编程,并在工作中可以快速编程,实现板级和系统级的动态配置,因而也称为在线重配置(In Circuit Reconf
17、igruable,简称ICR)的可编程逻辑器件或可重配置硬件。 第第3 3讲讲 PLDPLD概述概述 下面介绍几种可编程元件的编程原理。 1.熔丝和反熔丝元件的编程原理 最早的可编程逻辑器件采用熔丝编程方式。熔丝编程元件的原理图如图所示。其中,每个存储元件由一只三极管和串在发射极的熔丝组成。三极管的be相当于接在字线与位线之间的二极管。第第3 3讲讲 PLDPLD概述概述 熔丝元件原理图 地址译码器W0W2 1熔丝元件存储矩阵VCCA0An1n位线字线第第3 3讲讲 PLDPLD概述概述 编程时,如果需要某处存放信息“0”,则只要按地址提供一定的脉冲电流,将该处熔丝烧断即可。而未熔断熔丝的地方
18、即表示存放了信息“1”。 采用熔丝编程工艺的PLD有PROM、PAL、EPLD及FPGA的一部分产品。这种编程方式速度较高,但功耗大。它的主要缺点是熔丝烧断后不能恢复,因此只能一次性编程,不能重复编程和修改。一次性编程的PLD不适宜在系统的研制、开发和实验阶段使用。另外,熔丝元件要留出较大的保护空间,因此占用芯片的面积也比较大。 第第3 3讲讲 PLDPLD概述概述 反熔丝元件克服了熔丝元件的缺点,它通过击穿介质达到连通线路的目的。下图为PLICE反熔丝元件结构原理图。PLICE反熔丝生长在N+扩散层和多晶硅之间的介质上,其生产工艺和CMOS、双极型工艺兼容。PLICE介质未编程时呈现高阻抗,
19、当加上18V编程电压后介质被击穿,其两旁的导电材料连通,接通电阻小于1k。反熔丝在硅片上只占一个通孔的面积,在一个2000门的器件中,可以设置186000个反熔丝,因此反熔丝占用硅片面积小,对提高芯片的集成密度很有利。第第3 3讲讲 PLDPLD概述概述 反熔丝元件结构原理图 场氧化物扩散层介质多 晶硅1.2m第第3 3讲讲 PLDPLD概述概述 2.浮栅编程原理 紫外线擦除、电编程的EPROM,电擦除、电编程的E2PROM和快闪存储单元都采用了浮栅编程技术。EPROM的存储单元采用浮栅雪崩注入MOS管(FAMOS管)或叠栅注入MOS管(SIMOS管)。下图是浮栅雪崩注入MOS管示意图,它是一
20、个P沟道增强型MOS管,但栅极完全被SiO隔离,处于浮置状态,因此称“浮置栅”。浮栅上原本不带电,因此漏源之间没有导电沟道,浮栅管完全呈截止状态。 第第3 3讲讲 PLDPLD概述概述 EPROM浮栅管(FAMOS管)的结构与符号 DS浮置栅SiO2PPNDS第第3 3讲讲 PLDPLD概述概述 当漏源之间加上很高的负电压(通常为-45V左右)时,则可使漏极与衬底之间的PN结发生雪崩击穿,耗尽区内的电子在强电场作用下以高速从漏极的P+区向外射出,使部分电子穿过SiO2层到达浮栅,形成浮栅存储电荷。漏源间负高压去掉后,由于浮栅上的电荷没有放电通路,所以能长期保存下来,并在漏源之间建立导电沟道,F
21、AMOS管导通,因而达到编程目的。擦除EPROM的方法是将器件放在紫外光处照射(1020分钟),浮栅中的电子获得足够能量穿过SiO2层回到衬底中,FAMOS管又恢复到截止状态,从而将编程信息全部擦去。 第第3 3讲讲 PLDPLD概述概述 采用EPROM编程的器件主要有EPLD和CPLD部分产品。UVEPROM编程器件克服了一次性编程器件的缺陷,但也有不足之处,主要是擦除要有专门的装置,且擦除时间较长。电擦除、电可编程的EPROM编程器件也采用浮栅技术编程,它的编程元件称为浮栅隧道氧化层MOS管(简称Flotox管),其结构如图所示。Flotox管有两个栅极:控制栅G和浮栅G2,浮栅G2与漏极
22、间有一层极薄的氧化层(厚度为1015m),可以产生“隧道效应”。编程时,源、漏极接地,控制栅G加20V脉冲电压,衬底中电子通过隧道效应注入到浮栅G2,脉冲电压撤除后浮栅上电子可以长期保留; 第第3 3讲讲 PLDPLD概述概述 EPROM(Flotox管)结构 NN控制栅G1(多晶体)浮栅G2(多晶体)隧道区(SiO2极薄层)SiO2PD1S1第第3 3讲讲 PLDPLD概述概述 擦除时,将控制栅接地,源极浮起,在漏极上加20V高压脉冲,浮栅G2上的电子通过隧道返回衬底。可见,EPROM编程器件的编程和擦除都是通过在漏极和控制栅上加一定的幅度和极性的电脉冲实现的。由于擦除方便,速度快,因而很受
23、用户欢迎。第第3 3讲讲 PLDPLD概述概述 采用E2PROM结构即ECMOS工艺的可编程器件主要有GAL和一些在系统可编程逻辑器件。 快闪存储器(Flash Memory)对E2PROM进行了改进,它可以在ms内擦除全部或一段被存储信息,而不像E2PROM那样一次擦除一个字节。快闪存储器的单元结构与EPROM中的叠栅注入MOS管(SIMOS管)相似,由于片内所有叠栅MOS管的源极连在一起,所以擦除时是将全部存储单元同时擦除。第第3 3讲讲 PLDPLD概述概述 3.SRAM配置存储器 使用静态存储器SRAM存储逻辑配置数据,称配置存储器。目前Xilinx公司生产的FPGA主要采用这种编程结
24、构。SRAM基本单元如图所示。它由两个CMOS互耦反相器和一个MOS开关管V组成。 第第3 3讲讲 PLDPLD概述概述 图1.5 Xilinx公司的SRAM结构 数据读或写VQQ第第3 3讲讲 PLDPLD概述概述 配置数据写入时,MOS开关管导通,写入配置数据(0或1)。在工作状态下,MOS开关管处于截止状态,配置单元的数据从反相器的Q端读出。无论存储0或1,其输出端处于低阻状态,若使状态发生翻转需要很大的电流,因此这种SRAM结构具有很强的抗干扰性。 这种SRAM结构与其它组成方法相比,具有高密度、高速度和高可靠性,同时这种存储单元的特殊设计,还使它具有很高的稳定性,即在最坏的供电条件下
25、,也能正常工作。 第第3 3讲讲 PLDPLD概述概述 3.2.3 按结构特点分类 目前常用的可编程逻辑器件都是从与或阵列和门阵列发展起来的,所以可以从结构上将其分为两大类: 阵列型PLD。 现场可编程门阵列FPGA。 阵列型PLD的基本结构由与阵列和或阵列组成。简单PLD(PROM、PLA、PAL和GAL)、EPLD和CPLD都属于阵列型PLD。第第3 3讲讲 PLDPLD概述概述 FPGA具有门阵列的结构形式,它是由许多可编程逻辑单元(或称逻辑功能块)排成阵列组成的,这些逻辑单元的结构和与或阵列的结构不同,所以也将FPGA称为单元型PLD。除了以上分类法以外,有些地方将可编程逻辑器件分为简
26、单PLD、复杂PLD和FPGA三大类,也有人将可编程逻辑器件分为简单PLD和复杂PLD(CPLD)两类,而将FPGA划入CPLD的范围之内。总之,可编程逻辑器件种类繁多,其分类标准不是很严格。但尽管如此,了解和掌握可编程逻辑器件的结构特点,对于可编程逻辑器件的设计实现和开发应用都十分重要,因此下面将简要介绍阵列型PLD和FPGA的主要特点。第第3 3讲讲 PLDPLD概述概述 3.3 阵列型阵列型PLD 阵列型PLD包括PROM、PLA、PAL、GAL、EPLD和CPLD。由于EPLD和CPLD都是在PAL和GAL基础上发展起来的,因此下面首先介绍简单PLD的结构特点,然后再介绍EPLD和CP
27、LD的结构特点。第第3 3讲讲 PLDPLD概述概述 1.3.1 简单PLD的基本结构 1.PLD电路的表示方法 因为PLD内部电路的连接规模很大,用传统的逻辑电路表示方法很难描述PLD的内部结构,所以对PLD进行描述时采用了一种特殊的简化方法。 PLD的输入、输出缓冲器都采用了互补输出结构,其表示法如图所示。 第第3 3讲讲 PLDPLD概述概述 图1.6 PLD缓冲器表示法 AAA第第3 3讲讲 PLDPLD概述概述 PLD的与门表示法如图1.7(a)所示。图中与门的输入线通常画成行(横)线,与门的所有变量都称为输入项,并画成与行线垂直的列线以表示与门的输入。列线与行线相交的交叉处若有“”
28、,表示有一个耦合元件固定连接;若有“”,则表示是编程连接;若交叉处无标记,则表示不连接(被擦除)。与门的输出称为乘积项P,图 (a)中与门输出P=ABD。或门可以用类似的方法表示,也可以用传统的方法表示,如图 (b)所示。第第3 3讲讲 PLDPLD概述概述 PLD的与门表示法和或门表示法 AB C D输入项P(乘积项)ABDP(a)与门表示法P1P2P3P4F(或项)P1P3P4F P1 P3P4(b)或门表示法第第3 3讲讲 PLDPLD概述概述 下图是PLD中与门的简略表示法,图中与门P1的全部输入项接通,因此 ,这种状态称为与门的缺省(Default)状态。为简便起见,对于这种全部输入
29、项都接通的缺省状态,可以用带有“”的与门符号表示,如图中的P2=P1=0均表示缺省状态。P3中任何输入项都不接通,即所有输入都悬空,因此P3=1,也称为悬浮“1”状态。P1=A A B B=0第第3 3讲讲 PLDPLD概述概述 PLD与门的简略表示法 ABP1P2P3第第3 3讲讲 PLDPLD概述概述 2. 简单PLD的基本结构 简单PLD的基本结构框图如图所示。图中,“与阵列”和“或阵列”是电路的主体,主要用来实现组合逻辑函数。输入电路由缓冲器组成,它使输入信号具有足够的驱动能力,并产生互补输入信号。输出电路可以提供不同的输出方式,如直接输出(组合方式)或通过寄存器输出(时序方式)。此外
30、,输出端口上往往带有三态门,通过三态门控制数据直接输出或反馈到输入端。通常,PLD电路中只有部分电路可以编程或组态,PROM、PLA、PAL和GAL四种PLD电路主要是编程情况和输出结构不同,因而电路结构也不相同,表1.1列出了四种PLD电路的结构特点。第第3 3讲讲 PLDPLD概述概述 简单PLD的基本结构 输入电路与阵列或阵列输出电路输入项乘积项或项输出输入第第3 3讲讲 PLDPLD概述概述 四种PLD电路的结构特点 第第3 3讲讲 PLDPLD概述概述 图1、图2和图3分别画出了PROM、PLA和PAL(GAL)的阵列结构图。从这些阵列结构图可以看出,可编程阵列逻辑PAL和通用阵列逻
31、辑GAL的基本门阵列结构相同,均为与阵列可编程,或阵列固定连接,也就是说,每个或门的输出是若干个乘积项之和,其中乘积项的数目是固定的。一般在PAL和GAL的产品中,最多的乘积项数可达8个。 第第3 3讲讲 PLDPLD概述概述 图1 PROM阵列结构 或门阵列(可编程)I2I1I0Q0Q1Q2与门阵列(固定)第第3 3讲讲 PLDPLD概述概述 图2 FPLA阵列结构 或门阵列(可编程)I2I1I0Q0Q1Q2与门阵列(可编程)第第3 3讲讲 PLDPLD概述概述 图3 PAL和GAL阵列结构 I2I1I0Q0Q1Q2或门阵列(固定)与门阵列(可编程)第第3 3讲讲 PLDPLD概述概述 PA
32、L和GAL的输出结构却不相同。PAL有几种固定的输出结构,选定芯片型号后,其输出结构也就选定了。例如,产品PAL16L8属于组合型PAL器件,其芯片中每一个输出结构如图所示。图中或门的输出最多可以包含7个乘积项,最上面的与门所对应的乘积项用来控制三态门的输出。当与门输出为“0”时,三态门禁止,输出呈高阻状态,I/O引脚作为输入使用;当与门输出为“1”时,三态门被选通,I/O引脚作为输出使用。两种情况下信号都可以通过右面的互补输出缓冲器反馈至与阵列的输入端。 第第3 3讲讲 PLDPLD概述概述 异步I/O输出结构 输入行I/OI第第3 3讲讲 PLDPLD概述概述 图中只画出了其中一个输出,P
33、AL16L8有8个输出,由于8个输出的时间有可能不一致,因此称为“异步I/O输出结构”。又如,产品PAL16R8属于寄存器型(R代表Register)PAL器件,其芯片中每个输出结构如下图所示,它称为“寄存器输出结构”。当系统时钟(CLOCK)的上升沿来到后,或门的输出被存入D触发器,然后通过选通三态缓冲器再将它送至输出端,该输出 是低电平有效,而且 还可以反馈至与门阵列,这样能记忆原来的状态,从而实现时序逻辑功能。 QQ第第3 3讲讲 PLDPLD概述概述 寄存器输出结构 输入行IDCKOEQ第第3 3讲讲 PLDPLD概述概述 PAL器件除了前述两种输出结构外,还有专用组合输出、异或输出和
34、算术选通反馈结构。PAL产品有20多种不同的型号可供用户选用。 GAL和PAL最大的差别在于GAL有一种灵活的、可编程的输出结构,它只有两种基本型号,并可以代替数十种PAL器件,因而称为通用可编程逻辑器件。GAL的可编程输出结构称为输出逻辑宏单元OLMC(Output Logic Macro Cell)。下图是GAL22V10的OLMC内部逻辑图,从图中看出,OLMC中除了包含或门阵列和D触发器之外,还多了两个数选器(MUX),其 中4选1MUX用来选择输出方式和输出极性,2选1MUX用来选择反馈信号,而这些数选器的状态取决于两位可编程特征码S1S0的控制。 第第3 3讲讲 PLDPLD概述概
35、述 GAL22V10的OLMC DCLKARSR32104选1MUX2选1MUX01S1S1S2第第3 3讲讲 PLDPLD概述概述 编程时,开发软件将根据设计者的要求将S1S0编为00#,01#,10#,11中的一个,并通过编程器将此信息烧录到芯片中,OLMC便可以分别被组态为四种输出方式中的一种(见下图)。这四种输出方式分别是:S1S0=00时,低电平有效寄存器输出;S1S0=01时,高电平有效寄存器输出;S1S0=10时,低电平有效组合I/O输出;S1S0=11时,高电平有效组合I/O输出。GAL器件还有GAL16V8和GAL20V8两种基本型号,其OLMC与GAL22V10的OLMC相
36、似。 第第3 3讲讲 PLDPLD概述概述 GAL22V10的四种输出组态 DCLKARSR(b)S10,S01,高电平有效DCLKARSR(a)S10,S00,低电平有效(c)S11,S00,低电平有效(d)S11,S01,高电平有效第第3 3讲讲 PLDPLD概述概述 PAL和GAL器件与SSI、MSI标准产品相比,有许多突出的优点:提高了功能密度,节省了空间,通常一片PAL或GAL可以代替412片SSI或24片MSI;使用方便,设计灵活;具有上电复位功能和加密功能,可以防止非法复制等。因而,这两种产品在早期得到了广泛应用。但PAL器件有许多缺陷,主要是PAL采用的是PROM编程工艺,只能
37、一次性编程,而且由于输出方式是固定的,不能重新组态,因而编程灵活性较差。GAL器件的每个宏单元(OLMC)均可根据需要任意组态,所以它的通用性好,比PAL使用更加灵活,而且GAL器件采用了E2CMOS工艺结构,可以重复编程,通常可以擦写百次以上,甚至上千次,由于这些突出的优点,因而GAL比PAL应用更为广泛。第第3 3讲讲 PLDPLD概述概述 1.3.2 EPLD和CPLD的基本结构 EPLD和CPLD是从PAL、GAL发展起来的阵列型高密度PLD器件,它们大多采用了CMOSEPROM、E2PROM和快闪存储器等编程技术,因而具有高密度、高速度和低功耗等特点。目前主要的半导体器件公司,如Xi
38、linx,Altera,Lattice和AMD公司等,在各自生产的高密度PLD产品中,都有自己的特点,但总体结构大致是相同的。大多数EPLD#,CPLD器件中至少包含了三种结构:可编程逻辑宏单元;可编程I/O单元;可编程内部连线。第第3 3讲讲 PLDPLD概述概述 1.可编程逻辑宏单元 逻辑宏单元内部主要包括与或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。EPLD器件与GAL器件相似,其逻辑宏单元同I/O做在一起,称为输出逻辑宏单元,但其宏单元及与阵列数目比GAL大得多。CPLD器件的宏单元在内部,称为内部逻辑宏单元。EPLD#,CPLD除了密度高之外,许多优点都
39、反映在逻辑宏单元上:第第3 3讲讲 PLDPLD概述概述 多触发器结构和“隐埋”触发器结构。 GAL器件每个输出宏单元只有一个触发器,而EPLD和CPLD的宏单元内通常含两个或两个以上的触发器,其中只有一个触发器与输出端相连,其余触发器的输出不与输出端相连,但可以通过相应的缓冲电路反馈到与阵列,从而与其它触发器一起构成较复杂的时序电路。这些不与输出端相连的触发器就称为“隐埋”触发器。这种结构对于引脚数有限的EPLD和CPLD器件来说,可以增加触发器数目,即增加其内部资源。第第3 3讲讲 PLDPLD概述概述 乘积项共享结构。 在PAL和GAL的与或阵列中,每个或门的输入乘积项最多为7个或8个,
40、当要实现多于8个乘积项的“与或”逻辑函数时,必须将“与或”函数表达式进行逻辑变换。在EPLD和CPLD的宏单元中,如果输出表达式的与项较多,对应的或门输入端不够用时,可以借助可编程开关将同一单元(或其它单元)中的其它或门与之联合起来使用,或者在每个宏单元中提供未使用的乘积项供其它宏单元使用和共享。第第3 3讲讲 PLDPLD概述概述 下图是EPM7128E乘积项扩展和并联扩展项的结构图。从图中看出,每个共享扩展项可以被任何宏单元使用和共享,并联扩展项可以从邻近的宏单元中借用,宏单元中不用的乘积项都可以分配给邻近的宏单元。因此,乘积项共享结构提高了资源利用率,可以实现快速复杂的逻辑函数。第第3
41、3讲讲 PLDPLD概述概述 EPM7128E乘积项扩展和并联扩展项结构 乘积项选择矩阵乘积项选择矩阵到下一个宏单元ClockClear共享乘积项并联扩展ClockClearPreset来自上一个宏单元宏单元乘积项逻辑宏单元乘积项逻辑第第3 3讲讲 PLDPLD概述概述 异步时钟和时钟选择。 一般GAL器件只能实现同步时序电路,在EPLD和CPLD器件中各触发器的时钟可以异步工作,有些器件中触发器的时钟还可以通过数据选择器或时钟网络进行选择。此外,逻辑宏单元内触发器的异步清零和异步置位也可以用乘积项进行控制,因而使用更加灵活。第第3 3讲讲 PLDPLD概述概述 2.可编程I/O单元 输入/输
42、出单元,简称I/O单元(或IOC),它是内部信号到I/O引脚的接口部分。由于阵列型HDPLD通常只有少数几个专用输入端,大部分端口均为I/O端,而且系统的输入信号常常需要锁存。因此I/O常作为一个独立单元来处理。下图(a)是LatticeispLSI1016的IOC结构图,它由三态输出缓冲器、输入缓冲器、输入寄存器/锁存器和几个可编程的数据选择器组成。触发器有两种工作方式:当R/L为高电平时,它被设置成边沿触发器;而当R/L为低电平时,它被设置成锁存器。 第第3 3讲讲 PLDPLD概述概述 ispLSI1016的IOC电路结构 (a)IOC结构;(b)IOC组态 MUX1MUX3MUX2MU
43、X4PinMUX6MUX5D QR/L自全局复位IOCKL1IOCKL0至全局布线区自输出布线区旁路通道自输出布线区来自GLB的OE MUXVCCVCC有源上位I/O注:代表E2CMOS单元(a)第第3 3讲讲 PLDPLD概述概述 MUX1用于控制三态输出缓冲器的工作状态,MUX2用于选择输出信号的传送通道,MUX3用来选择输出极性。MUX4用于输入方式的选择:在异步输入方式下,输入信号直接经输入缓冲器送到全局布线区的输入端;在同步输入方式下,输入信号加到触发器的输入端,必须等时钟信号IOCLK到达后才能被存入触发器,并经过输入缓冲器加到全局布线区。MUX5和MUX6用于时钟信号的来源和极性
44、的选择。根据这些数据选择器编程状态的组合,得到各种可能的IOC组态如图 (b)所示。第第3 3讲讲 PLDPLD概述概述 Pin引脚输入缓冲器Pin引脚输出缓冲器Pin引脚IOCLKD QLEPin引脚反向输出缓冲器Pin引脚IOCLKD QPin引脚三态输出缓冲器(输入单元)(输出单元)Pin双向I/O引脚引脚带寄存器输入的双向I/O引脚引脚D QIOCLK(双向单元)(b)寄存器输入锁存输入PinispLSI1016的IOC电路结构 (a)IOC结构;(b)IOC组态 第第3 3讲讲 PLDPLD概述概述 3.可编程连线阵列 可编程连线阵列的作用是在各逻辑宏单元之间以及逻辑宏单元和I/O单
45、元之间提供互连网络。各逻辑宏单元通过可编程连线阵列接收来自专用输入或输入端的信号,并将宏单元的信号反馈到其需要到达的目的地。这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。第第3 3讲讲 PLDPLD概述概述 3.4 FPGA 现场可编程门阵列(FPGA) 是20世纪80年代中期出现的高密度可编程逻辑器件。与前面所介绍的阵列型可编程逻辑器件不同,FPGA的结构类似于掩膜可编程门阵列(MPGA),它由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接起来实现不同的设计。FPGA兼容了MPGA和阵列型PLD两者的优点,因而具有更高的集成度、更强的逻辑实现能力和更
46、好的设计灵活性。第第3 3讲讲 PLDPLD概述概述 3.4.1 FPGA的分类的分类 不同厂家、不同型号的FPGA其结构有各自的特色,但就其基本结构来分析,大致有以下几种分类方法: 1.按逻辑功能块的大小分类 可编程逻辑块是FPGA的基本逻辑构造单元。按照逻辑功能块的大小不同,可将FPGA分为细粒度结构和粗粒度结构两类。细粒度FPGA的逻辑功能块一般较小,仅由很小的几个晶体管组成,非常类似于半定制门阵列的基本单元,其优点是功能块的资源可以被完全利用,缺点是完成复杂的逻辑功能需要大量的连线和开关,因而速度慢;第第3 3讲讲 PLDPLD概述概述 粗粒度FPGA的逻辑块规模大,功能强,完成复杂逻
47、辑只需较少的功能块和内部连线,因而能获得较好的性能,缺点是功能块的资源有时不能充分被利用。 近年来随着工艺的不断改进,FPGA的集成度不断提高,同时硬件描述语言(HDL)的设计方法得到广泛应用,由于大多数逻辑综合工具是针对门阵列的结构开发的,细粒度的FPGA较粗粒度的FPGA可以得到更好的逻辑综合结果。因此许多厂家开发出了一些具有更高集成度的细粒度FPGA,如Xilinx公司采用MicroVia技术的一次编程反熔丝结构的XC8100系列,GateField公司采用闪速EPROM控制开关元件的可再编程GF100K系列等,它们的逻辑功能块规模相对都较小。第第3 3讲讲 PLDPLD概述概述 2.按
48、互连结构分类 根据FPGA内部的连线结构不同,可将其分为分段互连型和连续互连型两类。分段互连型FPGA中有不同长度的多种金属线,各金属线段之间通过开关矩阵或反熔丝编程连接。 这种连线结构走线灵活,有多种可行方案,但走线延时与布局布线的具体处理过程有关,在设计完成前无法预测,设计修改将引起延时性能发生变化。连续互连型FPGA是利用相同长度的金属线,通常是贯穿于整个芯片的长线来实现逻辑功能块之间的互连,连接与距离远近无关。在这种连线结构中,不同位置逻辑单元的连接线是确定的,因而布线延时是固定和可预测的。第第3 3讲讲 PLDPLD概述概述 3.按编程特性分类 根据采用的开关元件的不同,FPGA可分
49、为一次编程型和可重复编程型两类。一次编程型FPGA采用反熔丝开关元件,其工艺技术决定了这种器件具有体积小、集成度高、互连线特性阻抗低、寄生电容小及可获得较高的速度等优点;此外它还有加密位、反拷贝、抗辐射抗干扰、不需外接PROM或EPROM等特点。但它只能一次编程,一旦将设计数据写入芯片后,就不能再修改设计,因此比较适合于定型产品及大批量应用。可重复编程型FPGA采用SRAM开关元件或快闪EPROM控制的开关元件。FPGA芯片中,每个逻辑块的功能以及它们之间的互连模式由存储在芯片中的SRAM或快闪EPROM中的数据决定。 第第3 3讲讲 PLDPLD概述概述 SRAM型开关的FPGA是易失性的,
50、每次重新加电,FPGA都要重新装入配置数据。SRAM型FPGA的突出优点是可反复编程,系统上电时,给FPGA加载不同的配置数据,即可令其完成不同的硬件功能。这种配置的改变甚至可以在系统的运行中进行,实现系统功能的动态重构。采用快闪EPROM控制开关的FPGA具有非易失性和可重复编程的双重优点,但在再编程的灵活性上较SRAM型FPGA差一些,不能实现动态重构。此外,其静态功耗较反熔丝型及SRAM型的FPGA高。第第3 3讲讲 PLDPLD概述概述 3.4. FPGA的基本结构的基本结构 FPGA具有掩模可编程门阵列的通用结构,它由逻辑功能块排成阵列组成,并由可编程的互连资源连接这些逻辑功能块来实
51、现不同的设计。下面以Xilinx的FPGA为例,分析其结构特点。 FPGA一般由三种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这三种可编程电路是:可编程逻辑块(CLBConfigurable Logic Block)#,输入/输出模块(IOBI/O Block)和互连资源(IRInterconnect Resource)。FPGA的基本结构如图所示,可编程逻辑块(CLB)是实现逻辑功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片; 第第3 3讲讲 PLDPLD概述概述 FPGA的基本结构 CLB可编程开关矩阵可编程输入/输出模块互连资源可编程逻辑模块CLBCLBCL
52、BCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLB第第3 3讲讲 PLDPLD概述概述 可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源(IR)包括各种长度的连线线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。 FPGA的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内的SRAM或熔丝图上。基于SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据,配置数据可以存储在片外的EPROM或其它存储体上。用户可以控制加载过程,在现场修改器件
53、的逻辑功能,即所谓现场编程。第第3 3讲讲 PLDPLD概述概述 1.可编程逻辑块(CLB) CLB是FPGA的主要组成部分。图是XC4000系列的CLB基本结构框图,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。 CLB中三个逻辑函数发生器分别是G、F和H,相应的输出是G,F和H。G有四个输入变量G4,G3,G2和G1;F也有四个输入变量F4,F3,F2和F1。这两个逻辑函数发生器是完全独立的,均可实现4输入变量的任意组合逻辑函数。逻辑函数发生器H有三个输入信号:第第3 3讲讲 PLDPLD概述概述 XC4000系列CLB基本结构 G1G4逻辑函数G4G3G2G1GF1 F4逻辑函数
54、F4F3F2F1FF,G,H1逻辑函数HQDINFGHGHDINFGHC11DECRDSDYQR/S 控制QXQR/S 控制YC11DECRDSDFHX11时钟CPC1C2C3C4信号变换电路(a)H1DINS/RECGHF第第3 3讲讲 PLDPLD概述概述 前两个函数发生器的输出G和F,而另一个输入信号是来自信号变换电路的输出H1。这个函数发生器能实现3输入变量的各种组合函数。这三个函数发生器结合起来,可实现多达9变量的组合逻辑函数,如图所示。第第3 3讲讲 PLDPLD概述概述 F /GF/G4变量输入输出5变量输入F /GF/GH输出FG9变量输入H输出 (b)HHFGXC4000系列
55、CLB基本结构 第第3 3讲讲 PLDPLD概述概述 通过对CLB内部的数据选择器编程,逻辑函数发生器G、F和H的输出可以连接到CLB内部触发器,或者直接连到CLB的输出端X或Y。 CLB中有两个边沿触发的D触发器,它们有公共的时钟和时钟使能输入端。R/S控制电路可以分别对两个触发器异步置位和复位。每个D触发器可以配置成上升沿触发或下降沿触发。 D触发器的输入可以从F、G和H或者信号变换电路送来的DIN这四个信号中选择一个。触发器从XQ和YQ端输出。第第3 3讲讲 PLDPLD概述概述 CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM。F和G的输入等效于ROM的地址码,通过
56、查找ROM中的地址表可以得到相应的组合逻辑函数输出。另一方面,逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读/写存储器使用,它由信号变换电路控制。当信号变换电路设置存储功能无效时,F和G作为组合逻辑函数发生器使用,四个控制信号C1C4分别将图中的H1,DIN,S/R(异步置位/复位)和EC(使能)信号接入CLB中,作为函数发生器的输入可控制信号; 第第3 3讲讲 PLDPLD概述概述 当信号变换电路设置存储器功能有效时,F和G作为器件内部存储器使用,四个控制信号C1C4分别将WE、D1/A4、D0和EC(不用)信号接入到CLB中,作为存储器的写使能、数据信号或地址信号。此时,F1F4
57、和G1G4输入相当于地址输入信号A0A3,以选择存储器中的特定存储单元。第第3 3讲讲 PLDPLD概述概述 2.输入/输出模块(IOB) IOB提供了器件引脚和内部逻辑阵列之间的连接。它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成,其结构如下图所示。每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。第第3 3讲讲 PLDPLD概述概述 XC4000系列的IOB结构 摆率控制上拉/下拉电阻VCCOE输出C11D触发器Q输出时钟输出缓冲器I1I2Q延时输入缓冲器输入时钟C11D触发锁存器I/O连至CLB第第3 3讲讲 PLDPLD概述概述 当IOB控制的引脚被定
58、义为输入时,通过该引脚的输入信号先送入输入缓冲器。缓冲器的输出分成两路:一路可以直接送到MUX;另一路经延时几纳秒(或者不延时)送到输入通路D触发器,再送到数据选择器。通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。D触发器可通过编程来确定是边沿触发还是电平触发,且配有独立的时钟。与前述CLB中的触发器一样,也可任选上升沿或者下降沿作为有效作用沿。第第3 3讲讲 PLDPLD概述概述 当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT(或 )也可以有两条传输途径:一条是直接经MUX送至输出缓冲器;另一条是先存入输出通路D触发器,再送
59、至输出缓冲器。输出通路D触发器也有独立的时钟,且可任选触发边沿。输出缓冲器既受CLB阵列送来的OE(或 )信号控制,使输出引脚有高阻状态,还受转换速率(摆率)控制电路的控制,使它可高速或低速运行,后者有抑制噪声的作用。 IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止,分别经上拉电阻或下拉电阻接通VCC、地线或者不接通,用以改善输出波形和负载能力。OUTOE第第3 3讲讲 PLDPLD概述概述 3.可编程互连资源(IR) 可编程互连资源(IR)可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多金属线段构成,这些金
60、属线段带有可编程开关,通过自动布线实现各种电路的连接。 第第3 3讲讲 PLDPLD概述概述 XC4000系列采用分段互连资源结构,片内连线按相对长度分单长度线、双长度线和长线三种。单长度线连接结构如图 (a)所示。这些连线是贯穿于CLB之间的八条垂直和水平金属线段,在这些金属线段的交叉点处是可编程开关矩阵。CLB的输入和输出分别接至相邻的单长度线,进而可与开关矩阵相连。通过编程,可控制开关矩阵将某个CLB与其它CLB或IOB连在一起。第第3 3讲讲 PLDPLD概述概述 单长度线、双长度线和长线连接结构 开关矩阵(b)(a)开关矩阵开关矩阵开关矩阵开关矩阵CLBCLBCLBCLBF4C4G4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论