CPLD与FPGA简介.ppt

上传人:小飞机 文档编号:5423556 上传时间:2023-07-05 格式:PPT 页数:51 大小:2.24MB
返回 下载 相关 举报
CPLD与FPGA简介.ppt_第1页
第1页 / 共51页
CPLD与FPGA简介.ppt_第2页
第2页 / 共51页
CPLD与FPGA简介.ppt_第3页
第3页 / 共51页
CPLD与FPGA简介.ppt_第4页
第4页 / 共51页
CPLD与FPGA简介.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《CPLD与FPGA简介.ppt》由会员分享,可在线阅读,更多相关《CPLD与FPGA简介.ppt(51页珍藏版)》请在三一办公上搜索。

1、第 三 章CPLD/FPGA简介,CPLD/FPGA 的主要特点,CPLD/FPGA是一种半定制的ASIC,属LSI或VLSI逻辑器件;其主要特性是:1、采用LSI/VLSI技术制造,高集成度(最高已达千万门级);2、支持各种组合逻辑和时序逻辑电路设计,甚至实现“片上系统”(SOC);3、可编程改变芯片的逻辑功能,芯片可重复使用,具有ISP或ICR特性。(ISP:In System Programming,在系统编程)(ICR:In Circuit Reconfigable,在电路重构)3、有很高的逻辑布线能力,可以预测信号延迟,便于使用计算机进行逻辑功能仿真与时序仿真。4、有良好的设计加密功

2、能,便于保护知识产权(IP)。5、有强大的EDA开发工具(软件)支持,与ASIC设计相比,易学易用。6、研制、开发时间较短,费用相对少。7、必须借助CPLD开发系统,才能设计、开发CPLD/FPGA系统。,CPLD/FPGA 与 SPLD,一般认为,复杂可编程逻辑器件CPLD/FPGA的单片集成度大于1000门,而简单可编程逻辑器件SPLD(Simple Programable Logic Device)的单片集成度小于1000门。目前FPGA的单片集成度已超过1千万门,达到Intel公司最新奔腾 CPU的集成度。可以在这种高集成度的FPGA芯片上设计CPU/DSP,实现SOPC。GAL/PA

3、L芯片属于SPLD,但目前它们已较少使用。,ALTERA公司的新一代千万门级的可编程逻辑器件Stratix,该系列芯片采用1.5v内核,0.13微米全铜工艺。开发系统是QuartusII 2.0版本。该系列中型号为EP1S120的芯片,内含114,140 个LE(约1.1M个门电路),芯片中包含的元件数量已超过10M个。,ALTERA的新一代低成本高密度FPGA:Cyclone(飓风),该FPGA芯片集成度达330万门,可用于SOPC设计,一块SOPC板,一块SOPC板的应用:用作电视解码器,经过了最近20年的发展,许多IC设计公司都开发出了CPLD/FPGA。Altera 公司的 CPLD

4、系列和Xilinx 公司的 FPGA 系列,全球知名度高、应用面广,开发系统成熟,占据了世界PLD市场的较大分额。全球CPLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了CPLD技术的发展方向。,CPLD/FPGA的叫法,不同的厂家,对自己生产的可编程逻辑器件叫法不尽相同。PLD(Programmable Logic Device)是可编程逻辑器件的总称。PAL、GAL等是早期的SPLD芯片。FPGA(Field Programmable Gate Arry,现场可编程门阵列)是Xilinx公司发明的。Xilinx公司把基于查找表技术

5、、SRAM存储工艺的可编程逻辑器件叫FPGA;把基于乘积项技术、E2PROM(或Flash MEM)存储工艺的可编程逻辑器件叫CPLD;Altera公司把自己生产的可编程逻辑器件都叫作CPLD,即复杂PLD(Complex PLD),但分为 MAX系列CPLD(乘积项技术、E2PROM存储工艺)和FLEX/ACEX/APEX系列CPLD(查找表技术、SRAM存储工艺)。由于FLEX等系列是基于查找表技术、采用SRAM存储工艺的器件,其使用方法和Xilinx的FPGA一样,所以人们也把FLEX/ACEX/APEX系列的CPLD产品叫做FPGA。,如何使用CPLD/FPGA?,开发、使用CPLD需

6、要掌握三部分的知识:1、熟悉、了解CPLD/FPGA芯片;2、掌握CPLD/FPGA开发系统(软件);3、能对CPLD/FPGA芯片进行编程配置(加载设计代码)。由于CPLD/FPGA开发系统已发展得相当完善,用户甚至可以不用详细了解CPLD/FPGA的内部结构,就可以用自己熟悉的方法(如原理图输入法/HDL语言输入法/波形输入法)来完成要求的CPLD/FPGA设计。但是若要很好的掌握CPLD/FPGA设计与应用技术,懂得必要的CPLD/FPGA结构组成、特性参数与基本工作原理还是必要的。另外,能熟练操作、使用一种CPLD/FPGA开发系统、至少掌握一种HDL语言也是必要的,这将有助于提高设计

