




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章 可编程逻辑器件,本章概要:本章介绍PLA、PAL、GAL、CPLD、EPLD和FPGA等各种类型可编程逻辑器件的电路结构、工作原理和使用方法,并介绍可编程逻辑器件的编程方法。 知识要点: (1)可编程逻辑器件的分类。 (2)可编程逻辑器件的结构及特性。 (3)可编程逻辑器件的编程方法。,6.1 可编程逻辑器件的基本原理,PROM是始于1970年出现第一块可编程逻辑器件PLD(Programmable Logic Device),随后可编程逻辑器件又陆续出现了PLA、PAL、GAL、EPLD及现阶段的CPLD和FPGA等。可编程逻辑器件的出现,不仅改变了传统的数字系统设计方法,而且促进了EDA技术的高速发展。EDA技术是以计算机为工具,代替人去完成数字系统设计中各种复杂的逻辑综合、布局布线和设计仿真等工作。设计者只需用硬件描述语言完成对系统功能的描述,就可以由计算机软件自行完成处理,得到设计结果。利用EDA工具进行设计,可以极大地提高设计的效率。,6.1.1 可编程逻辑器件的分类,可编程逻辑器件的密度分类,1 按集成密度分类 可编程逻辑器件从集成密度上可分为低密度可编程逻辑器件LDPLD和高密度可编程逻辑器件HDPLD两类。 LDPLD 通常是指早期发展起来的、集成密度小于1000门/片左右的PLD如ROM、PLA、PAL和GAL等。 HDPLD包括可擦除可编程逻辑器件EPLD(Erasable Programmable Logic Device)、复杂可编程逻辑器件CPLD(Complex PLD)和FPGA三种,其集成密度大于1000门/片。如Altera公司的EPM9560,其密度为12000门/片,Lattice公司的pLSI/ispLSI3320为14000门/片等。 目前集成度最高的HDPLD可达5亿晶体管/片以上。,2. 按编程方式分类 可编程逻辑器件的编程方式分为两类:一次性编程OTP(One Time Programmable)器件和可多次编程MTP(Many Time Programmable)器件。 OTP器件是属于一次性使用的器件,只允许用户对器件编程一次,编程后不能修改,其优点是可靠性与集成度高,抗干扰性强。 MTP器件是属于可多次重复使用的器件,允许用户对其进行多次编程、修改或设计,特别适合于系统样机的研制和初级设计者的使用。,根据各种可编程元件的结构及编程方式,可编程逻辑器件通常又可以分为四类: 采用一次性编程的熔丝(Fuse)或反熔丝(Antifuse)元件的可编程器件,如PROM、PAL和EPLD等。 采用紫外线擦除、电可编程元件,即采用EPROM、UVCMOS工艺结构(即指EEPROM工艺结构)的可多次编程器件。 采用电擦除、电可编程元件。其中一种是E2PROM,另一种是采用快闪存储器单元(Flash Memory)结构的可多次编程器件。 基于基于查找表LUT、静态存储器SRAM工艺的可多次编程器件。目前多数FPGA是基于SRAM结构的可编程器件。,何谓反熔丝技术?,反熔丝技术(antifuse technology)是相对于熔丝技术(fuse technology )而言的。我们知道熔丝技术广泛用于各种PLD中,例如PAL,当PAL在编程器中被烧录之后,原先短接的点变为断开了。反熔丝技术恰相反,原来断接的点在烧录之后,短接上了,这种短接是永久性的。Actel公司用的是他们称作PLICE的反熔丝技术。PLICE技术是在反熔丝点上部有一个多晶硅层,下层为一个N扩散层,两层之间是ONO(OxideNitride Oxide )的绝缘层。在未编程状态下,反熔丝连接点阻抗超过100M,呈断开状态;在编程以后,阻抗典型值为500。CROSSPOINT与Quicklogic的反熔丝技术与Actel类似,它们是在两层金属或一层金属与一层多晶硅间有一层无定形硅,当一个约1120电压加在反熔丝点以后,断接的点就短接上了,阻抗为50100之间。反熔丝技术的特点,决定了反熔丝单元较小,占用芯片面积小,工作频率高,有加密位,反拷贝,抗辐射抗干扰,不需外接PROM或EPROM,适合航天、军事、工业等各领域。反熔丝技术的缺点也是明显的,它只能一次编程,需要专门的编程器,这都潜在地影响了系统的开发成本。,3. 按结构特点分类 PLD按结构特点分为阵列型PLD和现场可编程门阵列型FPGA两大类。 阵列型PLD的基本结构由与阵列和或阵列组成。简单PLD(如PROM、PLA、PAL和GAL等)、EPLD和CPLD都属于阵列型PLD。 现场可编程门阵列型FPGA具有门阵列的结构形式,它有许多可编程单元(或称逻辑功能块)排成阵列组成,称为单元型PLD。,由于历史的原因,可编程逻辑器件的分类没有一个统一的标准。按其结构的复杂程度及性能的不同。可编程逻辑器件一般可分为四种:SPLD、CPLD、FPGA及ISP器件。 1简单可编程逻辑器件(SPLD) 简单可编程逻辑器件SPLD(Simple Programmable Logic Device)是可编程逻辑器件的早期产品。最早出现在20世纪70年代,主要是可编程只读存储器(PROM)、可编程逻辑阵列(PLA)、可编程阵列逻辑(PAL)及通用阵列逻辑(GAL)器件等。简单PLD的典型结构是由与阵列及或阵列组成的,能有效实现以“乘积和”为形式的布尔逻辑函数。,2复杂可编程逻辑器件(CPLD) 复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)出现在20世纪80年代末期。其结构上不同于早期SPLD的逻辑门编程,而是采用基于乘积项技术和E2PROM(或Flash)工艺的逻辑块编程,不但能实现各种时序逻辑控制,更适合做复杂的组合逻辑电路。如Altera公司的MAX系列,Lattice公司的大部分产品,Xilinx公司的XC9500系列等。,3现场可编程门阵列(FPGA) 现场可编程门阵列FPGA(Field Programmable Gate Array)是由美国Xilinx(赛灵思)公司率先开发的一种通用型用户可编程器件。FPGA与SPLD和CPLD的结构完全不同,它不包括与门和或门,目前应用最多的FPGA是采用对基于查找表技术和SRAM工艺的逻辑块编程来实现所需的逻辑功能的。同CPLD相比,它的逻辑块的密度更高、触发器更多、设计更灵活,多用于大规模电路的设计,尤其更适合做复杂的时序逻辑。但由于FPGA采用的是SRAM工艺,掉电后数据会丢失,因此实际应用时还须外挂一个E2PROM或Flash Memory来存储编程数据。典型的器件如Altera公司的所有FLEX、ACEX、APEX、Cyclone(飓风)、Stratix系列,Xilinx的Spartan、Virtex系列等。,4在系统可编程逻辑器件(ISP) 在系统可编程逻辑器件ISP(In-System Programmable PLD ,通常简称ISP-PLD)是1992年由美国的Lattice(莱迪思)公司率先推出的。它是一种采用了在系统可编程技术的PLD,与传统编程技术的最大区别是它不使用编程器,而是通过下载电缆与计算机直接相连,用户在自己设计的目标系统中直接对器件编程。这种全新的设计方法可以使可编程逻辑器件先装配后编程,成为产品后还可以反复编程,使生产维护和系统更新都发生了革命性的变化。 在系统编程是使用一根下载电缆一端连在计算机的并行打印口上,另一端接在装配了可编程逻辑器件的PCB板上的插头中(目前大都使用JTAG口),早期的PLD是不支持ISP技术的,目前的CPLD、FPGA都支持ISP技术可实现在线编程。,主要CPLD/FPGA产品:,复杂可编程逻辑器件(CPLD),复杂可编程器件CPLD是随着用户对可编程器件的集成度要求不断提高的形式下发展起来的,其基本结构与PAL/GAL相仿,是基于与或阵列的乘积项结构,但集成度要高得多。CPLD大都是由E2PROM和Flash工艺制造的,可反复编程,一上电就可以工作,无须其他芯片配合。采用这种结构的商用CPLD的芯片较多,其性能也各有特点. Altera 公司是全球最大的CPLD和FPGA供应商之一,它的PLD器件和开发软件在国内应用的非常广泛,本节将以Altera 公司应用较为广泛的MAX7000系列器件为例来介绍CPLD的基本结构和原理。,1 Altera 公司MAX7000系列简介 MAX7000系列是高密度、高性能的CMOS CPLD,是在Altera公司的第二代MAX结构基础上构成,采用了CMOS E2PROM 技术制造的,MAX7000系列CPLD包括了从含有32个宏单元的7032到含有512个宏单元的7512一系列芯片。同时它又可细分为四个品种 : MAX7000MAX7000EMAX7000SMAX7000A,MAX7000系列可以用于混合电压的系统中,其开发系统主要是Altera公司的MAX+PLUSII及QuartusII软件。,MAX7000E在MAX7000的基础上增加了一些特性,如附加全局时钟信号、附加输出使能控制、增加连线资源和快速的输入寄存器等; MAX7000S在MAX7000E的基础上又增加了ISP在系统可编程技术、JTAG边界扫描测试和开漏输出选择等特性; MAX7000A在MAX7000S的基础上又增强了ISP性能包括快速编程的ISP算法,确保全部编程的ISP工作位和在系统编程期间I/O脚上的上拉电阻等。,由内部结构图可以看出,MAX7000CPLD主要分为三个部分:宏单元Macrocell,可编程连线PIA(Programmable Interconnect Array)和I/O控制块。宏单元是CPLD的基本结构,由它来实现基本的逻辑功能,16个宏单元组成一个逻辑阵列块LAB(Logic Array Block)。可编程连线PIA负责信号的传递,连接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,三态输出等。,MAX7000宏单元基本结构,3. 宏单元(MACROCELL) 宏单元是MAX7000CPLD的基本结构,它能够单独地配置为时序逻辑和组合逻辑工作方式。宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程触发器。其具体结构见下图所示,图中左侧是逻辑阵列又叫乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输出给PIA或输出到I/O脚。,对于一个简单的组合或时序电路,只需要一个宏单元就可以完成它的逻辑功能,但对于一个复杂的电路,一个宏单元是不可能实现的,这是就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再作为另一个宏单元的输入。这样CPLD就可以实现更复杂的逻辑功能了。,现场可编程门阵列(FPGA),现场可编程门阵列FPGA是20世纪80年代出现的一种新型可编程逻辑器件。它由若干独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接成所需要的数字系统。因为这些模块的排列形式和门阵列(Gate Array)中单元的排列形式相似,所以沿用了门阵列的名称。FPGA属高密度的PLD,其集成度非常高,多用于大规模逻辑电路的设计。 商用的 FPGA是基于查找表LUT(Look-Up Table)技术和SRAM工艺的FPGA,它使用的最为广泛,也是我们学习的重点,本节还是以Altera 公司的基于LUT技术和SRAM工艺的FLEX10K系列器件为例来介绍FPGA的基本结构和原理。,4输入与门LUT(LookingUp Table),由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候。由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。也有少数FPGA采用反熔丝或Flash工艺,对这种FPGA,就不需要外加专用的配置芯片。,目前广泛使用的FPGA大多是基于查找表LUT结构的,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线161的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA的开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样每输入一个信号进行逻辑计算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。,现场可编程门阵列(FPGA),1 Altera 公司FLEX10K系列简介 FLEX10K是Altera公司1995年推出的一个新的产品系列,并首次集成了嵌入式存储块,可为用户提供多达24KB的片内RAM,以满足存储器密集型应用的需要。FLEX10K系列FPGA包括了从10K10到10K250一系列芯片,它们分别提供了1万到25万个门,其结构类似于嵌入式门阵列,每个FLEX10K器件包括一个嵌入式阵列和一个逻辑阵列。嵌入式阵列用来实现各种不同的存储功能或复杂的逻辑功能。如数字信号处理、微控制器、宽数据路径处理和数据传输功能。逻辑阵列完成与门阵列中的门海一样的功能 。如计数器、加法器、多路选择器等通用逻辑。嵌入式阵列和逻辑阵列的结合提供了嵌入式门阵列的高性能和高密度,可以使设计者在某个器件上实现一个完整的系统。,2 FLEX10K系列器件的结构,下图示出了FLEX10K系列FPGA的结构框图。FLEX10K的结构主要由逻辑阵列块LAB(Logic Array Block),输入输出单元IOE(In Out Element),可编程的行/列连线以及带有RAM的嵌入式阵列块EAB(Embedded Array Block)等几部分组成。LAB和EAB是FPGA的最主要结构,它们由可编程行/列连线相连接,这些连线同样也连接着芯片的输入输出管脚。,FLEX10K内部结构,EAB,EAB,在系统可编程模拟器件(ispPAC),ispPAC是1999 年11 月由美国Lattice 公司推 出 的 在 系 统 可 编 程 模 拟 电 路 (In-System Programmability Programmable Analog Circuits),从而 翻 开 了 模 拟 电 路 设 计 方 法 的 新 篇 章 。 为 电 子 设 计 自 动 化 (EDA) 技 术 的 应 用 开 拓 了 更 广 阔 的 前 景 。 与 数 字 的 在 系 统 可 编 程 大 规 模 集 成 电 路 (ispLSI) 一 样 , 在 系 统 可 编 程 模 拟 器 件 允 许 设 计 者 使 用 开 发 软 件 在 计 算 机 中 设 计、 修 改 模 拟 电 路 , 进 行 电 路 特 性 模 拟 , 最 后 通 过 编 程 电 缆 将 设 计 方 案 下 载 至 芯 片 中 。 目前Lattice 公司已推出了七种可编程模拟器件: ispPAC10,ispPAC20,ispPAC30,ispPAC80,ispPAC81,ispPAC-POWR1208和ispPAC-POWR604。,6.1.2 阵列型PLD,阵列型PLD包括: PROM(可编程只读存储器) PLA(可编程逻辑阵列) PAL (可编程阵列逻辑) GAL (通用可编程阵列逻辑) EPLD(可擦除的可编程逻辑器件) CPLD(复杂可编程逻辑器件),可编程逻辑器件PLD概述,可编程逻辑器件(Programmable Logic Device, 简称PLD)是一种由用户根据自己要求来构造逻辑功能的数字集成电路。 和具有固定逻辑功能的74系列数字电路不同,PLD本身没有确定的逻辑功能,就如同一张白纸或是一堆积木,要由用户利用计算机辅助设计,即用原理图或硬件描述语言(HDL)的方法来表示设计思想,经过编译和仿真,生成相应的目标文件,再由编程器或下载电缆将设计文件配置到目标器件中,这时可编程器件(PLD)就可以作为满足用户要求的专用集成电路使用了,同时还可以利用PLD的可重复编程能力,随时修改器件的逻辑功能,而无须改变硬件电路。,1基本结构 PLD由输入缓冲、与阵列、或阵列和输出结构等四部分组成。其中,输入输出缓冲电路采用了互补输出结构,输入缓冲电路可以产生输入变量的原变量和反变量,与阵列由与门构成用来产生乘积项,或阵列由或门构成用来产生乘积项之和形式的函数。输出结构相对于不同的PLD有所不同,有些是组合输出结构,可产生组合电路,有些是时序输出结构,可形成时序电路。输出信号还可通过内部通路反馈到与阵列的输入端。基本结构如下页图所示。,PLD基本结构与电路表示法,PLD的基本结构框图,PLD缓冲器表示法,2 PLD电路表示法,PLD电路表示法与传统表示法有所不同,主要因为PLD的阵列规模十分庞大,如用传统表示法极不方便。在下图中给出了PLD的三种连接方式。连线交叉处有实点的表示固定连接;有符号“”的表示编程连接;连线单纯交叉表示不连接。,PLD基本结构与电路表示法,下图中是一个三输入与门的两种表示法,即传统表示法和PLD电路表示法。在输入项很多的情况下,PLD表示法显得简洁方便。,PROM基本结构,PLA基本结构,PAL基本结构,6.2 可编程逻辑器件的设计技术,6.2.1 概 述,在PLD没有出现之前,数字系统的传统设计往往采用“积木” 式的方法进行,实质上是对电路板进行设计,通过标准集成电路器件搭建成电路板来实现系统功能,即先由器件搭成电路板,再由电路板搭成系统。数字系统的“积木块”就是具有固定功能的标准集成电路器件,如TTL的74/54系列、CMOS的4000/4500系列芯片和一些固定功能的大规模集成电路等,用户只能根据需要选择合适的集成电路器件,并按照此种器件推荐的电路搭成系统并调试成功。设计中,设计者没有灵活性可言,搭成的系统需要的芯片种类多且数目大。,PLD的出现,给数字系统的传统设计法带来新的变革。采用PLD进行的数字系统设计,是基于芯片的设计或称之为“自底向上”(Bottom-Up)的设计,它跟传统的积木式设计有本质的不同。它可以直接通过设计PLD芯片来实现数字系统功能,将原来由电路板设计完成的大部分工作放在PLD芯片的设计中进行。这种新的设计方法能够由设计者根据实际情况和要求定义器件的内部逻辑关系和管脚,这样可通过芯片设计实现多种数字系统功能,同时由于管脚定义的灵活性,不但大大减轻了系统设计的工作量和难度,提高了工作效率,而且还可以减少芯片数量,缩小系统体积,降低能源消耗,提高系统的稳定性和可靠性。,IEEE标准的HDL(如VHDL 和Verilog HDL)给PLD和数字系统的设计带来了更新的设计方法和理念,产生了目前最常用的并称之为“自顶向下”(Top-Down)的设计法。自顶向下的设计采用功能分割的方法从顶向下逐次将设计内容进行分块和细化。在设计过程中采用层次化和模块化将使系统设计变得简洁和方便,其基本设计思想如图7.15所示。层次化设计是分层次、分模块地进行设计描述。描述器件总功能的模块放在最上层,称为顶层设计;描述器件某一部分功能的模块放在下层,称为底层设计;底层模块还可以再向下分层,直至最后完成硬件电子系统电路的整体设计。,可编程逻辑器件的设计流程,可编程逻辑器件的设计流程包括设计准备、设计输入、设计处理和器件编程四个步骤以及相应的功能仿真、时序仿真和器件测试三个设计验证过程。这个设计流程与第1章1.2节中叙述的EDA设计流程基本相同,这里不再重复。,6.2.2 在系统可编程技术 在系统可编程(In-System Programmable,简称ISP)技术是20世纪80年代末Lattice公司首先提出的一种先进的编程技术。在系统可编程是指对器件、电路板或整个电子系统的逻辑功能可随时进行修改或重构的能力。支持ISP技术的可编程逻辑器件称为在系统可编程器件(ISP-PLD),例如Lattice公司生产的ispLSI1000 ispLSI8000系列器件属于ISP-PLD。,在系统可编程逻辑器件ISP(In-System Programmable PLD ,通常简称ISP-PLD)是1992年由美国的Lattice(莱迪思)公司率先推出的。它是一种采用了在系统可编程技术的PLD,与传统编程技术的最大区别是它不使用编程器,而是通过下载电缆与计算机直接相连,用户在自己设计的目标系统中直接对器件编程。这种全新的设计方法可以使可编程逻辑器件先装配后编程,成为产品后还可以反复编程,使生产维护和系统更新都发生了革命性的变化。 在系统编程是使用一根下载电缆一端连在计算机的并行打印口上,另一端接在装配了可编程逻辑器件的PCB板上的插头中(目前大都使用JTAG口),早期的PLD是不支持ISP技术的,目前的CPLD、FPGA都支持ISP技术可实现在线编程。,在系统编程方法,利用计算机接口和下载电缆对器件编程 利用Bit-Blaster或Byte-Blaster下载 利用目标板上的单片机或微处理机对ISP器件编程 多芯片ISP编程 菊花链编程结构(Daisy Chain),6.2.3 边界扫描技术 边界扫描测试BST(Boundary-Scan Testing)是针对器件密度及I/O口数增加,信号注入和测取难度越来越大而提出的一种新的测试技术。它是由联合测试活动组织JTAG提出来的,而后IEEE对此制定了测试标准,称为IEEE 1149.1 标准。边界扫描测试技术主要解决芯片的测试问题。,6.3 可编程逻辑器件的编程与配置,由于可编程逻辑器件具有在系统下载或重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CACEM 41-2024公路工程用高性能混凝土技术规程
- 广东省东莞市虎门外国语学校2026届数学九年级第一学期期末监测模拟试题含解析
- 2026届安徽省亳州市谯城区数学九上期末复习检测模拟试题含解析
- 山西省灵石县2026届数学八上期末考试模拟试题含解析
- 浙江省金华市婺城区2026届数学九年级第一学期期末联考试题含解析
- 2025年蚌埠市晨光小学编外临聘教师招聘1人备考考试题库附答案解析
- 2025浙江宁波贵驷街道招聘编外工作人员5人备考考试题库附答案解析
- 2025智新科技股份有限公司招聘考试参考试题及答案解析
- 2025北京华文学院招聘4人笔试备考题库及答案解析
- 2025广东阳江市江城区招聘城镇公益性岗位和乡村公益性岗位备考考试题库附答案解析
- 规范书写汉字(实用硬笔)课件
- 马克思主义政治经济学第2章-货币课件
- 管理核心五任务版权课程课件
- 学术规范与论文写作讲述课件
- 七年级数学学习·探究·诊断上册
- 实验室内质控记录表格完整
- 基层医疗机构抗菌药物合理使用
- 肾动脉狭窄介入治疗PPT课件(PPT 30页)
- 10kV架空线路设计PPT课件(PPT 69页)
- Q∕GDW 12174-2021 智能量测开关技术规范
- 幼儿园绘本:《小宣传员》 红色故事
评论
0/150
提交评论