隨著數(shù)字化時代的飛速發(fā)展,人工智能(AI)、大數(shù)據(jù)分析、自動駕駛等新興領(lǐng)域的需求不斷攀升。FPGA作為靈活可編程的硬件平臺,正成為AI與高性能計算等領(lǐng)域的重要支柱。這一趨勢不僅推動了FPGA架構(gòu)的創(chuàng)新,也對開發(fā)者提出了新的要求。這篇文章將帶您深入探討FPGA發(fā)展趨勢,并剖析這些變化對開發(fā)者的影響與挑戰(zhàn),為在新時代的技術(shù)浪潮中把握機遇提供參考。
1. 異構(gòu)化
1.1 異構(gòu)計算的概念
所謂異構(gòu)計算,就是在一個系統(tǒng)中使用不同類型指令集和體系架構(gòu)的計算單元實現(xiàn)復雜多樣的計算方式。簡單來說就是多種芯片協(xié)同工作,例如CPU,GPU,ASIC,FPGA,DSP等,最近幾年也出現(xiàn)了AI硬件引擎這樣的新型計算單元。
1.2 異構(gòu)化的原因
近些年來,IC設(shè)計中的異構(gòu)化趨勢已經(jīng)越來越明朗了。各領(lǐng)域的前沿芯片,都熱衷于集成越來越多的新計算單元,依次來滿足日益擴大的市場需求和延續(xù)摩爾定律的使命。這主要是為了滿足現(xiàn)代應(yīng)用日益增長的復雜性、性能需求和功耗限制:
①. 新領(lǐng)域?qū)π阅苄枨蟮脑鲩L:近些年大數(shù)據(jù)分析、人工智能(AI)、自動駕駛、5G通信和高性能計算等領(lǐng)域高速發(fā)展,迫切需要極高性能的IC芯片來滿足這樣發(fā)展的勢頭。
②. 各類芯片能效比的提升:隨著各類芯片的不斷發(fā)展,其在各自領(lǐng)域的優(yōu)勢日益凸顯,所以全能單芯片漸漸失去了可行性;相反,讓不同芯片協(xié)同工作的方案,才能將性能發(fā)揮到極致
③. 新型任務(wù)的專用化需求:現(xiàn)代計算任務(wù)變得越來越專用化,尤其是在人工智能、機器學習、圖像處理和科學計算領(lǐng)域。這種任務(wù)往往需要特定的計算單元才能高效執(zhí)行。
④. 多任務(wù)處理和并行計算的需求:現(xiàn)代計算環(huán)境通常需要處理大量并行任務(wù),如在數(shù)據(jù)中心或超級計算機中。異構(gòu)計算架構(gòu)可以通過多種處理單元的協(xié)同工作,顯著提高并行計算能力。
⑤. 其他原因:如定制化和靈活性的需求,延續(xù)摩爾定律發(fā)展的需求。
1.3 FPGA的異構(gòu)化趨勢
作為AI時代新型驅(qū)動引擎,F(xiàn)PGA當然也沒有落伍。從早些年內(nèi)嵌ARM的ZYNQ,到集成DSP,ARM,AI等處理器的ACAP平臺,F(xiàn)PGA前沿創(chuàng)新無不延續(xù)著這樣的思路。如圖為Xilinx推出的ACAP架構(gòu)圖,F(xiàn)PGA與DSP,AI,ARM等處理器協(xié)同工作,充分發(fā)揮各自性能滿足巨大的客觀需求。
1.4 異構(gòu)化對開發(fā)者提出的新需求,新挑戰(zhàn)
相較于過去開發(fā)者只需要對FPGA有足夠了解,異構(gòu)化芯片則要求,開發(fā)者需要熟悉異構(gòu)計算環(huán)境,了解如何將FPGA與CPU、GPU、ASIC等其他處理單元協(xié)同工作。這包括掌握數(shù)據(jù)在不同計算單元間傳輸?shù)姆椒?、任?wù)分配策略,以及優(yōu)化整體系統(tǒng)性能的技巧。
也就是說,開發(fā)者在應(yīng)對新型FPGA時要具備系統(tǒng)化思維,不僅要保證FPGA自身性能充分施展,還要在FPGA開發(fā)中充分考慮到系統(tǒng)中其他芯片,追求整體系統(tǒng)性能的最大化。
這就意味著,異構(gòu)系統(tǒng)的復雜性增加了開發(fā)難度,要求開發(fā)者具備跨領(lǐng)域的知識,如并行編程、數(shù)據(jù)流優(yōu)化和硬件架構(gòu)設(shè)計。
2. AI與機器學習加速
2.1 AI硬件加速
AI與機器學習的性能不僅依賴于軟件算法模型,還依賴于執(zhí)行其算法的硬件設(shè)備,通過硬件優(yōu)化AI性能就是所謂的AI加速技術(shù)。FPGA在AI加速中具備得天獨厚的優(yōu)勢,是極為理想的選擇。如上ACAP圖,許多高級FPGA已經(jīng)集成了專用AI引擎,促進AI技術(shù)的發(fā)展與應(yīng)用。
2.2 FPGA實現(xiàn)AI加速的案例
微軟的Project Brainwave項目,是一個基于FPGA的實時AI推理加速平臺,專為云計算環(huán)境中的人工智能(AI)和機器學習(ML)任務(wù)設(shè)計。該項目已經(jīng)集成到微軟的Azure云平臺中,用于加速各種AI服務(wù),例如圖像識別,自然語言處理,語音識別等。
平臺架構(gòu):Project Brainwave基于Intel Stratix 10 FPGA,以此為核心其關(guān)鍵組件包括深度神經(jīng)網(wǎng)絡(luò)引擎(DNN),矢量處理單元和可編程邏輯等。深度神經(jīng)網(wǎng)絡(luò)引擎(DNN),是專為加速深度學習推理任務(wù)設(shè)計的硬件模塊,其直接運行在FPGA上,利用FPGA的并行處理能力來加速卷積神經(jīng)網(wǎng)絡(luò)(CNN)等復雜模型。矢量處理單元,用于處理矢量化的神經(jīng)網(wǎng)絡(luò)運算,結(jié)合FPGA中的DSP模塊,實現(xiàn)高效的矩陣乘法和加法運算,顯著提升推理速度。
如圖為該項目的簡單示意圖,可以看見FPGA層是運算核心單元,它與CPU通過PCIe3.0進行高速通信。
2.3 AI硬件加速對開發(fā)者提出的新需求
隨著AI應(yīng)用領(lǐng)域越來越廣,開發(fā)者需要學習如何利用FPGA中的AI引擎和加速器進行機器學習任務(wù)的加速,包括如何設(shè)計、優(yōu)化和部署FPGA上的AI模型。
芯片供應(yīng)商們,為開發(fā)者提供了高效的AI開發(fā)套件,例如Xilinx公司提供的Vitis套件。它不僅提供了高層次綜合(HLS)的新型開發(fā)技術(shù)環(huán)境,還提供了FPGA與ARM,AI等其他處理器的開發(fā)環(huán)境
如圖所示,為Vitis全套開發(fā)流程。在設(shè)計階段,Vitis開發(fā)可以分為三個部分,即紅色部分使用C語言對內(nèi)嵌ARM的編程,橙色部分C/C++對AI引擎的開發(fā),綠色部分使用RTL語言(Verilog/VHDL)或者C/C++進行高層次綜合實現(xiàn)FPGA電路的設(shè)計,這三者之間的協(xié)同工作通過AXI總線實現(xiàn)。我們可以看到,三部分設(shè)計最終統(tǒng)一打包在v++ -package內(nèi),它包含了FPGA,ARM,AI的編程設(shè)計,Vitis可以將其燒寫到實際電路上運行和調(diào)試。
3. 高層次綜合(HLS)
3.1 傳統(tǒng)FPGA開發(fā)的缺陷
傳統(tǒng)的FPGA開發(fā),多使用RTL語言(Verilog/VHDL/SystemVerilog)進行電路設(shè)計。盡管后來,人們使用IP化設(shè)計和高效的代碼管理體系,大大提升了RTL語言設(shè)計的開發(fā)效率,但是RTL語言自身的局限性仍然明顯。
RTL代碼需要設(shè)計者詳細描述寄存器、狀態(tài)機、數(shù)據(jù)路徑等低級硬件結(jié)構(gòu),開發(fā)者必須考慮時序、同步等復雜因素,這對開發(fā)者的硬件設(shè)計經(jīng)驗要求較高,且容易出錯;并且,在后期優(yōu)化代碼時,部分改動就需要大量時間重新編譯,這拉長了開發(fā)周期,使得生產(chǎn)率底下。
因此RTL設(shè)計不能讓開發(fā)者專注于算法設(shè)計上,而是花費過多時間在具體的硬件適配上,這并不利于發(fā)揮FPGA在高速運算上的優(yōu)勢,因此高層次綜合HLS應(yīng)運而生。
3.2 高層次綜合
如圖,傳統(tǒng)的FPGA設(shè)計方法以HDL語言與IP例化為核心,借助EDA工具完成Synthesis 和Implement的工作,從而完成從代碼到硬件實現(xiàn)的工作。若想要使用C/C++語言完成硬件設(shè)計,則需要HLS工具,將其映射到HDL語言上或是直接生成電路原理圖,從而進一步完成FPGA硬件的實現(xiàn)。
現(xiàn)形的HLS工具已走出萌芽期,HLS技術(shù)已集成進了AMD的Vitis和Intel的Quartus Pro中去了。
3.3 HLS的學習路線
高層次綜合是大勢所趨,但需要新的學習提升。其實供應(yīng)商們?yōu)榱送茝V芯片,已經(jīng)盡可能地為我們傳統(tǒng)FPGA設(shè)計者鋪平了道路,我們只要在原有基礎(chǔ)上選擇合理地學習思路和學習技巧,也能很快地掌握HLS開發(fā)。
①. C語言復習:對于硬件開發(fā)者,可能會對C/C++有所生疏。這不僅包括基本語法,還包括調(diào)庫,模塊化編程等開發(fā)技巧;此階段只需要簡單過一遍即可,進階還是需要實戰(zhàn)的磨礪才能實現(xiàn)
②. 了解HLS的庫:供應(yīng)商提供了成體系的C語言庫,方便我們調(diào)用。在了解庫的過程中,需要學習常用的HLS專用指令,如pipeline、unroll、dataflow等,還需要在C語言上構(gòu)建硬件思維,了解如何將C/C++中的算法轉(zhuǎn)換為硬件結(jié)構(gòu),理解代碼對硬件資源的合理利用和平衡。
③. HLS工具的使用:就像學習Vivado的操作一樣,HLS需要學習Vitis或者Quartus Pro工具的使用,這個學習思路跟學習Vivado也大差不差
④. 實戰(zhàn)提升。
4. 技術(shù)迭代
新概念,新技術(shù)固然新穎,但一些舊技術(shù)仍然十分重要,它們的更新迭代也需要及時跟進。接下來說幾個目前還在不斷迭代的技術(shù),這也需要開發(fā)者們及時更新技術(shù),滿足最新的市場需求。
4.1 PCIe
PCIe接口當前已經(jīng)迭代到了6.0版本,而最新的FPGA也內(nèi)嵌了PCIe5.0版本的接口,其單通道傳輸速率可達32GT/s,是傳統(tǒng)FPGA應(yīng)用的2.0版本的6倍之多。PCIe的技術(shù)迭代帶來了更快速的數(shù)據(jù)處理,這對于當下的“大數(shù)據(jù)時代"相當重要,而FPGA開發(fā)者也需要及時了解新協(xié)議,運用新IP,跟上數(shù)據(jù)密集型產(chǎn)業(yè)的巨大需求
4.2 低功耗設(shè)計
FPGA低功耗的特點尤為凸顯,在異構(gòu)化的趨勢下,現(xiàn)今FPGA開發(fā)者則更需要充分釋放FPGA的特點。開發(fā)者需要掌握低功耗設(shè)計技術(shù),了解如何通過選擇合適的架構(gòu)、優(yōu)化電源管理和減少時鐘頻率來降低FPGA的功耗,這需要我們深入理解FPGA內(nèi)部結(jié)構(gòu),并能靈活應(yīng)用功耗優(yōu)化工具和技術(shù)。
4.3 HBM
HBM(High Bandwidth Memory)是一種先進的3D堆疊內(nèi)存技術(shù),它將多個內(nèi)存層堆疊在一起,實現(xiàn)高密度、高性能的存儲。FPGA供應(yīng)商已將HBM集成到其高端FPGA產(chǎn)品中(如上ACAP),應(yīng)用于高性能計算(HPC),視頻處理,網(wǎng)絡(luò)加速等技術(shù)上。
HBM的引入,讓FPGA開發(fā)者在設(shè)計中面臨了一些新的挑戰(zhàn)和需求。HBM的高帶寬要求開發(fā)者設(shè)計高效的數(shù)據(jù)訪問模式,以充分利用其潛力。開發(fā)者需要深刻理解HBM的架構(gòu)和數(shù)據(jù)傳輸機制,優(yōu)化數(shù)據(jù)存儲和訪問策略。此外,HBM的復雜性增加了FPGA設(shè)計的驗證和調(diào)試難度。開發(fā)者需要利用更高級的調(diào)試工具和仿真技術(shù),確保設(shè)計的功能和性能符合預期。
5.總結(jié)與預告
這一章我們探討了FPGA在數(shù)字化時代的主要發(fā)展趨勢,包括異構(gòu)化、AI加速、高層次綜合以及技術(shù)迭代。隨著AI、大數(shù)據(jù)和自動駕駛等領(lǐng)域的快速發(fā)展,F(xiàn)PGA同時也對開發(fā)者提出了新的挑戰(zhàn),如掌握異構(gòu)計算環(huán)境、優(yōu)化AI模型、學習高層次綜合工具以及跟進最新的技術(shù)迭代。這也對我們的未來學習提供了一定參考。
-
處理器
+關(guān)注
關(guān)注
68文章
19896瀏覽量
235266 -
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618542 -
芯片
+關(guān)注
關(guān)注
460文章
52520瀏覽量
440996 -
cpu
+關(guān)注
關(guān)注
68文章
11080瀏覽量
217108 -
異構(gòu)計算
+關(guān)注
關(guān)注
2文章
107瀏覽量
16692
原文標題:FPGA發(fā)展趨勢及其對開發(fā)者提出的新挑戰(zhàn)
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
[推薦]數(shù)字化產(chǎn)品是安防行業(yè)發(fā)展的必然趨勢
PCB發(fā)展趨勢,六大趨勢
模擬電路技術(shù)在數(shù)字時代面臨的挑戰(zhàn)有哪些?
數(shù)字化時代教育電視的生存與發(fā)展
AI助力打造數(shù)字化時代的新型企業(yè)
FPGA的發(fā)展趨勢
現(xiàn)在數(shù)據(jù)中臺還是發(fā)展趨勢嗎?
FMEA在數(shù)字化時代的創(chuàng)新發(fā)展

評論