FPGA 在高速 AI 時代找到新的工作負載
在人工智能、高速無線通信、醫療與生命科學技術,以及復雜芯片架構的時代,FPGA 正在找到新的應用場景,在這些領域中,它們可以改善數據流動。
現場可編程門陣列(FPGAs)使設計人員能夠在芯片部署之后對數字邏輯進行重新編程或重新配置,這在 AI 領域至關重要,因為算法變化的速度遠遠快于芯片架構的演進。較低的前期成本也使 FPGAs 能夠作為固定功能芯片(如 ASIC)的原型工具,或在工作負載尚未穩定之前作為臨時解決方案使用。但由于制造成本較高,FPGAs 通常出現在低出貨量、高性能的專業應用中,例如戰斗機或實驗室中的測量設備。
盡管如此,FPGAs 的市場正在擴展。新的應用領域包括:
支持復雜算法從數據中心卸載的云端服務器,應用于涉及三維數學的醫療和科學場景;
通過混合原型系統實現低成本的虛擬硬件驗證;
緩解 SoC 和 NoC 中的存儲器與 I/O 瓶頸;
AI 管道、數據平面管理,以及在數據到達 CPU 或 GPU 之前進行數據預處理;
用于基站和核心網絡設備的 5G / 6G 芯片;
用于提供定制化硬件功能的橫向產品差異化;
以及應對不斷變化的安全法規和威脅的防護手段。
高端 FPGA 的主要大規模用戶包括電信公司(無線與有線)、數據中心、網絡設備,以及軍事、航空航天和政府部門。Altera 業務管理集團負責人 Venkat Yadavalli 表示:“這些應用的年出貨量可以從幾千片到超過幾十萬片不等。在應用層面,更多特性被集成進 FPGA,例如嵌入式 Arm 內核和 AI Tensor Block,這使 FPGA 在更廣泛的嵌入式和邊緣 AI 應用中得到使用。”
一個正在發展的領域是機器人,它們需要確定性的時延以及在邊緣側基于來自攝像頭和傳感器的異構數據進行實時決策。“可能是語音、視頻,或者任何你需要進行傳感器融合的東西,”Yadavalli 說。
另一個重要的應用場景是醫學成像技術,從驗光師掃描視網膜,到 MRI 系統等。“你獲取的是原始模擬數據,需要對其進行濾波、處理,并用于圖像重建,涉及大量矩陣運算,”AMD 自適應與嵌入式產品營銷高級經理 Rob Bauer 表示。“FPGAs 非常適合做這些事情。AI 引擎在矩陣運算方面也非常強,因此它們非常適合這類體成像應用。”
在當今快速變化、高度互聯、并由 AI 賦能的環境中,設計人員是否應該使用 FPGA、ASIC 或其他類型的 IC,并不存在唯一答案。
“你不會在某一種解決方案和另一種之間簡單切換,”Arteris 產品管理與市場營銷副總裁 Andy Nightingale 表示。“真正存在的是一種混合或融合。互連技術促成并支持 FPGA 的混合使用,例如用于網絡安全或緩解 I/O 瓶頸。FPGA 使原型設計成為可能,但客戶也可能會在系統中保留某些 FPGA。他們可能會說,‘我們希望在 SoC 中實現定制硬件,但我們仍會保留一些 FPGA 技術,因為與為了定制硬件而付出的周轉時間相比,其帶來的好處更大,而最終可能發現規格或標準已經發生變化。’如果網絡安全標準發生變化,他們就必須重新實現并應對,而 FPGA 中的內容是可以重新編程的。即使在功耗方面存在略高的開銷,但如果它不在關鍵路徑上,是可以繞開的。”
在權衡選項時,考慮 FPGA 中每個邏輯單元的使用成本是有幫助的。“在將其與 ASIC 比較時,你需要一定的架構設計才能獲得成本優勢,”Yadavalli 表示。“與 ASIC 或 ASSP 相比,你始終會略處于劣勢,因為它們執行的是固定功能,并被優化到極致,只實現你所需要的功能,而不是你自己構建全部可編程性。在這種情況下,無論是以太網還是 PCIe,你都會存在一定的開銷。你需要具備所有這些電路,而這會帶來相應的代價。歸根結底,這取決于投資回報率(ROI),以及市場是否已經穩定到需要使用 ASIC 的程度。”
這本質上是為了特定問題進行設計權衡。“如果你觀察 FPGA 的用戶,會發現他們正在嘗試完成越來越復雜的事情,”Bauer 說。“在物理 AI 場景中,人們試圖將 AI 集成到這些邊緣系統中,在極低時延下就地處理來自傳感器的數據。數據速率在提升,安全需求也在提升。這是一個優化問題。”
算法的演進
AI/ML 模型是一個不斷變化的目標。雖然 FPGA 可以通過重新編程來適配它們,但這仍然是一個隨著環境變化而不斷選擇最合適芯片的循環過程。
“如果工作負載經常變化,那么我就需要通用計算,”Movellus CEO Mo Faisal 表示。“我可以不斷優化并將其推向極限。最終你會意識到,‘這種高度靈活的通用計算已經不再有價值了,我需要進行定制。’我們正處在這樣一個循環中:問題定義變化如此之快,以至于轉向可重構計算反而能獲得更多收益。最終,這種方式也會走到盡頭,回到過去 ASIC 與 FPGA 的模式。當然,你可以為 FPGA 開發特定的算法。例如,在粒子加速器中,他們使用 10,000 個 FPGA 來處理以特定速率輸出的數據。但如果你想將其規模化,那世界上只有一個 CERN 和一個 Fermilab。如果你想要 10,000 個這樣的系統,就需要重新考慮 FPGA。”
其他人也認為需要具體情況具體分析。ChipAgents 研究負責人 Kexun Zhang 表示:“是否使用可編程 FPGA 取決于你面對的是何種工作負載,在軟件領域也是如此。生命科學領域的人正在設計不同的模型架構。我看到有些領域和方向中,模型架構的探索遠未收斂,這正是為什么人們仍然需要編譯器,也仍然需要能夠以合理速度運行其定制模型架構的硬件。這些正是 FPGA 能夠大放異彩的領域。”
對于消費級及其他大規模市場而言,其成本和效率結構并不合理。Baya Systems 首席商務官 Nandan Nayampally 表示:“在數據中心中,FPGA 可能在原型設計或非常特定的 AI 變更中具備優勢。例如在高頻交易中,如果你的算法經常變化,你就需要為其進行優化。如果我既沒有足夠的出貨量,也沒有支持 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 分析或化學反應分析的人正在處理非常復雜的三維數學問題,而這些人會對 FPGA 進行編程,并讓其與主機上運行的處理器進行交互,”Klein 說。“他們可以通過 PCIe 連接將所有這些整合在一起,從而加速這些極其復雜的算法。我們將在 AI 領域看到大量此類應用,因為它運行得更快、能耗更低。這是構建更快、更高效推理和訓練環境的顯而易見的下一步。能力已經具備,我們需要推動整個行業開始加以利用。”
F2 實例的另一個應用場景是更低成本的硬件驗證。“當 SiFive 還是一家初創公司時,他們需要在制造硅片之前,在其 RISC-V 設計上啟動操作系統,”Klein 表示。“他們希望將這一過程作為驗證步驟。與其購買一套 FPGA 原型系統,他們選擇在 AWS 上以每小時 6 美元的價格租用 FPGA 板卡。他們可以將一個 CPU 實例放進一顆芯片中,然后通過在多顆 FPGA 以及多塊板卡中進行編程,運行一個多 CPU、多核設計。他們利用數據中心的 CPU,搭建了一個低成本的自有仿真器。AWS 正看到大量興趣,并圍繞這一點提供了工具,使其能夠運行邏輯仿真,同時由 FPGA 架構對系統的一部分進行建模。他們可以將這一切協同運行,而且速度快得多。這就像是一個混合型 FPGA 原型系統。”
一組帶有冷卻風扇的多塊計算機電路板的近景視圖,按網格方式排列。

