FPGA/IC设计入门3-FpgaASic区别
上一篇 /
下一篇 2007-04-28 19:10:07 / 天气: 晴朗
/ 心情: 高兴
/ 个人分类:IC Design
上回我们讨论了学习逻辑电路和硬件描述语言的方法。如何买书,如何看书。这回我们讨论
fpga和asic设计有什么区别。
fpga现场可编程器件,PLD方面的东西,通过
verilog编译成配置文件,加载到fpga中实现特定的功能。其实fpga本身就是一个芯片,只是你可以通过编程的方式修改内部逻辑连接和配置实现自己想要的功能。
asic专用集成芯片,是针对特定
应用设计的芯片。实现asic,就如从一张白纸开始,你得有代码,之后综合,之后布局,布线,得到GDSII后去流片。fpga器件也是通过这个流程过来的,不过他应该算一个通用器件,就如cpu,可以在很多情况下应用,不像mp3芯片,它就只能播放mp3,所以只能称为专用芯片。不论通用还是专用,都有差不多的流程,注意上面说的是半定制的数字集成芯片的流程。作为模拟,还有一些特殊的全定制芯片,一般都是从版图开始的。
速度:相同的工艺和设计,在fpga上的速度应该比asic跑得慢。为什么呢?因为fpga内部是基于通用的结构,也就是LUT(look up table),它可以实现加法器,组合逻辑等等,而asic,一般你加法器就是加法器,而比较器就是比较器,fpga结构上的通用性必然导致冗余;另外,作为fpga基本单元是LUT(LUT组成SLICE,SLICE组成CLB--这是xilinx的结构),为此大的设计假如一个LUT实现不了,就得用两个LUT,一个SLICE实现不了就要用CLB,不同结构处于特定的位置,信号之间的互联,导致的wire delay是不可忽略的一部分。而对于asic来说没有结构上的限制,而且对于特定的实际可以在空间上靠得很近,相对之下wire delay和cell delay都应该比fpga小。当然LUT中也有DFF,作为高速的设计一般都会在一个简单的组合逻辑操作之后打一拍,再做下一步的处理。
DICDER -- 博客专栏y lYZ1dD5v-b4h 面积:从上面上看,fpga相对于asic来说还是大很多的。要是你知道自己的手机基带芯片是一个fpga做的,你肯定会气死。n大一个fpga,想让你放到口袋里面估计还是有困难。
功耗:也是明显的东西,fpga功耗比asic要大。
以上都是基于相同制造工艺和设计的条件下比较的。从另外一个侧面看,也就是开发速度和流程上看,fpga开发简单,asic开发流程长风险大。
fpga除了代码之外,从综合到布局布线生成配置文件都是通过软件自动产生的,当然可以有一定的约束。但是,你要知道,你只是在一个房子里面画画,这个房子就是现成的fpga。画得不满意,你搽掉,再画一个。不会对房子有多大影响-只要你不把fpga烧掉。
asic设计,你不仅要关心代码,而且你要关心时序,关心设计符合DFT的要求,关心layout,关心SI。。。。。。就相当于你什么都没有,现在房子要由你来盖,盖多大(floorplan),要如何盖,电源线如何走,水管如何设计,门开在那个方向等等的东西。一旦房子盖好了,你觉得不满意?你就得拆掉,某一个缺陷都影响这个房子。你想画画,可以,你得画得好,画不好就不能改了。因为asic不是可编程的fpga,内部结构一旦流片后就确定下来了。bugs是asic中致命的东西!
对于费用来说,fpga贵在单片,开发工具和风险基本不存在。对于asic贵在流片的费用和开发工具,NRE费用随着工艺的提高变相当贵,除非你的芯片一次成功可以量产,否则单片费用将其贵无比!你想想留一次片50W,给你拿回来100颗样片,都是bugs。一片多少钱啊??!!DICDER -- 博客专栏g m?`iJ]
开发周期,fpga6个月,asic一年。若是一个设计人员说自己一年之内tapout了4-5个片子,估计他也只是做做综合或者后端。从设计到验证结束是一段漫长的时间,一旦验证初步完成,RTL2GDSII的过程是很快的。
以上是自己一点体会,若有不当之处请来信指出。欢迎交流:)
导入论坛
收藏
分享给好友
管理
举报
TAG: