隨著(zhù)新一波智能數據密集型應用的興起,基于傳統的CPU架構已經(jīng)無(wú)法滿(mǎn)足這些新應用中計算需求的指數級增長(cháng),推動(dòng)了對全新的、異構的、帶有可編程硬件加速器的計算架構的需求。

eFPGA是embedded FPGA的縮寫(xiě),用中文理解就是嵌入式FPGA。eFPGA的概念實(shí)際上是Achronix Semiconductor提出來(lái)的,這家公司成立于2004年,并推出過(guò)20nm的Speedster 22i FPGA,代工廠(chǎng)為Intel。

為什么要采用FPGA?硬件加速

以往業(yè)界習慣采用獨立的FPGA,但卻從未考慮將FPGA作為IP嵌入到SOC中。2016年11月,Achronix宣布可提供FPGA IP,可以將FPGA當成IP直接嵌入SOC中,命名為Speedcore eFPGA IP。Speedcore嵌入式FPGA(eFPGA)IP產(chǎn)品可以被嵌入到一款ASIC或者SoC之中,客戶(hù)通過(guò)細化其所需的邏輯功能、RAM存儲器和DSP資源,然后Achronix將配置SpeedcoreIP以滿(mǎn)足其個(gè)性化的需求。Speedcore查找表(LUT)、RAM單元、DSP64單元和定制單元塊能夠以靈活的縱列方式組合在一起,為客戶(hù)的應用創(chuàng )建最優(yōu)化的可編程功能。

在SOC中嵌入FPGA IP相當于增加了SOC在邏輯功能上的靈活性,根據用戶(hù)需要可以增加或減少SOC的功能;如果FPGA IP資源足夠多,可以實(shí)現算法加速。

eFPGA1

根據摩爾定律,CPU架構的發(fā)展受制于功耗和芯片大小。由于核心數量有限,越來(lái)越多的應用需要對某些特定應用進(jìn)行硬件加速。FPGA的優(yōu)勢在于吞吐量以及并行處理,因此在數據加速方面有獨特的優(yōu)勢。

實(shí)際上2015年Intel收購Altera,其目的也是用它們的FPGA來(lái)做硬件加速。實(shí)際上這種CPU+FPGA異構處理得到越來(lái)越多的應用,尤其是在數據中心,比如cache緩存、網(wǎng)絡(luò )數據分析、網(wǎng)頁(yè)檢索和并行運算等等,得到諸如微軟、亞馬遜、谷歌、Facebook和百度等巨型互聯(lián)網(wǎng)公司的青睞。

人工智能推動(dòng)eFPGA發(fā)展,Achronix三大產(chǎn)品線(xiàn)介紹

eFPGA2

5G移動(dòng)通信、高性能計算、網(wǎng)絡(luò )加速、汽車(chē)應用是現在FPGA用于計算加速的主要4大應用,隨著(zhù)網(wǎng)絡(luò )吞吐量的急劇增長(cháng),對于計算能力的需求也是急速增長(cháng)。所以很多應用需要FPGA來(lái)計算。

eFPGA3

據介紹,Achronix現在有三種產(chǎn)品:第一種是獨立的FPGA芯片speedster,第二種是嵌入式FPGA內核speedcore,就是eFPGA內核,第三種是FPGA多晶粒組合封裝Speedchip。

eFPGA4

據了解,Achronix Speedcore eFGPA嵌入式FPGA可加速數據密集的人工智能(AI)/機器學(xué)習、5G移動(dòng)通信、汽車(chē)先進(jìn)駕駛員輔助系統(ADAS)、數據中心和網(wǎng)絡(luò )應用;Speedcore custom blocks定制單元塊可以大幅度地提升性能、功耗和面積效率,并支持以前在FPGA獨立芯片上無(wú)法實(shí)現的功能。利用Speedcore custom blocks定制單元塊,客戶(hù)可以獲得ASIC級的效率并同時(shí)保持FPGA的靈活性,從而帶來(lái)了一種可以將功耗和面積降至最低、同時(shí)將數據流通量最大化的高效實(shí)現方式。

Speedcore custom blocks定制單元塊三大優(yōu)勢?

2017年10月11日,Achronix Fusion定制單元塊新產(chǎn)品在深圳深航大廈發(fā)布。這個(gè)可定制單元塊分布在eFPGA內部,可由用戶(hù)自定義。Achronix宣布為其eFPGA IP解決方案推出Speedcore custom blocks定制單元塊。該技術(shù)大幅度縮減了芯片晶粒大小及功耗,并提升了性能,可與客戶(hù)聯(lián)合定義特定功能性單元塊,可分布在整個(gè)eFGPA內部結構中。

eFPGA5

Achronix Semiconductor市場(chǎng)營(yíng)銷(xiāo)副總裁Steve Mensor表示,2017年Achronix的銷(xiāo)售收入將超過(guò)1億美元,將實(shí)現強勁的增長(cháng)。其中SpeedCore是增速最快的產(chǎn)品。

“業(yè)界領(lǐng)袖對Speedcorecustomblocks定制單元塊及其可發(fā)揮的潛力倍感興奮,”AchronixSemiconductor市場(chǎng)營(yíng)銷(xiāo)副總裁SteveMensor表示。“目前與我們合作的公司都在打造下一代異構計算平臺和高帶寬通信系統,他們正在構建高性能的硬件加速器,可以隨著(zhù)其計算算法的演進(jìn)而不斷調整?,F在,AchronixeFPGAIP產(chǎn)品在添加了Speedcorecustomblocks定制單元塊以后,就使其在擁有可編程性的同時(shí)還能夠擁有ASIC級的性能以及高片芯面積效率。”