圖 1: FPGA 長期以來一直作為 ASIC 的原型工具使用,例如這套 proFPGA 桌面原型系統。來源:Siemens EDA
整張卡與服務器中的一個處理器相連。“他們在一臺服務器中插入多塊這樣的板卡,每一塊都插在不同的 PCIe 插槽中,因此你可以讓多個程序連接到多塊板卡上,”Klein 解釋說。“你可以非常快速地啟動它們,也可以迅速拆除。這些是數據中心中的 FPGA 卡,用于加速硬件驗證、加速生命科學和 AI。這是一種可行的技術,用來應對我們今天所面臨的計算挑戰。”
與此同時,FPGA 也在幫助實現左移設計。“如果你看看由 AI 推動的新芯片開發的爆發,以及 2nm 等先進節點的成本,就會發現一次做對變得前所未有地重要,”AMD 的 Bauer 表示。“你可以讓軟件工程團隊使用這些仿真和原型平臺,在流片之前很早就為其最終的 ASIC 開發軟件。”
減少瓶頸、數據預處理
FPGA 在數據中心中節省功耗、提升性能的另一種方式,是通過優化數據移動,幫助緩解 SoC 和小芯片中的存儲器和 I/O 瓶頸。
Altera 最近選擇了 Arteris 來協助完成這項工作。“FPGA 可以直接放置在數據路徑中,用于管理數據流,并最大限度地減少緩沖、優化吞吐量,”Nightingale 表示。“通過對數據進行內聯管理,你可以讓 FPGA 對正在流動的數據進行預處理,從而減輕 AI 系統性能中最顯著的限制,使 CPU、GPU 或其他處理單元的工作量減少。因此,出現的存儲器和 I/O 瓶頸也會隨之減輕。”
這類似于內聯處理,即將 FPGA 直接放入數據流本身。“由于如今這些器件擁有非常大的容量,你可以在數據通過時對同一數據執行更多處理,”Nightingale 說。“我們在整個數據移動過程中都看到這種情況,與 FPGA 技術緊密協同。”
在數據中心中,FPGA 被用作帶有本地存儲的智能網絡卡。“你會看到非常龐大的網狀拓撲結構,需要能夠快速地將數據從一個點移動到另一個點,”Bauer 表示。“FPGA 的可重構特性,加上超高速互連、存儲和時延特性,使其非常適合放置在 AI 計算單元旁邊,無論是 GPU 還是 ASIC。然后客戶可以精確定義數據的移動方式。我們在計算單元旁邊就有大容量存儲。在 AI 應用中,存儲與計算的鄰近性極其重要。這是高端應用。”
在另一個極端,還有非常小的 FPGA,被用于 GPU 集群或服務器板卡中,用于板級協調、管理和電源時序控制。“我們稱之為服務器 I/O 類型的應用場景,”Bauer 說。“服務器上有 FPGA,負責控制板卡并確保電源正確開啟。然后還有 FPGA 負責將數據移動到存儲器中,以及在不同計算單元之間傳輸數據。”
FPGA 的另一個新角色是 AI 管道處理,用于處理流入 GPU 或 CPU 的基礎設施數據。“數據進入系統后,在如何管理這些數據包方面存在大量可編程性,”Yadavalli 說。“你需要一種更智能的網絡接口卡方式、智能 NIC 功能,或者某種數據平面管理,在數據進入 CPU 或 GPU 之前完成。FPGA 正在發揮作用,將數據引入系統,并以一種可以被后端大量 GPU 和 CPU 消費的方式對其進行預處理。”
一幅示意圖,展示了在 AI/ML 訓練與推理中,GPU 與 FPGA 之間的數據流動和工程連接。

