《从设计流程等多维度解读 FPGA和ASIC异同点.docx》由会员分享,可在线阅读,更多相关《从设计流程等多维度解读 FPGA和ASIC异同点.docx(8页珍藏版)》请在优知文库上搜索。
1、FPGA要取代ASIC了,这是FPGA厂商喊了十多年的口号。可是,FPGA地盘占了不少,ASIC也依旧玩得愉快。这两位到底有啥不一样呢?一、介绍FPGA(FieId-PrOgrammab1.eGateArray).即现场可编程门阵列,是在PA1.GA1.CP1.D等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。它是当今数字系统设计的主要硬件平台,其主要特点就是完全由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反其擦写。在修改和升级时,不需额外地改变PCB电路板,
2、只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的周期,提高了实现的灵活性并降低了成本。ASIC(App1.icationSpecificIntegratedCircuit),即专用集成电路,是一种为专门目的而设计的集成电路。是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。AS1.C的特点是面向特定用户的需求,ASIC分为全定制和半定制。亮点在于专用,星:身定制所以执行速度较快。句话总结就是,市场上买不到的芯片。水果的A系列处理器就是典型的ASIC.二、FPGA是可复用的FPGA采用了逻辑单元阵列1.CA(1.ogiCCe1.1.Array)这样一个概
3、念,内部包括可配置逻辑模块C1.B、输出输入模块K)B和内部连线三个部分。现场可编程门阵列(FpGA)是可编程器件.FPGA利用小型查找表(16x1.RAM)来实现组合逻辑,每个台找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动1.g,由此构成了即可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到1/0模块。卜PGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与1.O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA的特点:加电时,FpGA芯片将EPR
4、OM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掠电后,FPGA恢复成白片,内部道辑关系消失,因此,FPGA能够反更使用。理论上,FPGA允许无限次的编程。FPGA的编程无须专用的卜PGA编程版,只须用通用的EPROM、PRoM编程器即可。FPGA内部有F富的触发器和1/0引脚。快速成品,可以被修改来改正程序中的锚误和更便宜的造价。用户不需要介入芯片的布局布线和工艺问题,而且可以随时改变其逻辑功能,使用灵活.1111111111111111(FKiA基本架构)三、ASIe是为VIP服务的AS1.C是定制的,具体分为全定制和半定制。全定制设计可以实现最小面积,圾佳布线布局、最优
5、功耗速度,得到最好的电特性。特点:精工细作,设计要求高、周期长,设计成本昂货。半定制设计方法又分成基丁标准单元的设计方法CBIC和基于门阵列的设计方法。半定制主要适合于开发周期短,低开发成本、投资、风险小的小批量数字电路设计。AS1.C的特点是:面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提面、性能提高、保密性增强、成本降低等优点。AS1.C需要较长的开发周期,风险较大,一旦有问题,成片全部作废,所以小公司已经玩不起了。(ASIC基本架构)四、两者的设计流程完整的FPGA设计流程包括功能描述、电路设计与输入、功能仿真、综合优化、综合后仿真、实现与布局
6、布线、时序仿真、板级仿真与验证、调试与加战配置。ASIC的设计流程(数字芯片)包括:功能描述、模块划分、模块编码输入、模块级仿真验证、系统集成和系统仿真验证、综合、STA(静态时序分析)、形式验证。(FPGA和ASIC设计流程)播一句,在ASIC设计过程中,往往要用到FPGA进行原型验证.FPGA.证是进行ASIC设计的重:要环节,其后,还需要引入AS1.C版本源码,插入IOPAD.DFT,功耗估计和进行其它后端流程。完成FPGA验证可以说就完成了AS1.C整套流程的5080%。从设计成本来考虑,小批量上FPGA占优,大批量时,AS1.C占优.不同设计方法卜.成本的比对FPGA本身就是一个芯片
7、,只是你可以通过编程的方式修改内部逻辑连接和配置实现自己想要的功能。实现AS1.C,就如从一张白纸开始,你得有代码,之后综合,之后布局,布线,得到GDSII后去流片。五、比速度相同的工艺和设计,在FPGA上的速度应该比ASIC抱得慢。因为FPGA内部是基于通用的结构,也就是1.UT(1.ookuptab1.e),它可以实现加法器,组合逻辑等等,而AS1.c般加法器就是加法器.而比较器就是比较潜.FPCiA结构上的通用性必然导致冗余;另外,作为FPGA基本单元是1.uT(1.UT组成S1.ICE.S1.ICE组成C1.B-这是Xi1.inx的结构),为此大的设计假如一个1.UT实现不了,就得用两
8、个1.UT,一个S1.ICE实现不了就要用C1.B,不同结构处于特定的位置,信号之间的互联,导致的Wiredek1.y是不可忽略的部分。而对于AS1.C来说没有结构上的限制,而且对特定的实际可以在空间上靠得很近,相对之下wirede1.ay和ce1.1.de1.ay都应该比FPGA小。当然1.UT中也有DFF,作为高速的设计一般都会在一个简单的组合逻辑操作之后打一拍,再做卜一步的处理。六、比个头完全相同的结构的话,FPGA被ASIC远远踢飞“FpGA要规模大得多才能实现AS1.C相同的功能,主频还只有几分之一。因此,FpGA相对于AS1.C来说还是大很多的。七、功耗方面在相同工艺条件下,FPG
9、A要大手ASIC.FPGA,尤其是基丁占用大府硅面积的、每个单元六个晶体管的静态存储器(SRAM)的杳寻表(1.UT)和配置元件技术的FPGA,其功耗要比对等的AS1.C大得多。八、比花的银子FPGA贵在单片,开发工具和风险基本不存在。对FASIC贵在流片的费用和开发工具,NRE费用随着工艺的提高变相当贵,除非你的芯片一次成功可以量产,否则雎片费用将其诳无比!九、其他方面ASIC用于大型项目,而对F需要快速投放市场且支持远程升级的小里项目,FPGA则更为适合。FPGA技术的主要优势仍是产品投放市场的时间较短。在AS1.C的优势方面,AS1.C加电后可立即运行,就单位逻辑大小而言封装选择更多,还
10、可包括某些模拟逻辑。与此相对比.FPGA加载配置进入存储器需要时间,因此不能立即工作。此外,FPGA的封装也较复杂。除此之外,FPGA内部还包括接口I/O,I/O分为普通I/O和高速UO,高速1/0支持例如高速的SERDES,用于实现XAUI,PCIE等高速接口,这些接口动辄儿Gbps到IOGbps以上。此外种类多种多样的硬核IP也是各FPGA厂商差异化竞争利器,例如PoWERPC、ARM等硬核IP.从而构成CPU+FPGAF一体的集可编程性和可建构的处理平台。因此,相对来说,FPGA虽然发展有二三十年的历史,其基本架构一直不变不大。十、两者的定位FPGA和ASIC产品的使用要根据产品的定位和
11、设计需要来选用,ASIC产品适用于设计规模特别大,如CPU、DSP或多层交换芯片等,或者是应用于技术非常成熟且利润率亦常低的产品,如家用电器和其它消费类电器,亦或是大量应用的通用器件如RAM、PHY等。而FPGA产品适用于设计规模适中,产品要求快速占领市场,或产品需要灵活变动的特性设计等方面的产品,如PDH、2.5G以下SDH设备和大部分的接口转换芯片等。当然具体使用那种产品来设计还要设计者充分考虑自己的产品定位来决定。十.、两者在互相融合最明显的莫过于处理器中开始集成FPGA,而可编程的ASIC也开始兴起.随着SOC成为主流,两者的边界也就不辣么明显了。十二、最后奉上网友对FPGA比ASIC
12、快的解糅FpGA的1.UT等资源已经固定了,你用不用都在那里,不多不少。ASIC理论上每一个你用到的CE1.1.或者IP等资源你都可以手动的援放来进行优化。FPGA的资源固定有两个劣玲:劣势:能够利用的资源是固定的,口不成大片,横跨区域的产生逻辑.会退化时序。其实也就是你没有办法把逻辑尽可能的撰得近.逻辑摆得近可以减小线上的延迟,可以提高速度。AS1.C的Cd1.你可以全部的挤在一起(不违反DRC的前提F).如下图所示,这就是个FPGA的资源图。劣势二:你的大小是固定的。你用1个门还是用IoW个门,都是这一片已经固定好了的1.UT给你用。如果你的逻辑很小很小,FPGA很大,你信号从IO进来到逻
13、辑,有可能会走比较长的距离,这个也要花时间的“极端的例子,你从上部的IO进来,你的逻辑在下部,这走线的长度感人啊。(正常的设计不会这么做的)除此之外,FPGA的走线,你几乎是动不了的。AS1.C中你可以直接加窕金属线,比如两倍宽度走时钟线,兔位线啦,之类的。金属线宽度变大,线上的延迟变小,对速度也是有帮助的。还有asic的库一般还包含高性能CeH,低功耗CeH等。在关键路径,为了提高时序,你全用高性能的ce11(功耗大)。般的路径,时序比较松,多用低功耗的ce1.1.(性能低你FPGA一旦选定了,你就只有他给你的东西,你没有选的。ASIC还可以使用usefu1.skew的方式来提高速度,手段会
14、比FPGA中的多。总的来说,就如同GPU和CPU一样。GPU可以非常快的处理图像,但是让GPU去处理其他的东西.GPU表示撞手。CPU很多的运算都能处理,也能去处理图像,只是慢而己。一旦你是冲若某个目的去的(ASIC)你为r实现这个目标,你各种没节操没下线都可以。如果你想要多方面就瞅(FPGA),你就不可能在每一个方面都做到圾好,你必须trade-off。1.FPGAFpGA是在PA1.GA1.CP1.D等可编程器件的基础上进一步发展的产物.它是作为专用集成电路(AS1.C)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程罂件门电路数有限的缺点。它是当今数字系统设计的
15、主要硬件平台,生要特点是完全由用户通过软件进行配置和编程,从而完成某种特定的功能,且可反熨擦写.在修改和升级时,不需要额外改变PCB电路板,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短系统设计的周期,提高实现的灵活性并降低成本。FpGA的特点:加电时,FPGA芯片将EPROM中的数据读入片内编程RAM中,配置完成后,FPGA进入工作状态.掉电后,FpGA恢兔成白片,内部逻辑关系消失,因此,FPGA能够反&使用。理论上,FPGA允许无限次的编程。FPGA的编程无须专用的FPGA编程器,只需用通用的EPRoM、PROM编程器即可。FPGA内部有丰富的触发器和0引脚,能够快速成
16、品,不需要用户介入芯片的布同布线和工艺问题,而且可以随时改变逻辑功能,使用灵活。2. ASICAS1.C是应特定用户要求和特定电子系统的需要而设计、制造的集成电路。用一句话总结就是市场上买不到的芯片.苹果的A系列处理器就是典型的ASICoASIC是定制的,具体分为全定制和半定制。AS1.C的特点:面向特定用户的需求,量身定制,执行速度较快。AS1.C在批量生产时与通用集成电路相比具有体积小、功耗低、可靠性高、性能高、保密性强、成本低等优点。ASIC需要较长的开发周期,风险较大,一旦有问题,就会导致成片全部作废,所以小公司已经玩不起了。图1ASICM本架构近年来人工智能受到的关注越来越多,许多公司正在枳极开发能实现移动端人工利能的硬件,尤其是能够结