eFPGA,全稱為嵌入式FPGA(Embedded FPGA),顧名思義是將類似于FPGA的可編程邏輯陣列“嵌入”到ASIC或SoC中。在老石之前的文章《Xilinx到底有沒(méi)有贏得微軟的FPGA訂單》中,提到了Facebook可能會(huì)采用類似eFPGA的方法,作為自家數(shù)據(jù)中心的計(jì)算加速芯片。
在本文中,老石收集整理了幾個(gè)關(guān)于eFPGA的常見(jiàn)迷思,以及對(duì)應(yīng)的解答和討論,謹(jǐn)供各位讀者參考。
壹
eFPGA性能指標(biāo)相關(guān)的迷思
1. eFPGA的工作頻率能否達(dá)到我的設(shè)計(jì)要求?
和ASIC相比,絕大多數(shù)的FPGA設(shè)計(jì)都無(wú)法達(dá)到同樣的運(yùn)行頻率。其實(shí),F(xiàn)PGA并非以高時(shí)鐘頻率取勝,F(xiàn)PGA的高性能主要是通過(guò)極高的硬件并行處理能力、深度流水線、以及高位寬總線等方式取得。
嵌入式FPGA,即eFPGA的本質(zhì)也是可編程邏輯陣列,因此單就運(yùn)行頻率而言并不能和ASIC相比。
不過(guò),業(yè)界和學(xué)術(shù)界也在不斷研究如何突破FPGA的頻率限制,例如,英特爾在新一代的高端FPGA產(chǎn)品Stratix10中采用了HyperFlex架構(gòu),如下圖所示,在可編程邏輯單元之間引入了多個(gè)寄存器陣列,可以將FPGA的運(yùn)行速度增加1.5~2倍。
在老石的博士研究課題中,老石發(fā)現(xiàn)很多應(yīng)用場(chǎng)景對(duì)誤差的容忍度很高,因此對(duì)FPGA進(jìn)行簡(jiǎn)單的“超頻”操作就可以極大提高FPGA的性能,代價(jià)僅僅是出現(xiàn)概率極小的精度損耗。
關(guān)于老石博士期間的研究?jī)?nèi)容,有興趣的讀者可以在后臺(tái)給我留言,老石會(huì)找機(jī)會(huì)在今后的文章中繼續(xù)介紹。
2. eFPGA的功耗會(huì)不會(huì)太大?
這個(gè)問(wèn)題的答案應(yīng)該是否定的。不僅如此,eFPGA的功率密度通常遠(yuǎn)低于FPGA,或者ASIC與SoC上的其他IP。
對(duì)于傳統(tǒng)的FPGA而言,它主要的“功耗大戶”之一是FPGA的可編程I/O部分。而eFPGA直接通過(guò)芯片上總線與ASIC的其他IP相連,直接去掉了原FPGA的I/O部分,從而將削減了大部分功耗。
另一方面,如上一個(gè)問(wèn)題提到的,eFPGA的頻率遠(yuǎn)低于ASIC或SoC上的其他IP,使得eFPGA的動(dòng)態(tài)功耗相對(duì)較低。
3. eFPGA能否為我的設(shè)計(jì)提供足夠的帶寬?
同樣的,對(duì)于傳統(tǒng)FPGA設(shè)計(jì)而言,系統(tǒng)性能很多時(shí)候直接受到FPGA芯片的I/O引腳數(shù)量的限制。特別是對(duì)于很多通信、網(wǎng)絡(luò)、高性能運(yùn)算的應(yīng)用而言,需要FPGA芯片提供大量高性能SerDes收發(fā)器以及通用I/O引腳,以便于外部系統(tǒng)進(jìn)行數(shù)據(jù)交換和傳輸,而這通常受到芯片封裝技術(shù)的限制。
與此相比,eFPGA沒(méi)有引腳數(shù)量限制,因?yàn)樗举|(zhì)上就是集成在ASIC里的IP核。因此與FPGA相比,eFPGA與ASIC或SoC的通信帶寬可以提升10倍以上。事實(shí)上,這也是eFPGA產(chǎn)生和使用的主要推動(dòng)因素之一。
eFPGA不需要芯片與芯片間的連接,而是直接通過(guò)芯片上不同IP的連接進(jìn)行通信,極大提升了通信帶寬,并減少了通信延時(shí),見(jiàn)下圖。
4. 使用eFPGA會(huì)導(dǎo)致芯片面積過(guò)大?
ASIC或SoC工程師在第一次看到FPGA時(shí)通常會(huì)被FPGA芯片的大小嚇到,因?yàn)橥ǔPGA芯片實(shí)在是太大了。可以看下圖,感受一下FPGA與英特爾Atom通用處理器芯片大小的對(duì)比。
通常來(lái)講,F(xiàn)PGA的主要芯片面積一半是可編程邏輯單元,另一半則是可編程的I/O及相關(guān)電路??删幊蘄/O是FPGA安身立命的法寶之一,它使得FPGA可以與包括微處理器、ASIC、存儲(chǔ)器、以及其他FPGA在內(nèi)的幾乎其他任何芯片或系統(tǒng)相互通信。這也是為什么可編程I/O部分的芯片面積為何如此之大的原因。
與FPGA相比,eFPGA不需要實(shí)現(xiàn)可編程的I/O部分,因?yàn)榕ceFPGA相互通信的ASIC IP在設(shè)計(jì)時(shí)就已固定。當(dāng)去掉了可編程I/O部分之后,對(duì)于同等邏輯密度的FPGA而言,eFPGA的芯片面積會(huì)極大縮減。
5. 使用eFPGA的成本會(huì)很高?
老石對(duì)成本方面的問(wèn)題并不了解,但是,eFPGA的主要提供商之一,Achronix公司的市場(chǎng)部副總裁Steve Mensor稱:使用eFPGA的成本“并不會(huì)比其他IP更貴”。
老石認(rèn)為,使用成本應(yīng)該從兩個(gè)角度來(lái)看。第一是用戶直接付出的金錢成本,即購(gòu)買芯片或IP付出的金錢。另一個(gè)則是所購(gòu)買的IP能提供的功能多樣性,即實(shí)現(xiàn)某種功能所分?jǐn)偟某杀?。?duì)于FPGA或eFPGA而言,它們最強(qiáng)大的功能是可以實(shí)現(xiàn)不同的用戶邏輯,并且在芯片流片后還能進(jìn)行功能邏輯的修改,因此能大幅降低SoC和ASIC的開(kāi)發(fā)風(fēng)險(xiǎn),并提高設(shè)計(jì)的靈活性。
貳
eFPGA開(kāi)發(fā)相關(guān)的迷思
1. eFPGA的開(kāi)發(fā)流程與傳統(tǒng)ASIC或SoC的開(kāi)發(fā)流程差別太大?
eFPGA的流程與傳統(tǒng)FPGA、ASIC或SoC的開(kāi)發(fā)流程并無(wú)二致,總結(jié)起來(lái)都是邏輯綜合、布局布線、時(shí)序優(yōu)化等。和FPGA相同,eFPGA開(kāi)發(fā)完成后也會(huì)生成一個(gè)二進(jìn)制配置文件(bitstream),用來(lái)對(duì)可編程邏輯進(jìn)行配置。包含eFPGA的SoC開(kāi)發(fā)流程如下圖所示。
與其說(shuō)與ASIC或SoC的開(kāi)發(fā)流程不同,不如說(shuō)是開(kāi)發(fā)工具有很大差別,這樣就引出了下一個(gè)問(wèn)題。
2. eFPGA的開(kāi)發(fā)工具尚不成熟?
不管是對(duì)于FPGA設(shè)計(jì),還是ASIC或SoC設(shè)計(jì),開(kāi)發(fā)工具一直是體現(xiàn)一個(gè)公司綜合實(shí)力的精髓所在。
芯片開(kāi)發(fā)工具可以大致分成兩個(gè)層次,一個(gè)是用來(lái)設(shè)計(jì)芯片本身,主要是各大EDA公司如Cadence和Synopsys的軟件套件,涵蓋了芯片設(shè)計(jì)的各個(gè)階段。另一個(gè)則是用來(lái)開(kāi)發(fā)芯片應(yīng)用的軟件,例如用于FPGA開(kāi)發(fā)的英特爾FPGA的Quartus Prime和Xilinx的Vivado等,這些軟件決定了FPGA是否便于用戶使用,因此是這些公司真正的“皇冠上的明珠”。
作為eFPGA廠商而言,提供便于使用且性能穩(wěn)定的開(kāi)發(fā)工具是必不可少的。這需要長(zhǎng)期的技術(shù)積累,以及廣泛的用戶體驗(yàn)與反饋。老石相信,對(duì)eFPGA開(kāi)發(fā)工具的研發(fā),會(huì)是這些eFPGA廠商的重中之重。
3. eFPGA的開(kāi)發(fā)難度太大?
在生產(chǎn)方面,eFPGA的開(kāi)發(fā)和集成需要eFPGA廠商、ASIC或SoC集成商、以及晶圓代工廠緊密配合,保證在不同工藝節(jié)點(diǎn)eFPGA都能有效整合。然而,對(duì)于單純的邏輯開(kāi)發(fā)難度與周期而言,eFPGA與其他數(shù)字電路IP并無(wú)本質(zhì)區(qū)別。
在eFPGA的配置和調(diào)試方面,也與傳統(tǒng)FPGA沒(méi)有太多區(qū)別。通過(guò)開(kāi)發(fā)工具產(chǎn)生的eFPGA配置文件可以通過(guò)jtag或者flash等方式,對(duì)eFPGA進(jìn)行功能配置。
叁
結(jié)語(yǔ)
eFPGA作為一種存在許久的設(shè)計(jì)理念,在近年逐漸重新獲得人們的關(guān)注。這主要是由于eFPGA能夠提供更優(yōu)的系統(tǒng)性能與更低的芯片功耗,因此被逐漸用于5G、機(jī)器學(xué)習(xí)加速器等諸多新興領(lǐng)域。
eFPGA與FPGA二者同屬可編程邏輯陣列,有著共同的架構(gòu)和性能特點(diǎn),但又有著不同的優(yōu)勢(shì)和缺點(diǎn)。老石認(rèn)為,與其說(shuō)eFPGA會(huì)替代FPGA,不如說(shuō)eFPGA是FPGA的有力補(bǔ)充。相信在大數(shù)據(jù)和人工智能時(shí)代,這些可編程邏輯芯片一定會(huì)有著更加廣闊的應(yīng)用。
-
嵌入式
+關(guān)注
關(guān)注
5082文章
19126瀏覽量
305241 -
efpga
+關(guān)注
關(guān)注
1文章
33瀏覽量
15680
原文標(biāo)題:啥是eFPGA? | 科普
文章出處:【微信號(hào):TechSugar,微信公眾號(hào):TechSugar】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論