讓FPGA更好地定制化,Achronix祭出custom blocks(定制單元塊)
讓FPGA定制進ASIC/SoC
本文引用地址:http://www.104case.com/article/201711/371188.htm顧名思義,FPGA就是“可編程”邏輯陣列,特點是通用性,利用編程實現各種功能。但是Achronix讓它定制化了。看看Achronix怎么說。
縱觀FPGA的技術創新史,傳統FPGA制造商所關注的提供通用的可編程功能,例如上世紀80年代提供基于SRAM LUT的功能,90年代推出嵌入式RAM存儲器,2000年代推出加強數學運算的DSP,2010年代加入SerDes和硬化的I/O協議。他們的共同特點是通用性強,因此一塊FPGA可以賣給不同的客戶,但是缺少定制性。
圖:FPGA的技術創新史
為此Achronix公司不久前推出了定制化的custom blocks(定制單元塊)。名為Speedcore Custom Blocks的IP新產品可加速數據密集的人工智能(AI)/機器學習、5G移動通信、汽車先進駕駛員輔助系統(ADAS)、數據中心和網絡應用。該公司的Speedcore嵌入式FPGA(eFPGA)IP產品已于2016年10月問世,特點是可以把FPGA嵌入到ASIC或者SoC之中。
圖:獨立FPGA與嵌入式FPGA(eFPGA)的版圖布局
eFPGA推高Achronix營收
Achronix公司在京新聞發布會上,公司市場營銷副總裁Steve Mensor向電子產品世界記者介紹了這款產品的推出背景及新產品架構。
定制單元是FPGA的一項全新創新,可以大大縮小芯片的面積,提升芯片的性能。通過這種客戶bolck的協議,可以分布在內部,提供非常高的靈活度。
Archronix目前有三個產品系列:獨立芯片,嵌入式FPGA內核,和客戶的芯片進行組合封裝(如下圖)。
圖:Achronix的FPGA產品線
Achronix將在2017年實現強勁的銷售收入和業務量增長,預計2017年第四季度完成后,銷售收入將超過1億美元。
其中,Speedcore是三種產品中增速最快的產品。2016年10月第一次向媒體發布,目前在公司營收中占25%份額,預計未來三年內將為公司整體利潤貢獻50%。
Speedcore的新產品推出速度也很快:2016年第三季度首次向客戶供貨,基于16nm產品已經量產,目前正在開發7nm產品,預計2018年中可以向客戶供貨。
Achronix獨立的FPGA/Speedster和eFPGA/Speedcore都是由Achronix ACE設計工具提供支持。優勢是完全可以定制的IP,包括LUT等資源數量、類型的比例和長短比例等。當前該版本可以支持最大2百萬個查找表(LUT)。
custom blocks怎么用
Speedcore是列形式組織,有非常高的靈活度。當前的版本成熟,支持邏輯、DSP、BRAM和LRAM。DSP適合視頻處理和無線通訊。Memory(內存)在網絡中的應用也是常見的,其中BRAM是大尺寸的內存,LRAM是小尺寸、分布式的內存。DSP和RAM也是列形式的組織,和邏輯的組織形式是類似的。
Speedcore Custom Blocks的組織方式和傳統的DSP、RAM和logic的組織方式是一致的,也是以列形式放置在架構中。數量多少可以靈活調節,如下圖的棕色和紫色單元塊是Speedcore Custom Blocks。
圖:Speedcore的列形式組織
硬件加速器是應對計算量增長的利器
當前我們正遇到計算量越來越大的挑戰。據Cisco的網絡指數分析報告,整個網絡中的數據量越來越大,基于此產生產生的應用類型越來越多。因此也需要越來越強大的計算處理能力來支持這些應用開發,例如針對5G通信、高性能計算(HPC)、網絡加速和自動駕駛等。如果可以考慮數量量和應用類型的增長。實際上這些應用對計算能力的需求增長呈指數性增長。
為了應對計算能力的急速增長,會對硬件的性能提出更新的需求。過去傳統CPU/馮.諾依曼架構,計算能力的提升是通過提指令、取數據的串行方式來實現。為了提高性能,只能增加CPU/核的數量,提高單位CPU/核的頻率。但這種方式的缺陷是會在一定的物理限制(諸如功耗和面積)下會達到極限,在某一拐點上增長不會按照預期進行了(如下圖)。
圖:CPU的演進史
為了克服這種增加CPU/core的挑戰,傳統行業提出了異構計算,由外部的硬件加速來協助CPU進行數據處理。傳統的CPU可以作為控制流或進行較為簡單的計算,硬件加速器可以并行處理大量計算。這種組合可以大幅提升計算速度。例如下圖的eFPGA就可實現硬件加速器功能。
圖:硬件加速器的應用
eFPGA的應用案例,例如字符串(string search)查找功能,在傳統CPU構架中查找一個單詞,要消耗很多CPU cylce(循環),例如需要72 cycle,如果可編程硬件加速器,1個cycle就完成了。
那么,如何將大型FPGA功能放入一個面積很小的片芯中呢?可以利用eFPGA的高效面積使用率,采用custom block自定義單元塊(注:與客戶一起定義的),通過這種組合,可以將相關片芯面積縮小6倍!
為何eFPGA比標準FPGA更高效?
主要有如下三大原因。
*原因1。如下圖,傳統FPGA構架中,周圍的紅色邊框放置可編程I/O、高速SerDes及各種接口控制器,這些會占有30%~40%面積。如果做成嵌入式FPGA,這些面積可以省掉。下圖公式展示的FPGA和片芯面積的比例。
圖:核心電路與邊緣電路的比例
那么為何Speedcore比標準FPGA更高效?
*原因2。微軟在其有關Catapulit項目(注:某云加速與計算項目)的白皮書中介紹了一種云規模的加速架構。其中增加了一些術語,有shell(殼)和應用。shell是I/O及電路板相關的邏輯電路,應用是在核心邏輯上實現的核心應用。
在此研究中,這些shell一旦固定到應用中,這些可編程不能被可編程(即固定下來了)。另外,核心應用是會改變的。因此如果拿掉shell,會節省44%的面積。
圖:如果去掉shell,會節省近一半的面積(注:左右兩圖的左上角均為“FPGA IO”)
*原因3。在把shell剝去的基礎上,又增加了自定義的custom block,這是由客戶自定義的,分布在speedcore架構之中,有了這種custom block,面積會縮小75%,同時有更低功耗和更高的性能。
基于以上三個原因,即裁剪了FPGA的可編程I/O,shell資源去掉,另外提高了custom block,因此片芯面積大大縮減(如下圖)。
圖:與獨立FPGA相比,把Speedcore的三個優勢
小結
Achronix公司不久前推出的定制化的Speedcore custom blocks(定制模塊),可以實現最小的片芯面積,提供ASIC級的性能,去構建獨立FPGA芯片無法提供的功能。
Achronix作為FPGA的后來者,今年也要跨入1億美元俱樂部。新產品Speedcore 推出一年已占營收1/4,未來三年將占半壁江山。在夾縫中生長,Achronix的商業模式就是不走尋常路。
評論