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