CPLD和FPGA的区别.doc
- 文档编号:223218
- 上传时间:2022-10-06
- 格式:DOC
- 页数:5
- 大小:21.50KB
CPLD和FPGA的区别.doc
《CPLD和FPGA的区别.doc》由会员分享,可在线阅读,更多相关《CPLD和FPGA的区别.doc(5页珍藏版)》请在冰豆网上搜索。
《CPLD和FPGA的区别》
1).两者的区别:
最大的区别,就是CPLD进行一次下载编程(写入操作)后,其逻辑门组合方式就保存下来,不管什么时候断电,通电,他都可以执行上一次的逻辑功能。
FPGA不能保存上次逻辑功能,断电后,FPGA就失去所有配置。
因此FPGA通常需要带一块配置芯片,在通电后,对FPGA进行重新配置,恢复功能(重配置需要时间,CPLD通电后,马上就可以执行相应逻辑)。
CPLD的擦写次数非常有限,经过100~1000次左右的反复擦写就报废了。
而FPGA可以反复擦写无限次(当然,实际上是有限的。
但是在通常使用中,就算你反复擦写,大概你挂了,它还没有挂)。
FPG的配置芯片擦写次数有限,而且常常只能烧写一次(OTP)。
CPLD的容量一般比较小,FPGA容量很大。
综合上面所有的情况,结论是这样的,你在学习阶段,或者开发阶段,最好使用FPGA,因为可以反复擦写,不对马上重新烧写。
只要不断电,你烧写下去的逻辑功能是一直可用的。
定型后可以使用CPLD,可以免去FPGA。
但是当你的配置容量非常大的时候,CPLD装不下,你又必须采用FPGA了,这个时候,在最后成品上需要加配置芯片(当然也用单片机模拟配置芯片,具体这个地方不介绍)。
市面上尤其是学校里面可以看到Xilinx公司或者Altera公司各种不同的开发板,其实只有两个大类,CPLD开发板和FPGA开发板。
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
① CPLD更适合完成各种组合逻辑,FPGA更适合于完成时序逻辑。
换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
② CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
③ 在编程上FPGA比CPLD具有更大的灵活性。
CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④ FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
⑤ CPLD比FPGA使用起来更方便。
CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。
而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
⑥ CPLD的速度比FPGA快,并且具有较大的时间可预测性。
这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦ 在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。
CPLD又可分为在编程器上编程和在系统编程两类。
FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。
其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
⑧ CPLD保密性好,FPGA保密性差。
综合以上特点可以知道,CPLD可以实现的功能比较单一,适合纯组合逻辑。
因此在进行IC设计的原型验证或者设计中包含了复杂的协议处理,或者设计中使用大量的时序元件时一般选用FPGA器件。
也就是说FPGA可以适应当前技术发展中高密度集成的各种设计。
所以选择开发板尽量选择最新器件以及主流器件,行业发展太快,几年以前的芯片也就在学校可以找到而一般公司是不会使用也不会采购的。
2).用FPGA,还是用CPLD?
随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。
许多设计人员已经感受到CPLD容易使用、时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。
现在,设计人员可以体会到密度高达数十万门的CPLD所带来的好处。
CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。
因此,原有设计的运行可以预测,也很可靠,而且修改设计也很容易。
CPLD在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。
与FPGA相比,CPLD的I/O更多,尺寸更小。
如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。
CPLD可让设备做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。
这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以著手进行硬件设计,然后再修改代码以满足最终标准的要求。
CPLD的速度和延迟特性比纯软件方案更好,它的NRE费用低於ASIC,更灵活,产品也可以更快入市。
CPLD可编程方案的优点如下:
1、逻辑和存储器资源丰富(CypressDelta39K200的RAM超过480Kb)
2、带冗余路由资源的灵活时序模型
3、改变引脚输出很灵活
4、可以装在系统上后重新编程
5、I/O数目多
6、具有可保证性能的集成存储器控制逻辑
7、提供单片CPLD和可编程PHY方案
由於有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市。
CPLD与FPGA有何区别?
CPLD的密度范围很宽,可以用於最简单的逻辑设计,也可以用於很复杂的设计。
可以用它把逻辑、高性能多端口和FIFO存储器,以及用于要求严格的通信用SERDES集成在一起。
虽然CPLD与FPGA有许多共同之处,但两者有著本质的区别。
就像FPGA一样,设计人员也应当了解所用的CPLD结构,以便用最少的资源实现最好的性能。
本文以目前世界上最大的CPLD系列CypressDelta39KTM系列高密度CPLD为例,介绍CPLD的结构。
a.CPLD的结构:
CPLD是属於粗粒结构的可编程逻辑器件。
它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。
CPLD的路由是连接在一起的,而FPGA的路由是分割开的。
FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。
CPLD以群阵列(arrayofclusters)的形式排列,由水平和垂直路由通道连接起来。
这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。
CPLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。
CPLD的逻辑群比FPGA的基本单元大得多,因此FPGA是细粒的。
CPLD的功能块CPLD最基本的单元是宏单元(见图1的左侧)。
一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。
因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。
这就是为何CPLD被认为是“逻辑丰富”型的。
宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成(见图1中间)。
宏单元执行一个AND操作,然后一个OR操作以实现组合逻辑。
每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵。
每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。
前者每模块有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的FIFO。
b.CPLD有什麽好处?
I/O数量多。
CPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。
时序模型简单,CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。
这种简单的时序模型主要应归功于CPLD的粗粒度特性。
CPLD可在给定的时间内提供较宽的相等状态,而与路由无关。
这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。
c.粗粒CPLD结构的优点:
CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。
因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。
CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。
细粒FPGA结构的优点FPGA是细粒结构,这意味著每个单元间存在细粒延迟。
如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。
然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。
CPLD的粗粒结构却能很好地适应这一设计布局的改变。
灵活的输出引脚CPLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引脚,而时序仍保持不变。
d.CPLD中的嵌入式存储器:
CPLD内置冗余高速通信存储器,其集成的FIFO和双端口控制逻辑可确保高速运行。
这使得用户的设计仅需较少的逻辑资源就可获得较高的性能。
有了集成的FIFO控制逻辑,用户就无须手工创建逻辑。
它还节省了设计人员的编程资源。
例如,CPLD的真正双端口RAM包含专用仲裁逻辑。
当地址冲突发生时,这种逻辑就可提供仲裁功能,无须从可编程门创建仲裁逻辑。
CPLD还集成了带标识逻辑的FIFO。
对于那些需要大存储器的设计,较低密度的CPLD就可满足要求,成本也相应较低。
这显然在成本和功耗方面是一大优势。
e.为什么CPLD和FPGA需要不同的逻辑设计技巧?
FPGA是细粒器件,其基本单元和路由结构都比CPLD的小。
FPGA是“寄存器丰富”型的(即其寄存器与逻辑门的比例高),而CPLD正好相反,它是“逻辑丰富”型的。
很多设计人员偏爱CPLD是因为它简单易用和高速的优点。
CPLD更适合逻辑密集型应用,如状态机和地址解码器逻辑等。
而FPGA则更适用于CPU和DSP等寄存器密集型设计。
新的CPLD封装CPLD有多种密度和封装类型,包括单芯片自引导方案。
自引导方案在单个封装内集成了FLASH存储器和CPLD,无须外部引导单元,从而可降低设计复杂性并节省板空间。
在给定的封装尺寸内,有更高的器件密度共享引脚输出。
这就为设计人员提供了“放大”设计的便利,而无须更改板上的引脚输出。
CPLD的功耗与同样密度的FPGA相比,CPLD的待机功耗更低。
f.小结:
许多设计人员都熟悉传统的PLD,并喜欢这种结构所固有的灵活性和易用性。
CPLD为ASIC和FPGA设计人员提供了一种很好的替代方案,可让他们以更简单、方便易用的结构实现其设计。
CPLD现已达到数十万门的密度,并可提供当今通信设计所需的高性能。
大于50万门的设计仍需ASIC和FPGA,但对于小型设计,CPLD不失为一个高性价比的替代方案。
但是FPGA也可以根据其内部包含的结构不同划分为粗颗粒器件,这是因为相对CPLD其内部添加了FF单元,所以说有些文献或者资料上也认为FPGA是粗颗粒单元,并且在以后的发展趋势将会是继续发展粗颗粒单元。
g.问题:
为什么不可以在FPGA内部使用两种结构的CLB,一种包含FF,一种是纯组合逻辑,从而根据使用范围的不同调用不同的单元?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPLD FPGA 区别