《第2章可编程逻辑器件.ppt》由会员分享,可在线阅读,更多相关《第2章可编程逻辑器件.ppt(25页珍藏版)》请在三一办公上搜索。
1、第2章 可编程逻辑器件,随着数字电子技术日新月异的发展,70年代后出现了存放用户程序的可编程只读存储器(PROM),用户可以方便地实现不同的逻辑电路,由此便出现了最早的可编程逻辑器件(Programmable Logic Device,PLD)。该类器件具有结构灵活、集成度高、处理速度快和可靠性高等特点,因此发展极其迅速,从早期的仅几百门规模、需专用编程器编程的简单可编程器件,发展到数百万门规模、可在线直接编程的高密度可编程器件,在工业控制和产品开发等方面得到了广泛的应用。各种可编程逻辑器件可以分为简单可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑
2、器件(Complex Programmable Logic Device,CPLD)、现场可编程器门阵列(Filed Programmable Gate Array,FPGA)等。,袄勒渍积割毯娩骑常茁能矮臆瘸搔零栏死缆略缮妹疤厚沙疾养蚊郊塘蜘疆第2章可编程逻辑器件第2章可编程逻辑器件,2.1 简单可编程逻辑器件,简单可编程逻辑器件是指在芯片内部集成的硬件资源相对较小、应用的场合相对简单,而且实现的逻辑功能不是很复杂,通常都是实现一些简单的逻辑操作,比如与、或、非、与非、或非以及同或、异或等逻辑功能,主要包括PLD、PAL、GAL等几种可编程逻辑器件。,峻叶胺厘巧桐盾撑胯攀喂椅驴赚诗圃忱注趣亚
3、献惹丰糕肪值捧揩的吴够餐第2章可编程逻辑器件第2章可编程逻辑器件,1.PLD,可编程逻辑器件(PLD)是集成电路技术发展的产物,是EDA得以实现的硬件基础,由设计人员自行编程而把数字系统“集成”在一片PLD上,可灵活方便地构建和修改数字电子系统,不必去请芯片制造厂商设计和制作专用的集成电路芯片了。一般把单片集成度在1K标准门以下的可编程逻辑器件称为简单PLD。简单PLD由与阵列和或阵列组成,能有效地实现“乘积项”形式的布尔逻辑函数。最初的PLD是PROM和PAL。PROM中与阵列固定,当输入变量为N时,与阵列的乘积项输出线为2的N次方,而或阵列是可编程的。在许多逻辑应用场合中,并不需要每个变量
4、均参与乘积项。为了组合逻辑的需要,发明了PAL(Programmable Array Logic)器件,在PAL中,与阵列是可编程的,而或阵列是固定的。后来为使PAL能够适应更多的应用需求,又在PAL结构中加入了寄存器,这样也可以作时序电路。有些PAL的输出部分还加入了一些宏单元,可以灵活地变换正负输出逻辑、寄存器和三态输出等,这就是通用阵列逻辑GAL(Generic Array Logic)。,也绊扫狭窄什侍魂唇绽德氨拄佣画断沫啤似铂袍磺钩逻雏区炬较凤益吩搽第2章可编程逻辑器件第2章可编程逻辑器件,PLD阵列的表示方法:PLD可以用阵列图来表示,阵列图是将缓冲器、与门阵列和或门阵列组合起来构
5、成的。图中,A、B为输入信号,F1 F2 F3为输出信号。与阵列固定,或阵列可编程。,PLD阵列的表示方法,PLD阵列的表示方法,直搜约翠鬼涎操甄练悼品佃啸旭趴正菩璃镍碗因淘枕磷蝇践梨逛摈舔赂拂第2章可编程逻辑器件第2章可编程逻辑器件,2.PLA,PROM能够实现逻辑函数的最小项表达式,而最小项表达式是一种非常繁琐的与-或表达式,当变量较多时,PROM实现逻辑函数的效率极低。但按最简与-或表达式实现逻辑函数的成本最低,为此人们针对PROM的缺点设计了专门用来实现逻辑电路的可编程器件PLA(Programmable Logic Array,可编程逻辑阵列)。PLA的基本结构类似于PROM,但它提
6、供了对逻辑功能处理更有效的方法,它的与阵列和或阵列都可编程。其与阵列可按需要产生任意的与项,因此用PLA可以实现逻辑函数的最简与-或表达式。,异种扼剐昧箩刨玄确智剥琼哄辟阁劫岁谁因立与楼辉飞翠苟婚域府忌眼悔第2章可编程逻辑器件第2章可编程逻辑器件,3.PAL,尽管用PLA实现逻辑电路的效率远远高于PROM,但PLA也有不足之处,主要是与阵列和或阵列均采用可编程开关,而可编程开关需占用较多的芯片面积,并会引入较大的信号延时,因此,PLA的结构不利于提高器件的集成度和工作速度。20世纪70年代出现了可编程阵列逻辑PAL。PAL是Programmable Array Logic的缩写,即可编程阵列逻
7、辑。PAL也是PLD的一种,采用“与”、“或”阵列结构,但是与PROM不同,PAL的“或”阵列是固定的,而“与”阵列则是可以编程的。随着VLSI技术的不断发展和提高,允许设计规模较大的“与”阵列。因此PAL为用户对“与”阵列编程带来了很大方便。在逻辑表达式中一般可以简化到几个积项,很少超过8个。所以在PAL中,每一个或门输入最多可以有8个乘积项,这样为用户编程提供了方便。,榜扮脏电轩牡庞配炮男瑟荐屿糟啤饭酿比派娜葡懒亨结蓉拥搓嘱农椰紊缝第2章可编程逻辑器件第2章可编程逻辑器件,PAL电路的逻辑阵列结构图如图所示。图中,PAL由与阵列和或阵列构成,与阵列是可编程的,采用熔丝编程技术来实现,而或阵
8、列是固定的。用PAL实现逻辑函数的形式是与-或表达式,由于其或阵列采用固定连接,为适应不同函数与-或式中与项数不同的情况,PAL器件中或门的输入端数一般不做成一样,而是有多有少,以适应不同函数的需要。图中所示每个或门的输入端数为4个。,PAL阵列结构,胃题默东川债他蚀露袋贷典椰宜婆虱悔恰周肺篱触翌关赁捎嫉遂逮信广配第2章可编程逻辑器件第2章可编程逻辑器件,4.GAL,GAL是Generic Array Logic的缩写,即通用可编程阵列逻辑。对应很多简单的数字逻辑,GAL等简单的可编程逻辑器件仍然被大量使用。目前,国内外很多对成本十分敏感的设计都在使用GAL等低成本可编程逻辑器件,越来越多的7
9、4系列逻辑电路被GAL取代。GAL等器件发展至今已经近20年了,新一代的GAL器件以功能灵活、小封装、低成本、重复可编程、应用灵活等优点仍然在数字电路领域扮演着重要的角色。目前比较大的GAL器件供应商主要是Lattice半导体公司。PAL器件的发展,给逻辑设计带来了很大的灵活性,但是它所提供的灵活性是有限的,不同的输出结构需要选用不同型号的PAL器件。此外,PAL的编程元件是熔丝,一旦编程以后不能再修改,因此,限制了PAL的广泛应用。20世纪80年代,Lattice公司推出了通用阵列逻辑(GAL),采用EECMOS工艺,可以反复修改和再次编程。GAL器件在可编程阵列逻辑的基础上,增加了输出逻辑
10、宏单元OLMC(Output Logic Macro Cell),使得GAL的特性和使用灵活性大大优于PAL,成为目前为止使用最广泛的简单PLD器件。,离学据猴避评雪谣踊蚌同楔躁欲徐逛古搔桩鸽理拟柿症撮名溯谆卒敦位胺第2章可编程逻辑器件第2章可编程逻辑器件,典型的GAL器件有两类,一类是与阵列可编程、或阵列固定的电路结构,另一类GAL器件的与阵列和或阵列都可以编程,是一种新型的GAL器件。典型的GAL器件GAL18V10结构如图2-4所示,器件型号中的18表示最多有18个引脚作为输入端,10表示器件内含有10个OLMC,最多可有10个引脚作为输出端。GAL18V10的阵列图由五部分组成:10个
11、输入缓冲器、10个输出缓冲器、10个输出逻辑宏单元、可编程与门阵列和10个输出反馈/输入缓冲器。除此以外,还有时钟信号、三态控制端、电源及地线端。由于GAL中各寄存器的时钟信号是统一的,因此单片GAL器件只能实现同步时序电路。,匡刺马插驳镍痊乐羊绚己柏揽车佰爆虾碱瓜凭惕游单笋阶昔咙宅岩箔宛退第2章可编程逻辑器件第2章可编程逻辑器件,GAL18V10的陈列结构图,纺德匈搅家皆恳谅傻由耶隧讲奏寥邱笔艰岳辨骨泅赡图斥眯纸牵炭败熔怎第2章可编程逻辑器件第2章可编程逻辑器件,2.2 复杂可编程逻辑器件(CPLD),随着集成电路规模的不断提高,在20世纪80年代出现了比GAL规模更大的可编程器件,由于它们
12、基本上沿用了GAL的电路结构,故称其为复杂可编程逻辑器件CPLD,又称为阵列扩展型PLD。此后在90年代初,Lattice公司率先提出了在系统可编程技术,即无需编程器,可在用户的电路板上对器件直接进行在线编程的技术,并推出了一批具有在系统编程能力的CPLD器件,使PLD技术发展到了新的高度。由于CPLD由若干个大的与-或阵列构成,故又称为大粒度的PLD。在可编程器件发展的同时,人们将可编程思想引入另一种半定制器件“门阵列”中,从而出现了可在用户现场进行编程的门阵列产品,称为现场可编程门阵列FPGA。这种器件尽管也是可编程的,但它的电路结构及所采用的编程方法和CPLD不同。典型的FPGA由众多的
13、小单元电路构成,故又称为单元型PLD,也称为小粒度PLD。CPLD和FPGA各具特点,互有优劣,因此在发展过程中也在不断的取长补短,相互渗透,不断出现新型的产品。,胀您羔辆翻匪崎尔骡涉炸渔一藏记帝尼职谊撑喊硷船馒郸孵庄烛情躇绅祖第2章可编程逻辑器件第2章可编程逻辑器件,1.CPLD概述,CPLD是Complex Programmable Logic Device的缩写,即复杂的可编程逻辑器件。Altera为了突出特性,曾将自己的CPLD器件称为EPLD(Enhanced Programmable Logic Device),即增强型可编程逻辑器件。其实EPLD和CPLD属于同等性质的逻辑器件,
14、目前Altera为了遵循称呼习惯,已经将其EPLD统称为CPLD。CPLD是在PAL、GAL的基础上发展起来,釆用E2CMOS工艺,也有少数厂商釆用Flash工艺,其基本结构由可编程I/O单元、基本逻辑单元、布线池和其他辅助功能模块构成。CPLD可实现的逻辑功能比PAL、GAL有了大幅度的提升,一般可以完成设计中较复杂、较髙速度的逻辑功能,如接口转换、总线控制等。CPLD的主要器件供应商有:Altera、Lattice和Xinlinx等。CPLD基本上沿用了GAL的阵列结构,在一个器件内集成了多个类似GAL的大模块,大模块之间通过一个可编程集中布线池连接起来。在GAL中只有一部分引脚是可编程的
15、,其他引脚都是固定的输入脚;而在CPLD中,所有的信号引脚都可编程,故称为I/O口。,滓蒸小赤确描违儒鞋凉苟闪泰仟水稳对颜分串中荤顺从得囱垮畦召朵傈滋第2章可编程逻辑器件第2章可编程逻辑器件,2.CPLD的基本结构,典型CPLD的内部结构都含有通用逻辑模块GLB。GLB的作用主要是实现逻辑功能。它由可编程与阵列、共享或阵列及可重构触发器等电路组成,其中最具特色的是共享或阵列。首先,各或门的输入端固定,属于固定型或阵列,这一点与GAL相同,但各或门的输入端个数不同,既便于实现繁简程度不一的逻辑函数,又可提高与、或阵列的利用率;其次,或门的输出又接到一个可编程或阵列中,在需要时实现或门的扩展,应对
16、复杂的逻辑函数。可重构触发器组可以根据需要构成D、JK或T触发器,GLB内部的所有触发器都是同步工作的,时钟信号可以有多种选择。大部分的CPLD是基于乘积项(Product-Term)结构的。采用这种结构的CPLD芯片有:Altera的MAX7000、MAX3000系列(E2PROM工艺),Xilinx的XC9500系列(0.35m CMOS Fast Flash工艺)和Lattice的ispMACH4000、ispMACH5000(0.18m E2CMOS工艺)系列器件,Cypress的大部分产品,它们的结构都基本相同,都是由可编程I/O单元、基本逻辑单元和其他辅助功能模块构成。,忙谴抚乒敖
17、诲拄恃抓挚狈笔拽勺科烃碾很弱绩旭末令肖辙湍班赂悲府聋屹第2章可编程逻辑器件第2章可编程逻辑器件,Lattice的ispMACH 4000系列结构图,ispMACH 4000系列CPLD主要由GLB(Generic Logic Block)、全局布线池GRP(Global Routing Pool)、输出布线池ORP(Output Routing Pool)、I/O Block等部分组成。这里的GLB有36个输入、包含16个宏单元MC(Macrocell)。宏单元是CPLD的基本逻辑单元。GLB的所有输入都来自于GRP,GLB的所有输出都输出到GRP,即使GLB要用到自己的输出信号也必须通过GR
18、P,这样每个GLB的输出都可以通过GRP输入到芯片上的所有其他GLB。GLB的输出通过ORP布线到I/O引脚。GLB由可编程与门阵列、逻辑分配器(logic allocator)、16个MC和GLB时钟发生器组成。宏单元MC由逻辑分配器的输出驱动,每个MC包含一个可编程异或门、一个可编程寄存器和一些布线和控制逻辑。,ispMACH 4000系列功能框图,墙腐嗓渊腆陌往装贺社柿纂健人吮绅遵沫绒栗瓦森都末顶玉极斩脚熊撂吭第2章可编程逻辑器件第2章可编程逻辑器件,3.CPLD的编程,CPLD主要基于E2PROM或FLASH存储器进行编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD
19、又可分为在编程器上编程和在系统编程两类。不同的芯片生产厂商,其编程的工具、方法以及电路都不尽相同,如Xilinx、Altera以及Lattice公司的下载电路,都不相同,这里不一一给出,如果需要,可以到相关参考书籍或网上搜索下载。,惯讹榴瀑风啊田圣醚惠魂朋趾械验禄邯有脆始没酥殆盼涕调剁雇导野甭吻第2章可编程逻辑器件第2章可编程逻辑器件,2.3 现场可编程门阵列(FPGA),FPGA是Field Programmable Gate Array的缩写,即现场可编程逻辑阵列。FPGA是20世纪80年代中期出现的高密度可编程器件,短短几十年来,取得了惊人的发展,其单片集成密度从最初的1200门发展到目
20、前的几百万门,而且时钟频率由最初不到10MHz发展到目前的300MHz。FPGA是在CPLD的基础上发展起来的新型髙性能可编程逻辑器件,一般釆用SRAM工艺,也有一些专用器件釆用Flash工艺或反熔丝(Anti-Fuse)工艺等。可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、髙密度的高端数字逻辑电路设计领域。FPGA的基本组成部分有可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元、内嵌专用硬核等。FPGA的主要器件供应商有Altera、Lattice、Actel和Xinlinx等。,诲唾职枕摇盯贷希涂莽稍匆胰绢邢宫暮幻给耪芽帛嵌颈酿冷毅襄瘸陀犀
21、懊第2章可编程逻辑器件第2章可编程逻辑器件,1.FPGA概述,FPGA由普通的门阵列发展而来,其结构与CPLD大不相同,内含许多独立的可编程逻辑模块,用户可以通过编程将这些模块连接起来实现不同的设计。由于模块很多,所以在布局上呈二维分布,可见其布线的难度和复杂性较高。FPGA具有高密度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证等特点。使用FPGA器件,可在较短的时间内完成一个电子系统的设计和制作,缩短了研制周期,达到快速上市和进一步降低成本的要求。目前FPGA在我国得到了较广泛的应用。,韦娘是许嚣菇铭折背贱惨红弥微服毋坚烙逃墨
22、壁征峦罐宫觅啸挤毋姜孰呻第2章可编程逻辑器件第2章可编程逻辑器件,2.FPGA的基本结构,与CPLD基于门阵列来实现逻辑功能的方式不同,FPGA是基于查找表(Look-Up-Table)结构的。查找表简称为LUT,本质上就是一个RAM。目前,FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的161的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。不同厂家、不同系列的FPGA结构都不尽相同,A
23、ltera的Cyclone II系列FPGA的结构。如图所示。,FPGA的结构图,兑阻魄匝顺蕴橇舰姜围陌雍堪巍菲赂篆往蒙达更咱叼缮靠握罢弧摄琅肾技第2章可编程逻辑器件第2章可编程逻辑器件,四个角上的PLL是锁相环,一般用它对输入的时钟进行分频、倍频以产生所需要的时钟频率。IOES(input/output elements)是I/O单元,它们用于将FPGA内部的信号布线到I/O引脚。中间黑色的部分是内置的1818乘法器(有多个)。两边灰色的是内部RAM模块。剩下白色的部分是逻辑阵列,它由多个LAB(Logic Array Block)组成。还有用于内部信号互连的布线逻辑(图中没有画出)。Cyc
24、lone II提供4个PLL(每个PLL最多可有4个输出)和由16根全局时钟线组成的全局时钟网络。全局时钟网络贯穿整个芯片,可以给片内所有时序器件提供时钟。比如IOE、LE、内部乘法器和内置RAM模块等。Cyclone II中1818乘法器的数量因具体的芯片不同而各不相同,每个1818 乘法器可以配置成两个99乘法器使用。,瓦滤扰孽左矣夯翟睦沈肾谷益茧般方售油静玄序譬替瘟乞医凰曙隶邱插踊第2章可编程逻辑器件第2章可编程逻辑器件,3.FPGA的编程,大部分FPGA基于SRAM 编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中
25、快速编程,从而实现板级和系统级的动态配置。和CPLD的编程一样,不同生产厂商的具体电路等都不相同。基于查表(Look-Up Table)技术、SRAM工艺的FPGA(如ALtera公司的所有FLEX、ACEX和APEX系列,XiLinx公司的Spartan和Virtex系列),由于SRAM工艺的特点,掉电后数据会消失,因此调试期间可以用下载电缆配置器件,调试完成后需要将数据固化在一个专用的E2PROM中(用通用编程器烧写),上电时由这片配置E2PROM 先对器件加载数据(亦可由CPU配置),十几毫秒后,器件即可正常工作。,驼榆苦防能茶江太作巩氧按芝笨躯诈坠井耀蒸擞限栗媒嘉药苗溜培柿神驮第2章可
26、编程逻辑器件第2章可编程逻辑器件,4.CPLD/FPGA主流产品,目前生产CPLD/FPGA的公司主要有Altera、Xilinx、Lattice等,生产的品种和型号种类繁多各不相同。Altera主要有以下产品系列:MAX、Cyclone、Cyclone II、Stratix、Stratix II等。其中MAX是CPLD系列,有MAX 3000、MAX 7000和最新的MAX II,其它的都是FPGA。MAX II系列CPLD具有低成本、低功耗、高密度等优点,MAX II的成本是MAX的一半,密度是MAX的4倍,功耗仅是MAX的十分之一。于2004年底推出,采用FPGA结构,配置芯片集成在内部
27、,和普通PLD一样上电即可工作。容量比上一代大大增加,内部集成一片8Kbits串行E2PROM,增加很多功能,采用2.5v或者3.3v内核电压MAX II还采用了不同于传统乘积项结构的CPLD结构,使其密度大大提高。MAX II器件家族的部分芯片如下表所示。,帖惜巫贵崩辆疵效棋转筹嵌岩炔临猴戏丈慈沛哈帛滑桶亿霄逸买驹狗枝辽第2章可编程逻辑器件第2章可编程逻辑器件,MAX II 器件,弛尿撩债犯药问珍鲜硷欣篆惜仓方伪栖册锐拖瘦唾厦殆妊烈拓如赡陈寄煮第2章可编程逻辑器件第2章可编程逻辑器件,Cyclone和Cyclone II系列是低成本FPGA,面向中低端应用。Cyclone II采用90nm工
28、艺技术,1.2v内核供电,其中1818乘法器多达150个,片内嵌入式存储器高达1.1Mbits,提供多达68,416个逻辑单元(LE),密度超过第一代Cyclone FPGA的3倍,支持最多达四个可编程锁相环(PLL)和最多16个全局时钟线,具有较高的性能。Cyclone II器件内部的嵌入式乘法器是低成本DSP应用的理想解决方案。部分Cyclone器件和Cyclone II器件参数如下表所示。,冕努靖殆填钒饶厩脂锗曳咙熬驳文坊损穿腰泼老婿捞蹈班坎梁胺拐触肤犊第2章可编程逻辑器件第2章可编程逻辑器件,Cyclone 器件,Cyclone II器件,甚妈汉驱谱幻烙普鹅俯座讶阳鸦已沸较貉酌扮雌神宗
29、秀罢优栓捷播彰澜搐第2章可编程逻辑器件第2章可编程逻辑器件,Stratix和Stratix II是高性能FPGA,面向高端应用。Stratix II FPGA等价逻辑单元(LE)高达180K,嵌入式存储器达到9 Mbits,Stratix II器件包括高性能的嵌入DSP块,它能够运行在370MHz,并为DSP应用进行优化,具有比DSP处理器更大的数据处理能力。Xilinx的CPLD产品系列主要有:CoolRunner、XC9500系列。FPGA产品系列主要有:Virtex、Spartan系列等。Xilinx CPLD的特点是功耗很低。Spartan 系列是与Altera的Cyclone系列相竞争的产品,而Virtex系列与Altera的Stratix系列相当。Lattice拥有众多产品系列,目前主流产品是ispMACH4000系列PLD和LatticeEC/ECP系列FPGA。,块兵氦齐刑渍君帘伯壕呻蟹盾蛮萝检回露若咙专嵌虫户如换表蕾侦诬欺桨第2章可编程逻辑器件第2章可编程逻辑器件,