1、概念区别:
ASIC(专用集成
电路)是一种在设计时就考虑了设计用途的IC。
FPGA(现场可编程门阵列)也是一种IC。顾名思义,只要有合适的工具和适当的专业基础,工程师就可以对FPGA进行重新编程。
2、开发流程区别:
FPGA开发是利用HDL和quartus、vivado等EDA工具,重新配置(configure)芯片的功能,而ASIC通常都具有较少的可重配置能力。
ASIC基本都是基于标准单元开始设计的,还需要进行Place&Route。当芯片存在任何问题时,必须再次重新投片,直到达到你想要的功能和性能。ASIC设计流程非常昂贵,至少需要几个月的时间才能完成。
ASIC在离开生产线后再也无法改变。这就是为什么设计师在大规模量产之前需要完全确保设计正确无误。工程师可以利用FPGA的可重配置这一优势,进行ASIC的原型验证,以便在将设计发送到代工厂之前,可以在实际世界中对其进行全面的测试。
FPGA是一大堆预制的门和触发器,具有可编程互连的特性。可以使用这些基本模块配置成你想要的任何逻辑功能。如果有错误,可以在几秒钟内重新编程,而不需要数月才能知道结果。然而,在FPGA中,有时候需要额外的硬件开销来进行正确的连接。
3、成本区别:
ASIC在重复成本方面具有很大的优势,因为在设计中浪费的材料非常少。对于FPGA,总是有很多的硬件资源被浪费。这意味着FPGA的重复成本通常高于同类ASIC的重复成本。
尽管ASIC的重复成本非常低,但其非重复成本相对较高且通常达到数百万。由于它是非重复性的,因此每个IC的成本随着量的增加而减少。
所以,在ASIC量产到一定量之后,使用ASIC可以比使用FPGA更便宜。与FPGA相比,ASIC在功耗,性能,尺寸和成本方面具有很大优势。