1.2 FPGA的技术优势
在1.1节中,我们着重讲述了FPGA的发展历程,了解了FPGA的前世今生,本节我们着重介绍FPGA的技术优势。
许多读者都知道FPGA功能强大,但它强大在哪儿?以单片机举例说明,我们都知道,单片机功能强大,几乎无所不能,而FPGA与之相比只强不弱。因为只要单片机能实现的功能,FPGA就一定能实现,当然这需要加一个大前提——在FPGA资源足够多的情况下。但是FPGA能实现的功能,单片机却不一定能够轻松实现,这是不争的事实,如果你不相信,那只能说明你还不了解FPGA。
说到这里,读者不禁要问,既然FPGA这么厉害,为什么单片机的使用范围更广?那是因为在商业中,价格往往是影响产品的重要因素之一。单片机的价格要远远低于FPGA,而且根据性能和资源的不同,FPGA的价格也存在很大差异,单枚FPGA芯片的价格从几十元到几十万元不等。与之相比,单片机的价格要便宜很多,同样的功能我们如果可以用价格低廉的单片机实现,就不会选择相对昂贵的FPGA了,除非单片机满足不了功能需求。所以公司自己进行开发时,为了节约成本,可能会选择更加便宜的单片机,而不会选择相对昂贵的FPGA,因为单片机、ARM这种微处理器的需求量很大,所以价格上更有优势。
但无论是单片机、ARM还是FPGA,它们都只是一种帮助我们实现功能的工具,具体如何选择,需要根据具体问题具体分析。总之,没有万能的工具,只有符合生产需求的工具。我们不应对某种工具存在偏见,要综合考虑。同样,当你了解得更多的时候,你会发现这些工具都需要掌握。
相信你在翻看本书目录时,不禁会产生一些疑问:本书涉及的诸多实验不就是单片机、ARM那些吗,也没发现FPGA有多强大。其实本书只是带你掌握FPGA的基本设计方法,更准确地说,这是一本FPGA的入门教程,FPGA有很多特殊的应用领域,而这些领域就不像是点亮一个小灯、驱动一个数码管、进行LCD显示、传输串口数据这么简单了,关于FPGA的具体应用方向,我们会在下一节详细列举。
FPGA的应用场景远没有单片机和ARM这么多,主要针对单片机和ARM无法解决的问题。比如要求灵活高效、高吞吐量、低批量延时、快速并行运算、可重构、可重复编程、可实现定制性能和定制功耗的情况,这些工作只能由FPGA承担。
而相对于出于专门目的而设计的集成电路(Application Specific Integrated Circuit,ASIC),FPGA具有3点优势:
▪ 灵活性:通过对FPGA编程,FPGA可以执行ASIC能够执行的任何逻辑功能。FPGA的独特优势在于其灵活性,即随时可以改变芯片功能,在技术还未成熟的阶段,这种特性能够降低产品的成本与风险,在5G技术普及初期,这种特性尤为重要。
▪ 上市时间缩短:对FPGA编程后即可直接使用,FPGA方案无须经历三个月至一年的芯片流片周期,为企业争取了产品上市时间。
▪ 有一定成本优势:FPGA与ASIC的主要区别在于ASIC方案有固定成本而FPGA方案几乎没有,在使用量小的时候,采用FPGA方案无须一次性支付几百万美元的流片成本,同时也不用承担流片失败的风险,此时FPGA方案的成本低于ASIC的,随着使用量增加,FPGA方案在成本上的优势逐渐减少,超过某一使用量后,由于大量流片产生了规模经济,因此ASIC方案在成本上更有优势,如图1-9所示。
图1-9 FPGA方案和ASIC方案的成本比较
因此,FPGA通常在数字信号处理、视频处理、图像处理、5G通信领域、医疗领域、工业控制、云服务、加速计算、人工智能、数据中心、自动驾驶、芯片验证等领域发挥着不可替代的作用,如图1-10所示。只有掌握了通用的FPGA设计方法,才能在FPGA独领风骚的领域中大展宏图。
图1-10 FPGA应用方向