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

GPT誕生兩周年,AIPC為連接器帶來(lái)什么新變化?
MCU和FPGA的區(qū)別分析
FPGA基礎(chǔ)知識(shí)及設(shè)計(jì)和執(zhí)行FPGA應(yīng)用所需的工具

萊迪思分析不斷變化的網(wǎng)絡(luò)安全形勢(shì)下FPGA何去何從
CTA認(rèn)證最新變化 :北三短報(bào)文設(shè)備進(jìn)網(wǎng)許可、NSA可選入網(wǎng)

FPGA如何估算分析功耗

評(píng)論