学习
实践
活动
专区
工具
TVP
写文章

项目驾到,到底该选择cpld还是fpga呢?

项目驾到,到底该选择cpld还是fpga呢?

fpga和cpld是一对名副其实的好基友,他们的亲密常常让硬件工程师们嫉(气)妒(的)万(抓)分(狂),到底该选谁,谁又是最合适或者更好的呢?

相信很多硬件工程师都有过这样的经历,特别是在设计一个产品或一个项目,每每提及器件选型,就是各种不知所措了。

莫慌,今天陆妹带大家去扒一扒这一对好基友,

分分清楚这对传说中的好基友。

精彩的将要呈现,准备好了吗?

期待ing

其实至于芯片选型,要看项目需求。是否需要pll,是否需要dsp,是否需要移植软核,需要多少逻辑单元等,需要多少IO等。下面我们主要介绍一下fpga和cpld的优缺点,让你从根本上认识fpga和cpld,帮助你选择fpga或cpld。

1、FPGA

FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中 的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA(现场可编程门阵列)是专用集成电路(ASIC)中集成度最高的一种,用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑,因而也被用于对CPU的模拟。用户对FPGA的编程数据放在Flash芯片中,通过上电加载到FPGA中,对其进行初始化。也可在线对其编程,实现系统在线重构,这一特性可以构建一个根据计算任务不同而实时定制的CPU,这是当今研究的热门领域。

是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集成密度最高达500万门/片以上,系统性能可达200MHz。由于FPGA器件集成度高,方便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的可编程逻辑器件领域中独占鳌头。

2、CPLD

CPLD :是 Complex PLD 的简称,顾名思义,其是一种较 PLD 为复杂的逻辑元件。 CPLD是由 GAL发展起来的 ,其主体结构仍是与或阵列 ,自从 90年代初 Lattice公司高性能的具有在系统可编程 ISP(In System Programmable)功能的 CPLD以来 ,CPLD发展迅速。具有 ISP功能的 CPLD器件由于具有同 FPGA器件相似的集成度和易用性 ,在速度上还有一定的优势 ,使其在可编程逻辑器件技术的竞争中与 FPGA并驾齐驱 ,成为两支领导可编程器件技术发展的力量之一。

CPLD 是一种整合性较高的逻辑元件。由于具有高整合性的特点,故其有性能提升,可靠度增加, PCB 面积减少及成本下降等优点。 CPLD 元件,基本上是由许多个逻辑方块( Logic Blocks )所组合而成的。而各个逻辑方块均相似于一个简单的 PLD 元件(如 22V10 )。逻辑方块间的相互关系则由可变成的连线架构,将整个逻辑电路合成而成。

fpga和cpld各有优势,下面主要以下几个方面进行比较:

1、结构

FPGA器件在结构上 ,由逻辑功能块排列为阵列 ,并由可编程的内部连线连接这些功能块来实现一定的逻辑功能 FPGA通常包含三类可编程资源:可编程逻辑功能块、可编程I/O块和可编程互连。

CPLD是将多个可编程阵列逻辑 (PAL)器件集成到一个芯片 ,具有类似 PAL的结构。一般情况下CPLD器件中至少包含三种结构 :可编程逻辑功能块 (FB);可编程 I/ O单元 ;可编程内部连线。

2、集成度

FPGA可以达到比 CPLD更高的集成度 ,同时也具有更复杂的布线结构和逻辑实现。

3、适合结构

CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。也就是说FPGA更适合于触发器丰富的结构 ,而 CPLD更适合于触发器有限而积项丰富的结构。

4、编程

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

5、功率消耗

CPLD的缺点比较突出。一般情况下 ,CPLD功耗要比 FPGA大 ,且集成度越高越明显。

6、速度

CPLD优于 FPGA。由于 FPGA是门级编程 ,且 CLB之间是采用分布式互连 ;而 CPLD是逻辑块级编程 ,且其逻辑块互连是集总式的。因此 ,CPLD比 FPGA有较高的速度和较大的时间可预测性 ,产品可以给出引腿到引腿的最大延迟时间。

7、编程方式

目前的 CPLD主要是基于E2 PROM或 FLASH存储器编程 ,编程次数达 1万次。其优点是在系统断电后 ,编程信息不丢失。CPLD又可分为在编程器上编程和在系统编程 (ISP) CPLD两种。 ISP器件的优点是不需要编程器 ,可先将器件装焊于印制板 ,再经过编程电缆进行编程,编程、调试和维护都很方便 。

FPGA大部分是基于 SRAM编程 ,其缺点是编程数据信息在系统断电时丢失 ,每次上电时 ,需从器件的外部存储器或计算机中将编程数据写入 SRAM中。其优点是可进行任意次数的编程,并可在工作中快速编程 ,实现板级和系统级的动态配置 ,因此可称为在线重配置 (ICR:In CircuitReconfigurable)的 PLD或可重配置硬件(RHP:Reconfigurable Hardware Product)。

8、使用方便性及保密性

CPLD比 FPGA要好。 CPLD的编程工艺采用 E2 CPLD的编程工艺采用 E2 CPLD的编程工艺采用 E2 PROM或FASTFLASH技术 ,无需外部存储器芯片 ,使用简单 ,保密性好。

而基于 SRAM编程的FPGA,其编程信息需存放在外部存储器上 ,需外部存储器芯片 ,且使用方法复杂 ,保密性差。

9、时序延时

CPLD的时序延时是均匀的和可预测的,而FPGA的布线结构决定了其延时的不可预测性。

总之,CPLD可编程方案的优点如下:

●逻辑和存储器资源丰富(Cypress Delta39K200的RAM超过480 Kb)

●带冗余路由资源的灵活时序模型

●改变引脚输出很灵活

●可以装在系统上后重新编程

●I/O数目多

●具有可保证性能的集成存储器控制逻辑

●提供单片CPLD和可编程PHY方案

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

FPGA的优点主要有:

●可进行任意次数的编程,并可在工作中快速编程 ,实现板级和系统级的动态配置

●可达到更高的集成度 ,同时也具有更复杂的布线结构和逻辑实现适合结构

●采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

●FPGA可做其它全定制或半定制ASIC电路的中试样片。

●FPGA内部有丰富的触发器和I/O引脚。

● FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

●FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

说了这么多,到底该如何选取cpld/fpga,是不是心中有数多了?

要陆妹说呀,cpld合适呢?还是fpga更合适?最终是取决于各位攻城狮想要实现什么功能,根据系统要求,评估管脚,接口,逻辑,时钟等资源,再选择器件种类和系列。最重要一点,选择CPLD或FPGA的关键是“成本”,在满足产品性能和质量的前提下,用最小的精力和金钱获取最大的利益,才是最好的选择。

好了,今天就到这里啦,别忘了关注+分享哦!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180828G1EX8600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券