资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
FPGA/CPLD简介 哈尔滨工程大学信通学院缪善林 2007-04-04QQ:330495908Email: FPGACPLDFPGACPLD简介简介一、可编程逻辑器件主要有两个类型:(一)、现场可编程门阵列(FPGA) -(Field Programmable Gate Array)(二)、复杂可编程逻辑器件(CPLD) -(Complex Programmable Logic Device)二、FPGA与CPLD的比较 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: (一)、CPLD更适合各种算法和组合逻辑,FPGA更适合于时序逻辑。(二)、由于内部布线结构,CPLD的时序延迟是均匀的和可预测的,而FPGA的延迟的不可预测性。(我们在用的时候不用考虑内部结构的布线问题) (三)、在编程上FPGA比CPLD具有更大的灵活性。(四)、FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。 (五)、CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FAST FLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,就是需要一些配置芯片。 FPGACPLDFPGACPLD简介简介(六)、在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程, 编程次数可达1万次,优点是系统断电时编程信息也不丢失。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。 (七)、CPLD保密性好,FPGA保密性差。 (八)、一般情况下,CPLD的功耗要比FPGA大三、FPGA的用途FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74系列电路。在汽车、军事和航空航天、广播、测量和测试、消费类、有线或无线通信、工业、医疗等等方面都有广泛的运用。四、CPLD/FPGA与MCU的比较(一)、MCU(微处理器或单片机)面临的问题 由MCU为主构成的电子应用系统通常出现的问题可以分为两类: 1、是技术类问题,如软件设计、接口器件的选择或康干扰措施应用等问题,这类问题通常属于可以解决的问题; 2、则直接与MCU的缺点有关。主要包括一下几个方面:FPGACPLDFPGACPLD简介简介(1)、低速 (2)、复位工作方式 MCU的另一个致命的弱点是:任何MCU在工作初始都必须经历一个复位过程,否则进行正常工作。MCU的复位必须满足一点的电平(电压)条件和时间条件。在工作电平有某种干扰性突变的时候,MCU的复位将成为系统不可靠工作的重要因素。而且产生这种复位问题是随机和动态的,一般都无法检测的。这个复位问题是MCU的一个先天不足。(3)、PC的程序跑飞 在强干扰或某种偶然因素下,任何MCU的PC都极可能越出正常的程序流程而跑飞。无论多么优秀的MCU,无论具有多么良好的抗干扰措施,包括设置任何方式的内、外硬件看门狗,在强干扰条件下,MCU都无法保证其仍能正常工作而不进入不可挽回的“死机”状态。因此,当MCU的复位问题和跑飞问题结合在一起的时候,就会让技术人员很难受,因此他们宁可使用纯模拟或纯数字电路。(4)、MCU使用误区 MCU逻辑行为上的普适性,常会引导人们进入这样一个误区:MCU是无所不能的,任何一个电子系统设计,MCU都是无可质疑的主角。FPGACPLDFPGACPLD简介简介2、CPLD/FPGA的主要优点可以归纳如下:(1)、高速 CPLD/FPGA的时钟延迟可以达到ns级(1ns就是100MHz,同时最高的器件可以支持GHz的速度),结合其并行工作方式,在超高速应用领域和实时监控方面有着非常广阔的前景。 做个比较:工作于12MHz晶振频率的MCS51系列单片机对AD控制的采样速率为20KHz左右,若是用来实现的话,若采样的工作频率是,那么对AD的采样速率可以达到50MHz。(2)、高可靠性 CPLD/FPGA在大多数应用中,无需考虑复位和初始化,另外“死机”(进入非法状态)情况是可以预测的,这包括非法状态的数量和进入状态的可测性,这些“死机“状态也是可以防止的。CPLD/FPGA的高可靠性还表现在几乎可将整个系统下载于同一个芯片中,从而大大缩小体积,易于屏蔽。(3)、编程简便 CPLD/产品中多为系统可编程器件,编程方法极为便捷,只需一个下载线和电脑就可以。FPGACPLDFPGACPLD简介简介(4)、易学易用 用MCU设计数字系统,对于行家来说是十分简单的事情,然而对于初学者,确实件不易的事。因为他不仅需要熟悉软件,而且还要有丰富的硬件开发经验;不仅要熟悉各种单片机的开发系统的使用方法,还要知道所以单片机的内部结构(单片机的内部有很多的寄存器,要是使用必须先熟悉这些东西是什么怎么用,比较麻烦)。相比之下,CPLD/FPGA应用的学习却无需太多的预备,他就像一张白纸,你无需了解内部结构,只要稍有一点数字电路的知识,就可在短期内掌握基本的设计方法和开发技巧。(5)、开发周期短 许多供应商都推出了相应的软件,以及一些技术支持。如Altera公司的 Maxplus 和QuartusII,这些软件仿真功能完善,仿真能力强,开发简便,硬件因素设计少,因此可以在短时间内实现复杂系统的设计。(6)、系统可预测性好 有丰富的软件(7)、系统易维护、易升级 只需下载线和电脑就可以完成升级。(8)、多次擦写,可重复利用(9)、保密性好(10)、有丰富的端口(如EPF10K10TC144-4有102个IO口可以用)FPGACPLDFPGACPLD简介简介五、学习FPGA/CPLD所要掌握的知识 1、硬件知识 FPGA/CPLD就像一张白纸,我们不许要对内部有太深的了解,在编程的时候也不要像MCU那样对内部什么寄存器进行初始化什么的,我们只要写程序就好。而且我们对于他的那么多的管脚,其实一部分是有专门用途的,那么我们可以不用,别的IO口都是可以用的,而且都是一样的,比如EPF10K10TC144-4的可用IO口为102个(一般的单片机只有32个端口,而且这些端口不是都可以用的),都是一样的端口。因此,硬件不需要太多的了解。 2、理论知识 对于数字系统,那么我们就要掌握一些基本的数字知识,可以找点数字电路的书看看,看看最简单的逻辑知识。 3、软件使用 目前最大的生产FPGA/CPLD的厂家是Altera,他提供的软件以及支持是比较丰富的。目前该公司提供的仿真软件主要有QuartusII、Nios II 等等。目前用的比较多的是QuartusII6.0,软件的学习是比较简单的。FPGACPLDFPGACPLD简介简介4、语言的学习 FPGA/CPLD主要VHDL(Very-High-Speed Integrated Circuit Hardware Description)和Verilog HDL语言两种。VHDL的主要应用领域: (1) 智能模块(IP)的研发 IP: 用VHDL语言编写,经逻辑优化和功能验证的可生成VLSI中各种功能单元的软件群,例如,无线通信产品、网上设备、中央处理器(通用CPU)、DSP、PCI、USB、嵌入式CPU (2)单芯片全功能集成系统设计:SoPC系统、嵌入式计算、ASIC验证 (3)功能可重置系统的设计:远程系统升级、可重配置设计六、学习FPGA/CPLD的方法要想在FPGA上实现自己想要的东西,首先要明白你要实现的东西的原理,然后根据原理去用VHDL语言来实现。学习FPGA,首先要学习VHDL语言,那就要掌握VHDL的基本语法,这就要看一些基本的书。掌握了语法后,学习FPGA,就要把软件和硬件结合起来,这样效果比较好,否则就是看书的话效果不明显。FPGACPLDFPGACPLD简介简介四、往年电子大赛中可以用FPGA做的题目 05年(共7题):正弦信号发生器 简易频谱分析仪 数控恒流源 03年(共7题):简易逻辑分析仪 低频数字式相位测量仪 01年(共7题):数据采集与传输系统 简易数字存储示波器 波形发生器 99年(共6题):数字化语音存储与回放系统 97年(共4题):水温控制系统 简易数字频率计 95年(共4题):实用信号源的设计 简易电阻、电容和电感测试仪 94年(共2题):多路数据采集系统 简易数控直流电源另外Altera每年的Nios II 嵌入式处理器设计大赛FPGACPLDFPGACPLD简介简介FPGACPLDFPGACPLD简介简介
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号