
文章插图
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更合适?最终是取决于各位攻城狮想要实现什么功能,根据系统要求,评估管脚 , 接口,逻辑,时钟等资源,再选择器件种类和系列 。最重要一点,选择CPLD或FPGA的关键是“成本”,在满足产品性能和质量的前提下,用最小的精力和金钱获取最大的利益,才是最好的选择 。
- 牡丹吊兰有毒吗,心叶日中花有毒吗
- 冰块怎么做不容易化,怎样让冰块保持不融化
- 抖音怎么制作手动翻照片,抖音图集怎么搞成自己翻?
- 中筋粉和高筋粉的区别有哪些,高筋面粉和中筋面粉的区别
- 锂保存在哪里,锂单质存放在哪?
- 老公生日送什么礼物,送老公生日礼物送什么比较有意义
- 炒蚬子用不用焯水,辣炒蚬子 是先煮一下呢 还是直接炒
- 雅泰角鲨烯胶囊的功效,角鲨烯软胶囊的功效与作用
- 海上交通与陆上交通相比,明显的优势有,陆上运输与海上运输的优势各是什么
- 中国五大名酒,中国五大名酒是什么?
