初识FPGA

FPGA(Field Programmable Gate Array, 简称 FPGA) ,现场可编程门阵列,一种以数字电路为主的集成芯片,属于可编程逻辑器件 PLD(Programmable Logic Device) 的一种。

发展历程

FPGA基础知识 - 图1
FPGA基础知识 - 图2
在可编程逻辑器件PLD未发明之前,工程师们使用包含若干个逻辑门的离散逻辑芯片进行电路系统的搭建,复杂的逻辑功能实现起来较为困难。为了解决这一问题,20 世纪 70 年代,可编程逻辑阵列 PLA(Programmable Logic Array)问世,PLA 中包含了一些固定数量的与门、非门,分别组成了“与平面”和“或平面”,即“与连接矩阵”和“或连接矩阵”,以及仅可编程一次的连接矩阵(因为编程基于的是熔丝工艺),因此可以实现一些相对复杂的与、或多项表达式的逻辑功能。
FPGA基础知识 - 图3
早期的可编程逻辑器件主要由上述四种类型的芯片组成,即 PROM、PLA、PAL和GAL。它们的共同特点是可以实现速度特性较好的逻辑功能,但由于其结构过于简单所以只能实现规模较小的数字电路。复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)诞生。CPLD 可以看成是 PLA 器件结构的延续,一个CPLD 器件也可以看作若干个PLA和一个可编程连接矩阵的集合。

FPGA技术优势

FPGA功能的强大,但它强大在哪儿?以单片机举例说明,我们都知道,单片机功能强大,几乎无所不能,而 FPGA 与之相比只强不弱。因为只要单片机 能实现的功能 FPGA 就一定能实现,当然这需要加一个大前提——就是要在 FPGA 资源足 够大的情况下;但是 FPGA 能实现的功能单片机却不一定能够轻松做到。
单片机的价格要远远低于 FPGA,而且 FPGA 的价格根据性能和资源的不同,价格也存在很大差异,单枚 FPGA 芯片价格从几十元到几十万元不等。与之相比,单片机的价格要便宜很多,同样的功能我们如果可以用价格低廉的单片机实现就不会选择相对昂贵的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方案由于大量流片产生了规模经济,在成本上更有优势。

FPGA基础知识 - 图4