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