![]()
本文由半導體產業縱橫(ID:ICVIEWS)編譯自semiengineering
不斷增長的應用案例包括生命科學人工智能、減少內存和I/O 瓶頸、數據準備、無線網絡以及作為不斷發展的協議的保障。
FPGA 在人工智能、高速無線通信、醫療和生命科學技術以及復雜的芯片架構等領域找到了新的應用,它們可以改善數據流。
現場可編程門陣列(FPGA) 使設計人員能夠在芯片部署后重新編程或重新配置數字邏輯,這在人工智能領域至關重要,因為算法的更新速度遠超芯片架構的更新速度。FPGA 的前期成本較低,因此可以用作專用集成電路 (ASIC) 等固定功能芯片的原型設計工具,或作為工作負載確定前的臨時解決方案。但由于其制造成本較高,FPGA 通常用于小批量、高性能的特殊應用,例如戰斗機或實驗室測量設備。
盡管如此,FPGA市場仍在不斷擴大。新的應用領域包括:
- 基于云的服務器能夠將復雜的算法從數據中心卸載到醫療和科學應用中,這些應用涉及3D 數學;
- 通過混合原型系統進行低成本虛擬硬件驗證;
- 緩解SoC和NoC中的內存和I/O瓶頸;
- AI 基礎設施、數據平面管理以及在數據到達 CPU 或 GPU 之前對其進行準備;
- 為基站和核心網絡設備開發的5G/6G 芯片;
- 通過橫向產品差異化提供定制化的硬件功能,以及防范安全法規和威脅的變化。
高端FPGA的主要大批量用戶包括電信公司(無線和有線)、數據中心、網絡以及軍事、航空航天和政府部門。“這些應用領域的年用量從數千到數十萬顆不等,”Altera業務管理集團負責人Venkat Yadavalli表示。“在應用領域方面,FPGA集成了更多功能,例如嵌入式Arm內核和AI張量模塊,這提高了FPGA在更廣泛的嵌入式和邊緣AI應用中的使用率。”
機器人技術是正在蓬勃發展的一個領域,它需要確定性的延遲,并利用來自攝像頭和傳感器的異構數據在邊緣端進行實時決策。“它可以是語音、視頻,或者任何需要傳感器融合的數據,”亞達瓦利說道。
另一個重要的應用場景是醫學成像技術,從驗光師掃描視網膜到核磁共振成像系統,無所不包。“你需要處理原始的模擬數據,對其進行濾波、處理,并用它來重建圖像,還要進行大量的矩陣運算,”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的用戶,你會發現他們正試圖完成越來越復雜的任務,”鮑爾說道。“在物理人工智能領域,人們正嘗試將人工智能集成到邊緣系統中,從傳感器獲取數據并立即進行處理,延遲極低。數據速率在不斷提高,安全要求也在不斷提高。這是一個優化問題。”
不斷發展的算法
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的鮑爾表示。“軟件工程團隊可以利用這些仿真原型平臺,在最終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 使用的方式對其進行預處理。”
![]()
圖2:利用 FPGA 加速 AI 基礎設施。來源:Altera
數據預處理和清洗是另一個新興領域。人工智能應用的效果取決于數據的質量。“你可能擁有最先進的模型或邏輯層模型(LLM),但如果數據本身噪聲很大,無論是業務數據還是任何商業數據,都會出現‘垃圾進,垃圾出’的情況,”Yadavalli說道。“數據預處理是指將所有輸入的信息自動轉換為標準格式。你可以輸入PPT、語音命令、文本等等。另一方面,邏輯層模型只能處理某些特定的原始數據,這些數據需要經過特殊處理才能提供最佳信息。FPGA恰好非常適合這項工作,它們可以對這些輸入的多樣化數據進行空間處理。”
無線通信基礎
設施:5G、6G、Open RAN 和基帶應用等通信協議是 FPGA 的重要市場,Altera 和 BigCat 近期 合作 ,旨在擴展基于 FPGA 的無線接入網技術。“隨著無線標準的演進,前四到五年的部署周期通常都采用 FPGA,”Arteris 的 Yadavalli 表示。“由于標準尚未完全定型,像 Erickson、諾基亞、三星以及全球其他大型設備供應商都無法及時開發出 ASIC。你需要提前兩年預購整個規范,才能著手開發 ASIC。一旦規范最終確定,你就需要這些芯片能夠及時上市,以便將網絡過渡到下一代技術。”
人工智能算法在網絡領域也在快速發展,這為FPGA帶來了機遇。“在6G領域,與網絡相關的AI處理技術正在被廣泛討論,但目前還沒有標準化的方案,而且人們對6G的部署時間也充滿疑慮,”Yadavalli說道。“很多人可能會在某些方面落后、領先或誤入歧途。他們需要在AI計算方面具備靈活性。此外,還有各種規模的計算機。有些計算機可以真正將計算推向基帶,那里已經搭建了大型云平臺。但也有很多技術部署在無線電側,以及位于大型天線下方的基帶設備。這些都需要FPGA作為輔助組件。”
在5G領域,AMD的自適應SoC在波束成形應用中的使用量顯著增加。“這是標準推廣推廣的重要組成部分,”鮑爾說道。
橫向產品差異化
垂直整合的公司可以將特定的加速器或功能集成到專用集成電路(ASIC)中,但該行業的大部分業務都是橫向整合的。一家生產各種嵌入式處理器的公司不太可能開發固定的加速器功能,因為這會縮小其整體市場機會。
西門子克萊因表示:“這些公司可以將嵌入式FPGA架構集成到他們的設備中,或者使他們的SoC能夠與外部FPGA連接。我們看到很多制造商都開始這樣做。這可以為他們的系統提供定制化的硬件功能。雖然它比ASIC級別的實現方式體積更大、功耗更高,但比軟件實現方式速度更快、能效更高。”
例如,如果一家公司希望可穿戴設備的電池無需充電即可續航一周,他們就必須考慮將部分功能從處理器上轉移出去。“如果他們要進行橫向整合,并且不自行研發SoC,那么他們就需要可編程邏輯來轉移部分功能,”克萊因解釋說。“無論這種可編程邏輯是嵌入在他們購買的SoC中,還是作為獨立的組件單獨使用,FPGA都能幫助他們實現更高的性能和更低的能耗。”
嵌入式FPGA還能夠通過稀疏性和混淆來保護某些知識產權。“也許某個軟件開發商或軟件程序擁有自己的秘密算法,”QuickLogic的知識產權銷售副總裁Andy Jaros說道,“他們希望擁有一個與之配套的硬件加速器。他們開發了算法,并將其放置在ASIC上的eFPGA中,而無需與任何人共享。”
盡管FPGA 可以重新編程以應對不斷變化的法規和日益增長的威脅(例如量子黑客的幽靈),但人們仍然擔憂新興的安全威脅。
“我們看到FPGA的應用日益廣泛,旨在確保這些系統上運行的代碼的真實性,并防止篡改,”鮑爾說道。“此外,對于數據的在線加密,一些客戶擁有自己的專有技術,而可編程邏輯非常適合這些技術。其他客戶則對我們已經集成的標準方法感到滿意。我們擁有用于實現端到端在線加密的硬加密模塊。”
其他應用場景包括無線或有線連接以及防火墻。“人們正在使用FPGA進行基于人工智能的數據包檢測,以查找威脅,”鮑爾說。“你需要高速連接,然后還需要將模型直接集成到網絡架構中。”
然而,也存在一些缺點。“獨立式和嵌入式FPGA提供了極大的靈活性,但如果比特流配置數據的機密性和完整性管理不當,尤其是在數據中心等共享環境中,這種優勢可能會帶來安全風險,”Rambus公司硅IP高級技術總監Scott Best表示。“與數據中心ASIC和SoC為不同用戶運行半獨立虛擬機所面臨的風險類似,數據中心FPGA也需要強大的配置和訪問控制,以防止在用戶共享可編程架構時發生未經授權的重新編程或側信道攻擊。”
現在許多FPGA都內置了加密系統。“代表FPGA編程的比特流的保護措施已經有所改進。但它們仍然是攻擊者最熱衷的目標,攻擊者試圖以此聲稱自己已經入侵了系統,修改了程序的一個比特位,將其傳輸到FPGA上并使其運行,”Synopsys 產品管理高級總監Dana Neustadter說道。他指出,攻擊FPGA與安全啟動等技術類似。“在處理器領域,我們使用安全啟動來確保處理器上運行的是正確的程序。在FPGA領域,同樣的任務由加密和認證引擎來完成,該引擎會驗證FPGA的編程。”
結論
FPGA 前期成本低,因此仍將作為原型設計工具發揮作用,但在當今高科技領域,它們也正在承擔越來越多的新角色。為了跟上人工智能的發展步伐并抵御黑客攻擊,設計人員可能會認為最佳解決方案是將固定功能器件和可編程器件混合使用。
*聲明:本文系原作者創作。文章內容系其個人觀點,我方轉載僅為分享與討論,不代表我方贊成或認同,如有異議,請聯系后臺。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.