7、的效率和可行性。目前主要的CPLD/FPGA生产商都提供适合自己产品开发、应用的EDA开发软件。也有许多第三方EDA软件公司提供CPLD/FPGA开发系统,且性能优良。如CANDENCE公司的SPW系统、Altec公司的Active CAD系统。,CPLD/FPGA设计流程,用户输入,开发系统利用计算机进行处理,用户测试,主要的CPLD/FPGA生产厂商,目前世界上有多家公司生产CPLD/FPGA,主要的CPLD/FPGA生产厂商有:1、Altera 公司,主要的CPLD生产厂商2、Xilinx 公司,主要的FPGA生产厂商3、Lattice公司,著名的CPLD生产厂商4、ACTEL公司,著名

8、的CPLD生产厂商5、Cypress公司,著名的CPLD生产厂商6、Atemal公司,著名的IC/MCU公司,也设计生产PLD产品.7、Luccent公司,著名的通讯企业,也设计生产PLD产品.,国外主要的CPLD/FPGA开发系统有:,Altera:MAX+PlusII、QuartusII Xilinx:Foundation、ISE、AllianceLattice:Synario、ispDesignEXPERT、VantisAltec:Active CADCPRESS WRAPOrCAD:OrCAD/2000,CPLD/FPGA的结构分类,对于CPLD产品,按结构一般可分为:基于乘积项(Pr

9、oduct-Term)技术、EEPROM(或Flash Memory)存储工艺的CPLD,和基于查找表(Look-Up table)技术、SRAM存储工艺的FPGA。基于EEPROM存储工艺的CPLD集成度相对小一点,多用于2万门规模以下的设计,适合实现较复杂的组合逻辑,如编、译码设计。基于SRAM工艺的FPGA,集成度较高,内部触发器多,多用于1万门以上的大规模系统设计,适合做复杂的时序逻辑设计,如数字信号处理和各种算法。已有基于FPGA的SOPC器件问世,并得到广泛关注。,采用这种结构的PLD芯片有:Altera的MAX7000,MAX9000,MAX3000系列(E2PROM工艺),Xi

10、linx的XC9500系列(Flash工艺)和Lattice,Cypress的大部分产品(E2PROM/Flash工艺)这种CPLD的基本结构如下所示:(以MAX7000结构组成为例,其他型号CPLD的结构与此非常相似)。,基于乘积项(Product-Term)的CPLD结构,CPLD内部结构(Altera的MAX7000S系列),逻辑阵列块中包含多个宏单元,逻辑阵列块(LAB),可编程I/O控制块,可编程连线资源,逻辑宏单元的基本结构,逻辑宏单元是 PLD 的基本结构,由它来实现基本的逻辑功能。一般8个逻辑宏单元构成一个逻辑阵列块LAB。上图中的兰色部分就是LAB。可编程连线PIA负责信号传

11、递,连接所有的逻辑宏单元。I/O 控制块(IOB)负责输入输出引脚的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。逻辑宏单元的具体结构见下图:,宏单元的内部结构,乘积项逻辑阵列,乘积项选择矩阵,可编程触发器,上图的左侧是乘积项阵列,实际就是一个与阵列,每个交叉点都是一个可编程点。通过“与阵列”产生乘积项(最小项)。后面的或门把按要求产生的乘积项“加”起来,得到需要的输出组合逻辑函数。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟。图中的异或门用来控制组合逻辑函数的极性。由图可见,CPLD的宏单元(也可称为逻辑单元LE)与GAL的

12、OLMC结构非常类似。,开发系统对MAX7064SLAB的描述,可编程的I/O控制块,使引脚能兼容TTL和CMOS多种接口和电压标准;可将引脚配置为输入、输出、双向、集电极开路和三态等形式;能提供适当的驱动电流;降低引脚接口功耗,防止脉冲过冲和减少电源噪声支持多种接口电压(降低芯片功耗)1.20.5um,5V0.35um,3.3V0.25um,internal 2.5V,I/O3.3V0.18um,internal 1.8V,I/O2.5V and 3.3V,可编程连线阵列PIA,在各个逻辑宏单元之间以及逻辑宏单元与I/O单元之间提供可编程的信号连接网络;CPLD中一般采用固定长度的线段来进行

