FPGA SoC通過融合FPGA和ASIC兩者的元件,跨越了靈活性和性能之間的界限。但隨著它們進入高安全性、任務(wù)關(guān)鍵型市場,它們也面臨著與標準SoC相同的問題,包括在日益復(fù)雜的器件中快速傳輸越來越多的數(shù)據(jù),以及在驗證和調(diào)試中可能出現(xiàn)的一切棘手的問題。
FPGA SoC是一種混合器件,隨著芯片制造商和系統(tǒng)公司每年要完成更多的設(shè)計工作,它正獲得越來越多的關(guān)注,尤其是協(xié)議和算法仍在變化的市場中,比如汽車、醫(yī)療器械和安全性市場。使用標準的FPGA芯片可以提供必要的靈活性,但是只有ASIC才能滿足更高的性能要求,無論是在新市場還是在現(xiàn)有的市場,如航空航天。FPGA SoC提供了一種折中解決方案,既提供了ASIC的一些性能和低功耗優(yōu)勢,也提供了靈活性,以避免提早過時。
但是這種復(fù)雜性也帶來了SoC設(shè)計團隊非常熟悉的問題。
Aldec公司硬件部總經(jīng)理Zibi Zalewski表示:“FPGA的復(fù)雜性和功能日益增長,你可以在一顆FPGA中構(gòu)建具有多種接口和協(xié)議的大型系統(tǒng),而這種設(shè)計需要一種結(jié)構(gòu)來集成不同的IP和硬件模塊,使它們可以工作在各種時鐘域和數(shù)據(jù)協(xié)議上。”
現(xiàn)代FPGA,尤其是那些具有硬核嵌入式處理器和控制器的FPGA,適用于傳統(tǒng)邏輯FPGA和ASIC之間的某個地帶,并向ASIC方向發(fā)展。Zalewski說:“我們肯定需要NoC,因為從驗證的角度來看,NoC簡化了接口。NoC設(shè)計允許工程團隊管理頂層接口,它可以進一步用于為主機或轉(zhuǎn)發(fā)器創(chuàng)建一個主原型通道,以進行仿真,而不是去管理多個接口,那樣會增加驗證過程的復(fù)雜性、時間和成本。”
這對FPGA SoC工具有一些有趣的影響。FPGA供應(yīng)商通常連同他們的硬件銷售他們自己的工具,這使得EDA供應(yīng)商很難在這個市場上產(chǎn)生重大影響。但是,隨著這兩個世界開始合并,問題就出現(xiàn)了,例如,F(xiàn)PGA SoC是否需要使finFET成為可能的復(fù)雜工具和IP,特別是在需要可追溯性的安全關(guān)鍵應(yīng)用中。
Cadence公司的產(chǎn)品管理總監(jiān)Juergen Jaeger說:“當(dāng)使用大容量FPGA進行設(shè)計驗證和原型設(shè)計時,關(guān)鍵的要求之一就是要具備適當(dāng)?shù)恼{(diào)試功能。但是,在今天的no-NoC FPGA的架構(gòu)中,提供這樣的調(diào)試功能是很困難的,主要是由于FPGA中連接資源有限,尤其是因為需要所有FPGA內(nèi)部路由資源來實現(xiàn)設(shè)計本身,并且用足夠的性能運行它。此外,調(diào)試還要求能夠訪問盡可能多的內(nèi)部設(shè)計節(jié)點(理想情況是全部節(jié)點),并將這些測試點路由到外部。這幾乎是不可能的,還會導(dǎo)致許多挑戰(zhàn)和調(diào)試缺陷。此處便是FPGA內(nèi)部NoC可以提供幫助的地方,因為它可以提供測試許多本地節(jié)點的能力,通過NoC將數(shù)據(jù)路由到聚合器,而不會浪費寶貴的FPGA路由資源,然后通過某些標準接口(如千兆以太網(wǎng))輸出調(diào)試數(shù)據(jù)。”
然而,并非所有的FPGA都需要NoC。Jaeger表示:“如果是數(shù)據(jù)路徑密集的設(shè)計,需要傳輸大量的數(shù)據(jù),那么NoC可能會有所幫助。但是,如果設(shè)計更加以控制為中心,并且要求性能盡可能強,那么NoC的固有延遲和非確定性性質(zhì)可能會適得其反。它還需要新的FPGA設(shè)計工具,可以利用FPGA內(nèi)部的NoC組件。”
圖1:英特爾的FPGA SoC系列產(chǎn)品。 (來源:英特爾)
更低的功率
ASIC天生比FPGA更節(jié)能。現(xiàn)在的問題是:通過組合這些器件,以及利用為SoC開發(fā)的一些低功耗技術(shù),比如通過NoC進行更高效的信號路由,可以減少多少功耗。
Aldec公司的Zalewski說:“NoC使FPGA資源可以由IP內(nèi)核和外部接口共享,并簡化了電源管理技術(shù)。使用NoC,F(xiàn)PGA邏輯可以被劃分成不同的區(qū)域,每個區(qū)域都可以被稱為路由器的單獨的NoC節(jié)點處理,如果不使用的話,可以選擇地關(guān)閉為睡眠模式。”
這種靈活性的概念促成了CCIX Consortium的成立,CCIX Consortium旨在為新出現(xiàn)的加速應(yīng)用提供互連服務(wù),例如機器學(xué)習(xí)、網(wǎng)絡(luò)處理、存儲卸載、內(nèi)存數(shù)據(jù)庫,以及4G/5G無線技術(shù)。
該標準旨在允許基于不同指令集架構(gòu)的處理器將緩存一致性、對等處理(peer processing)等優(yōu)點擴展到多種加速器件,包括FPGA、GPU、網(wǎng)絡(luò)/存儲適配器、智能網(wǎng)絡(luò),以及定制ASIC。
在使用FPGA加速工作負載時,這一點尤為關(guān)鍵。NetSpeed Systems公司營銷副總裁Anush Mohandass指出,在幾年前的Hot Chip會議期間,微軟表示希望使用FPGA加速Bing的圖像搜索,而不是在常規(guī)服務(wù)器中運行。“他們發(fā)現(xiàn),使用FPGA加速圖像可以提高效率、降低延遲,所以,在這個領(lǐng)域,F(xiàn)PGA可以進入最前沿。不要將它用作通用計算機,而是將其用于加速。”
事實上,Mohandass認為這是CCIX時刻背后的起源。“即使微軟做到了,并且說‘我們有Xeon處理器,它是主CPU,是主引擎……’當(dāng)它檢測到FPGA可以做的事情時,就會拋給FPGA。如果是這樣的話,那為什么要把加速器當(dāng)成二等公民呢?在CCIX中,加速在字面上與核心計算集群具有相同的權(quán)限。”
當(dāng)今先進的FPGA還存在其他技術(shù)問題,這些問題可能也會通過NoC結(jié)構(gòu)得到解決。
Synopsys公司高級營銷總監(jiān)Piyush Sancheti說:“就門數(shù)和復(fù)雜性而言,每個FPGA架構(gòu)看上去都像一個SoC,但現(xiàn)在你已經(jīng)擁有了所有這些功能,很明顯,你把更多的功能塞進了一個器件中,這就產(chǎn)生了多功能的復(fù)雜性,就像時鐘一樣。我們看到FPGA中的時鐘結(jié)構(gòu)變得越發(fā)復(fù)雜,從而產(chǎn)生了一大堆新問題。”
IP重用
這也簡化了設(shè)計重用。Sancheti說:“通常情況下,如果設(shè)計采用任何類型的SoC環(huán)境,無論是在ASIC還是FPGA上實現(xiàn),集成的IP越多,設(shè)計中的異步時鐘就越多。可能有一個PCIe運行在66 MHz,設(shè)計的其他部分可能會以更高的頻率運行,而這些設(shè)計并不是相互同步的。本質(zhì)上,這意味著存在以不同頻率運行的邏輯,但是這個邏輯是在相互通信的。這會導(dǎo)致時鐘域交叉問題。如何確保信號從快速時鐘域轉(zhuǎn)為慢速信號,或從慢速轉(zhuǎn)為快速時,信號是可靠的?并且你沒有元穩(wěn)定信號(peer processing),本質(zhì)上這些信號的時序不是完全同步的。”
就像SoC設(shè)計一樣,此處需要一個非常復(fù)雜的同步方案,以及確保正確同步的工具和方法。Sancheti說:“除了jelly bean系統(tǒng)的FPGA以外,大家都有一套完整的方法來進行時鐘域交叉驗證,這對FPGA設(shè)計社區(qū)來說實際上是個新鮮事。如果你把所有這些挑戰(zhàn)都映射到設(shè)計流程和方法上,就會有新東西添加到他們的流程中,先前,他們不擔(dān)心純粹是因為他們沒有那么多的IP,而且他們也沒有那么多的時鐘域要處理。它可以追溯到設(shè)計和最終應(yīng)用的簡單性。隨著FPGA變得更像SoC,他們不得不應(yīng)對一切SoC設(shè)計挑戰(zhàn)。”
縮小差距
那么,如今的FPGA SoC是否足夠像傳統(tǒng)的、數(shù)字SoC那樣,所有相同的規(guī)則都適用于片上網(wǎng)絡(luò)呢?似乎或多或少有點像,但又不完全一樣。
ArterisIP公司CTO Ty Garibay表示:“兩家主要的FPGA供應(yīng)商都有專門的片上網(wǎng)絡(luò)工具,如果用戶選擇使用其中的一種,那么他們可以使用某種形式的片上網(wǎng)絡(luò)來連接他們的功能。這更多的是一種系統(tǒng)的概念性方法。它是否足夠像標準SoC,將NoC視為連接主干是否更有意義?許多FPGA應(yīng)用都不是這樣。它們看起來更像是網(wǎng)絡(luò)芯片或主干芯片,基本上是數(shù)據(jù)流。數(shù)據(jù)從左邊進來,中間經(jīng)過一大堆的數(shù)據(jù)傳輸單元,然后數(shù)據(jù)從右邊輸出。這不是傳統(tǒng)的SoC。這是一個普通的網(wǎng)絡(luò)處理器、或基帶調(diào)制解調(diào)器、或類似的東西,它是一個數(shù)據(jù)流芯片。所以在這些類型的FPGA軟設(shè)計中,不需要片上網(wǎng)絡(luò)。 ”
但是如果它在概念上看起來像一堆相互通信并且通常由中心點控制的獨立功能單元,那么將這些單元連接到芯片上的軟網(wǎng)絡(luò)確實是有意義的。Ty Garibay表示:“預(yù)計下一代高性能FPGA將包含片內(nèi)的硬核NoC,因為它們正在達到相當(dāng)高速的數(shù)據(jù)流量——特別是當(dāng)你擁有100千兆位的SerDes和HBM2的時候,此時你想通過軟邏輯為每個通道提供1-2太比特,這基本上會使用掉所有的軟邏輯,剩余的軟邏輯不足以用于處理。”
因此,這種帶寬將需要將數(shù)據(jù)傳輸硬件化,這與強制使用硬核DSP或硬核存儲控制器的方式非常相似。未來幾代FPGA可能會看起來像棋盤似的街道,此處的街道是硬核的128、256、512個12位的總線,在1-2個周期內(nèi)從頭走到尾,并且不會使用任何軟邏輯。
Garibay說:“與此同時,還有一個綜合功能,作為將這些功能硬件化到FPGA中的一部分,即為這些通道分配入口和出口,因為我們正在傳輸海量的數(shù)據(jù),我不知道如何通過軟邏輯做到這一點。這是真正將NoC加入FPGA的開始,因為NoC總是個好主意。”
-
FPGA
+關(guān)注
關(guān)注
1630文章
21759瀏覽量
604360 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7085瀏覽量
89214 -
功率
+關(guān)注
關(guān)注
14文章
2068瀏覽量
69934
發(fā)布評論請先 登錄
相關(guān)推薦
評論