第2章EDA——大规模可编程逻辑器件.ppt
第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 第第2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.1 可编程逻辑器件概述可编程逻辑器件概述 2.2 复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)2.3 现场可编程门阵列现场可编程门阵列(FPGA)2.4 在系统可编程在系统可编程(ISP)逻辑器件逻辑器件 2.5 FPGA和和CPLD的开发应用选择的开发应用选择 第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.1 可编程逻辑器件概述可编程逻辑器件概述PLD:PLD:用户可编程,可实现各种组合逻辑和时序逻辑用户可编程,可实现各种组合逻辑和时序逻辑的功能。的功能。编程:编程:选择阵列中熔丝加以选择阵列中熔丝加以摧毁摧毁的过程;的过程;非熔丝型可编程器件中非熔丝型可编程器件中,指指控制控制器件中器件中 EECMOS管管或或SARM单元的状态。单元的状态。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.1.1 PLD的发展进程的发展进程 20世纪世纪70年代,最早的年代,最早的PLDPROM 可编程只读存储器可编程只读存储器Programmable Read Only MemoryPLA 可编程逻辑阵列可编程逻辑阵列Programmable Logic Array第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 80年代初,年代初,Lattice公司推出了公司推出了70年代末,年代末,AMD公司推出了公司推出了PAL 可编程阵列逻辑可编程阵列逻辑Programmable Array LogicGAL 通用阵列逻辑通用阵列逻辑Generic Array Logic第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 80年代中期,年代中期,Xinlinx公司推出了公司推出了FPGA 现场可编程门阵列现场可编程门阵列Field Programmable Gate Array同时,同时,Alteral 公司推出了公司推出了EPLD 可电擦除的可电擦除的PLDErasable Programmable Logic Device80年代末,年代末,Lattice公司推出了公司推出了CPLD:复杂可编程逻辑器件复杂可编程逻辑器件Complex Programmable Logic Device第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 可编程逻辑器件可编程逻辑器件PLD的发展历程的发展历程70年代年代80年代年代90年代年代PROM 和和PLA 器器件件FPLA 器器件件GAL器器件件FPGA器器件件EPLD 器器件件CPLD器器件件内嵌复杂内嵌复杂功能模块功能模块的的SoPC第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.1.2 PLD的种类及分类方法的种类及分类方法 1从结构的从结构的复杂程度复杂程度分类分类可编程逻辑器件可编程逻辑器件PLD LDPLD (低密度(低密度 PLD)HDPLD (高密度(高密度PLD)EPLDFPGAiSPPROMFPLAPALGAL简单简单PLD和复杂和复杂PLD(CPLD)低密度低密度PLD和高密度和高密度PLD(HDPLD)第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 3.从从可编程特性可编程特性上分类上分类4.从可编程器件的从可编程器件的编程元件编程元件上分类上分类2.从从互连结构互连结构上分类上分类确定型:确定型:CPLD统计型:统计型:FPGA(无法确切预知线路延时无法确切预知线路延时)一次可编程一次可编程 One Time Programmable重复可编程重复可编程 Re-programmable 熔丝型熔丝型(fuse)编程器件编程器件:大电流,大电流,OTPEPROM(紫外线擦除紫外线擦除)编程器件编程器件EEPROM(电可擦除电可擦除)编程器件编程器件SRAM(静态存储器静态存储器)编程器件编程器件:无限次编程无限次编程第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 PLD主体主体输入输入电路电路输入信号输入信号互补互补输入输入输出函数输出函数反馈输入信号反馈输入信号 可由或阵列直接输出,可由或阵列直接输出,构成组合;构成组合;通过寄存器输出,通过寄存器输出,构成时序方式输出。构成时序方式输出。可直接可直接输出输出也可反馈到输入也可反馈到输入输出既可以是低电平有效,输出既可以是低电平有效,又可以是高电平有效。又可以是高电平有效。输出输出电路电路2.1.3 PLD的基本结构的基本结构第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 一一.阵列交叉点的逻辑表示阵列交叉点的逻辑表示此点不可编程此点不可编程2.1.4 PLD的表示方法的表示方法1.实体连接实体连接行线和列线实实在在的连接行线和列线实实在在的连接第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.可编程连接可编程连接编程前此点熔丝编程前此点熔丝编程前此点熔丝编程前此点熔丝处于接通状态处于接通状态处于接通状态处于接通状态第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 3.编程后熔丝烧断编程后熔丝烧断此点为此点为不连接点不连接点第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 二二.二极管二极管与门与门和和或门或门电路电路1.与门电路与门电路第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.或门电路或门电路第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 三三.与阵列的与阵列的PLD表示表示未编程或熔丝全部保留未编程或熔丝全部保留第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 编程后实现编程后实现 的与阵列表示的与阵列表示熔熔丝丝保保留留第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 四四.或阵列的或阵列的PLD表示表示未编程或实现未编程或实现 f=p1+p2+p3熔丝全保留熔丝全保留第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 实现实现 f=P1+P3 的的PLD表示表示第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 A B C DF2F2=B+C+DA B C DF1与门和或门的表示方法与门和或门的表示方法固定连接固定连接编程连接编程连接F1=ABC第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 下图列出了连接的三种特殊情况下图列出了连接的三种特殊情况:1.输入全编程,输出为输入全编程,输出为0。2.也可简单地在对应的与门中画叉,因此也可简单地在对应的与门中画叉,因此E=D=0。3.乘积项与任何输入信号都没有接通,相当与门乘积项与任何输入信号都没有接通,相当与门输出输出为为1。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 下图给出最简单的下图给出最简单的PROM电路图,右图是左图的简化形式。电路图,右图是左图的简化形式。实现的函数为:实现的函数为:固定连接点固定连接点(与)(与)编程连接点编程连接点(或)(或)第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 (1)与固定、或编程:)与固定、或编程:PROM(2)与或全编程:)与或全编程:FPLA(3)与编程、或固定:)与编程、或固定:PAL、GAL、EPLD、CPLD五五.PLD的结构类型的结构类型PLD基本结构大致相同,根据基本结构大致相同,根据与或阵列是否可编程与或阵列是否可编程分为三类:分为三类:第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 1.与固定、或编程与固定、或编程:(:(PROM)ABCBCA0 0 00 0 10 1 01 1 1全译码全译码连接点编程时连接点编程时,需画一个叉需画一个叉第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.与、或全编程与、或全编程 代表器件是代表器件是PLA(Programmable Logic Array)。在)。在PLD中,中,它的灵活性最高。下图给出了它的灵活性最高。下图给出了PLA的阵列结构。的阵列结构。由于由于与或阵列均能编程与或阵列均能编程的特的特点,在实现函数时,点,在实现函数时,所需的所需的是简化后的乘积项之和是简化后的乘积项之和,这,这样阵列规模比样阵列规模比PROM小得多小得多可编程可编程可编程可编程不像不像PROM那样与那样与阵列需要全译码阵列需要全译码第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 每个交叉每个交叉点都可编程点都可编程O1O1为两个乘为两个乘积项之和积项之和由于或阵列固由于或阵列固定,以后将只定,以后将只画出或门画出或门3.与编程、或固定与编程、或固定代表器件代表器件PAL(Programmable Array Logic)GAL(Generic Array Logic)第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 各种各种PLD的结构特点的结构特点简单简单PLD被淘汰的原因被淘汰的原因阵列规模太小阵列规模太小寄存器资源不足寄存器资源不足I/O不够灵活不够灵活编程不方便编程不方便由此应运而生了由此应运而生了CPLD、FPGA第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 六六.输入缓冲器和反馈缓冲器输入缓冲器和反馈缓冲器单入双出的缓冲器单元,输出单入双出的缓冲器单元,输出0态和态和1态。态。同极性输出端同极性输出端(高有效输出端)(高有效输出端)反极性输出端反极性输出端(低有效输出端)(低有效输出端)AAA注意与输出三态缓冲器的区别注意与输出三态缓冲器的区别第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 七七.输出极性可编程的异或门输出极性可编程的异或门PLD表示为表示为电源地在在PLD中为了实现输出极性可编程,常采用如图所示中为了实现输出极性可编程,常采用如图所示异或门结构。异或门结构。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 编程后熔丝保留,输出高有效,即编程后熔丝保留,输出高有效,即第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 编程后熔丝烧断,输出低有效,即编程后熔丝烧断,输出低有效,即第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 八八.地址可编程的数据选择器(地址可编程的数据选择器(MUX)编程后,行线和列线相接,选择编程后,行线和列线相接,选择D0;行线和列线断开,选择行线和列线断开,选择D1。1.二选一数选器(二选一数选器(2:1MUX)第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.四选一数选器(四选一数选器(4:1MUX)A1A0=00,Y=D0;A1A0=01,Y=D1;A1A0=10,Y=D2;A1A0=11,Y=D3。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 九九.可编程的数据分配器可编程的数据分配器数据分数据分数据分数据分配器配器配器配器两输入都两输入都两输入都两输入都可编程的可编程的可编程的可编程的异或门异或门异或门异或门决定信号决定信号决定信号决定信号能否传递能否传递能否传递能否传递决定输出决定输出决定输出决定输出高有效或高有效或高有效或高有效或低有效低有效低有效低有效第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 十十.激励方式可编程的时序记忆单元激励方式可编程的时序记忆单元R/L(Register/Latch)R/L=0,为,为D锁存器;锁存器;R/L=1,为,为D触发器。触发器。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 十一十一.双向输入双向输入/输出和反馈输入的逻辑表示输出和反馈输入的逻辑表示三态缓冲三态缓冲三态缓冲三态缓冲器有效器有效器有效器有效阵列表示为阵列表示为带反馈的带反馈的带反馈的带反馈的输出端输出端输出端输出端或阵列或阵列或阵列或阵列与与与与阵阵阵阵列列列列第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 三态缓冲器禁止的双向三态缓冲器禁止的双向I/O反馈输入的阵列表示反馈输入的阵列表示三态门三态门三态门三态门禁止禁止禁止禁止输入端输入端输入端输入端第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.2 复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)2.2.1 CPLD的基本结构的基本结构 CPLD的的基基本本结结构构可可看看成成由由逻逻辑辑阵阵列列宏宏单单元元和和I/O控制模块控制模块两部分组成。两部分组成。早期的早期的CPLDCPLD主要用来替代主要用来替代PALPAL器件,所以采用了器件,所以采用了可编程的与阵列和固定的或阵列可编程的与阵列和固定的或阵列结构。其基于乘积结构。其基于乘积项的结构模块基本都是由项的结构模块基本都是由EEPROMEEPROM和和FlashFlash工艺制造工艺制造的,的,一上电就可以工作一上电就可以工作,无需其他芯片配合。,无需其他芯片配合。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 1逻辑阵列宏单元逻辑阵列宏单元第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.I/O控制模块控制模块CPLD中的中的I/O控制模块,基本上都由控制模块,基本上都由输出极性输出极性转换电路转换电路、触发器触发器和和输出三态缓冲器输出三态缓冲器三部分及三部分及与它们相关的选择电路所组成。与它们相关的选择电路所组成。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 与与PAL兼容的兼容的CPLD的的I/O控制模块结构控制模块结构第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 逻辑宏单元逻辑宏单元输入输入/输出口输出口输入口输入口时钟信时钟信号输入号输入三态控制三态控制可编程与阵列可编程与阵列固定或阵列固定或阵列第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.2.2 Alteral 公司的器件产品公司的器件产品主要特点:主要特点:采用采用0.5m CMOS SRAM工艺制造;工艺制造;具有在系统可编程特性;具有在系统可编程特性;在所有在所有I/O端口中有输入端口中有输入/输出寄存器;输出寄存器;3.3 V或或5.0 V工作模式。工作模式。Alteral公司的产品在我国有较多的用户,如公司的产品在我国有较多的用户,如EP220、EP224、EP6010、EP1810等经典产品应用颇广。等经典产品应用颇广。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.3 现场可编程门阵列现场可编程门阵列(FPGA)基于基于查找表查找表(Look Up Table)的结构模块的结构模块0000010100000101输入输入 A 输入输入 B 输入输入C 输入输入D 查查找找表表输输出出16x1RAM多路选择器多路选择器第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.3.2 FPGA的配置模式的配置模式2.3.1 FPGA器件的结构器件的结构 目前,目前,Xilinx公司的公司的FPGA芯片分为芯片分为XC2000、XC3000、XC4000、XC5000、XC6200、XC8100、Spartan、Virture等系列。等系列。FPGA 的配置模式,即的配置模式,即FPGA的下载。的下载。由于由于LUT主要适合主要适合SRAM工艺生产,所以目前大部分工艺生产,所以目前大部分FPGA都是基于都是基于SRAM工艺的,而工艺的,而SRAM工艺的芯片在工艺的芯片在掉掉电后信息就会丢失电后信息就会丢失,一定需要外加一片专用配置芯片,在,一定需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到上电的时候,由这个专用配置芯片把数据加载到FPGA中,中,然后然后FPGA就可以正常工作,由于配置时间很短,不会影就可以正常工作,由于配置时间很短,不会影响系统正常工作。响系统正常工作。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 表表2.7 XC2000/XC3000/XC3100及及XC4000系列的配置模式系列的配置模式 第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.3.3 FPGA器件性能器件性能Xilinx器件的标识方法是:器件型号器件的标识方法是:器件型号+封装形式封装形式+封装引脚数封装引脚数+速度等级速度等级+环境温度。环境温度。性能指标说明性能指标说明如如 XC3164 PC 84-4 C 的含义是如下:的含义是如下:第一项:第一项:XC3164表示器件型号。表示器件型号。1)器件标识的含义器件标识的含义第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 PLCC(Plastic Leaded Chip Carrier,塑料方形扁平封装,塑料方形扁平封装)PQFP(Plastic Quad Flat Pack,塑料四方扁平封装,塑料四方扁平封装)TQFP(Thin Quad Flat Pack,四方薄扁形封装,四方薄扁形封装)RQFP(Power Quad Flat Pack,大功率四方扁平封装大功率四方扁平封装)BGA(Bal Grid Array(Package),球形网状阵列,球形网状阵列(封装封装)PGA(Ceramic Pin Grid Array(Package),陶瓷网状直插阵列,陶瓷网状直插阵列(封装封装)第二项:第二项:PC表示器件的封装形式,主要有:表示器件的封装形式,主要有:XC3164 PC 84-4 C第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 XC3164 PC 84-4 C第三项:第三项:84表示封装引脚数。表示封装引脚数。一般有一般有44、68、84、100、144、160、208、240等数种,常用的器件封装引脚数有等数种,常用的器件封装引脚数有44、68、84、100、144、160等,最大的达等,最大的达596个引脚。而最大用户个引脚。而最大用户I/O是是指相应器件中用户可利用的最大输入指相应器件中用户可利用的最大输入/输出引脚数目,输出引脚数目,它与器件的封装引脚不一定相同。它与器件的封装引脚不一定相同。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 XC3164 PC 84-4 C速度等级有两种表示方法:速度等级有两种表示方法:在较早的产品中,用触发器的反转速率来表示,单在较早的产品中,用触发器的反转速率来表示,单位为位为MHz,一般分为,一般分为-50、-70、-100、-125和和-150;在较后的产品中用一个在较后的产品中用一个CLB的延时来表示,单位为的延时来表示,单位为ns,一般可分为,一般可分为-10、-8、-6、-5、-4、-3、-2、-09。第四项:第四项:-4表示速度等级。表示速度等级。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 第五项:第五项:C表示环境温度范围。表示环境温度范围。XC3164 PC 84-4 CC 商用级商用级(085)I 工业级工业级(-40100)M军用级军用级(-55125)第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 PROM大小是指配置数据所需的大小是指配置数据所需的PROM大小大小(单位为单位为bit)。输出驱动电流:输出驱动电流:XC2000和和XC3000系列为系列为4 mA;XC3100/A为为8 mA:XC3100L为为4 mA;XC4000/A/D/E/EX为为12 mA;XC4000H为为24 mA:XC4000L为为4 mA;XC5200和和XC6200为为8 mA;XC8100为为24 mA。2)有关指标的说明有关指标的说明第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.4 在系统可编程在系统可编程(ISP)逻辑器件逻辑器件 ISP(In System Program)对对PLD的逻辑功能可随时进行修改,的逻辑功能可随时进行修改,由由Lattice公司率先发明公司率先发明优点:优点:方便硬件的调试;方便硬件的调试;方便硬件版本的升级,类似于软件升级。方便硬件版本的升级,类似于软件升级。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 ISP功能提高设计和应用的灵活性功能提高设计和应用的灵活性n减少对器件的触减少对器件的触摸和损伤摸和损伤n不计较器件的封不计较器件的封装形式装形式n允许一般的存储允许一般的存储n样机制造方便样机制造方便n支持生产和测试流支持生产和测试流程中的修改程中的修改n允许现场硬件升级允许现场硬件升级n迅速方便地提升功迅速方便地提升功能能未编程前先焊接安装未编程前先焊接安装系统内编程系统内编程-ISP在系统现场重编程修在系统现场重编程修改改第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 边界扫描测试技术边界扫描测试技术BST 边界扫描测试边界扫描测试BST(Boundary-Scan Testing)是针对器)是针对器件密度及件密度及I/O口数增加,信号注入和测取难度越来越大而提出口数增加,信号注入和测取难度越来越大而提出的一种新的测试技术。的一种新的测试技术。由联合测试活动组织由联合测试活动组织JTAG(即即 Joint Test Action Group)提出,而后提出,而后IEEE对此制定了测试标准,称为对此制定了测试标准,称为IEEE 1149.1 标准。标准。边界扫描测试技术主要解决边界扫描测试技术主要解决芯片的测试芯片的测试问题。问题。现在新开现在新开发的可编程器件都支持边界扫描技术,并将其作为发的可编程器件都支持边界扫描技术,并将其作为ISP接口。接口。在在DSP开发和嵌入式处理器的开发中应用得非常广泛。开发和嵌入式处理器的开发中应用得非常广泛。JTAG 主要应用于:电路的边界扫描测试和可编程芯片主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。的在线系统编程。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 2.5 FPGA和和CPLD的开发应用选择的开发应用选择CPLD与与FPGA的区别的区别CPLDFPGA内部结构内部结构ProducttermLookup Table程序存储程序存储内部内部EEPROMSRAM,外挂,外挂EEPROM资源类型资源类型组合电路资源丰富组合电路资源丰富触发器资源丰富触发器资源丰富集成度集成度低低高高使用场合使用场合完成控制逻辑完成控制逻辑能完成比较复杂的算法能完成比较复杂的算法速度速度慢慢快快其他资源其他资源EAB,锁相环,锁相环保密性保密性可加密可加密一般不能保密一般不能保密第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 FPGA与与CPLD的区别的区别 CPLD器件一般采用器件一般采用EEPROM存储技术,可存储技术,可重复编程,并且系统重复编程,并且系统掉电后,掉电后,EEPROM中的数据中的数据不会丢失不会丢失,适于数据的保密。,适于数据的保密。FPGA采用采用SRAM进行功能配置,可重复编程,进行功能配置,可重复编程,但系统但系统掉电后,掉电后,SRAM中的数据丢失中的数据丢失。因此,需在。因此,需在FPGA外加外加EPROM,将配置数据写入其中,系统,将配置数据写入其中,系统每次上电自动将数据引入每次上电自动将数据引入SRAM中。中。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 FPGA与与CPLD的区别的区别 FPGA器件含有丰富的器件含有丰富的触发器触发器资源,易于实现资源,易于实现时时序序逻辑,如果要求实现较复杂的组合电路则需要几个逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。结合起来实现。CPLD的与或阵列结构,使其适于实现大规模的的与或阵列结构,使其适于实现大规模的组合组合功能,但触发器资源相对较少。功能,但触发器资源相对较少。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 FPGA与与CPLD的区别的区别 FPGA为细粒度结构,为细粒度结构,CPLD为粗粒度结构。为粗粒度结构。FPGA内部有丰富连线资源,内部有丰富连线资源,CLB分块较小,芯片分块较小,芯片的利用率较高。的利用率较高。CPLD的宏单元的与或阵列较大,通常不能完的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因连接,其容量有限,限制了器件的灵活布线,因此此CPLD利用率较利用率较FPGA器件低。器件低。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 FPGA与与CPLD的区别的区别 FPGA为为非连续式布线非连续式布线,CPLD为为连续式布线连续式布线。FPGA器件在每次编程时实现的逻辑功能一样,但走器件在每次编程时实现的逻辑功能一样,但走的路线不同,因此的路线不同,因此延时不易控制延时不易控制,要求开发软件允许,要求开发软件允许工程师对关键的路线给予限制。工程师对关键的路线给予限制。CPLD每次布线路径一样,每次布线路径一样,CPLD的连续式互连的连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之结构利用具有同样长度的一些金属线实现逻辑单元之间的互连。连续式互连结构消除了分段式互连结构在间的互连。连续式互连结构消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有定时上的差异,并在逻辑单元之间提供快速且具有固固定延时定延时的通路。的通路。CPLD的延时较小。的延时较小。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 在应用开发中一般应考虑以下几个问题在应用开发中一般应考虑以下几个问题:1器件的逻辑器件的逻辑资源量资源量的选择的选择2芯片芯片速度速度的选择的选择3器件器件功耗功耗的选择的选择第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 4FPGA/CPLD的选择的选择对于普通规模且产量不是很大的产品项目,通常使用对于普通规模且产量不是很大的产品项目,通常使用CPLD。对于大规模或单片系统设计,通常采用。对于大规模或单片系统设计,通常采用FPGA。由于由于CPLD分解组合逻辑的功能很强,因此适合用于设分解组合逻辑的功能很强,因此适合用于设计译码等复杂计译码等复杂组合逻辑组合逻辑。但但FPGA中包含的中包含的LUT和触发和触发器的数量非常多,所以如果设计中使用到大量器的数量非常多,所以如果设计中使用到大量触发器触发器,使用使用FPGA就是一个很好选择。就是一个很好选择。同时同时CPLD拥有拥有上电即可工作上电即可工作的特性,而大部分的特性,而大部分FPGA需需要一个加载过程,所以,如果系统要可编程逻辑器件上要一个加载过程,所以,如果系统要可编程逻辑器件上电就要工作,那么就应该选择电就要工作,那么就应该选择CPLD。第第2 2章章 大规模可编程逻辑器件大规模可编程逻辑器件 5.FPGA和和CPLD封装的选择封装的选择 FPGA和和CPLD器件的封装形式很多,每器件的封装形式很多,每一芯片的引脚数从一芯片的引脚数从28至至484不等,同一型号类不等,同一型号类别的器件可以有多种不同的封装。别的器件可以有多种不同的封装。6其他因素的选择其他因素的选择