13、连接,因此信号传输的延时是固定的,使得信号传输时时间延时能够预测。,FPGA的结构与工作原理,FPGA都采用查找表(Look-Up-Table,LUT)来实现逻辑函数。如Altera的FLEX/ACEX/APEX系列器件和 Xilinx的多数器件。FPGA的编程配置元件都是SRAM。由于SRAM较易制造,且其可重复编程使用的次数几乎无限,所以目前高集成度的可编程逻辑器件几乎都是FPGA。,FPGA基本结构组成图,FPGA的内部结构称为LCA(Logic Cell Array),由三个基本部分组成1、可编程逻辑块(CLB)2、可编程输入输 出块(IOB)3、可编程连线资 源(PIR)CLB中包含

14、1个或2个逻辑单元(LE),CLB包含1个或2个逻辑单元,IOB,可编程连线资源(PIR),FPGA的基本组成,可编程逻辑块CLB组成了FPGA的核心门阵列,能完成用户指定的逻辑功能;每个CLB中包含1个或2个逻辑单元(LE)。LE主要由一个组合逻辑函数发生器、几个触发器、若干个多路选选择器及控制电路组成。可编程的输入/输出块IOB位于芯片内部四周,在内部逻辑阵列与外部芯片封装引脚之间提供一个可编程接口,它主要由逻辑门、触发器和控制单元组成。可编程连线资源PIR位于芯片内部的逻辑块之间,经编程后形成连线网络,用于芯片内部逻辑间的相互连接,并在它们之间传递逻辑信息。,基本结构图,LE内部结构,什

15、么是查找表(Look-Up-Table,LUT)?,查找表(LUT)就是一个有N根(一般是4根)地址线的16x1的RAM存储器。当用户通过原理图或 HDL 语言描述了一个4输入的逻辑电路后,CPLD/FPGA 开发软件就会按设计要求自动计算逻辑电路的所有可能的结果,并把该结果事先写入这个RAM存储器。这样,当输入变量作为RAM的地址信号输入时,预期的结果(输出逻辑函数)就作为RAM的存储数据输出了。利用这种查表的方法实现逻辑函数输出是一种简单、高效的方法。这就是存储器可用作逻辑函数发生器的原理。N个输入的逻辑函数,需要2的N次方的容量的SRAM来实现,查找表(LUT)的工作原理与组成,查找表(

16、LUT)的工作原理与组成,查找表结构的FPGA逻辑实现原理,以这个电路为例:A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中由于已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了上图所示电路的功能。这个电路是一个简单范例,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的的电路,就需要通过进位逻

17、辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。,查找表的工作原理,N个输入的逻辑函数需要2的N次方的容量的SRAM来实现。一个LUT无法完成的N4的多输入电路,就需要通过进位逻辑和级连的方法将多个LUT单元相连,这样FPGA就可以实现复杂的逻辑。,XC4000系列FPGA的CLB基本结构,CLB主要由组合逻辑函数发生器、触发器、数据选择器等电路组成。,在CLB中有三个组合逻辑函数发生器,它们分别是G、F和H,对应的输出是G、F和H。G有四个输入变量G1、G2、G3和G4,F也有四个输入变量F1、F2、F3和F4G和F这两个逻辑函数发生器是完全独立的,均可实现4输入变量的任意组合逻辑函数。

18、组合逻辑函数发生器H有三个输入信号,分别来自前两个函数发生器的输出G、F和信号变换电路的输出H1。组合逻辑函数发生器H能实现3输入变量的各种组合函数。利用三个组合逻辑函数发生器,可以实现多达9个变量的组合逻辑函数。XC4000的CLB中有两个边沿触发的D触发器,它们共有一个公共的时钟,共有一个时钟使能输入端,允许选择时钟信号高或低电平有效。可以看出,只要对CLB内部的数据选择器进行编程,逻辑函数发生器G、F和H的输出就可以触发器连接,实现所需要的时序逻辑输出。在CLB中的不同规格的数据选择器,分别用来选择触发器激励输入信号、时钟有效边沿、时钟使能信号以及输出信号等。,XC4000系列的I/OB

19、 基本结构,XC4000系列的I/OB主要由输入触发器、输入缓冲器和输出触发锁存器、输出缓冲器组成,它保证了器件引脚和内部逻辑阵列之间的连接。其中输入通道分为寄存器输入和直接输人两种方式。输入信号允许有选择地编程延时。输入寄存器的时钟极性、置位、复位端及输人上拉或下拉电阻均可由程序控制。在输出通道中,每个输出端都有一个三态输出缓冲器。通过程序控制可选择寄存器输出或直接输出方式。因此,每个I/OB控制一个引脚,通过程序设置它们可被配置为输入、输出或双向I/O功能。,XC4000系列的可编程连线资源PIR(单长线、双长线和长线),可编程互连资源PIR通常将FPGA内部的CLB和CLB之间、CLB和

