好文档 - 专业文书写作范文服务资料分享网站

CPLD和FPGA的区别

天下 分享 时间: 加入收藏 我要投稿 点赞

《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更适合完成各种组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 ② CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

③ 在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。

④ FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

⑤ CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTF

LASH技术,无需外部存储器芯片,使用简单。而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、逻辑和存储器资源丰富(Cypress Delta39K200的RAM超过480 Kb) 2、带冗余路由资源的灵活时序模型 3、改变引脚输出很灵活 4、可以装在系统上后重新编程 5、I/O数目多

6、具有可保证性能的集成存储器控制逻辑 7、提供单片CPLD和可编程PHY方案

由於有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市。

CPLD与FPGA有何区别?CPLD的密度范围很宽,可以用於最简单的逻辑设计,也可以用於很复杂的设计。可以用它把逻辑、高性能多端口和FIFO存储器,以及用于要求严格的通信用SERDES集成在一起。虽然CPLD与FPGA有许多共同之处,但两者有著本质的区别。就像FPGA一样,设计人员也应当了解所用的CPLD结构,以便用最少的资源实现最好的性能。本文以目前世界上最大的CPLD系列Cypress Delta39KTM系列高密度CPLD为例,介绍CPLD的结构。

a.CPLD的结构:

CPLD是属於粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。CPLD的路由是连接在一起的,而FPGA的路由是分割开的。FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。CPLD以群阵列(array of clusters)的形式排列,由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。CPLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。CPLD的逻辑群比FPGA的基本单元大得多,因此FPGA是细粒的。CPLD的功能块CPLD最基本的单元是宏单元(见图1的左侧)。一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。因为每个宏单元用了16个乘积项,因此

CPLD和FPGA的区别

《CPLD和FPGA的区别》1).两者的区别:最大的区别,就是CPLD进行一次下载编程(写入操作)后,其逻辑门组合方式就保存下来,不管什么时候断电,通电,他都可以执行上一次的逻辑功能。FPGA不能保存上次逻辑功能,断电后,FPGA就失去所有配置。因此FPGA通常需要带一块配置芯片,在通电后,对FPGA进行重新配置,恢复功能(重配置需要时间,CPLD通电后,马上
推荐度:
点击下载文档文档为doc格式
4j6ze15mo06i8ss1cmrm
领取福利

微信扫码领取福利

微信扫码分享