CPLD和FPGA两者的区别_第1页
CPLD和FPGA两者的区别_第2页
CPLD和FPGA两者的区别_第3页
CPLD和FPGA两者的区别_第4页
CPLD和FPGA两者的区别_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CPLD和FPGA两者的区别CPLD和FPGA都是我们经常会用到的器件。有的说有配置芯片的是FPGA,没有的是CPLD;有的说逻辑资源多的是FPGA,少的是CPLD;有的直接就不做区分,把他们都叫做FPGA。那么两者到底有什么区别呢?下面我们就以Altera公司的CPLD和FPGA为例来说说两者的区别。首先我们看一下CPLD的芯片结构,搞清楚CPLD是由哪几部分组成的。下图是MAX系列CPLD的芯片结构图:从图中可以清楚的看出来CPLD主要由三部分组成:Macrocell(宏单元),PIA(可编程连线),和IOControlBlock(IO控制块)。每个宏单元都与GCLK(全局时钟)OE(输出使能)GCLR(清零)等控制信号直接相连,并且延时相同。各宏单元之间也由固定长度的金属线互连,这样保证逻辑电路的延时固定。其中宏单元模块是CPLD的逻辑功能实现单元,是器件的基本单元,我们设计的逻辑电路就是由宏单元具体实现的。下面我们再来看看宏单元的具体结构:一个宏单元主要包括了LABLocalArray(逻辑阵列),Product-TermSelectMatrix(乘积项选择矩阵)和一个可编程D触发器组成。其中逻辑阵列的每一个交叉点都可以通过编程实现导通从而实现与逻辑,乘积项选择矩阵可实现或逻辑。这两部分协同工作,就可以实现一个完整的组合逻辑。输出可以选择通过D触发器,也可以对触发器进行旁路。通过这个结构可以发现,CPLD非常适合实现组合逻辑,再配合后面的触发器也能够实现一定的时序逻辑。我们再来以cyclone系列为例看看FPGA的内部结构:FPGA内部主要就是由LAB单元,连线和IO单元组成。一个LAB单元又包含若干个LE模块。LE模块是CycloneFPGA的基本逻辑单元,下图是LE模块的具体结构:初看上去好像比较复杂,其实最主要的部分就是LUT查找表模块,以及后面的D触发器。其他都是一些清零进位旁路等等控制信号逻辑。也就是说查找表是FPGA最根本的逻辑单元。CycloneFPGA使用的是4输入LUT查找表。我们设计的逻辑电路最终都是通过EDA工具把所有可能的结果计算出来然后储存在查找表里面。每次根据输入信号查找对应的结果,然后输出就可以了。也就是说FPGA的工作更像是一个RAM,根据不同的输入信号(地址)输出相应的数据。通过上面的结构图比较我们就可以清楚的看出来CPLD是由实实在在的组合电路组成的,而FPGA说到底就是一个巨大的查找表!也正是这个根本的差异造成了CPLD和FPGA各方面的不同。除了Altera以外,主要的CPLD和FPGA生产厂商还有Xilinx,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的功耗高。当然以上只是CPLD和FPGA通常意义上的区别,技术是在不断发展中的,这些差异也不能一概而论。随着技术的发展,CPLD和FPGA也在不断的更新当中。Altera在StratixIII系列FPGA以后的产品中调整了LE的结构,如下图:从原来的一个4输入查找表加D触发器变成了两个6输入查找表加两个D触发器。再进一步细化查找表的结构图如下:一个6输入查找表又可以细分为一个4输入查找表和两个3输入查找表。无论结构怎么变,只是出于对资源优化利用考虑的改变,基本的LUT查找表方式没有变。但是新出的MAXII系列和MAXV系列CPLD则从根本上模糊了CPLD和FPGA的区别。通过阅读芯片手册我们可以发现,两个系列的CPLD虽然名字没有变,但是架构已经完全是与FPGA相同的系统架构了,最小单元也变成了LUT查找表,宏单元已经消失不见了。也许和CPLD还能搭上关系的就是两个系列把配置电路集成到了芯片当中,在实际使用中和原有的CPLD保持了相同的使用习惯。可以说两个系列的产品已经是披着CPLD外衣的FPGA了。从技术的延续性上来看,可编程器件技术大致经历了PROM-PLA-PAL-GAL-EPLD-CPLD和FPGA的发展过程,CPLD和FPGA是两个不同的发展分支。生产厂商似乎在模糊CPLD和FPGA之间的区别。也许以后只剩下名字的区别,两者会统一成一类器件,或者又会出现更新的技术作为替代。无论技术如何演进,作为工程师而言,我们要做的就是去把握每种器件的原理,优缺点和适用场景,然后在实际的项目中正确选择,灵活使用。1、是否需要同时学习FPGA和CPLD?很多同学有疑问,是否需要同时学习FPGA和CPLD,阿东在此表示,完全没有必要,以为FPGA和CPLD的设计语言都是Verilog,至于CPLD和FPGA内部结构不一样,在编码阶段完全

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论