20、I/OB之间连接起来,组成各种具有复杂功能的系统。PIR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。XC4000系列采用分段互连资源结构,如果以线段的相对长度来划分,可分为单长线、双长线和长线三种。单长线是指可编程开关矩阵和CLB之间的连线,是贯穿于CLB之间的八条垂直和水平金属线段,可编程开关矩阵位于这些金属线段的交叉点。通过编制程序,可控制开关矩阵将某个CLB与其它CLB或I/OB连在一起。双长线包括夹在CLB之间的四条垂直和水平金属线段。双长线双倍于单长线,其长度通过两个CLB。穿过两个CLB之后,这些金属线段才与可编程的开关矩阵相连。因此,利用双

21、长线可以实现使两个相隔(非相邻)的CLB连接。长线是通过特殊缓冲器驱动、贯穿全局的金属连线,用来连接时钟和其它高扇出信号。由长线网构成的金属网络,布满了阵列的全部长和宽。CLB的输入可以由邻近的任一长线驱动,输出可以通过三态缓冲器驱动长线。长线通常用于高扇出、关键信号的传播。,Altera的FLEX/ACEX等芯片的结构,Altera FLEX/ACEX 芯片的内部结构,ALTERA 10K10器件的内部结构图,内含728576个LE,FPGA中的嵌入式阵列(EAB),可灵活配置的RAM块,典型大小是4KB。用途实现比较复杂的函数的查找表,如正弦、余弦表等。可实现多种存储器功能,如RAM,RO

22、M,双口RAM,FIFO,Stack等灵活配置方法:可配置成25616、5128、10244、20482、40961。,内部晶振电路,高速反向放大器用于和外部晶体相接,形成内部晶体振荡器。提供将振荡波形二分频成对称方波的功能。,CPLD与FPGA的类似之处,CPLD与FPGA在很大程度上具有类似之处,概括起来,可以认为它们都是由以下三部分共同组成:(1)输入/输出单元。(2)二维逻辑块阵列,是PLD器件的逻辑组成的核心(3)用于连接逻辑块的互连资源,其中可以是各种长度的连线线段,也可以是一些可编程的连接开关,通常用来连接逻辑块之间、逻辑块与输入/输出块之间的连线。对用户而言,CPLD与FPGA

23、的内部结构虽有不同,但使用方法基本一样。所以在多数情况下无需加以区分。,CPLD与FPGA的区别,FPGA与CPLD的区别,FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。因此需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。FPGA的逻辑功能由于是利用LUT来实现,且SRAM编程结构相当较简单,故易于

24、大规模集成。目前2万门以上规模集成的PLD,都是FPGA。CPLD的与或阵列结构,使其适宜实现较大规模的组合逻辑功能,但触发器资源相对较少,实现较大规模的时序逻辑功能有一定的难度。CPLD的“与或阵列”结构和非易失性编程特性也不适宜超大规模集成。一般其集成度不超过2万门。,FPGA与CPLD的区别,FPGA内部有丰富连线资源,CLB分块较小,芯片的利用率较高。CPLD的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此CPLD的利用率较FPGA器件低。FPGA为非连续式布线,CPLD为连续式布线。FPGA器件在每次编程时实现的

25、逻辑功能一样,但走的路线不同,因此延时不易控制,要求开发软件允许工程师对关键的路线给予限制。CPLD每次布线路径一样,CPLD的连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互连。连续式互连结构消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路。因此CPLD的延时较小,工作频率较高。,CPLD器件的命名与选型,EPM7 128 S L C 8410EPM7:产品系列为EPM7000系列128:有128个逻辑宏单元S:电压为5V,AE为3.3V,B为2.5VL:封装为PLCC,Q代表PQFP等C:商业级(Commercial)070度,I:工业级(In

26、dustry),4085度M:军品级(Military),55125度84:管脚数目10:速度级别,CPLD/FPGA管脚的定义,特殊功能的管脚电源脚VCC和GND。VCC一般分为VCCINT和VCCIO两种JTAG管脚:实现在线编程和边界扫描;配置管脚(FPGA):用于连接EEPROM配置芯片;信号管脚专用输入管脚:全局时钟、复位、置位;可随意配置其功能为:输入、输出、双向、三态,习 题,1、什么是基于乘积项的可编程逻辑结构?2、什么是基于查找表的可编程逻辑结构?3、简述Altera CPLD的特性,说明其各组成部分的主要功 能。4、FPGA器件在结构上有那些特点?说明其各组成部分的主要功能5、市场上主要的CPLD/FPGA厂商有那些?6、市场上有哪些主流的CPLD开发系统?它们有哪些基本特性?7、简述CPLD/FPGA的开发与设计过程。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号