FPGA发展现状和行业应用分析
2022-08-08李鑫闫雪梅高媛媛马文静
李鑫 闫雪梅 高媛媛 马文静
(1.中国信息通信研究院电信设备认证中心,北京 100191;2.中国信息通信研究院科技发展部,北京 100191)
0 引言
现场可编程门阵列(Field Programmable Gate Array,FPGA)是一种可通过重新编程来实现用户所需逻辑电路的半导体器件[1]。和专用集成电路(Application Specific Integrated Circuit,ASIC)相比,FPGA是基于查找表结构的逻辑门电路,具有硬件可重构的体系结构,其数字电路可以通过编程的方式在芯片出厂后重新构造,具有设计周期快、开发成本低的优势。FPGA在未编程状态下可以看作是一种集成了大量原始逻辑资源的标准器件,用户根据需求选定器件,对电路进行设计,无须花费高额流片费用即可实现定制电路的需求。
一般来说,FPGA常被用作ASIC的小批量替代品以及ASIC芯片开发过程中的功能性验证,灵活性和实时性较高。随着物联网、大数据、人工智能等领域的兴起,可以执行大量并行运算、数据吞吐量高的FPGA芯片越来越多地应用于新型商业模式中。
1 FPGA市场概述
作为集成电路的细分领域,FPGA进入壁垒较高。与一般的IC设计企业不同,FPGA企业需要软硬件协同开发,在设计FPGA硬件的同时,需要自行研发适配自己硬件的EDA软件,如仿真优化、布局布线等。因此,FPGA芯片公司不仅是无厂化企业(Fabless),还必须是生态成熟的集成电路EDA软件企业。
当前,全球FPGA市场呈双寡头垄断竞争格局,其中赛灵思(被AMD收购)在全球FPGA市场的占有率常年在50%以上,与英特尔(原Altera,2015年被英特尔收购)合计占80%以上的市场份额,行业马太效应明显,两家公司在多年的发展中,提前布局的专利保护对后来者形成了强大的护城河保护。另外,还有Lattice和Microchip两家FPGA公司,市场份额合计在10%左右[2]。赛灵思和英特尔主打高端产品,Microchip专注于军工、航天等特殊应用市场,Lattice主要面向低成本低功耗的消费电子市场。目前,FPGA已经从单一的逻辑器件,发展成为内涵丰富的片上系统。以赛灵思为例, FPGA产品涵盖了FPGA器件、嵌入处理器硬核的系统芯片(如28 nm/16 nm的Zynq系列)、面向异构运算的自适应平台(如7 nm的Versal ACAP系列)等三大类别。
和国际巨头相比,国内FPGA厂商还处于起步阶段,产品主要为FPGA器件,营收规模较小,在硬件性能指标上和国际高端FPGA器件相比仍有较大差距(见表1)。随着国内集成电路产业的发展和国际环境的变化,国产器件的接受度在不断提升,国内FPGA厂商在研发和国产化替代方面取得了不小的进步,40 nm和55 nm的工艺器件已经实现稳定出货。国内主流FPGA厂商包括面向军工航天领域的中电科58所、航天771/772所、复旦微电子等;民品领域的紫光同创、上海安路、京微齐力、广东高云等。近年来,国产FPGA逐渐向通信、工业控制、智能终端等商用领域渗透,并逐步替代Lattice和一部分小容量的赛灵思/英特尔的市场和客户。
表1 国内外高端FPGA主要参数对比
从FPGA发展方向看,已不再单纯追求FPGA芯片本身的大容量和高性能,而是更多地面向芯片基础架构、软件工具、应用渗透上的创新,以及上下游产业生态的建设。国内FPGA厂商应利用背靠国内巨大消费市场的优势,与系统集成厂家密切合作,采用个性化的定制设计满足行业需求,持续迭代完善FPGA产品;另外,要加强EDA软件的研发力度,提高软件的可用性和处理能力,通过软件开发过程理解并优化硬件结构,从而进一步提高国产FPGA的竞争力。
2 国内外主流厂商的商用FPGA产品
按照工艺节点划分,赛灵思公司的FPGA分为45 nm、28 nm、20 nm和16 nm四个工艺等级[3],一般来说,每个工艺等级包括VIRTEX、KINTEX、ARTIX和SPARTAN四个族中的产品,以满足不同的应用需求(见表2)。
表2 赛灵思FPGA系列产品
(1)VIRTEX系列是赛灵思高端器件,其中的VIRTEX® Ultra SCALE+TM基于14 nm/16 nm工艺,使用堆叠硅片互联 (SSI) 技术,性能及集成功能均已达到业界最高水准。VIRTEX系列一般作为计算密集型应用,如1+ Tb/s 网络、雷达/警示系统等对性能要求高、成本敏感度低的领域。
(2)KINTEX系列器件采用紧密型逻辑单元封装,可减小动态功耗,价格低于VIRTEX系列,为需要高端功能(包括 33 Gbit/s 收发器和 100 G 连接内核)的应用提供了相对经济的解决方案,常用于无线 MIMO 技术、N×100G 有线网络、数据中心网络和存储加速等领域。
(3)ARTIX系列器件相对前一代功耗降低了一半,适用于功耗及成本敏感型市场,常用于军工行业的软件无线电、医疗用便携式超声设备、小型无线基础设施等领域。
(4)SPARTAN系列器件采用小型封装技术,和上述3种相比,容量相对较小、成本较低,常用于传感器融合以及嵌入式视觉等领域。
近年来,英特尔将FPGA产品逐步用于数据中心的高性能计算处理,将原本CPU内核中的网络、存储和安全功能卸载到FPGA等设备中。英特尔FPGA产品的迭代基本面向处理器和加速卡业务,主要包括5个系列产品[4]。
(1)Agilex系列采用英特尔的10 nm工艺制程和英特尔第二代HYPERFLEX架构,和Stratix 10相比,性能提升了40%,同时极大降低了数据中心、网络和边缘计算应用的功耗。从市场定位看,Agilex系列对标赛灵思 V系列FPGA中的Ultrascale+。
(2)Stratix 系列中的最新款Stratix 10采用英特尔 14 nm工艺,应用于数据中心加速/互联、无线通信、ASIC 原型设计和仿真等高端应用领域,对标赛灵思 V系列FPGA。
(3)Arria系列面向中端市场,最新款Arria 10采用20 nm工艺,常用于通信、军事、广播、汽车和其他终端市场,对标赛灵思基于28 nm工艺的7系列产品。
(4)MAX系列为复杂可编程逻辑器件(CPLD),结构工艺与常见的FPGA有所不同,成本和价格大幅降低,能够实现非易失性,常应用于中小规模通用数字集成电路中。
(5)Cyclone系列的最新款Cyclone10 GX,是基于台积电20 nm工艺构建的低成本器件,逻辑资源和接口资源都相对少,性价比高,定位于消费类产品,对标赛灵思 SPARTAN系列FPGA。
深圳市紫光同创电子有限公司(简称:紫光同创)系紫光集团下属公司,主要从事可编程逻辑器件FPGA、CPLD等的研发与销售工作,能够提供完善的、具有自主知识产权的可编程逻辑器件平台和系统解决方案,能够实现FPGA全流程的开发设计。紫光同创的产品主要包括3个系列[5]。
(1)Titan系列是国内第一款自主知识产权千万门级高性能FPGA产品,基于40/28 nm工艺,采用自主的LUT5架构,可提供174 k等效LUT4逻辑单元,支持多种高速IO接口,主要面向通信网络、信息安全、数据中心等领域。
(2)Logos系列FPGA同样基于40/28 nm工艺并采用LUT5结构,最多可提供100 k等效LUT4逻辑单元,集成RAM、DSP、ADC、Serdes、DDR3等丰富的片上资源和IO接口,具备低功耗、低成本特点,为客户提供高性价比的解决方案,主要应用于工业控制、通信、消费类等成本敏感型项目。
(3)Compa系列为CPLD产品,采用55 nm成熟工艺和LUT4结构,最多提供10 k LUT4逻辑资源,针对低功耗、低成本、小尺寸的设计要求,适用于系统配置、接口扩展和桥接、板级电源管理、上电时序管理、传感器融合等应用需求。
上海安路信息科技股份有限公司(简称:上海安路)主要从事FPGA芯片设计、SoC系统集成、专用EDA软件等领域工作,主要产品包括两个系列[6]。
(1)Saleagle系列采用55 nm工艺,最多提供19 k个LUT逻辑资源,定位低成本、低功耗可编程市场。
(2)Salelf系列采用55 nm工艺,最多提供4 k个LUT逻辑资源和336个 I/O,定位于通信、工业控制和服务器市场,满足客户板级IO扩展应用需求和带宽要求,定位大批量、成本敏感的应用。
3 FPGA应用场景分析
1985年,赛灵思推出首款具有商业价值的“XC2064”系列FPGA芯片,包含数百个逻辑门单元,主要作为连接复杂逻辑电路的胶合逻辑。目前,最新的FPGA包含了上千万个逻辑单元、大量的用户可编程I/O块,用途也由胶合逻辑、原型验证拓展到航天国防以及多个商业领域。美国“毅力号”火星车的视觉计算单元 (VCE) 、计算机视觉加速器卡 (CVAC)等模块全部涉及了FPGA自适应技术及器件。在国防领域,FPGA在雷达信号处理等方面也是不可或缺的器件。在商业应用方面,FPGA作为计算处理的加速器,在多个领域获得了广泛关注并取得了显著的商业效益。
随着摩尔定律逐渐失效,CPU性能提升遇到瓶颈,FPGA的硬件可重构技术提升系统性能的重要性日渐显现。近年来,赛灵思和英特尔分别推出了自适应计算加速平台(ACAP)和Soc FPGA等可编程的异构计算平台及产品,其高性能架构能够根据应用场景的不同对应用程序进行加速,在达到定制芯片的高性能低功耗特点的同时,提供比芯片设计周期更快的自适应解决方案。另外,嵌入式FPGA(eFPGA)是FPGA与ASIC技术融合向系统级发展的另一种路径。和独立FPGA器件相比,eFPGA是指嵌入在ASIC器件中的FPGA IP内核,其典型应用包括车用微控制单元(MCU)、物联网等领域,以提供工作负载和算法灵活性。
下面就FPGA典型应用领域进行分析。
3.1 有线和无线通信
FPGA商业应用中占比最大的是通信,常用于大流量数据传输、数字信号处理等场合,位于网络核心位置的交换机以及5G基站,都有FPGA器件的应用。使用时一般采用FPGA或FPGA+DSP组合,FPGA用于逻辑控制,DSP进行浮点运算,在计算量较小的场合,也可以单独使用FPGA完成,混合方案充分利用了硬件的并行性,能够更好地支持高性能多处理的应用需求。
3.1.1 交换路由设备
交换路由设备是一种将传输的数据包正确发送到目的地的设备,在大规模寻址转发过程中,会带来一定的通信延迟,如果在CPU上运行软件来处理数据包,CPU需要从网卡处获取数据包再进行处理,网卡的性能和数量制约着CPU的处理速度,操作系统的不稳定也会造成延迟进一步加剧。如图1所示,采用CPU+FPGA组合,可以将一部分路由协议和拥塞控制算法由CPU卸载到FPGA上实现并行处理[7],协助CPU处理网络负载,另外FPGA可以提供高速串行计算机扩展总线(Peripheral Component Interconnect express,PCIe)、千兆网、万兆网等接口以提升网络吞吐量,其可编程的特点,既能对接口重新定义,监测管理实时数据包和网络流量,又能在设备功能新增或变化时快速配置,无需冗长的硬件迭代周期。交换路由设备的最大通信带宽(收发器最大传输速度×高速收发器数量)和片上存储容量的进化成正比,FPGA的进化过程也是不断集成丰富的高速I/O收发器与高速I/O相对应的片上存储的过程[1]。在性能要求方面,作为网络收发器的FPGA,不需要对输入数据进行复杂的处理,简单运算后即可输出。
3.1.2 5G通信
在无线通信领域,5G具有继承性和多样性特点。在继承性方面,和4G相比,5G通信仍然基于正交频分复用(OFDM)机制,基本的帧格式是相同的,但是5G的调度更多样、帧格式配置更丰富,所以FPGA的扩展性和灵活性适应了通信制式升级的需求。基站通过FPGA编程能力的升级,可以解决4G到5G的升级、非独立组网(NSA)到独立组网(SA)的过渡、载波聚合数目的升级、接入量扩容、配合射频前端完成sub6G到毫米波的升级、空中下载技术(OTA)远程升级等发展过程中遇到的问题。
在多样性方面,增强型移动宽带(eMBB)、高可靠低延时通信(uRLLC)和大规模机器类通信(mMTC)构建了5G需求的三大典型场景。eMBB是5G时代最基础的通信场景,但根据实际应用场景的不同,其能力侧重点也不尽相同。
• 铁路和高铁沿线的基站布网更看重接入性和移动性,所以对信道估计性能和实时性要求算力较高。
• 高密度商城和大型场馆的基站性能更侧重于接入密度的提高,对接入算法和调度策略都有较高要求。
• 直播回传和实时AR业务对峰值速率和上下行对称性有更多需求。
FPGA可编程性的特点,使之能够对基站进行适配以满足不同应用场景需求。
uRLLC是5G的重要支撑,典型应用场景包括自动车辆控制和驾驶、远程医疗手术、工业无线控制、远程运输控制等,这些应用对通信的可靠性和延时都有极为苛刻的要求,所以加剧了对算力和处理延时的高要求,这些正好推动了FPGA作为加速器和协处理的应用。
mMTC是5G渗透行业应用的一个重要标志,其标志性应用是以智能水网、环境监测、智能仓储和物流等为代表的大规模物联网部署与应用。FPGA的适应性和快速迭代性刚刚适应了这些市场对行业特殊性的要求。
随着5G网络的规模化部署,单位成本更低的ASIC芯片逐渐取代了大部分FPGA。目前,FPGA主要用于数字中频处理(见图2),以及作为胶合逻辑做少量的配置,例如接口、交换和设计ASIC时无法预计的小部分运算等。另外,截止到目前,5G标准仍在演进,覆盖垂直行业能力的R17标准尚未冻结,因此5G基站对灵活性强、上市时间短的FPGA器件的需求仍持续存在。
图2 FPGA在5G基站中的连接图
3.2 数据中心
2016年,微软在其Catapult项目中,使用英特尔Stratix V FPGA板卡,将其与数据中心网络和服务器直接相连(见图3),对分布在全球超过5 000个数据中心的服务器进行加速,最终实现本地计算加速、网络加速和全球应用加速[8-9]。本地计算加速指的是CPU通过PCIe访问FPGA,使用FPGA对bing搜索等算法进行硬件加速;网络加速指的是FPGA可作为智能网卡对网络流量进行处理,并实现入侵检测,深度数据包检测和网络加密等功能;全球加速是指FPGA在完成本地工作的情况下,服务器可远程调用闲置FPGA中的RAM资源,用于机器学习等大规模应用,从而实现数据中心内部的全球资源池共享。2018年,赛灵思提出“数据中心优先”战略,陆续推出基于FPGA的加速卡等解决方案,其中针对网络加速的智能网卡SmartNIC是一种可编程的网卡设备,可通过智能卸载虚拟交换等控制层管理,释放出宝贵的 CPU 内核资源,为不断发展的数据中心和边缘网络提供高性能、灵活应变的解决方案。近年来,亚马逊AWS、阿里云、腾讯云等公有云提供商,纷纷开始在自家的数据中心中部署FPGA 板卡以实现更高的能效。
图3 FPGA与数据中心网络连接图
在数字化转型背景下,数据规模的爆发式增长对计算、网络、存储的需求不断提升,从而带动数据中心规模的高速增长[10-11]。近5年,我国数据中心机架年均增速超过30%[12]。2021年5月,国家发展和改革委员会等四部门联合印发《全国一体化大数据中心协同创新体系算力枢纽实施方案》,启动国家“东数西算”战略,在八大区域部署国家枢纽节点[13]。在此背景下,国内各大互联网公司和硬件提供商纷纷布局数据中心业务。新型数据中心需要考虑在每单位机架空间中挤出更多的性能,同时获得最佳性能功耗比。具有灵活性和低功耗特点的FPGA芯片,能够根据不同场景和需求对数据中心计算、网络和存储进行加速和优化。相对GPU、CPU,FPGA的运行频率并不高,但其可以运用片上缓存RAM对每种应用算法快速定制硬件架构,其可编程性和CPU配合可做到软硬结合,通过CPU+GPU+FPGA异构方式提升高吞吐量数据包处理能力、扩展内存数据库,从而达到系统的最优化。
3.3 人工智能
基于人工神经网络研究的深度学习,是当前人工智能研究的主要方向,深度神经网络、卷积神经网络是深度学习中较为常用的模型。深度神经网络结构分为输入层、隐藏层、输出层3部分,层与层之间是全连接状态,隐藏层层数根据需要而定。由于层与层的全连接,导致其运算量相当庞大,一般由数据中心服务器进行处理,能耗和数据传输的开销制约其在低延迟、成本敏感型行业的应用;另外,当参数过大时,容易在局部产生过度拟合现象,导致整体输出结果误差增大。为了解决上述问题,引入卷积核函数,在视觉识别过程中,通过使用卷积核对图像的各个局部进行互相关,通过池化层降低数据维度,最后输入到全连接层进行训练并输出结果。
在计算机图像处理领域,卷积神经网络是最常用的机器学习算法,训练阶段通过数据中心的GPU完成,但训练后的输出值常包含大量冗余信息,因此可以在基本保持网络精度的前提下,使用浮点数改为低精度定点数、网络剪枝、深度压缩等方式减少在多个网络中的操作数量,并在能效、存储占用等方面寻求平衡,最后将进一步降维处理后的数据用于推理阶段。赛灵思研究实验室的Finn开源实验框架研究表明[14],在使用二值化神经网络的极端情况下,仍可以保持高分类精度,进而实现最低的硬件成本。FPGA流处理和并行运算的架构,同神经网络结构相似。在深度学习推理阶段,运算量大幅降低,和GPU相比,FPGA带有丰富的片上存储资源,可极大减少因访问片外存储而带来的延迟,并且FPGA的主频较低,能耗低于GPU,因此FPGA常作为神经网络加速器使用,其中高密度FPGA面向云侧进行更高的并发处理,中低密度FPGA嵌入式解决方案面向端侧实现推理决断。
另外,FPGA的可编程性,可以灵活地修改电路应对人工智能的各个细分领域的不同算法。在自动驾驶领域,FPGA作为硬件加速器能够实现从边缘传感器到域控制器的可扩展性和动态重编程能力;在采用激光雷达解决方案的自动驾驶中,FPGA可以对数字信号进行实时处理,降低系统成本与损耗;在医疗图像处理方面,FPGA加速并行波束形成和实时图像处理,以创建更高质量的图像和基于机器的图像分析。
3.4 金融交易
电子交易系统衡量网络延迟的方式是测量从收到交易信号到处理买/卖订单的时间,也称为“交易延时(Tick-to-Trade Time)”[15]。近年来,国内外资本市场发展迅猛,交易量与日俱增,与交易相关的消息数量呈现激增态势。对于金融交易公司而言,快速精准地获取行情信息并执行交易意味着率先在瞬息万变的市场行情中捕获交易机会赚取利润,计算机化交易模式越来越多地被应用到证券交易行业。
FPGA具备灵活性、并行计算和流处理能力,可以通过寄存器级传输(Register Transfer Level),将网络层和数据传输层的处理从CPU上的软件卸载到FPGA硬件,通过单芯片化方式消除多个器件的数据传输,以降低系统延迟。此外,FPGA还可以直接处理传输中的数据包,通过硬件化异常值检测和数据过滤等功能实现高速运算。另外,交易算法可以在大容量的FPGA芯片上直接硬件化,难以硬件化的运算采用ARM等嵌入式处理器处理,实现系统级优化,对交易系统进行进一步加速。
4 结束语
现阶段,5G、云计算、人工智能等技术高速发展,带来了对计算、存储、网络、能效等需求的快速提升和异构计算的迅速发展。相对于其他芯片类型,FPGA在极致性能方面不如通用芯片,在功耗和价格方面不如定制芯片(ASIC),因此其市场规模相对较小。但是,FPGA硬件结构可重新配置的独有特性可用来加速其他计算处理单元,在云计算、边缘计算等商业模式下有其特有的优势。继2015年英特尔收购全球第二大FPGA供应商Altera后,2022年2月14日,AMD正式宣布以全股份交易的方式完成了对赛灵思的收购,赛灵思在SmartNIC、AI推理、AI分析方面的IP资源以及AI软件堆栈,将与AMD处理器和软件深度融合,从而实现高性能和自适应计算解决方案组合[16]。未来,CPU、GPU、FPGA、ASIC计算架构将会持续融合,以满足高性能、低功耗、灵活性、低成本等多方面需求的高性能计算应用。