【IC凉菜01】ASIC概念及与FPGA的区别

FPGA(Field Programmable Gate Array)是一种可编程器件,是一种半定制电路。相当于是一片通用的逻辑芯片,片上集成了非常多的逻辑资源,有的还有各种各样的硬核。用户可以根据自己的需求,通过编写逻辑代码来搭建各种各样的数字电路。

ASIC(Application Specific Integrated Circuit)是专用集成电路。针对用户对特定电子系统的需求,从根级设计、制造的专有应用程序芯片,其计算能力和计算效率可根据算法需要来定制。

从以下几个角度来分析ASIC与FPGA之间存在的区别:

1.灵活度

FPGA灵活度更高,众所周知芯片流片成本很高,一旦出问题就是流片失败。尤其是大规模的数字芯片,开发过程中需要验证团队花费大量的精力在RTL代码验证上。

FPGA就可以随时改变芯片的功能,哪怕已经制造出来甚至应用在了客户端,依然可以修改电路结构,这样就能很大程度上降低风险和成本。

而如果设计本身并不需要太多灵活性的话,FPGA的灵活也许就是一种浪费,也会增加潜在的成本。

2.开发流程与周期

FPGA开发时间短、开发流程更简单。一般来说对FPGA编程之后就可以直接使用,通常几个月就可以完成开发流程,不需要经过半年甚至一年以上的流片周期。

而ASIC更加复杂,尤其是全定制设计,需要大量的人力物力进行设计开发。与之相应的就是体积小、功耗低......芯片综合性能更抗打。

3.速度和性能

在两者都是相同的工艺和设计下,FPGA的性能比ASIC有所差距。因为FPGA内部都是通用的结构,它可以根据需求的不同去实现乘法器、多路选择器等等组合逻辑。而ASIC内部都是固定的结构,乘法器就是乘法器,所以FPGA在结构上的通用性必然导致性能冗余。

4.成本

成本取决于数量。如果是小批量的,FPGA成本低。如果是大批量的,ASIC成本低。

在使用量小的时候,FPGA是不需要支付几百万甚至几千万的流片成本的(FPGA比较大的成本就是板子),成本也就比较低。当使用量大的时候,使用ASIC反而是更加低成本且高性能的选择。


 

你可能感兴趣的:(数字IC通识,fpga开发)