关于FPGA和ASIC的区分和应用

描述

在数字系统中ASIC和FPGA本身就有太多相似的地方,如我们看到的,在图像处理领域,ASIC和FPGA可以完成同样的图像处理任务;在通信领域,ASIC和FPGA可以完成相同的信道编码、高速通信接口等任务,这样的例子举不胜数。ASIC设计和FPGA设计中也存在着很多的相似的地方。它们二者在功能实现中都采用HDL描述。乍一看,二者似乎完全相同,但二者之间又互有优缺点。

首先说说什么是ASIC?

ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)是一种应对特定用户和特定电子系统而专门设计的集成电路。因为数字系统的发展和广泛应用,当大家听到ASIC时,会默认为其为数字IC。其实不论它是模拟或数字的,或两者的混合,任何具有特定功能和特定用途的芯片都是一个ASIC。例如,ISP主要针对图像处理,完成图像噪声去除、坏点去除、白平衡、自动曝光控制等功能。由于其定制式的设计,在设计中可以根据电路的功能和性能的要求对电路中的基本原件,如与门,或门,开关电路,触发器等按照特定的方式排列,实现最小面积,最优功耗等设计优化,因此ASIC具有体积小、功耗低、可靠性提高、执行速度快等优点。有优点当然也有缺点,定制化的设计会使得一旦制造完成电路就固定,无法再更改。

FPGA

ASIC芯片内部结构图

其次再看看什么是FPGA?

FPGA(Field Programmable Gate Array,现场可编程门阵列)本质也是一种ASIC,是一种包括可以配置逻辑模块、可配置连线资源的ASIC。完全由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反复擦写。由于其可配置和可编程的特点,我们当然可以进行编程实现相应的图像噪声去除、坏点去除、白平衡、自动曝光控制等功能,从而采用FPGA完成同样的图像处理功能。其灵活性解决了定制电路的不足,在修改和升级时,不需额外地改变PCB电路板,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的周期,提高了实现的灵活性。可配置的带来的影响当然是功耗高、体积大、执行速度和可靠性方面较差一些。

FPGA

FPGA内部结构图

从内部结构图中可以看出FPGA芯片内部更规整,基本单元有规律的平均分布在芯片内部,而ASIC芯片里面基本找不到相同的地方。打个比方,ASIC芯片就好比普通住宅,每种户型的户内格局与房间数不同,装修风格也完全不一样;而FPGA芯片就好比一个个由厂房仓库改建的LOFT,面积、风格全部一致。

“哎呀,有点扯远了,下面小兴就带着大家具体看看二者区别。”

ASIC和FPGA的基本单元不一样。ASIC内部各个功能模块的基本实现单元是与、或、非、触发器;FPGA基本单元为逻辑单元(由于每家的缩写不一样,所以统称逻辑单元)。一个逻辑单元包含了各种可配置单元(通过配置实现与、或、非逻辑)和触发器。ASIC芯片由于基本单元颗粒更小,单位面积利用率大大高于FPGA。                                        

FPGA

ASIC基本单元示意图

FPGA


FPGA基本单元示意图

设计流程不一样。ASIC设计流程需从数字前端、后端甚至模拟人员,开发周期长、风险大,而FPGA设计一个工具搞定所有问题。但是同样带来的问题是FPGA需要更严格设计规则,速度、面积、功耗等都不如ASIC效率高。

FPGA

FPGA与ASIC设计流程对比

设计成本不同。ASIC芯片需要高昂的留片和封测等一次性工程费用,这就需要有一定的使用量来平摊这一成本;但从单个器件本身的角度讲,具有可配置的灵活性的FPGA较ASIC成本要高。这表示在大批量生产时ASIC具有成本低的优势,FPGA较适合应用使用量低的小产量应用场景。

可配置性。FPGA中的FP表示了Field Programmable,即现场可配置。这里小兴又要提到上面的例子,旧仓库或旧厂房改建的LOFT在房屋结构不变得条件下内部功能可以做出翻天覆地的变化。而买了一套普通住房之后基本上只能做些敲敲打打。话说回来,FPGA能做到现场可配置,也就是说上一刻FPGA是个CPU,下一刻FPGA就变成了一个ISP。对比FPGA,ASIC的可配置性为0,所以才需要更多的人员、更多的工具去保证设计无误。

应用场合。ASIC芯片一旦流片功能就无法改变,基本专片专用。而FPGA可配置特性就可以应用在功能会改变的场合,例如,原型验证,ASIC设计过程中会使用到FPGA来进行原型验证;功能升级,在产品中采用FPGA实现一些业内暂时还没成熟的解决方案,可以在后续功能变动时方便升级。

根据上述对比,我可以看出,在大批量生产和使用时,ASIC由于其体积小、功耗低、可靠性高、执行速度快等优点较为适合使用;在一些小众应用场景,在没有对应ASIC情况下,可使用FPGA替代ASIC;同时也因为FPGA的开发速度快,对于新兴产业,在还没有适用ASIC情况下,可以使用FPGA替代ASIC快速占领市场。当然因为二者之间的相似之处,在ASIC流片前,FPGA可以说是完成ASIC功能验证的不二之选。

话说没有对比就没有…..,哈哈哈,没有互相伤害了,小兴我就两者的特点给大家列出来,以方便大家可以更清楚的了解ASIC和FPGA。

FPGA

先简单介绍这么多了,随着芯片制程工艺的不断发展,以及应用场景的多样化,ASIC和FPGA在产品应用中也呈现出多样化的趋势。例如,iPhone7中就已经集成了一颗FPGA芯片,在如此大出货量的产品中使用FPGA实属少见,究其原因如何网络上说法不一。这些待小兴我在后续的推送中再来分析。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分