FPGA

一种可编程的集成电路芯片
FPGA是“现场可编程逻辑门阵列(Field-Programmable Gate Array)”的缩写。它是一种可编程逻辑器件,用户可通过改变配置信息对其功能进行定义,以满足设计需求[1]。与ASIC(Application-Specific Integrated Circuit)相比,FPGA具有更高的灵活性和可重构性,因此在需要快速开发、验证和修改数字电路的应用中得到了广泛应用[1][2]

简介

FPGA是可编程逻辑门阵列(Field-Programmable Gate Array)的缩写,是一个含有可编辑元件的半导体设备,可供使用者现在程序化的逻辑门阵列元件[3]。FPGA可以通过编程来实现各种数字电路,包括微处理器、数字信号处理器、数字信号编解码器[1][4][5]。FPGA最初是作为ASIC领域中的一种半定制电路而出现的。与定制电路相比,ASIC可以实现更高的性能和更低的功耗,但需要进行物理设计和制造,并且成本较高,生产周期较长[6]。而FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。它可以通过编程实现不同的电路功能,具有更高的灵活性和可重构性,同时还可以在较短的时间内进行开发和生产[6]。因此,FPGA在数字电路设计和嵌入式系统开发中得到了广泛应用[7]。FPGA还可以用于高性能计算[8]图像处理[9]、通信网络处理[10]等领域。

发展历史

FPGA的发展历史可以追溯到20世纪80年代初,FPGA的发展主要分为四个阶段,分别为发明阶段、扩展阶段、积累阶段和系统阶段。(1)发明阶段(1984-1992):1985年,赛灵思公司(Xilinx)推出的首款FPGA器件XC2064,其仅包含64个逻辑模块,每个模块含有两个3输入查找表和一个寄存器。虽然容量很小,但是该器件的晶片尺寸非常大,比当时的微处理器还要大,而且采用的工艺技术也勉强能制造出这种器件。该器件只有64个触发器,但由于晶片太大,成本高达数百美元。此外,该器件的产量对大晶片来说是超线性的,因此晶片尺寸增加5%就会让成本翻一倍,同时也导致初期的赛灵思无产品可卖。(2)扩展阶段(1992-1999):FPGA 初创公司是无晶圆厂公司,无法获得领先的芯片技术。到上世纪 90 年代后期,IC代工厂生产晶体管和电线,使得基于 SRAM 的 FPGA 可以制造。每一代新工艺的出现使晶体管数量增加一倍,使每功能成本减半,并将最大 FPGA 尺寸增大一倍。CMP 技术使代工厂在 IC 上堆叠更多金属层,使 FPGA 厂商可以增加片上互联,以适应更大的 LUT 容量。(3)积累阶段(2000-2007):FPGA在新千年成为数字系统通用组件,容量和设计尺寸快速增加,并在数据通信领域占据市场。降低成本促使小型研发团队采用FPGA,而不是风险较高的定制芯片。FPGA 厂商通过生产低成本 FPGA 和开发针对重要功能的软逻辑库,来应对市场增长挑战。其中软逻辑功能包括存储器控制器、通信协议模块和软微处理器。设计特点在 2000 年代发生了改变,设计者需要考虑系统标准要求并处理通信标准,使 FPGA 在计算密集型应用中发挥重要作用。FPGA 已不仅是门阵列,而是集成可编程逻辑的复杂功能集,成为一个系统。(4)系统时代(2008-至今):FPGA 整合了系统模块和控制功能,Zynq All-Programmable 器件是很好的例子。同时,工具也在不断发展,系统 FPGA 需要高效的系统编程语言,如 OpenCL 和 C 语言编程。[11][12][13][14]