资源预览内容
第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
第9页 / 共51页
第10页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第 三 章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、有良好的设计加密功能,便于保护知识产权(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/PAL芯片属于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 系列和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公司把基于查找表技术、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需要掌握三部分的知识: 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公司的Active CAD系统。,CPLD/FPGA设计流程,用户输入,开发系统利用计算机进行处理,用户测试,主要的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产品.,国外主要的CPLD/FPGA开发系统有:,Altera: MAX+PlusII、QuartusII Xilinx: Foundation、ISE、Alliance Lattice: Synario、ispDesignEXPERT、Vantis Altec: Active CAD CPRESS WRAP OrCAD: OrCAD/2000,CPLD/FPGA的结构分类,对于CPLD产品,按结构一般可分为:基于乘积项(Product-Term)技术、EEPROM(或Flash Memory)存储工艺的CPLD,和基于查找表(Look-Up table)技术、SRAM存储工艺的FPGA。 基于EEPROM存储工艺的CPLD集成度相对小一点,多用于2万门规模以下的设计,适合实现较复杂的组合逻辑,如编、译码设计。 基于SRAM工艺的FPGA,集成度较高,内部触发器多,多用于1万门以上的大规模系统设计,适合做复杂的时序逻辑设计,如数字信号处理和各种算法。 已有基于FPGA的SOPC器件问世,并得到广泛关注。,采用这种结构的PLD芯片有: Altera的MAX7000,MAX9000,MAX3000系列 (E2PROM工艺),Xilinx的XC9500系列(Flash工艺)和Lattice,Cypress的大部分产品 (E2PROM/ Flash工艺) 这种CPLD的基本结构如下所示: (以MAX7000结构组成为例,其他型号CPLD的结构与此非常相似)。,基于乘积项(Product-Term)的CPLD结构,CPLD内部结构(Altera的MAX7000S系列),逻辑阵列块中包含多个宏单元,逻辑阵列块(LAB),可编程I/O控制块,可编程 连线资源,逻辑宏单元的基本结构,逻辑宏单元是 PLD 的基本结构,由它来实现基本的逻辑功能。一般8个逻辑宏单元构成一个逻辑阵列块LAB。 上图中的兰色部分就是LAB。 可编程连线PIA负责信号传递,连接所有的逻辑宏单元。 I/O 控制块(IOB)负责输入输出引脚的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。 逻辑宏单元的具体结构见下图:,宏单元的内部结构,乘积项逻辑阵列,乘积项选择矩阵,可编程 触发器,上图的左侧是乘积项阵列,实际就是一个与阵列,每个交叉点都是一个可编程点。通过“与阵列”产生乘积项(最小项)。后面的或门把按要求产生的乘积项“加”起来,得到需要的输出组合逻辑函数。 图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟。 图中的异或门用来控制组合逻辑函数的极性。 由图可见,CPLD的宏单元(也可称为逻辑单元LE)与GAL的OLMC结构非常类似。,开发系统对MAX7064SLAB的描述,可编程的I/O控制块,使引脚能兼容TTL和CMOS多种接口和电压标准; 可将引脚配置为输入、输出、双向、集电极开路和三态等形式; 能提供适当的驱动电流; 降低引脚接口功耗,防止脉冲过冲和减少电源噪声 支持多种接口电压(降低芯片功耗) 1.20.5um,5V 0.35um,3.3V 0.25um,internal 2.5V,I/O3.3V 0.18um,internal 1.8V,I/O2.5V and 3.3V,可编程连线阵列PIA,在各个逻辑宏单元之间以及逻辑宏单元与I/O单元之间提供可编程的信号连接网络; CPLD中一般采用固定长度的线段来进行连接,因此信号传输的延时是固定的,使得信号传输时时间延时能够预测。,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中包含1个或2个逻辑单元(LE),CLB包含1个或2个逻辑单元,IOB,可编程连线资源(PIR),FPGA的基本组成,可编程逻辑块CLB组成了FPGA的核心门阵列,能完成用户指定的逻辑功能;每个CLB中包含1个或2个逻辑单元(LE)。LE主要由一个组合逻辑函数发生器、几个触发器、若干个多路选选择器及控制电路组成。 可编程的输入/输出块IOB位于芯片内部四周,在内部逻辑阵列与外部芯片封装引脚之间提供一个可编程接口,它主要由逻辑门、触发器和控制单元组成。 可编程连线资源PIR位于芯片内部的逻辑块之间,经编程后形成连线网络,用于芯片内部逻辑间的相互连接,并在它们之间传递逻辑信息。,基本结构图,LE内部结构,什么是查找表(Look-Up-Table,LUT)?,查找表(LUT)就是一个有N根(一般是4根)地址线的16x1的RAM存储器。 当用户通过原理图或 HDL 语言描述了一个4输入的逻辑电路后,CPLD/FPGA 开发软件就会按设计要求自动计算逻辑电路的所有可能的结果,并把该结果事先写入这个RAM存储器。这样,当输入变量作为RAM的地址信号输入时,预期的结果(输出逻辑函数)就作为RAM的存储数据输出了。 利用这种查表的方法实现逻辑函数输出是一种简单、高效的方法。这就是存储器可用作逻辑函数发生器的原理。 N个输入的逻辑函数,需要2的N次方的容量的SRAM来实现,查找表(LUT)的工作原理与组成,查找表(LUT)的工作原理与组成,查找表结构的FPGA逻辑实现原理,以这个电路为例: A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中由于已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。 该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了上图所示电路的功能。 这个电路是一个简单范例,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。,查找表的工作原理,N个输入的逻辑函数需要2的N次方的容量的SRAM来实现。 一个LUT无法完成的N4的多输入电路,就需要通过进位
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号