在相当长的一段时间内,FPGA、ASIC、DSP三者不同的技术特征造就了它们不同的应用领域,DSP在数字信号方面是绝对的霸主,ASIC是专业定制领域的牛人,而FPGA由于其价格高、功耗大,主要用于ASIC前端验证和一些高端领域,在DSP和ASIC面前绝对属于小弟。但近10年,这小弟特别努力,提高了半导体工艺水平,降低了功耗和芯片价格,此外由于其可编程,比较灵活,因此抢了 ASIC 不少的市场份额,还号称ASIC终结者。但是他在成绩面前不骄傲自满,继续努力,最近两大FPGA厂商又都推出了带DSP平台的FPGA,开始行使起DSP的“职能”,把手伸到到了DSP的地盘。于是这哥仨掐起来了,美其名曰:没有硝烟的战争。那么,未来FPGA能否终结ASIC?ASIC又将如何发挥自己的独特魅力,应对FPGA的挑战?FPGA能否真的取代DSP?DSP又将如何从多方面寻求创新与突破?ASIC、DSP、 FPGA的未来究竟何去何从?且听下面分解。虽然“百度一下,你就知道”,但还是得介绍一下这哥仨是干嘛的:
本文引用地址:http://www.eepw.com.cn/article/158857.htm
火线三兄弟:DSP 、ASIC、FPGA
先明确一个概念,DSP首先是Digital Signal Processing(数字信号处理),然后才是Digital Singnal Processor(数字信号处理器)。大家一定觉得数字信号处理多么复杂(我也觉得,小弟数学不好,怕算法),其实观念是非常简单的,就是一个转换器。打个比方,你(原始数据)对自己的长相不太满意,需要整容,从医院南大门进去,进入手术室(数字信号处理器),里面有各种整容设备(算法),然后从北大门(不是后门)出来,出来的时候你就不是你了,变成了你想要的效果(新数据),要么瘦了,要么胖了,甚至有可能你就变成梁朝伟了,这就是数字信号处理。进行数字信号处理的工具就叫数字信号处理器,DSP就在这种情况下闪亮登场了。下面进行一些基本概念的介绍(特别枯燥,但是咱得知道):DSP是在模拟信号变换成数字信号以后进行高速实时处理的专用处理器,它采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠,也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,因此其本身就是一个微型计算机。按照用途可分为通用型DSP芯片和专用型DSP芯片,通用型DSP芯片适合普通的DSP应用,如我们最常用的TI公司的一系列DSP芯片属于通用型DSP芯片;专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算。在近20多年的时间里,DSP芯片的应用已经从军事、航空航天领域扩大到信号处理、通信、雷达、消费等许多领域,被誉为信息社会革命的“旗手”。一听这名字就知道DSP特别有前途。
之所以要一起介绍ASIC、FPGA,是因为他俩长得比较像,是“近亲”。 首先介绍FPGA,FPGA( Field Programmable Gate Array)即现场可编程门阵列,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。作为专用集成电路(ASIC)领域中的一种半定制电路(ASIC设计分为全定制和半定制两种,全定制设计是完全由设计师根据工艺,以尽可能高的速度和尽可能小的面积以及完全满意的封装、独立地进行芯片设计;半定制设计是一种基于库元件的约束性设计,约束的主要目的是简化设计、缩短设计周期,并提高芯片的成品率。由于单元库和功能模块电路愈发成熟,全定制已逐渐被半定制所取代。),FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。
虽然FPGA在数字电路设计中无所不能,是个典型的“高帅富”,但这个小弟一开始可没这么好的命,它是给老大哥ASIC打替补的。ASIC(Application SrIecific Intergrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路,与通用集成电路相比具有体积更小、重量更轻、功耗更低、可靠性高、性能高、保密性增强、成本降低等优点。目前用FPGA/CPLD来进行ASIC设计是最为流行的方式之一。我们知道,FPGA 开发流程大致为:选定器件,安装软件,设计输入,代码调试(包括管脚定义、时序定义、时序分析),设计仿真(功能仿真、时序仿真)和下载调试。而ASIC 是为客户定制的芯片,在ASIC 设计过程中,往往要用到FPGA 进行原型验证。FPGA 验证是进行ASIC 设计的重要环节,可以这么说,完成FPGA 验证就完成了ASIC 整套流程的50~80%。
但是现在FPGA这个小弟特别有志气,慢慢长大了,他开始打主力,排挤老大哥,在非常多的产品里都能看到他。这里有几个原因,首先一个原因是价格。随着半导体制造技术的进步,硅器件的单位面积制造成本迅速降低,这对FPGA是好事儿,FPGA 厂商采用新工艺使得成本不断下降;但对ASIC就不一定了,随着设计复杂性的增加,ASIC 的非重复性工程(NRE)费用、最少订购数量以及开发工具套件的费用都在上涨,如果某一天,FPGA 厂商再把利润释放出来一些,可以想象ASIC的日子肯定不好过。第二,它可以反复擦写。FPGA开发效率要比ASIC 要快很多,产品也可以早点卖出去。另外你还可以利用它的在线修改能力,随时修改设计而不必改动硬件电路,可以去给已经卖给别人的东西更新,变成更好的东西,而如果这个时候你面对的是你设计的ASIC,你只好哭吧。第三,就好像广告里面说的:方便,真方便~~
首先咱们先听听专家们的意见,下面这张图业界专家们对于这哥仨的看法。目前来看,ASIC、FPGA、DSP各自都有各自的优势,没有谁比谁更牛。
ASIC在这些领域具有压倒性的优势:“机顶盒的编解码器芯片、无线应用的RF芯片、高档汽车电子芯片等具体方面,ASIC的优势明显,尤其是市场成熟的消费电子领域,ASIC具有无可比拟的优势”。但是ASIC有一个致命的缺陷:为客户专门定制,所以的成本全部由自己来承担,若量产达不到一定的规模就亏了,成本压力,你懂的。
DSP也具有压倒性的优势的领域:“随着无线通信的数字化,数字基站和数字手机得到空前的发展。作为数字信号处理的核心引擎,DSP曾经独领风骚。在视频和音频的数字化进程中,DSP首当其冲地实现了数字化音频和视频压缩编码和解码,从而很大程度上率先改变了人们的生活方式”。DSP在信号处理领域还是那么横,但他也有压力,那就是FPGA越来越牛了。当然了,FPGA里的一个乘法器无法和DSP里的乘法器相比,但是架不住人多吧,我用100个,200个,400个同时(大家要知道FPGA是并行的)运算呢?所以,这个压力是必须可以有的。
FPGA呢,有点万金油的意思,ASIC、DSP能干的他都能干,但请注意,万金油不是万能,更不是无敌,目前来说他有这两个比较大的缺点:功耗高、成本高。撇开ASIC不谈(个人认为,在某种程度上FPGA基本可以代替ASIC),现在音视频处理、移动通信甚至整个通信行业流行的解决方案都是FPGA+DSP,其中FPGA做逻辑控制,DSP做浮点算法。如果算法不是很占资源,可以直接用FPGA来做(FPGA里面有DSP模块,即乘法器);如果算法很占资源,也可以直接用FPGA来做,俩字:烧钱,所以如果你不是富二代,还是乖乖的用FPGA+DSP吧。小弟比较喜欢FPGA(可能是害怕算法),所以期待他哪天能打败DSP,一统信号处理天下!
对于这哥仨的关系,尹勇生老师总结得特别唯物主义:“使用辩证的观点,哪一个都不会真正替代被另一个所替代”。小时候老师教过我们:我国正处于并将长期处于在社会主义初级阶段,小时候老师还教过我们要学会举一反三,今天小弟也大胆活学活用一会:ASIC、FPGA、DSP正处于并将长期处于竞争竞合阶段,各领风骚好几年!