基于嵌入式FPGA解決標(biāo)準(zhǔn)FPGA資源豐富卻浪費(fèi)問題的研究
隨著越來越多的智能家電提出了接入互聯(lián)網(wǎng)的需求來進(jìn)行遠(yuǎn)程控制、監(jiān)測或數(shù)據(jù)下載,許多公司開始涉足開發(fā)接入互聯(lián)網(wǎng)的嵌入式解決方案,以期能夠應(yīng)用于種類繁多的信息家電以及非PC設(shè)備中。
隨著邏輯資源的豐富和編程工具的改進(jìn),F(xiàn)PGA在機(jī)器學(xué)習(xí)和硬件加速上得到越來越多的重視,目前數(shù)據(jù)中心已經(jīng)大量采用,大數(shù)據(jù)、云計(jì)算領(lǐng)域逐步采用FPGA器件。但是除了這些對(duì)計(jì)算能力和邏輯資源要求很高的應(yīng)用,市面上還有很多功能簡單的小型應(yīng)用,如果采用現(xiàn)有的“大而全”的FPGA產(chǎn)品,不僅價(jià)格昂貴,而且資源浪費(fèi)。于是有人想到了定制化服務(wù),這樣可以讓工程師根據(jù)產(chǎn)品需求定制合適的FPGA產(chǎn)品,從而達(dá)到節(jié)約成本和功耗的目的,嵌入式FPGA有望解決這一問題。
最近,Achronix為其eFPGA IP解決方案推出Speedcore custom blocks定制單元塊。其市場營銷副總裁Steve Mentor介紹,“Speedcore custom blocks定制單元塊可以大幅度地提升性能、功耗和面積效率,并支持以前在FPGA獨(dú)立芯片上無法實(shí)現(xiàn)的功能。利用Speedcore custom blocks定制單元塊,客戶可以獲得ASIC級(jí)的效率并同時(shí)保持FPGA的靈活性,從而帶來了一種可以將功耗和面積降至最低、同時(shí)將數(shù)據(jù)流通量最大化的高效實(shí)現(xiàn)方式。”
通過兩層裁剪讓芯片面積縮小多達(dá)6倍
FPGA用戶都指導(dǎo),標(biāo)準(zhǔn)FPGA不僅包含F(xiàn)PGA內(nèi)核中的邏輯設(shè)計(jì)、各種存儲(chǔ)器、DSP以及布線,而且還包含內(nèi)核以外的可編程I/O、SerDes以及各種接口控制器,這就使得芯片資源豐富,但體積龐大,成本昂貴,因此要實(shí)現(xiàn)成本的縮減就要裁掉設(shè)計(jì)中不必要的資源。Achronix的做法是進(jìn)行了兩層裁剪:
如圖所示,第一層裁剪將外部的可編程I/O、SerDes以及各種接口控制器進(jìn)行裁剪,只留下FPGA內(nèi)核,這樣面積可以縮小50%。
如圖所示,裁剪掉外圍模塊以后,F(xiàn)PGA內(nèi)核是否可以進(jìn)一步縮小?那么,先從FPGA內(nèi)核的結(jié)構(gòu)分析,Steve Mentor指出,“Microsoft在其有關(guān)Catapult項(xiàng)目的白皮書中講了一種云規(guī)模的加速架構(gòu),包括殼(shell)和應(yīng)用(Application),其中shell布局IO及與電路板相關(guān)的邏輯電路,應(yīng)用是核心邏輯,Shell占據(jù)了44%的總面積。”
Achronix進(jìn)行了第二層裁剪,將shell去掉,剩下由用戶定義功能的Fusion Custom Block定制單元塊,包含在Speedcore的可編程結(jié)構(gòu)中。經(jīng)過這道裁剪,芯片面積縮減高達(dá)75%。
如何定義Fusion Custom Block單元塊?
如何實(shí)現(xiàn)定義,這是很多用戶最關(guān)心的問題。Steve Mentor解釋,“Achroinx使用內(nèi)部工具來分析客戶的設(shè)計(jì),以識(shí)別出可以用Fusion Custom Block單元塊開進(jìn)行優(yōu)化的潛在功能,比如經(jīng)常使用的重復(fù)性功能,從而實(shí)現(xiàn)面積縮減、性能提高和功耗降低?,F(xiàn)在,Achronix eFPGA IP產(chǎn)品在添加了Speedcore custom blocks定制單元塊以后,就使其在擁有可編程性的同時(shí)還能夠擁有ASIC級(jí)的性能以及高片芯面積效率。”
FPGA設(shè)計(jì)中開發(fā)工具很關(guān)鍵,Achronix也提供了ACE設(shè)計(jì)工具,可以全面支持Speedcore custom blocks定制單元塊,可以與存儲(chǔ)器和DSP單元塊相同的方式,提供從設(shè)計(jì)捕獲到比特流生產(chǎn)和系統(tǒng)調(diào)試等功能。
Achronix為每個(gè)Speedcore custom blocks定制單元塊創(chuàng)建了一種獨(dú)有圖形化用戶接口(GUI),它可以管理所有的配置規(guī)則。ACE擁有Speedcore custom blocks定制單元塊所有配置的完整的時(shí)序細(xì)節(jié),支持ACE去完成各種設(shè)計(jì)基于時(shí)序的布局和布線??蛻艨梢杂脧?qiáng)大的版圖規(guī)劃器來優(yōu)化設(shè)計(jì),并為所有的單元實(shí)例去制定局域或者定點(diǎn)的任務(wù)安排。ACE還包括一個(gè)關(guān)鍵路徑分析工具,它可以支持客戶去分析時(shí)序。客戶還可以使用ACE強(qiáng)大的Snapshot嵌入式邏輯分析儀,去創(chuàng)建復(fù)雜的觸發(fā)器并展示Speedcore內(nèi)的實(shí)時(shí)信號(hào)。
eFPGA既然如此靈活,那么它是否會(huì)在未來代替FPGA?Steve Mentor表示,“目前來看,標(biāo)準(zhǔn)FPGA的市場占有率大概是80%,eFPGA是20%,復(fù)雜應(yīng)用的客戶中有人愿意在ASIC設(shè)計(jì)中加入eFPGA,簡單應(yīng)用的客戶有些愿意用eFPGA來代替標(biāo)準(zhǔn)FPGA完成設(shè)計(jì),但是兩者針對(duì)的客戶群不同,會(huì)長期共存。”
“正是eFPGA的市場需求旺盛,Achronix在2017年實(shí)現(xiàn)了強(qiáng)勁的銷售收入及業(yè)務(wù)增長,預(yù)計(jì)銷售將超過1億美元。與TSMC和做的16nm產(chǎn)品已經(jīng)量產(chǎn),7nm產(chǎn)品預(yù)計(jì)在2018年上半年完成測試芯片和首批設(shè)計(jì)。” Steve Mentor補(bǔ)充。