《可编程逻辑器件——2.ppt》由会员分享,可在线阅读,更多相关《可编程逻辑器件——2.ppt(149页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.1PLD的的分类分类2.2PLD的的基本结构基本结构2.3CPLD的的结构与特点结构与特点2.4FPGA的结构与特点的结构与特点2.5主要的主要的PLD厂商厂商2.6Altera公司的系列产品公司的系列产品2.7Xilinx公司的系列产品公司的系列产品第第2 2章章 PLDPLD器件结构器件结构12.1 2.1 PLDPLD的分类的分类一、按集成度分类一、按集成度分类二二、按、按结构特点分类结构特点分类三、按编程特点分类三、按编程特点分类内容概要内容概要22.1 2.1 PLDPLD的分类的分类一、按集成度分类一、按集成度分类集成度是集成度是PLD的一项重要指标。的一项重要指标。图图2-1
2、 2-1 PLDPLD按集成度分类按集成度分类PLDLDPLD(SPLD)FPGAPROMFPLACPLDPALGALHDPLDGAL22V10是低密度PLD和高密度PLD的分水岭!32.1 2.1 PLDPLD的分类的分类1.1.低密度可编程逻辑器件(低密度可编程逻辑器件(LDPLDLDPLD)(1)PROM(ProgrammableRead-OnlyMemory,可编程只读存储器)可编程只读存储器)采用熔丝工艺编程,采用熔丝工艺编程,由固定的与阵列和由固定的与阵列和可编程可编程的的或或阵列组成;阵列组成;早期早期PROM只能写一次,不可擦除或重写;只能写一次,不可擦除或重写;后后来来又又出
3、出现现可可多多次次擦擦写写PROM:EPROM(紫紫外外线线擦擦除除可可编编程程只只读读存存储器)和储器)和E2PROM(电擦写可编程只读存储器);电擦写可编程只读存储器);特点:成本低,编程容易,适合于存储函数、数据和表格特点:成本低,编程容易,适合于存储函数、数据和表格(2)FPLA(FieldProgrammableLogicArray,现场可编程逻辑阵列)现场可编程逻辑阵列)在在PROM基础上发展的一种基础上发展的一种PLDvFPLAFPLA器件的器件的特点特点:由可编程的与阵列和可编程的或阵列组成;编程工艺采用熔丝开关,为一次性一次性编程器件;占用较大硅片面积;逻辑函数输出以与与-或
4、表达式或表达式形式出现。注:注:FPLAFPLA现已不常生产和使用!现已不常生产和使用!4 图图2-2标准门电路构成的组合逻辑电路标准门电路构成的组合逻辑电路与阵列、或阵列均固定!2.1 2.1 PLDPLD的分类的分类52.1 2.1 PLDPLD的分类的分类图图2-3FPLA的基本熔丝结构的基本熔丝结构行线(输入变量)行线(输入变量)列线(乘积项)列线(乘积项)行线(输出函数)行线(输出函数)62.1 2.1 PLDPLD的分类的分类与阵列、或阵列均可编程注:使用注:使用PLDPLD编程器在现场可对与编程器在现场可对与-或两级阵列或两级阵列各交叉点编程,就能得到不同的逻辑函数各交叉点编程,
5、就能得到不同的逻辑函数这就是现场可编程逻辑阵列的含义。这就是现场可编程逻辑阵列的含义。图图2-4 FPLA2-4 FPLA的映像逻辑图的映像逻辑图72.1 2.1 PLDPLD的分类的分类(3)PAL(ProgrammableArrayLogic,可编程阵列逻辑)可编程阵列逻辑)继继FPLA之后,第一个具有典型实用意义的之后,第一个具有典型实用意义的PLD分分类类:根根据据生生产产工工艺艺的的不不同同,分分为为TTL型型、CMOS型型及及ECL型型PAL。PAL器件的特点器件的特点由可编程的与阵列和固定的或阵列组成;速度快、功耗低;除CMOS型PAL外,其他PAL器件均为一次性编程器件;输出及
6、反馈电路有多种结构类型。82.1 2.1 PLDPLD的分类的分类行线行线(输入(输入变量)变量)列线(乘积项)列线(乘积项)与阵列可编程,或阵列固定图图2-5 PAL2-5 PAL器件的基本结构器件的基本结构92.1 2.1 PLDPLD的分类的分类(4)GAL(GenericArrayLogic,通用逻辑阵列)通用逻辑阵列)工工艺艺上上采采用用EEPROM的的浮浮栅栅技技术术,具具有有可可擦擦除除、可可重重新新编编程程、数数据可据可长长期保存和可重新期保存和可重新组组合合结结构的特点。构的特点。比比PALPAL器器件件功功能能更更强强,结结构构更更灵灵活活,可可取取代代同同型型号号的的PA
7、LPAL器件。器件。应应用于低成本、不要求保密、用于低成本、不要求保密、电电路路简单简单的的场场合。合。vGALGAL区区别别于于PALPAL和和其其他他SPLDSPLD的的最最主主要要一一点点是是其其输输出出结结构构采采用用灵灵活活的的、可可编编程程的的输输出出逻逻辑辑宏宏单单元元(OLMCOLMC,Output Logic Macro CellOutput Logic Macro Cell)的形式。的形式。102.1 2.1 PLDPLD的分类的分类(1)(1)或门或门(2)(2)D D触触发器发器(3)(3)可编可编程多路程多路开关开关图图2-6GAL器件输出逻辑宏单元器件输出逻辑宏单元
8、OLMC(4)(4)输出输出缓冲器缓冲器返回返回112.1 2.1 PLDPLD的分类的分类类类 型型出现时期出现时期逻辑结构逻辑结构编程工艺编程工艺编程次数编程次数输出电路输出电路PROM20世纪70年代初期与阵列固定、或阵列可编程熔丝开关一次性固定FPLA20世纪70年代中期与阵列、或阵列均可编程熔丝开关一次性固定PAL20世纪70年代末期与阵列可编程、或阵列固定,有输出反馈单元TTL型CMOS型ECL型一次性多次一次性固定GAL20世纪80年代初期PAL型在系统编程型FPLA型EEPROM100次以上可编程表表2-1 2-1 SPLDSPLD器件的性能特点比较器件的性能特点比较122.1
9、 2.1 PLDPLD的分类的分类vPALPAL和和GALGAL器件的缺点器件的缺点:低密度,逻辑阵列规模小,每个器件仅相当于几十个等效门;结构简单,只能实现规模较小的电路,不适于较复杂逻辑电路的设计;不能完全杜绝编程数据的非法抄袭。vSPLDSPLD器件的基本结构:与或阵列器件的基本结构:与或阵列v通通过过编编程程改改变变与与阵阵列列、或或阵阵列列的的内内部连接,实现不同的逻辑功能部连接,实现不同的逻辑功能132.1 2.1 PLDPLD的分类的分类2.2.高密度可编程逻辑器件(高密度可编程逻辑器件(HDPLDHDPLD)(1)CPLD(ComplexProgrammableLogicDev
10、ice,复杂可编程逻辑器件)复杂可编程逻辑器件)采采用用CMOSEPROM、EEPROM、FlashMemory和和SRAM等等编编程程技技术,构成了术,构成了高密度高密度、高速度高速度和和低功耗低功耗的的PLD。大多由宏单元、可编程大多由宏单元、可编程I/OI/O单元和可编程内部连线组成。单元和可编程内部连线组成。其其集集成成度度远远远远高高于于PALPAL和和GALGAL,用用来来设设计计数数字字系系统统,体体积积小小、功功耗耗低低、可靠性高。可靠性高。(2)FPGA(FieldProgrammableGatesArray,现场可编程门阵列器件)现场可编程门阵列器件)基本结构一般由基本结构
11、一般由3个个可编程可编程逻辑模块阵列逻辑模块阵列组成组成:可配置逻辑模块(CLB,Configurable Logic Blocks)输入/输出模块(IOB,Input/Output Blocks)互连资源(ICR,Interconnect Capital Resource)或叫可编程互连线PI(Programmable Interconnect)FPGA器器件件内内还还有有一一可可配配置置的的SRAM,加加电电后后存存储储配配置置数数据据,该该数数据据决定了器件的具体逻辑功能。决定了器件的具体逻辑功能。142.1 2.1 PLDPLD的分类的分类二、按结构特点分类二、按结构特点分类目前常用的
12、目前常用的PLD都是从都是从与或阵列与或阵列和和门阵列门阵列两类基本结两类基本结构发展而来构发展而来因此按结构特点因此按结构特点PLD分为两大类:分为两大类:(1)阵列型阵列型的的PLD器件:基本结构为与或阵列;器件:基本结构为与或阵列;(2)单元型单元型的的PLD器件:基本结构为逻辑单元器件:基本结构为逻辑单元SPLD(包括包括PROM、PLA、PAL、GAL)和绝大多和绝大多数数CPLD都属于阵列型的都属于阵列型的PLD器件器件FPGA则属于单元型的则属于单元型的PLD器件:其基本结构为可编器件:其基本结构为可编程的逻辑块。程的逻辑块。152.1 2.1 PLDPLD的分类的分类三、按编程
13、特点分类三、按编程特点分类1.1.按编程次数分类按编程次数分类(1)一次性编程一次性编程(OTP,OneTimeProgrammable)PLD采采用用熔熔丝丝工工艺艺制制造造,熔熔丝丝断断后后不不能能再再接接上上;反反熔熔丝丝短短路路后后也也不不能能再再断断开,因此仅能一次性编程,不能重复编程和修改。开,因此仅能一次性编程,不能重复编程和修改。不不适适用用于于数数字字系系统统的的研研制制、开开发发和和实实验验阶阶段段使使用用,而而适适用用于于产产品品定定型型后的批量生产。后的批量生产。(2)可多次编程可多次编程PLD大大多多采采用用场场效效应应管管作作编编程程元元件件,控控制制存存储储器器存
14、存储储编编程程信信息息。通通常常采采用用EPROM、EEPROM、FLASH或或SRAM工艺制造。工艺制造。可重复编程和修改,适用于数字系统的研制、开发和实验阶段使用。可重复编程和修改,适用于数字系统的研制、开发和实验阶段使用。162.1 2.1 PLDPLD的分类的分类类类型型一次性编程一次性编程PLD可多次编程可多次编程PLD编程元件编程元件熔丝型开关反熔丝型开关EPROM、EEPROM、Flash Memory或SRAM特特点点只允许对器件只允许对器件编程编程一次一次,不能修改,不能修改可可重复编程重复编程多次,可反复修改多次,可反复修改举举例例PROMEPROM、E2PROM、PAL、
15、GAL、CPLD、FPGA适应范围适应范围产品定型后的批量生产数字系统的研发、实验阶段表表2-2一次性编程器件与可多次编程器件的比较一次性编程器件与可多次编程器件的比较17基本可编程元件:基本可编程元件:熔丝型开关反熔丝型开关基于浮栅编程技术的可编程元件基于SRAM的可编程元件2.1 2.1 PLDPLD的分类的分类2.2.按照不同的编程元件和编程工艺分类按照不同的编程元件和编程工艺分类PLD是一种数字集成电路的半成品,在它的芯片上按照一定的排列是一种数字集成电路的半成品,在它的芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者可以利用某方式集成了大量的门和触发器等基本逻辑元
16、件,使用者可以利用某种开发工具对它进行加工,把片内的元件连接起来,使它完成某个种开发工具对它进行加工,把片内的元件连接起来,使它完成某个逻辑电路或系统功能,成为一个可以在实际电子系统中使用的专用逻辑电路或系统功能,成为一个可以在实际电子系统中使用的专用集成电路。集成电路。PLDPLD实际上是通过对器件内部的实际上是通过对器件内部的基本可编程元件基本可编程元件进行编程来实现用进行编程来实现用户所需的逻辑功能的。户所需的逻辑功能的。PLICE反熔丝ViaLink元件紫外光擦除EPROM电擦除EPROM闪速存储器Flash Memory182.1 2.1 PLDPLD的分类的分类按照不同的编程元件和
17、编程工艺划分,按照不同的编程元件和编程工艺划分,PLDPLD器件可分为器件可分为4 4类:类:(1)采用熔丝型开关或反熔丝型开关的)采用熔丝型开关或反熔丝型开关的PLD(2)采用紫外光擦除采用紫外光擦除EPROM的的PLD(3)采用电擦除采用电擦除EPROM的的PLD(4)采用采用SRAM结构的结构的PLD非易失性器件和易失性器件非易失性器件和易失性器件一般将采用前3类编程工艺的器件称为非非易易失失性性器器件件,这类器件在编程后,配置数据将一直保持在器件内,掉电后数据也不会丢失,直至将它擦除或重写。采用第4类编程工艺的器件称为易易失失性性器器件件,这类器件在编程后,每次掉电后数据会丢失,在每次
18、上电时需要重新配置数据。192.1 2.1 PLDPLD的分类的分类PLICE反熔丝ViaLink元件紫外光擦除EPROM电擦除EPROM闪速存储器Flash Memory类类型型存储编程信息存储编程信息的元件的元件擦除擦除方式方式掉电易掉电易失性失性编程次数编程次数采用熔丝型或反熔采用熔丝型或反熔丝型开关的器件丝型开关的器件PROM不可擦除非易失性一次采用紫外光擦除采用紫外光擦除EPROM的器件的器件EEPROM紫外光擦除非易失性多次采用电擦除采用电擦除EPROM的器件的器件EEPROM或Flash Memory电擦除非易失性多次采用采用SRAM结构的结构的器件器件SRAM电擦除易失性多次表
19、表2-3 2-3 按照不同的编程元件和编程工艺划分按照不同的编程元件和编程工艺划分v大大部部分分CPLDCPLD采采用用电电擦擦除除EPROMEPROM的的编编程程元件,大部分元件,大部分FPGAFPGA采用采用SRAMSRAM结构结构202.2 2.2 PLDPLD的基本的基本结构结构一、一、PLDPLD结构原理结构原理二、二、PLDPLD电路的表示方法电路的表示方法三、三、SPLDSPLD的结构的结构内容概要内容概要212.2 2.2 PLDPLD的基本的基本结构结构一、一、PLDPLD结构原理结构原理任任何何组组合合逻逻辑辑函函数数均均可可化化为为“与与或或”表表达达式式,用用“与与门门
20、-或或门门”二二级级电电路路实实现现,任任何何时时序序电电路路都都是是由由组组合合电电路加上存储元件(触发器)构成的路加上存储元件(触发器)构成的。从从原原理理上上说说,与与或或阵阵列列加加上上寄寄存存器器的的结结构构就就可可以以实实现现任何数字逻辑电路。任何数字逻辑电路。PLD采采用用与与或或阵阵列列加加上上寄寄存存器器、加加上上可可灵灵活活配配置置的的互互连线连线的结构,即可实现任意的逻辑功能。的结构,即可实现任意的逻辑功能。222.2 2.2 PLDPLD的基本的基本结构结构与或阵列与或阵列:PLD结构的主体,用来实现各种逻辑函数和逻辑功能。结构的主体,用来实现各种逻辑函数和逻辑功能。输
21、输入入缓缓冲冲电电路路:增增强强输输入入信信号号的的驱驱动动能能力力,产产生生输输入入信信号号的的原原变变量量和反变量;一般具有锁存器、甚至是可组态的宏单元。和反变量;一般具有锁存器、甚至是可组态的宏单元。输输出出缓缓冲冲电电路路:对对将将要要输输出出的的信信号号进进行行处处理理,既既能能输输出出纯纯组组合合逻逻辑辑信信号号,也也能能输输出出时时序序逻逻辑辑信信号号。一一般般有有三三态态门门、寄寄存存器器等等单单元元,甚甚至是宏单元。至是宏单元。输入输入缓冲缓冲电路电路输出输出输入输入与与阵阵列列或或阵阵列列输出输出缓冲缓冲电路电路 .图图2-7PLD的基本结构框图的基本结构框图232.2 2
22、.2 PLDPLD的基本的基本结构结构二、二、PLDPLD电路的表示方法电路的表示方法1.PLD1.PLD缓冲电路的表示缓冲电路的表示PLD的输入缓冲器和输出缓冲器都采用互补的结构的输入缓冲器和输出缓冲器都采用互补的结构2.2.PLDPLD与门表示法与门表示法图中乘积项图中乘积项P=A B C242.2 2.2 PLDPLD的基本的基本结构结构3.PLD3.PLD或门表示法或门表示法图图中中F=P1+P2+P34.4.PLDPLD连接的表示法连接的表示法下图为下图为PLD中阵列交叉点中阵列交叉点3种连接方式的表示法。种连接方式的表示法。图(图(a)为厂家生产芯片时即已连接好,不可改变;为厂家生
23、产芯片时即已连接好,不可改变;图(图(b)和(和(c)靠编程实现。靠编程实现。(a)固定连接固定连接(b)可编程连接可编程连接(c)断开断开252.2 2.2 PLDPLD的基本的基本结构结构5.5.简单阵列的表示简单阵列的表示图中输出图中输出O1=P1+P2=/I1/I2 I3+I1 I2/I3乘积项乘积项P1乘积项乘积项P2262.2 2.2 PLDPLD的基本的基本结构结构三、三、SPLDSPLD的结构的结构1.PROM1.PROM阵列结构阵列结构与与阵阵列列固固定定(包包含含输输入入信信号号所所有有可可能能的的组组合合),或或阵列可编程。阵列可编程。采采用用的的是是熔熔丝丝开开关关,为
24、为一一次性编程次性编程PLD。固定的与阵列固定的与阵列可编程可编程的或阵列的或阵列272.2 2.2 PLDPLD的基本的基本结构结构2.PAL2.PAL与与GALGAL阵列结构阵列结构PAL与与GAL门门阵阵列列结结构构相相同同:与与阵阵列列可可编编程程,或或阵阵列固定。列固定。GAL区区 别别 于于 PAL和和 其其 他他SPLD的的最最主主要要一一点点是是其其输输出出结结构构采采用用灵灵活活的的、可可编编程程的的输输出出逻逻辑辑宏宏单单元元(OLMCOLMC,Output Output Logic Logic Macro CellMacro Cell)的形式。的形式。可编程可编程的与阵列
25、的与阵列固定的或阵列固定的或阵列282.3 2.3 CPLDCPLD的结构与特点的结构与特点一、一、宏单元宏单元二、二、可编程可编程I/OI/O单元单元三、可编程连线阵列三、可编程连线阵列四、四、CPLDCPLD的性能特点的性能特点内容概要内容概要292.3 2.3 CPLDCPLD的结构与特点的结构与特点CPLD:ComplexProgrammableLogicDevice,复复杂杂可可编程逻辑器件编程逻辑器件是在是在PAL、GAL基础上发展起来的基础上发展起来的阵列型阵列型PLD。采采用用CMOS EPROM、EEPROM、Flash Memory和和SRAM等等编编程程技技术术,构构成成
26、了了高高密密度度、高高速速度度和和低低功功耗耗的的PLD。基基本本结结构构:大大多多由由宏宏单单元元、可可编编程程I/OI/O单单元元和和可可编编程程内内部连线组成。部连线组成。CPLDCPLD集集成成度度远远远远高高于于PALPAL和和GALGAL,用用来来设设计数字系统,体积小、功耗低、可靠性高。计数字系统,体积小、功耗低、可靠性高。302.3 2.3 CPLDCPLD的结构与特点的结构与特点(1)逻辑逻辑阵列块阵列块(2)I/O控制块控制块(3)可编程可编程互连阵列互连阵列AlteraAltera公司的公司的MAX 7000SMAX 7000S的结构框图的结构框图312.3 2.3 CP
27、LDCPLD的结构与特点的结构与特点一、宏单元一、宏单元vCPLD的的逻逻辑辑宏宏单单元元主主要要包包括括与与或或阵阵列列、触触发发器器和和多多路路选选择择器器等等电电路路,能能独独立立地地配配置置为为组组合合或或时时序序工工作作方式。方式。GAL器件的逻辑宏单元与器件的逻辑宏单元与I/O单元做在一起,称为输单元做在一起,称为输出逻辑宏单元(出逻辑宏单元(OLMC););CPLD的逻辑宏单元都的逻辑宏单元都做在内部,称为内部逻辑宏单元。做在内部,称为内部逻辑宏单元。322.3 2.3 CPLDCPLD的结构与特点的结构与特点AlteraAltera公司公司MAX 7000S MAX 7000S
28、 宏单元结构宏单元结构(1)逻逻辑阵列辑阵列(3)可编可编程触发器程触发器(2)乘积项乘积项选择矩阵选择矩阵332.3 2.3 CPLDCPLD的结构与特点的结构与特点v逻逻辑辑宏宏单单元元结结构构和和I/O控控制制结结构构比比GAL有有所所改改进进,逻逻辑辑宏单元具有如下宏单元具有如下特点特点:(1 1)乘积项共享结构)乘积项共享结构为提供所需要的逻辑资源,可以借助可编程开关将同一宏单元(或其他宏单元)中未使用的乘积项联合起来使用,这称为乘积项共享。每个宏单元中含有两两个或项输出,每个或项均由固定的几个乘积项输入。每个或项输出均可连接到相邻相邻的宏单元。提高了各单元或门的使用效率,可实现较复
29、杂的逻辑功能。342.3 2.3 CPLDCPLD的结构与特点的结构与特点图图2-8乘积项共享结构乘积项共享结构或门或门(1)或门或门(2)352.3 2.3 CPLDCPLD的结构与特点的结构与特点(2 2)多触发器和多触发器和“隐埋隐埋”触发器结构触发器结构每个逻辑宏单元内含有两两个或两个以上的触发器。其中只有一个可与I/O引出端相连,其余均为“隐埋”触发器,不与输出端相连,但可以反馈到与阵列,构成更复杂的时序电路。可提高内部资源利用率。GAL的OLMC只有1个触发器(3 3)触发器类型可编程结构触发器类型可编程结构通过对输出触发器编程,可实现4种不同类型触发器结构:D、T、J-K和R-S
30、触发器。它们与逻辑宏单元相配合,可实现多种逻辑电路结构。362.3 2.3 CPLDCPLD的结构与特点的结构与特点二、可编程二、可编程I/OI/O单元单元输入输出单元(输入输出单元(I/OI/O单元)要考虑以下一些要求:单元)要考虑以下一些要求:能够兼容TTL和CMOS多种接口电压和接口标准;可配置为输入、输出、双向I/O、集电极开路和三态门等各种组态;能提供适当的驱动电流,以直接驱动发光二极管等器件;降低功率消耗,防止过冲和减少电源噪声。I/OI/O单单元元分分布布于于器器件件的的四四周周,提提供供器器件件外外部部引引脚脚与与内内部部逻逻辑之间的连接。辑之间的连接。主要由触发器和缓冲器组成
31、。主要由触发器和缓冲器组成。每每个个IOBIOB控控制制一一个个外外部部引引脚脚,可可将将其其编编程程为为输输入入、输输出出或或双向双向I/OI/O功能,或功能,或集电极开路、三态门集电极开路、三态门等。等。372.3 2.3 CPLDCPLD的结构与特点的结构与特点三、可编程连线阵列三、可编程连线阵列PIA,ProgrammableInterconnectArray。其其作作用用是是在在各各逻逻辑辑宏宏单单元元之之间间以以及及逻逻辑辑宏宏单单元元和和I/O单单元之间提供互连网络。元之间提供互连网络。采采用用固固定定长长度度的的连连线线进进行行连连接接,从从而而有有固固定定的的延延时时,使时间
32、性能容易预测。使时间性能容易预测。而而在在FPGA中中基基于于通通道道布布线线方方案案的的布布线线延延时时是是累累加加的的、可变的,并与路径有关可变的,并与路径有关延迟不可预测!延迟不可预测!382.3 2.3 CPLDCPLD的结构与特点的结构与特点四、四、CPLDCPLD的性能特点的性能特点(1 1)可多次编程多次编程、改写和擦除。(2 2)采用CMOS EPROM、EEPROM、Flash Memory和SRAM等编编程程技技术术,具有高密度、高速度、高可靠性和低功耗。(3 3)I/O端数和内含触发器可多达数百个,集集成成度度远远高高于PAL和GAL。(4 4)有灵活多样的逻逻辑辑结结构
33、构,可满足各种数字电路系统设计的需要。(5 5)内部时间延迟与器件结构及逻辑连接等无关,可可预预测测,易消除竞争冒险。(6 6)有多位加密位,且器件等效数千个逻辑门以上,因此可杜绝编程数据的非法抄袭。CPLD能实现较复杂的逻辑,不仅仅因为采用了先进的编程工艺和逻辑结构,还在于提供了先进的数字系统设计开发工具。392.4 2.4 FPGAFPGA的结构与特点的结构与特点一、一、可配置逻辑模块(可配置逻辑模块(CLBCLB)二、二、输入输入/输出模块(输出模块(IOBIOB)三、可编程互连线(三、可编程互连线(PIPI)四、片内四、片内RAMRAM五、五、FPGAFPGA的性能特点的性能特点六、六
34、、FPGAFPGA与与CPLDCPLD的区别的区别内容概要内容概要402.4 2.4 FPGAFPGA的结构与特点的结构与特点与与CPLD相相比比,FPGA具具有有更更高高的的集集成成度度、更更强强的的逻逻辑辑功功能和更大的灵活性。能和更大的灵活性。FPGAFPGA器件基本结构器件基本结构一般由一般由3个个可编程可编程逻辑模块阵列逻辑模块阵列组成组成:可配置逻辑模块(CLB,Configurable Logic Block)输入/输出模块(IOB,Input/Output Block)可编程互连线PI(Programmable Interconnect),或 叫 互 连 资 源(ICR,Int
35、erconnect Capital Resource)FPGA器器件件内内还还有有一一可可配配置置的的SRAM,其其加加电电后后存存储储的的数数据决定器件的具体逻辑功能。据决定器件的具体逻辑功能。412.4 2.4 FPGAFPGA的结构与特点的结构与特点图图 2-9FPGA基基 本本 结结 构构(XilinxXC4000)(1)(2)(3)422.4 2.4 FPGAFPGA的结构与特点的结构与特点一一、可可 配配 置置 逻逻 辑辑 模模 块块(CLBCLB)CLBCLB是是FPGAFPGA的的主主要要组组成成部部分分,是是实实现现逻逻辑辑功功能能的的基基本本结结构构单单元元。它它主主要要由
36、由逻逻辑辑函函数数发发生生器器、触触发发器器、数据选择器等电路组成。数据选择器等电路组成。在在Xilinx Xilinx 公公司司的的XC4000XC4000器器件件中中每每个个CLBCLB由由3 3个个组组合合逻逻辑辑函函数数发发生生器器、2 2个个触触发发器器和和由由数数据据选选择择器器组组成成的的内部控制电路内部控制电路构成。构成。图图2-10XC4000的的CLB基本结构基本结构432.4 2.4 FPGAFPGA的结构与特点的结构与特点逻辑函数发生器G、F、H均为查找表结构,其工作原理类似于ROM,其物理结构是静态存储器(SRAM)。SRAM的地址线即输入变量值,SRAM的输出为逻辑
37、函数值。N个输入的查找表可以实现任意一个N输入的组合逻辑函数。G、F 为4输入函数发生器,H为3输入函数发生器,。G、F和H结合起来,总共可以实现多达九变量的组合逻辑函数。CLB中的两个边沿触发的D触发器主要用来实现寄存器逻辑。它们有公共的时钟和时钟使能输入端,S/R控制电路可以分别对两个触发器异步置位和复位,每个触发器都可以配置成上升沿触发和下降沿触发。CLB中的各种数据选择器(4选1,2选1等)可以被编程,分别用来选择触发器激励输入信号、时钟有效边沿、时钟使能信号以及输出信号,它们的地址控制信号均由编程信息提供。442.4 2.4 FPGAFPGA的结构与特点的结构与特点二、输入二、输入/
38、输出模块(输出模块(IOBIOB)IOBIOB分布于器件的四周,提供器件外部引脚与内部逻辑之间的连接。分布于器件的四周,提供器件外部引脚与内部逻辑之间的连接。主要由触发器和缓冲器组成。主要由触发器和缓冲器组成。每每个个IOBIOB控控制制一一个个外外部部引引脚脚,可可将将其其编编程程为为输输入入、输输出出或或双双向向I/OI/O功功能能,或或组合组合逻辑、逻辑、寄存器寄存器逻辑、逻辑、三态三态逻辑等。逻辑等。可编程接口图图2-11XC4000的的IOB基本结构基本结构452.4 2.4 FPGAFPGA的结构与特点的结构与特点三、可编程互连线(三、可编程互连线(PIPI)遍遍布布器器件件内内部
39、部,提提供供高高速速可可靠靠的的内内部部连连线线。它它将将CLB之之间间、CLB和和IOB之间连接起来,构成复杂的逻辑。之间连接起来,构成复杂的逻辑。主主要要由由纵纵横横分分布布在在CLB阵阵列列之之间间的的金金属属线线网网络络和和位位于于纵纵横横交交叉叉点点上上的的可可编编程程开开关关矩矩阵阵(PSM,ProgrammableSwitchMatrix)组成。组成。FPGA使用使用分层分层连线资源结构连线资源结构,提供提供3种连接结构:种连接结构:单长线连接双长线连接长线连接CPLD采用固定长采用固定长度的连线度的连线!462.4 2.4 FPGAFPGA的结构与特点的结构与特点(1 1)单单
40、/双长线连接双长线连接用于CLB之间的连接。任意两点间的连接都要通过开关矩阵。利于相邻CLB之间的快快速速互连和复复杂杂互连,但FPGA内部时延与器件结构和逻辑布线等有关,其信号传输时时延不确定延不确定。通用单单长长线线连接包括夹在CLB之间的8 8条垂直和8 8条水平金属线段,其交叉点是PSM。用于相相邻邻CLB或CLB与IOB之间的连接。通用双双长长线线连接包括夹在CLB之间的4 4条垂直和4 4条水平金属线段。其长度是单长线的两倍。用于连接两个相相隔隔(非相邻)的CLB。472.4 2.4 FPGAFPGA的结构与特点的结构与特点图图2-12通用单通用单/双长线连接结构双长线连接结构相邻
41、相邻相邻相邻相隔相隔相隔相隔单长线单长线双长线双长线482.4 2.4 FPGAFPGA的结构与特点的结构与特点(2 2)长线连接长线连接长线是水平或垂直地贯穿于整个芯片的金属线,称为水平长线和垂直长线。不经过PSM,信号延迟小,主要用于长距离或多分支信号(如控制、时钟信号)的传送。492.4 2.4 FPGAFPGA的结构与特点的结构与特点四、片内四、片内RAMRAM在在进进行行数数字字信信号号处处理理、数数据据加加密密或或数数据据压压缩缩等等复复杂杂数数字字系系统统设设计计时时,要要用用到到存存储储器器。如如果果将将存存储储模模块块集集成成到到PLD芯芯片片中中,可可简简化化设设计计,提提
42、高高系系统统速速度度,还还可可减减少少数数据据存存储储的的成本,使芯片内外数据交换更可靠。成本,使芯片内外数据交换更可靠。目目前前新新一一代代FPGA都都提提供供片片内内RAM。这这种种片片内内RAM的的速速度度非常快,读操作的时间为非常快,读操作的时间为34ns,写操作的时间为写操作的时间为5ns。FPGA的片内的片内RAM分为两类:分为两类:块RAM分布式RAM502.3 2.3 CPLDCPLD的结构与特点的结构与特点五、五、FPGAFPGA的性能特点的性能特点(1 1)采用SRAM编程技术,具有高密度、高速度、高可靠性和低功耗。(2 2)丰富的I/O端数和触发器,集成度远远高于PAL和
43、GAL。(3 3)结构灵活,内部的CLB、IOB和PI均可编程;强有力的组合逻辑函数发生器,可实现多个变量的任意逻辑。可满足各种数字电路系统设计的需要。(4 4)某些FPGA还提供片内高速RAM,可用于FIFO等的设计。(5 5)每次上电时需进行数据配置;断电后,配置数据自动丢失。(6 6)内部时间延迟与器件结构及逻辑连接等有关,故信号传输时延不可预测缺点。与CPLD的最大区别!512.4 2.4 FPGAFPGA的结构与特点的结构与特点六、六、FPGAFPGA与与CPLDCPLD的区别的区别编程技术与数据易失性编程技术与数据易失性通常通常FPGA采用采用SRAM进行功能配置,可以重复编程,但
44、系统进行功能配置,可以重复编程,但系统掉电后,掉电后,SRAM中的数据丢失。因此,需在中的数据丢失。因此,需在FPGA外加外加EPROM,将配置数据写入其中,系统每次上电自动将数据引将配置数据写入其中,系统每次上电自动将数据引入入SRAM中。中。而一般而一般CPLD器件采用器件采用EEPROM存储技术,可重复编程,且系存储技术,可重复编程,且系统掉电后,统掉电后,EEPROM中的数据不会丢失,适于数据的保密。中的数据不会丢失,适于数据的保密。触发器资源触发器资源FPGA器件由于含有丰富的触发器资源,容易实现器件由于含有丰富的触发器资源,容易实现时序时序逻辑,逻辑,若要求实现比较复杂的组合电路则
45、需要几个若要求实现比较复杂的组合电路则需要几个CLB结合起来实现。结合起来实现。CPLD的与或阵列结构,使它更适合于实现大规模的的与或阵列结构,使它更适合于实现大规模的组合逻辑组合逻辑功能,而它的触发器资源相对比较少。功能,而它的触发器资源相对比较少。522.4 2.4 FPGAFPGA的结构与特点的结构与特点芯片利用率芯片利用率FPGA多为多为细粒度细粒度结构。结构。FPGA内部有丰富连线资源,内部有丰富连线资源,CLB分块比较分块比较小,芯片利用率比较高。小,芯片利用率比较高。CPLD多为多为粗粒度粗粒度结构。结构。CPLD宏单元的与或阵列较大,通常不能宏单元的与或阵列较大,通常不能完全被
46、应用,而且宏单元之间主要通过高速数据通道连接,容量有完全被应用,而且宏单元之间主要通过高速数据通道连接,容量有限,限制了器件的灵活布线,因此限,限制了器件的灵活布线,因此CPLD利用率比利用率比FPGA低低。布线结构与延时预测性布线结构与延时预测性FPGA为为非连续式非连续式布线。布线。FPGA器件在每次编程时实现的逻辑功能一器件在每次编程时实现的逻辑功能一样,但走的路线不同,因此样,但走的路线不同,因此延时难以预测延时难以预测,要求开发软件允许工程,要求开发软件允许工程师对关键的路线给予限制。师对关键的路线给予限制。CPLD为为连续式连续式布线。布线。CPLD每次布线路径一样,其连续式互连结
47、构每次布线路径一样,其连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互连,消除了利用具有同样长度的一些金属线实现逻辑单元之间的互连,消除了分段式互连结构在定时上的差异,并且在逻辑单元之间提供分段式互连结构在定时上的差异,并且在逻辑单元之间提供快速快速而而且具有且具有固定延时固定延时的通路。另外,的通路。另外,CPLD的延时比较小。的延时比较小。532.4 2.4 FPGAFPGA的结构与特点的结构与特点表表2-4FPGA与与CPLD的比较的比较542.5 2.5 主要的主要的PLDPLD厂商厂商ProviderProductDescriptionEDA ToolAlteraCPL
48、D:MAX;FPGA:FLEX,APEX,Cyclone,Stratix One of the 3 biggest PLD providers in the world.Reprogrammable PLDMAX+PLUS(第三代),Quartus(第四代)XilinxCPLD:CoolRunner,XC9500;FPGA:XC4000,Virtex,SpartanOne of the 3 biggest PLD providers in the world.The inventer ofFPGA.Reprogrammable PLDFoundation(早期的开发工具),ISELattice
49、高密度高密度PLD:ispLSI,ispMACH;低密度低密度PLD:ispGAL/PAL,ispGDX,ispGDSOne of the 3 biggest PLD providers in the world.The inventer ofISP technology,GAL.ispDesignEXPERT,ispLEVER(2002年新推出)ActeleX,MX,SX/SX-A The leader of OTP(One Time Programmable)FPGA.Widely used in military,aeronautics and space fields.Designer
50、,Libro2.2552.5 2.5 主要主要的的PLDPLD厂商厂商1.Altera公司公司九十年代以后发展很快,是三大九十年代以后发展很快,是三大PLD供应商之一。供应商之一。早期有早期有MAX系列(第一代基于乘积项结构的系列(第一代基于乘积项结构的CPLD););后来有后来有FLEX系列、系列、APEXAPEX系列、系列、ACEXACEX系列系列 ;2002年年推出推出Cyclone系列(系列(成本最低)、成本最低)、Stratix系列(系列(高速高速、高密度高密度);2004年推出年推出CycloneII系列、系列、StratixII系列,系列,MAXII系列系列(第二代低成本(第二代