侵权投诉
当前位置:

OFweek电子工程网

开发工具/算法

正文

CPLD、FPGA、DSP的联系与区别

导读: 由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。

那么它们的区别有哪些呢?

ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。

作为Processor,这几种器件有什么有优缺点。

其实C51,ARM,DSP都不是单独作为芯片来提供给用户的,都要加一些外围电路来支持。

例如:memory controller,interrupt controller,timer,UART,SPI,I2C等等。

所以要比较最好从processor的角度来比较他们。

(1). C51是8位的;ARM是32位的;DSP有16位的,也有更高的。

(2).所有说从运算能力上看,C51最弱,DSP最强,ARM居中。

(3).结构差别较大,C51最简单,是一般的冯诺伊曼结构;ARM9以上是哈佛结构的RISC;DSP一般使用哈佛结构。

(4).C51一般芯片面积非常小,工作频率很低(一般是10多MHz,有的是24MHz),所以功耗低。DSP则频率很高(高的达到300MHz以上),所以功耗大。ARM芯片面积也很小,ARM7是0.55平方毫米,功耗也比较小。频率大约在(几十到200MHz之间)

(5).所以一般C51主要应用于不需要太多计算量的控制类系统。一般配有丰富的外围module。DSP则主要应用于需要进行复杂计算的高端系统,例如图像处理,加密解密,导航系统等,外围module一般较少。ARM是C51和DSP之间的一个折衷。

(6).强调一点:C51的性能远不如ARM和DSP,但仍然占据重要的一席之地,原因就是性能价格比。因为它太成熟了,太小了,太便宜了。而在一些需要复杂计算的领域,DSP也不可或缺。ARM的成功就是他找到了一个折衷点,并且建立了一个非常灵活的商业模型。

CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件, 是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。 其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实 现设计的数字系统.

FPGA和CPLD的区别

FPGA与 CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的 ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。

将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。

尽管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的功耗要比FPGA大,且集成度越高越明显。

<上一页  1  2  
声明: 本文由入驻OFweek公众平台的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

我来说两句

(共0条评论,0人参与)

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号