1. 网站首页
  2. 社区
  3. 论坛
  4. 博客

FPGA和CPLD的区别及其用途介绍

资料大小: 0.1 MB 所需积分: 0 下载次数: 用户评论: 0条评论,查看 上传日期: 2017-10-09 上 传 者: 易水寒他上传的所有资料

资料介绍

标签:cpld(559)fpga(5084)
  FPGA/CPLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA/CPLD来实现。   FPGA/CPLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA/CPLD的在线修改能力,随时修改设计而不必改动硬件电路。   使用FPGA/CPLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。   FPGA/CPLD还可以做数字IC设计的前端验证,用这种方式可以很大程度上降低IC设计的成本。   FPGA/CPLD的这些优点使得FPGA/CPLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。   FPGA/CPLD的区别是:   1)各个厂家叫法不尽相同:   PLD(Programmable Logic Device)是可编程逻辑器件的总称,早期多EEPROM工艺,基于乘积项(Product Term)结构。   FPGA (Field Programmable Gate Arry)是指现场可编程门阵列,最早由Xilinx公司发明。多为SRAM 工艺,基于查找表(Look Up Table)结构,要外挂配置用的EPROM。   Xilinx把SRAM工艺,要外挂配置用的EPROM的PLD叫FPGA,把Flash工艺(类似EEPROM工艺),乘积项结构的PLD叫CPLD;   Altera把自己的PLD产品:MAX系列(EEPROM工艺),FLEX/ACEX/APEX系列(SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD)。   由于FLEX/ACEX/APEX系列也是SRAM工艺,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX/ACEX/APEX系列产品也叫做FPGA.   2)结构上的主要区别   逻辑块的粒度不同   逻辑块指PLD 芯片中按结构划分的功能模块,它有相对独立的组合逻辑阵列,块间靠互连系统联系.FPGA 中的CLB 是逻辑块,其特点是粒度小,输入变量为4~8 ,输出为1~2 ,因而只是一个逻辑单元,每块芯片中有几十到近千个这样的单元。 CPLD中逻辑块粒度较大,通常有数十个输入端和一、二十个输出端,每块芯片只分成几块。 有些集成度较低的(如ATV2500) 则干脆不分块。 显然,如此粗大的分块结构使用时不如FPGA 灵活。   逻辑之间的互连结构不同   CPLD 的逻辑块互连是集总式的,其特点是等延时,任意两块之间的延时是相等的,这种结构给设计者带来很大方便; FPGA 的互连则是分布式的,其延时与系统的布局有关,   3)应用范围也有所不同   逻辑系统通常可分两大类型:   1、逻辑密集型: 如高速缓存控制、DRAM 控制和DMA 控制等,它们仅需要很少的数据处理能力,但逻辑关系一般都复杂   2、数据密集型: 数据密集型需要大量数据处理能力,其应用多见于通讯领域。   为了选择合适的PLD 芯片,应从速度与性能、逻辑利用率、使用方便性、编程技术等方面进行考查。   速度与性能:   数据密集型系统,比如,通讯中对信号进行处理的二维卷积器。 在实现这一算法的逻辑系统中,每个单元所需要的输入端较少,但需要很多这样的逻辑单元。 这些要求与FPGA 的结构相吻合。 因为FPGA 的粒度小,其输入到输出的传输延迟时间很短,因而能获得高的单元速度。而控制密集型系统通常是输入密集型的,逻辑复杂,CLB 的输入端往往不够用,需把多个CLB 串行级联使用,同时CLB 之间的连接有可能通过多级通用PI 或长线,导致速度急剧下降。 因而实际的传输延迟时间要大CPLD. 比如,实现一个DRAM 控制器,它由四个功能块组成:刷新状态机、刷新地址计数器、刷新定时器和地址选择开关,需要的输入端有几十个,显然用CPLD 更合适.

用户评论

查看全部 条评论
发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料
鸿运国际手机版