在人工智能、高速无线通信、医疗与生命科学技术快速发展的背景下,FPGA 正在迎来全新的应用黄金期。它们不仅作为传统的原型验证工具,还越来越多地扮演着数据流优化、AI 基础设施加速与网络安全保障等关键角色。
FPGA(现场可编程门阵列)的核心优势在于:部署之后仍可重配置逻辑。在算法迭代速度远超过芯片架构迭代速度的 AI 时代,这一特性显得尤为重要。此外,低前期成本让 FPGA 成为 ASIC 前的验证平台,或在工作负载尚未稳定前的“临时硬件方案”。虽然单片成本仍然高于 ASIC,但它们在低量、高性能领域极具优势,如国防、航空和实验室测量设备。

新的应用领域包括:
云服务器中的复杂算法卸载(尤其用于 3D 计算的医疗和科学应用)
低成本混合原型验证
缓解 SoC 与 NoC 内存 / I/O 瓶颈
AI 数据管道管理与数据预处理
5G / 6G 基站与核心网络
提供定制化硬件功能的产品差异化
面对不断演进的安全规范与威胁的“保险机制”
高端FPGA的主要大批量用户包括通信公司(无线和有线)、数据中心、网络以及军事、航空航天和政府部门。“这些应用领域的年用量从数千到数十万颗不等,”Altera业务管理集团负责人Venkat Yadavalli表示。“在应用领域方面,FPGA集成了更多功能,例如嵌入式Arm内核和AI向量模块,这提高了FPGA在更广泛的嵌入式和边缘AI应用中的使用率。”
机器人技术是正在蓬勃发展的一个领域,它需要确定性的延迟,并利用来自摄像头和传感器的异构数据在边缘端进行实时决策。“它可以是语音、视频,或者任何需要传感器融合的数据,”Yadavalli说道。
另一个重要的应用场景是医学成像技术,从验光师扫描视网膜到核磁共振成像系统,无所不包。“你需要处理原始的模拟数据,对其进行滤波、处理,并用它来重建图像,还要进行大量的矩阵运算,”AMD自适应和嵌入式产品营销高级经理Rob Bauer表示,“FPGA在这方面表现出色。人工智能引擎非常擅长矩阵运算,因此它们是这类体积成像应用的理想选择。”
在当今快速变化、高度互联且人工智能赋能的环境中,对于设计人员应该使用 FPGA、ASIC 还是其他类型的 IC,并没有一个统一的答案。
Arteris公司产品管理和市场营销副总裁Andy Nightingale表示:“你不会在两种解决方案之间随意切换。 你拥有的是多种方案的组合或融合。互连技术促进并支持FPGA的混合应用,例如用于网络安全或缓解I/O瓶颈。FPGA可以实现原型设计,但客户可能会在系统中保留某些FPGA,他们可能会说:‘我们希望在SoC中使用定制硬件,但我们会保留一些FPGA技术,因为这样做的好处大于定制硬件所需的时间,即使最终发现规范或标准发生了变化。’如果网络安全标准发生变化,他们就必须重新实现和处理,而FPGA可能包含可以重新编程的内容。即使功耗方面会有略高的开销,但它可能不在关键路径上,因此可以绕过这个问题。”
在权衡各种方案时,考虑FPGA中每个逻辑单元的成本很有帮助。“与ASIC相比,你需要一些架构设计才能获得成本效益,”Yadavalli说道。“与ASIC或ASSP相比,你总会略微处于劣势,因为它们的功能是固定的,经过精心设计和优化,只实现你所需的功能,而不是让你自己创建所有可编程性。在这种情况下,你在实现以太网或PCIe方面会有一些额外的开销。你可以切换所有这些功能。你需要所有这些电路,而这会带来成本。最终取决于投资回报率,以及市场是否已经稳定到你需要ASIC的地步。”
这关乎于在设计上做出权衡,以解决特定问题。“如果你观察FPGA的用户,你会发现他们正试图完成越来越复杂的任务,”Bauer说道。“在物理人工智能领域,人们正尝试将人工智能集成到边缘系统中,从传感器获取数据并立即进行处理,延迟极低。数据速率在不断提高,安全要求也在不断提高。这是一个优化问题。”
不断发展的算法
AI/ML 模型是一个不断变化的目标,虽然可以重新编程 FPGA 来匹配它们,但随着情况的变化,选择最佳芯片是一个循环过程。
“如果工作负载经常变化,那么我需要通用计算,” Movellus首席执行官 Mo Faisal 表示。“我可以进行更多优化,并将其性能发挥到极致。但最终你会意识到,‘这种高度灵活的通用计算不再有价值。我需要进行定制。我们正处于一个周期,我的问题陈述变化如此之大,以至于我可能通过采用可重编程计算获得更多收益。’最终,我们会耗尽这方面的潜力,回到过去 ASIC 和 FPGA 的发展历程。当然,你可以开发专门针对 FPGA 的特定算法。例如,如果你想谈谈粒子加速器的规模,他们使用 10,000 个 FPGA 来处理以特定速率输出的数据。但如果你想大规模地实现这一点,目前只有 CERN 和费米实验室。如果你想要 10,000 个 FPGA 呢?你需要重新考虑 FPGA。”
其他人也认为这需要具体情况具体分析。“是否使用可编程FPGA取决于你面临的工作负载类型,软件开发也是如此,” ChipAgents研究主管张克勋表示。“生命科学领域的研究人员正在设计不同的模型架构。我看到一些领域和方向的模型架构探索远未趋于一致,这就是为什么人们仍然需要编译器,仍然需要硬件以合理的速度运行其定制的模型架构。而FPGA正是在这些领域大放异彩。”
对于消费市场和其他大众市场而言,成本和效率结构并不合理。“在数据中心,原型设计或针对非常具体的AI变更,或许能从中受益,” Baya Systems首席商务官Nandan Nayampally表示。“例如,如果你从事高频交易,算法会定期变更,那么就需要进行优化。如果我没有足够的业务量或成本来支持ASIC,那么我可能会坚持使用FPGA。许多新型AI架构都采用可编程组件和可编程引擎,集成在同一芯片或多个芯片上,这既能提高效率,又能保持灵活性。”
在FPGA上,可以根据FPGA的规模,构建尽可能多的硬连线并行计算单元,只要资源允许即可。“与通用GPU核心相比,FPGA可以根据应用进行定制,”Nightingale说道,“还可以自定义并行度。”
用于复杂算法和验证的虚拟 FPGA 机器。
基于云的 FPGA 也可用于将计算密集型工作负载从数据中心卸载,例如,通过使用 Amazon Web Services EC2 虚拟服务器。“你可以访问 AWS 并配置一台虚拟机,”西门子 EDA项目总监 Russell Klein 表示。“这是一台物理机,它配备了所谓的 F2 实例。它内置一张 PCIe 卡,上面有八个 Xilinx FPGA,所有这些 FPGA 都可以通过 PCIe 总线与主处理器进行编程。我一直在与他们合作,利用我们的高级综合工具来对这些 F1 实例进行编程,并告诉他们:‘这里有一个函数,让我们通过 PCIe 总线将其推送到 FPGA 架构上。’我们刚刚实现了这个功能,我可以获取一个函数,通过我们的高级综合工具对其进行编译,然后通过 Xilinx 工具将其与处理器上运行的软件进行交互。”
此外,F2实例还被用于卸载非常复杂的算法。“他们主要在生命科学领域看到这种应用——从事DNA分析或化学反应分析的人员需要处理非常复杂的3D数学运算,他们需要对FPGA进行编程,并让FPGA与主机上运行的处理器进行交互,”Klein说道。“他们可以通过PCIe连接将所有这些设备连接起来,从而加速这些非常复杂的算法。我们将在人工智能领域看到这种应用的广泛普及,因为它速度更快、能耗更低。这显然是创建更快、更高效的推理和训练环境的下一步。这种能力已经具备,我们需要让整个行业开始利用它。”
F2实例的另一个应用场景是低成本硬件验证。“SiFive刚成立的时候,他们需要在RISC-V设计上启动操作系统,才能制造芯片,”Klein说道。“他们想把这作为验证步骤。他们没有购买FPGA原型系统,而是以每小时6美元的价格在AWS上租用FPGA板。他们可以将一个CPU实例集成到一个芯片上,然后通过编程到多个FPGA和多个板卡上,运行多CPU、多核设计。他们利用这些数据中心CPU搭建了自己的低成本仿真器。AWS对此非常感兴趣,并为此开发了相关工具,能够利用系统中的FPGA架构建模部分进行逻辑仿真。他们可以将所有这些功能结合起来运行,速度更快。这就像一个混合FPGA原型系统。”
特写镜头展示了多个带有散热风扇的计算机电路板,它们呈网格状排列。
图 1. FPGA 长期以来一直被用作 ASIC 的原型设计工具,例如这款 proFPGA 桌面原型设计系统。来源:西门子 EDA
整张卡都连接到服务器上的一个处理器。“他们会在一台服务器上插入多张这样的卡,每张卡都插在不同的 PCIe 插槽中,这样就可以将多个程序连接到多张卡上,”克莱因解释说。“你可以非常快速地启动和关闭它。这些是数据中心的 FPGA 卡,可以加速硬件验证、生物科学和人工智能的发展。这是一种应对我们当今计算挑战的可行技术。”
与此同时,FPGA 正在助力实现左移设计。“如果你看看人工智能驱动下的新芯片开发呈爆炸式增长,以及 2nm 等先进制程节点的成本,就会发现确保设计正确性比以往任何时候都更加重要,”AMD 的 Bauer 表示。“软件工程团队可以利用这些仿真原型平台,在最终 ASIC 芯片流片之前就开发出相应的软件。”
减少瓶颈,数据准备
FPGA 还可以通过优化数据传输来帮助减少 SoC 和芯片中的内存和 I/O 瓶颈,从而节省数据中心的功耗并提高性能。
Altera 近期 选择 Arteris 来协助解决这个问题。“FPGA 可以直接放置在数据路径中来管理数据流,从而最大限度地减少缓冲,优化吞吐量,”Nightingale 表示。“通过在线管理数据,FPGA 可以对传入的数据进行预处理,这减轻了 CPU、GPU 或其他处理单元的工作量,从而缓解了 AI 系统性能中最主要的瓶颈。因此,出现的内存和 I/O 瓶颈也得以减少。”
这与在线处理类似,即将FPGA直接嵌入到数据流中。“由于如今这些设备的容量都非常大,你可以在数据流经的同时对同一批数据进行更多处理,”Nightingale说道。“我们看到FPGA技术贯穿整个数据传输过程,与数据处理紧密结合。”
在数据中心,FPGA 被用作带有本地内存的智能网卡。“你会遇到非常庞大的网状拓扑结构,必须能够快速地将数据从一个点移动到另一个点,”Bauer 说。“FPGA 的可重构特性,加上其超高速的连接性、内存容量和低延迟,使其非常适合与 AI 计算单元(无论是 GPU 还是 ASIC)并排使用。这样,客户就可以精确地定义数据的移动位置。我们将大容量内存直接放置在计算单元旁边。在 AI 应用中,内存和计算单元的邻近性至关重要。这才是高端应用。”
另一方面,GPU集群或服务器主板上也使用非常小的FPGA,用于执行板级编排、管理和电源时序控制。“我们称之为服务器I/O类型的用例,”鲍尔说道。“服务器上的FPGA控制着各个板级,确保所有组件都能正确供电。此外,还有FPGA负责将数据传输到内存以及在不同的计算单元之间进行通信。”
FPGA 的另一个新角色是 AI 基础设施,它需要处理进入 GPU 或 CPU 的基础设施数据。“数据进入系统后,这些数据包的管理方式具有很高的可编程性,”Yadavalli 说。“你需要一种更智能的方式来管理网络接口卡、智能网卡功能,或者某种数据平面管理,这些都需要在数据进入 CPU 或 GPU 之前完成。FPGA 的作用就在于接收这些数据,并以一种能够被后端所有大型 GPU 和 CPU 使用的方式对其进行预处理。”
本文来源于公众号:OpenFPGA