圖 2: 使用 FPGA 加速 AI 基礎設施。來源:Altera
數據預處理和清洗是另一個正在出現的領域。AI 應用的效果取決于數據質量。“你可能擁有最先進的模型或 LLM,但如果數據本身噪聲很大,無論是業務數據還是任何商業數據,那都是一個‘垃圾進、垃圾出’的情況,”Yadavalli 說。“在進行數據預處理時,當所有這些信息涌入系統,你可以自動判斷如何將其轉化為標準化信息。你輸入 PPT、語音指令、文本等等。而在另一端,LLM 只能消費某些原始數據,這些數據需要以特定方式進行準備,才能輸出最佳信息。FPGA 在這里恰好非常匹配,因為它們能夠對這些進入系統的多樣化數據進行空間層面的處理。”
無線通信基礎設施
諸如 5G、6G、Open RAN 以及基帶應用等通信協議,是 FPGA 的重要市場。Altera 近期與 BigCat 合作,以擴展基于 FPGA 的無線接入網技術。“隨著無線標準的演進,最初的四到五年部署周期幾乎總是使用 FPGA,”Altera 的 Yadavalli 表示。“標準尚未完全穩定,因此全球的大型設備提供商,例如 Ericsson、Nokia、Samsung 等,都無法及時構建 ASIC。你需要在兩年前就預先獲取完整規格,才能開始構建 ASIC。一旦規格最終確定,你就希望這些芯片已經可用,以便將網絡過渡到最新、最先進的技術。”
AI 算法在網絡領域也在快速變化,為 FPGA 帶來了機會。“在 6G 中,有大量與網絡相關的 AI 處理正在被討論,但尚未形成標準化,人們對于 6G 何時部署也存在很大的擔憂,”Yadavalli 說。“很多人會落后、領先,或者在某些方向上走偏。他們需要在 AI 計算方面具備靈活性。既有小型也有大型計算系統。有些可以將計算推入基帶,其中存在大型云部署。但也有大量部署發生在無線側,以及位于大型天線下方的基帶機箱中。這些都需要 FPGA 作為輔助處理器存在。”
在 5G 領域,AMD 已經看到其自適應 SoC 在波束成形應用中的使用有所增長。“那是標準推廣過程中的重要組成部分,”Bauer 表示。
橫向產品差異化
縱向整合的公司可以將特定加速器或功能直接集成進 ASIC,但行業的大部分是橫向整合的。一家構建多種嵌入式處理器的公司,往往不會構建固定的加速功能,因為這會縮小其總體市場空間。
“這些公司可以在其器件中集成嵌入式 FPGA 架構,或者使其 SoC 能夠與外部 FPGA 進行接口連接,”西門子公司的 Klein 表示。“我們看到越來越多的制造商開始這樣做。這可以作為一種方式,向其系統交付定制化硬件功能。盡管與 ASIC 級實現相比,它的規模更大、功耗更高,但它比軟件實現要快得多、也更節能。”
例如,如果一家公司的可穿戴設備希望電池在不充電的情況下使用一周時間,就必須開始考慮將部分功能從處理器中卸載。“如果他們是橫向整合的,并且不構建自己的 SoC,他們就會希望通過可編程邏輯來卸載這些功能,”Klein 解釋說。“無論這種可編程邏輯是嵌入在他們購買的 SoC 中,還是作為一個獨立器件存在于旁路位置,FPGA 都將使他們能夠獲得更高性能、更低能耗。”
嵌入式 FPGA 還提供了通過稀疏化和混淆來保護特定 IP 的能力。“也許有一個軟件開發者或軟件程序擁有自己的秘密算法,”QuickLogic IP 銷售副總裁 Andy Jaros 表示。“他們希望配套一個硬件加速器。他們可以自行開發,并將其放入 ASIC 中的 eFPGA,而無需與任何其他人共享。”
新興安全威脅
FPGA 可以通過重新編程來跟上不斷變化的法規和日益增長的威脅,例如量子攻擊的潛在風險。
“我們看到 FPGA 被用于確保這些系統上運行代碼的真實性,并確保其免受篡改,”Bauer 表示。“此外,在數據的內聯加密方面,一些客戶擁有自己的專有技術,而可編程邏輯非常適合實現這一點。其他客戶則滿足于標準方法,而這些我們已經集成。我們擁有用于內聯端到端加密的硬加密模塊。”
其他應用場景還包括無線或有線連接,以及防火墻。“人們正在使用 FPGA 進行基于 AI 的數據包檢測,以識別威脅,”Bauer 說。“你既需要高速連接,又需要在架構中直接實現模型。”
不過,也存在一些缺點。Rambus 硅 IP 高級技術總監 Scott Best 表示:“獨立式和嵌入式 FPGA 提供了極大的靈活性,但如果比特流配置數據的機密性和完整性未得到妥善管理,這種優勢可能會引入安全風險,尤其是在數據中心等共享環境中。與數據中心 ASIC 和 SoC 在為不同用戶運行半獨立虛擬機時所面臨的風險類似,數據中心中的 FPGA 需要健全的配置和訪問控制機制,以防止未經授權的重新編程或在多用戶共享可編程架構時出現側信道漏洞。”
如今,許多 FPGA 已內置加密系統。“對比特流的保護——也就是對 FPGA 編程本身的保護——已經有所改善。但它們仍然是攻擊者的重點目標,試圖證明自己能夠侵入系統,在 FPGA 的比特流中修改程序并使其運行,”Synopsys 產品管理高級總監 Dana Neustadter 表示,并指出攻擊 FPGA 與安全啟動等機制非常相似。“在處理器領域,我們使用安全啟動來確保正確的程序正在處理器上運行。在 FPGA 領域,同樣的任務是通過加密和認證引擎來完成的,用于驗證 FPGA 的編程內容。”
結論
較低的前期成本意味著 FPGA 將繼續保有其作為原型工具的角色,但在當今的高科技環境中,它們也正在承擔越來越多的新角色。設計人員可能會發現,最佳解決方案是混合使用固定功能器件與可編程器件,以跟上 AI 的發展并抵御黑客攻擊。







評論