面對新的計算密集型功能,eFPGA數據加速可以說(shuō)是最優(yōu)的解決方案。簡(jiǎn)單來(lái)說(shuō)定制單元塊的優(yōu)勢大概包括三點(diǎn):最小的芯片面積、ASIC級的性能、構建獨立FPGA芯片無(wú)法提供的功能。

eFPGA6

微軟在一個(gè)項目白皮書(shū)提出一種云規模的加速架構。其中Shell占據了44%的總面積。對于eFPGA來(lái)說(shuō),可以靈活的處理。中間的應用邏輯電路可以放Speedcore,而周邊的Shell可以放到客戶(hù)的ASIC中。

eFPGA7

對于客戶(hù)自定義的功能模塊可以進(jìn)一步將芯片面積減少75%,而且功耗更低,性能更高。

eFPGA8

由于減少了大量的shell和IO的面積,Speedcore custom blocks定制單元塊相比以往獨立的FPGA芯片面積減少了將近6倍。

案例對比:eFPGA與GPU各占優(yōu)勢

eFPGA9相關(guān)應用案例舉例:字符串搜索

如果用Speedcorecustomblocks定制單元塊來(lái)實(shí)現,需要并行比較器陣列的大型字符串搜索功能的片芯面積可以縮減超過(guò)90%。

桶形移位器(Barrelshifter)和二進(jìn)制位處理結構也可以在Speedcorecustomblocks定制單元塊中完全實(shí)現,從而在同樣的面積中實(shí)現更大的、更精妙的應用,提升了可獲得的頻率。

一個(gè)運行在800MHz的400Gbps包處理數據通道的核心功能也可以用Speedcorecustomblocks定制單元塊來(lái)實(shí)現,其可編程邏輯管理分析和控制功能。今天的FPGA獨立芯片不能為包處理應用提供這么高的數據吞吐量。

eFPGA10

以往FPGA都被拿來(lái)跟ASIC比較,但是隨著(zhù)人工智能需求的增加,越來(lái)越多客戶(hù)用FPGA來(lái)跟GPU比較,來(lái)做機器學(xué)習和神經(jīng)網(wǎng)絡(luò )應用。案例舉例:以AI卷積神經(jīng)網(wǎng)絡(luò )應用為例,以前需要用到大量的DSP和RAM,經(jīng)過(guò)自定義優(yōu)化以后,總面積不管是DSP還是RAM都大大減少,整個(gè)芯片面積縮減大概35%。通過(guò)為矩陣乘法運算優(yōu)化數字信號處理器(DSP)和存儲單元塊,基于卷積神經(jīng)網(wǎng)絡(luò )(CNN)的YOLO目標識別算法的芯片面積被縮減了超過(guò)40%。

eFPGA11

一般通用計算是通過(guò)CPU,而數據加速則而通過(guò)eFPGA核。GPU功耗較大,相對來(lái)說(shuō)FPGA更靈活,對于特殊應用,吞吐量和并行處理能力更強。FPGA相對于GPU的弱點(diǎn)是,在編程上通過(guò)軟件就可以實(shí)現,相對來(lái)說(shuō)編程難度會(huì )大一點(diǎn)。

eFPGA12案例舉例:以線(xiàn)速運行的功能

eFPGA13案例舉例:TCAMS

這是網(wǎng)絡(luò )應用中的常用功能,包括數據包分類(lèi)、流量管理等。在獨立FPGA上往往無(wú)法提供該功能,因為需要用到大量的BRAM和邏輯,占用的面積太大。而通過(guò)我們的定制單元塊就可以實(shí)現。一個(gè)TCAMS可以把需要的RAM和logic放到一個(gè)模塊里面,相比傳統的FPGA占用的面積大大縮小。還可以通過(guò)多個(gè)TCAM來(lái)做級聯(lián),來(lái)構建更深或更寬的陣列。

eFPGA14

“我們的ACE工具可以給獨立的FPGA做設計,也可以給我們的SpeedCore做設計。SpeedCore最大可達到200玩個(gè)查找表。”STEVE MENSOR表示,Speedcore custom blocks定制單元塊由Achronix與其客戶(hù)共同定義,這需要一個(gè)詳細的加速工作負載架構分析。隨后,Achronix將為客戶(hù)提供一個(gè)用于基準測試和評估的新版ACE設計工具,它包含了帶有定制單元塊的、新的Speedcore eFPGA。

Achronix的ACE設計工具全面支持Speedcore custom blocks定制單元塊,可以與存儲器和DSP單元塊相同的方式,提供從設計捕獲到比特流生產(chǎn)和系統調試等功能。Achronix為每個(gè)Speedcore custom blocks定制單元塊創(chuàng )建了一種獨有圖形化用戶(hù)接口(GUI),它可以管理所有的配置規則。ACE擁有Speedcore custom blocks定制單元塊所有配置的完整的時(shí)序細節,支持ACE去完成各種設計基于時(shí)序的布局和布線(xiàn)??蛻?hù)可以用強大的版圖規劃器來(lái)優(yōu)化設計,并為所有的單元實(shí)例去制定局域或者定點(diǎn)的任務(wù)安排。ACE還包括一個(gè)關(guān)鍵路徑分析工具,它可以支持客戶(hù)去分析時(shí)序??蛻?hù)還可以使用ACE強大的Snapshot嵌入式邏輯分析儀,去創(chuàng )建復雜的觸發(fā)器并展示Speedcore內的實(shí)時(shí)信號。