發布成功
讚賞金額:
您輸入的金額有誤,請重新輸入
支付金額:5元
支付方式:
讚賞成功!
你的讚賞是對作者最大的肯定~?
FPGA (Field Programmable Gate Array)即現場可編程門陣列。它是在PLA、PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產(chan) 物。它是作為(wei) 專(zhuan) 用集成電路(ASIC)領域中的一種半定製電路,既解決(jue) 了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。
1、 FPGA簡介
FPGA普遍用於(yu) 實現數字電路模塊,用戶可對FPGA內(nei) 部的邏輯模塊和I/O模塊重新配置,以實現用戶的需求。它還具有靜態可重複編程和動態在係統重構的特性,使得硬件的功能可以像軟件一樣通過編程來修改。可以毫不誇張的講,FPGA能完成任何數字器件的功能,下至簡單的74電路,上至高性能CPU,都可以用FPGA來實現。FPGA如同一張白紙或是一堆積木,工程師可以通過傳(chuan) 統的原理圖輸入法,或是硬件描述語言自由的設計一個(ge) 數字係統。
2、FPGA發展史
FPGA的發展曆史如下圖所示。相對於(yu) PROM、PAL/GAL、CPLD而言,FPGA規模更大性能更高。
圖1 FPGA發展史
FPGA芯片主流生產(chan) 廠家包括Xilinx、Altera、Lattice、Microsemi,其中前兩(liang) 家的市場份額合計達到88%。目前FPGA主流廠商全部為(wei) 美國廠商。國產(chan) FPGA由於(yu) 研發起步較美國晚至少20年,目前還處於(yu) 成長期,僅(jin) 限於(yu) 低端,在通信市場還沒有成熟應用。
2015年12月,Intel公司斥資167億(yi) 美元收購了Altera公司。Altera被收購後不久即製定了英特爾處理器與(yu) FPGA集成的產(chan) 品路線圖。這兩(liang) 種產(chan) 品集成的好處是可以提供創新的異構多核架構,適應例如人工智能等新市場的需求,同時能大幅縮減功耗。
圖2 FPGA在電信領域的應用曆史
FPGA在航天、軍(jun) 工、電信領域有非常成熟和廣泛的應用。以電信領域為(wei) 例,在電信設備一體(ti) 機階段,FPGA由於(yu) 其編程的靈活性以及高性能被應用網絡協議解析以及接口轉換。
在NFV(NetworkFunction Virtualization階段,FPGA基於(yu) 通用服務器和Hypervisor實現網元數據麵5倍的性能提升,同時能夠被通用Openstack框架管理編排。
在雲(yun) 時代,FPGA已經被作為(wei) 基本IaaS資源在公有雲(yun) 提供開發服務和加速服務,AWS、華為(wei) 、BAT均有類似通用服務提供。
截至目前,Intel的Stratix 10器件已被成功應用於(yu) 微軟實時人工智能雲(yun) 平台Brainwave項目。
3、兩(liang) 家主流FPGA公司發展近況
Xilinx聚焦芯片領先和豐(feng) 富的加速解決(jue) 方案,通過開放策略獲得主流雲(yun) 平台支持,確立了其在數據中心的領先地位。其UltraScale+係列FPGA領先友商1年多,使其在雲(yun) 平台競爭(zheng) 中占領先機,其VU9P器件被大量應用於(yu) 包括AWS、Baidu、Ali、Tencent及華為(wei) 在內(nei) 的多家公司的雲(yun) 計算平台。
為(wei) 滿足加速器領域對FPGA芯片日益遞增的性能需求,Xilinx已發布麵向數據中心的下一代ACAP芯片架構、推出7nm Everest器件。此器件已不屬於(yu) 傳(chuan) 統的FPGA,它集成了ARM、DSP、Math Engine處理器陣列等內(nei) 核,將於(yu) 2019年量產(chan) 。相較於(yu) VU9P,Everest支持的AI處理性能將能提升20倍。
Intel則提供從(cong) 硬件到平台到應用的全棧解決(jue) 方案,不開放硬件和平台設計以避免生態碎片化,投入巨大但進展緩慢。
圖3 Xilinx產(chan) 品係列圖
圖4 Intel(以Stratix係列為(wei) 例)產(chan) 品工藝年代
FPGA在數據中心服務器市場的實際應用中存在一定技術難點,具體(ti) 包括如下幾方麵:
1、編程門檻較高:硬件描述語言不同於(yu) 軟件開發語言,需要開發者對底層硬件有著較深刻的認識;因此人才也就成為(wei) 限製FPGA應用的一個(ge) 重要因素。據了解,目前國內(nei) 從(cong) 事FPGA開發的人員初步估計大約兩(liang) 萬(wan) 多人。
2、集成難度較大:FPGA開發與(yu) 應用需要軟硬件的協同,包括使用高級語言的係統建模、硬件代碼(電路)設計、硬件代碼仿真、底層驅動軟件與(yu) 硬件邏輯的聯調等等。
3、開發周期相對軟件要長:硬件開發比軟件開發過程複雜,調試周期也被拉長。
4、很難獲取獨立邏輯IP。