您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 第3章CPLD与FPGA简介
第三章CPLD/FPGA简介2CPLD/FPGA的主要特点CPLD/FPGA是一种半定制的ASIC,属LSI或VLSI逻辑器件;其主要特性是:1、采用LSI/VLSI技术制造,高集成度(最高已达千万门级);2、支持各种组合逻辑和时序逻辑电路设计,甚至实现“片上系统”(SOC);3、可编程改变芯片的逻辑功能,芯片可重复使用,具有ISP或ICR特性。(ISP:InSystemProgramming,在系统编程)(ICR:InCircuitReconfigable,在电路重构)3、有很高的逻辑布线能力,可以预测信号延迟,便于使用计算机进行逻辑功能仿真与时序仿真。4、有良好的设计加密功能,便于保护知识产权(IP)。5、有强大的EDA开发工具(软件)支持,与ASIC设计相比,易学易用。6、研制、开发时间较短,费用相对少。7、必须借助CPLD开发系统,才能设计、开发CPLD/FPGA系统。3CPLD/FPGA与SPLD一般认为,复杂可编程逻辑器件CPLD/FPGA的单片集成度大于1000门,而简单可编程逻辑器件SPLD(SimpleProgramableLogicDevice)的单片集成度小于1000门。目前FPGA的单片集成度已超过1千万门,达到Intel公司最新奔腾ⅣCPU的集成度。可以在这种高集成度的FPGA芯片上设计CPU/DSP,实现SOPC。GAL/PAL芯片属于SPLD,但目前它们已较少使用。4ALTERA公司的新一代千万门级的可编程逻辑器件Stratix▲该系列芯片采用1.5v内核,0.13微米全铜工艺。▲开发系统是QuartusII2.0版本。▲该系列中型号为EP1S120的芯片,内含114,140个LE(约1.1M个门电路),芯片中包含的元件数量已超过10M个。5ALTERA的新一代低成本高密度FPGA:Cyclone(飓风)该FPGA芯片集成度达330万门,可用于SOPC设计6一块SOPC板7一块SOPC板的应用:用作电视解码器8经过了最近20年的发展,许多IC设计公司都开发出了CPLD/FPGA。Altera公司的CPLD系列和Xilinx公司的FPGA系列,全球知名度高、应用面广,开发系统成熟,占据了世界PLD市场的较大分额。全球CPLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了CPLD技术的发展方向。9CPLD/FPGA的叫法不同的厂家,对自己生产的可编程逻辑器件叫法不尽相同。PLD(ProgrammableLogicDevice)是可编程逻辑器件的总称。PAL、GAL等是早期的SPLD芯片。FPGA(FieldProgrammableGateArry,现场可编程门阵列)是Xilinx公司发明的。Xilinx公司把基于查找表技术、SRAM存储工艺的可编程逻辑器件叫FPGA;把基于乘积项技术、E2PROM(或FlashMEM)存储工艺的可编程逻辑器件叫CPLD;Altera公司把自己生产的可编程逻辑器件都叫作CPLD,即复杂PLD(ComplexPLD),但分为MAX系列CPLD(乘积项技术、E2PROM存储工艺)和FLEX/ACEX/APEX系列CPLD(查找表技术、SRAM存储工艺)。由于FLEX等系列是基于查找表技术、采用SRAM存储工艺的器件,其使用方法和Xilinx的FPGA一样,所以人们也把FLEX/ACEX/APEX系列的CPLD产品叫做FPGA。10如何使用CPLD/FPGA?开发、使用CPLD需要掌握三部分的知识:1、熟悉、了解CPLD/FPGA芯片;2、掌握CPLD/FPGA开发系统(软件);3、能对CPLD/FPGA芯片进行编程配置(加载设计代码)。由于CPLD/FPGA开发系统已发展得相当完善,用户甚至可以不用详细了解CPLD/FPGA的内部结构,就可以用自己熟悉的方法(如原理图输入法/HDL语言输入法/波形输入法)来完成要求的CPLD/FPGA设计。但是若要很好的掌握CPLD/FPGA设计与应用技术,懂得必要的CPLD/FPGA结构组成、特性参数与基本工作原理还是必要的。另外,能熟练操作、使用一种CPLD/FPGA开发系统、至少掌握一种HDL语言也是必要的,这将有助于提高设计的效率和可行性。目前主要的CPLD/FPGA生产商都提供适合自己产品开发、应用的EDA开发软件。也有许多第三方EDA软件公司提供CPLD/FPGA开发系统,且性能优良。如CANDENCE公司的SPW系统、Altec公司的ActiveCAD系统。11CPLD/FPGA设计流程用户输入开发系统利用计算机进行处理用户测试12主要的CPLD/FPGA生产厂商目前世界上有多家公司生产CPLD/FPGA,主要的CPLD/FPGA生产厂商有:1、Altera公司,主要的CPLD生产厂商2、Xilinx公司,主要的FPGA生产厂商3、Lattice公司,著名的CPLD生产厂商4、ACTEL公司,著名的CPLD生产厂商5、Cypress公司,著名的CPLD生产厂商6、Atemal公司,著名的IC/MCU公司,也设计生产PLD产品.7、Luccent公司,著名的通讯企业,也设计生产PLD产品.13国外主要的CPLD/FPGA开发系统有:Altera:MAX+PlusII、QuartusIIXilinx:Foundation、ISE、AllianceLattice:Synario、ispDesignEXPERT、VantisAltec:ActiveCADCPRESSWRAPOrCAD:OrCAD/200014CPLD/FPGA的结构分类对于CPLD产品,按结构一般可分为:基于乘积项(Product-Term)技术、EEPROM(或FlashMemory)存储工艺的CPLD,和基于查找表(Look-Uptable)技术、SRAM存储工艺的FPGA。基于EEPROM存储工艺的CPLD集成度相对小一点,多用于2万门规模以下的设计,适合实现较复杂的组合逻辑,如编、译码设计。基于SRAM工艺的FPGA,集成度较高,内部触发器多,多用于1万门以上的大规模系统设计,适合做复杂的时序逻辑设计,如数字信号处理和各种算法。已有基于FPGA的SOPC器件问世,并得到广泛关注。15采用这种结构的PLD芯片有:Altera的MAX7000,MAX9000,MAX3000系列(E2PROM工艺),Xilinx的XC9500系列(Flash工艺)和Lattice,Cypress的大部分产品(E2PROM/Flash工艺)这种CPLD的基本结构如下所示:(以MAX7000结构组成为例,其他型号CPLD的结构与此非常相似)。基于乘积项(Product-Term)的CPLD结构16CPLD内部结构(Altera的MAX7000S系列)逻辑阵列块中包含多个宏单元逻辑阵列块(LAB)可编程I/O控制块可编程连线资源17逻辑宏单元的基本结构逻辑宏单元是PLD的基本结构,由它来实现基本的逻辑功能。一般8个逻辑宏单元构成一个逻辑阵列块LAB。上图中的兰色部分就是LAB。可编程连线PIA负责信号传递,连接所有的逻辑宏单元。I/O控制块(IOB)负责输入输出引脚的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。逻辑宏单元的具体结构见下图:18宏单元的内部结构乘积项逻辑阵列乘积项选择矩阵可编程触发器19上图的左侧是乘积项阵列,实际就是一个与阵列,每个交叉点都是一个可编程点。通过“与阵列”产生乘积项(最小项)。后面的或门把按要求产生的乘积项“加”起来,得到需要的输出组合逻辑函数。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟。图中的异或门用来控制组合逻辑函数的极性。由图可见,CPLD的宏单元(也可称为逻辑单元LE)与GAL的OLMC结构非常类似。20开发系统对MAX7064SLAB的描述21可编程的I/O控制块使引脚能兼容TTL和CMOS多种接口和电压标准;可将引脚配置为输入、输出、双向、集电极开路和三态等形式;能提供适当的驱动电流;降低引脚接口功耗,防止脉冲过冲和减少电源噪声支持多种接口电压(降低芯片功耗)●1.2~0.5um,5V●0.35um,3.3V●0.25um,internal2.5V,I/O3.3V●0.18um,internal1.8V,I/O2.5Vand3.3V22可编程连线阵列PIA在各个逻辑宏单元之间以及逻辑宏单元与I/O单元之间提供可编程的信号连接网络;CPLD中一般采用固定长度的线段来进行连接,因此信号传输的延时是固定的,使得信号传输时时间延时能够预测。23FPGA的结构与工作原理FPGA都采用查找表(Look-Up-Table,LUT)来实现逻辑函数。如Altera的FLEX/ACEX/APEX系列器件和Xilinx的多数器件。FPGA的编程配置元件都是SRAM。由于SRAM较易制造,且其可重复编程使用的次数几乎无限,所以目前高集成度的可编程逻辑器件几乎都是FPGA。24FPGA基本结构组成图FPGA的内部结构称为LCA(LogicCellArray),由三个基本部分组成1、可编程逻辑块(CLB)2、可编程输入输出块(IOB)3、可编程连线资源(PIR)CLB中包含1个或2个逻辑单元(LE)CLB包含1个或2个逻辑单元IOB可编程连线资源(PIR)25FPGA的基本组成可编程逻辑块CLB组成了FPGA的核心门阵列,能完成用户指定的逻辑功能;每个CLB中包含1个或2个逻辑单元(LE)。LE主要由一个组合逻辑函数发生器、几个触发器、若干个多路选选择器及控制电路组成。可编程的输入/输出块IOB位于芯片内部四周,在内部逻辑阵列与外部芯片封装引脚之间提供一个可编程接口,它主要由逻辑门、触发器和控制单元组成。可编程连线资源PIR位于芯片内部的逻辑块之间,经编程后形成连线网络,用于芯片内部逻辑间的相互连接,并在它们之间传递逻辑信息。2627CLB基本结构图28LE内部结构29什么是查找表(Look-Up-Table,LUT)?▲查找表(LUT)就是一个有N根(一般是4根)地址线的16x1的RAM存储器。▲当用户通过原理图或HDL语言描述了一个4输入的逻辑电路后,CPLD/FPGA开发软件就会按设计要求自动计算逻辑电路的所有可能的结果,并把该结果事先写入这个RAM存储器。这样,当输入变量作为RAM的地址信号输入时,预期的结果(输出逻辑函数)就作为RAM的存储数据输出了。▲利用这种查表的方法实现逻辑函数输出是一种简单、高效的方法。这就是存储器可用作逻辑函数发生器的原理。▲N个输入的逻辑函数,需要2的N次方的容量的SRAM来实现30查找表(LUT)的工作原理与组成31查找表(LUT)的工作原理与组成32查找表结构的FPGA逻辑实现原理以这个电路为例:▲A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中由于已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。▲该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了上图所示电路的功能。▲这个电路是一个简单范例,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。33查找表的工作原理▲N个输入的逻辑函数需要2的N次方的容量的SRAM来实现。▲一个LUT无法完成的N4的多输入电路,就需要通过进位逻辑和级连的方法将多个LUT单元相连,这样FPGA就可以实现复杂的逻辑。查找表与门查找表与门查找表与门d[3..0]d[7..4]d[11..0]34XC4000系列FPGA的CLB基本结
本文标题:第3章CPLD与FPGA简介
链接地址:https://www.777doc.com/doc-51201 .html