打印

ARM/DSP/FPGA之间有什么区别与联系吗?

[复制链接]
6909|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
拿起书本|  楼主 | 2012-6-20 12:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
bander| | 2012-6-20 14:15 | 只看该作者
①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而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大,且集成度越高越明显。
随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到CPLD容易使用、时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。现在,设计人员可以体会到密度高达数十万门的CPLD所带来的好处。
CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。因此,原有设计的运行可以预测,也很可靠,而且修改设计也很容易。CPLD在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。与FPGA相比,CPLD的I/O更多,尺寸更小。
如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。CPLD可让设备做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以著手进行硬件设计,然后再修改代码以满足最终标准的要求。CPLD的速度和延迟特性比纯软件方案更好,它的NRE费用低於ASIC,更灵活,产品也可以更快入市。CPLD可编程方案的优点如下:
●逻辑和存储器资源丰富(Cypress Delta39K200的RAM超过480 Kb)
●带冗余路由资源的灵活时序模型
●改变引脚输出很灵活
●可以装在系统上后重新编程
●I/O数目多
●具有可保证性能的集成存储器控制逻辑
●提供单片CPLD和可编程PHY方案
由于有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市
CPLD的结构
CPLD是属於粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。CPLD的路由是连接在一起的,而FPGA的路由是分割开的。FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。
CPLD以群阵列(array of clusters)的形式排列,由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。


CPLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。CPLD的逻辑群比FPGA的基本单元大得多,因此FPGA是细粒的。
CPLD的功能块
CPLD最基本的单元是宏单元。一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。
因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。这就是为何CPLD被认为是"逻辑丰富"型的。

宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成。宏单元执行一个AND操作,然后一个OR操作以实现组合逻辑。

每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵。
每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。前者每模块有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的FIFO。
CPLD有什麽好处?
I/O数量多
CPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。
时序模型简单
CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。这种简单的时序模型主要应归功于CPLD的粗粒度特性。
CPLD可在给定的时间内提供较宽的相等状态,而与路由无关。这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。
粗粒CPLD结构的优点
CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。
CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。

细粒FPGA结构的优点
FPGA是细粒结构,这意味著每个单元间存在细粒延迟。如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。CPLD的粗粒结构却能很好地适应这一设计布局的改变。


灵活的输出引脚
CPLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引脚,而时序仍保持不变。
新的CPLD封装
CPLD有多种密度和封装类型,包括单芯片自引导方案。自引导方案在单个封装内集成了FLASH存储器和CPLD,无须外部引导单元,从而可降低设计复杂性并节省板空间。在给定的封装尺寸内,有更高的器件密度共享引脚输出。这就为设计人员提供了"放大"设计的便利,而无须更改板上的引脚输出。


●arm是一种嵌入式芯片,比单片机功能强,可以针对需要增加外设。类似于通用cpu,但是不包括桌面计算机。

DSP主要用来计算,计算功能很强悍,一般嵌入式芯片用来控制,而DSP用来计算,譬如一般手机有一个arm芯片,主要用来跑界面,应用程序,DSP可能有两个,adsp,mdsp,或一个,主要是加密解密,调制解调等。

●ARM其实就是一个知识产权,ARM公司本身不生产芯片,但是向其它公司提供授权。

alterA有嵌入ARM内核的SOPC芯片,搜搜应该能搜的到的。

如果自己设计一个ARM芯片,显然是不大可能的,即使设计出来嵌入式芯片,也不能叫ARM。

当然用FPGA设计简单的处理器芯片应该还是有可能的,好象外国大学都有这样的课程设计,
也有很多书籍介绍设计简单的处理器芯片的。
感觉处理器芯片主要就是把指令译码,分派给不同的功能部件来执行工作,
如果再加上流水线,预测执行以及存储器、外设等等功能,应该工作量很大的。


●其实象工作量特别大的运算,一般还是用FPGA/ASIC来实现的,
譬如在手机基带芯片中,码片级的运算,一般是用FPGA/ASIC,
而比特级的运算,应该用DSP实现的多。

使用特权

评论回复
板凳
tianli1980| | 2012-6-20 15:47 | 只看该作者
说的简单点吧:

ARM 主要用于控制
DSP 主要用于运算
FPGA 主要是设计电路

使用特权

评论回复
地板
journeycc| | 2012-6-21 15:17 | 只看该作者
3楼够简洁的;P

使用特权

评论回复
5
journeycc| | 2012-6-21 15:17 | 只看该作者
一看就懂

使用特权

评论回复
6
321weare| | 2012-6-21 15:46 | 只看该作者
:dizzy::dizzy:

使用特权

评论回复
7
waitingf| | 2012-6-21 16:44 | 只看该作者
顶一下三楼

使用特权

评论回复
8
someonewho| | 2012-6-21 16:59 | 只看该作者
2楼写的值得好好读一下

使用特权

评论回复
9
jxmzzr| | 2012-6-21 17:13 | 只看该作者
ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面。

而DSP主要是用来计算的,比如进行加密解 密、调制解调等,优势是强大的数据处理能力和较高的运行速度。

FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、 再编程和重复操作,因此可以充分地进行设计开发和验证。

使用特权

评论回复
10
拿起书本|  楼主 | 2012-7-9 14:35 | 只看该作者
哦了,21家好人真好,谢谢大家,结贴了,给分。

使用特权

评论回复
11
ji7411| | 2012-7-9 17:50 | 只看该作者
DSP主要用来计算,计算功能很强悍,一般嵌入式芯片用来控制,而DSP用来计算,譬如一般手机有一个arm芯片,主要用来跑界面,应用程序,DSP可能有两个,adsp,mdsp,或一个,主要是加密解密,调制解调等。

说的好啊。很详细

使用特权

评论回复
12
爱之翼V| | 2012-7-10 13:20 | 只看该作者
2楼写的很详尽,3楼是简洁版,楼主看着用吧

使用特权

评论回复
13
梅花望青竹| | 2012-7-10 18:26 | 只看该作者
楼上说得很好,学习了!

使用特权

评论回复
14
益友电子| | 2012-7-10 18:30 | 只看该作者
2楼好强大的楼层啊!

使用特权

评论回复
15
tee.| | 2012-7-11 15:09 | 只看该作者
呵呵,确实很简单,这个问题新手一般很迷惘,自己做哪方面研究可以多看看。

使用特权

评论回复
16
huangfeng33| | 2012-7-12 21:46 | 只看该作者
进来学习一下,楼上各位介绍的很详细了,受教

使用特权

评论回复
17
zhanghao_21net| | 2013-8-29 16:39 | 只看该作者
学习了,最近需要购买嵌入式的开发板,不知道哪一种型号较好,楼上解决了部分疑惑!

使用特权

评论回复
18
黑色幽默在4系| | 2014-5-16 16:14 | 只看该作者
围观。。。

使用特权

评论回复
19
wangdezhi| | 2014-5-16 23:42 | 只看该作者
这都是那年的了

使用特权

评论回复
20
wangdezhi| | 2014-5-16 23:43 | 只看该作者
好久远呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4195

帖子

31

粉丝