新闻中心

EEPW首页 > 嵌入式系统 > 牛人业话 > 认清CPLD和FPGA

认清CPLD和FPGA

作者:winthony时间:2013-08-15来源:电子产品世界收藏

  我们再来以cyclone系列为例看看的内部结构:

本文引用地址:http://www.eepw.com.cn/article/159017.htm

  内部主要就是由,连线和IO单元组成。一个又包含若干个LE模块。LE模块是Cyclone 的基本逻辑单元,下图是LE模块的具体结构:

  初看上去好像比较复杂,其实最主要的部分就是LUT查找表模块,以及后面的D触发器。其他都是一些清零进位旁路等等控制信号逻辑。也就是说查找表是FPGA最根本的逻辑单元。Cyclone FPGA使用的是4输入LUT查找表。我们设计的逻辑电路最终都是通过EDA工具把所有可能的结果计算出来然后储存在查找表里面。每次根据输入信号查找对应的结果,然后输出就可以了。也就是说FPGA的工作更像是一个RAM,根据不同的输入信号(地址)输出相应的数据。

  通过上面的结构图比较我们就可以清楚的看出来是由实实在在的组合电路组成的,而FPGA说到底就是一个巨大的查找表!也正是这个根本的差异造成了和FPGA各方面的不同。除了以外,主要的和FPGA生产厂商还有,Actel,Lattice以及Atmel等。各家公司的产品各有特点,在架构上会略有区别,但基本原理都是相同的。下面我们整理一下CPLD和FPGA的主要区别:

  1) CPLD的更适合可重复编程的EEPROM或Flash技术来实现。而FPGA显然是利用SRAM技术更合适。
  2) 由于是EEPROM或者Flash工艺决定了CPLD是有一定的擦写次数限制的。而FPGA在实际使用中几乎可以说是无配置次数限制。
  3) CPLD由于采用的是EEPROM或者Flash工艺所以配置掉电后不丢失,也就不需要外挂配置芯片。而FPGA采用的是SRAM工艺,配置在掉电后就没有了,因此需要一个外部配置芯片。
  4) CPLD的安全性更高。由于配置芯片的存在,FPGA的保密性就会比CPLD略差。逻辑数据有可能被读取。(当然FPGA芯片会有一定的加密措施)
  5) CPLD由于不需要上电重新配置,所以上电后可以马上工作。而FPGA上电后需要配置时间,逻辑量的大小配置方式的区别也会影响配置时间的长短。
  6) 由于CPLD的连续式布线结构,决定了它的时序延时是均匀和固定的。而FPGA采用的分段式布线结构造成了延时不固定。
  7) 由于工艺难度的差异,CPLD一般集成度较低,大多为几千门或几万门的芯片规模,做到几十万门已经很困难。而FPGA基于SRAM工艺,集成度更高,可以轻松做到几十万门甚至几百万门的芯片规模,最新的FPGA产品已经接近千万门的规模。
  8) 同样由于结构的差异,CPLD更适合完成的是复杂的组合逻辑,如编、译码的工作。而FPGA更适合做复杂的时序逻辑。换句话说就是FPGA更适合触发器丰富的逻辑结构,CPLD适合于触发器有限但是乘积项丰富的逻辑结构。
  9) 也是由于工艺的原因,一般CPLD会比FPGA的功耗高。

fpga相关文章:fpga是什么




评论


相关推荐

技术专区

关闭