SoC設(shè)計中的片上通信體系結(jié)構(gòu)研究
自20世紀(jì)70年代以來的大多數(shù)時間內(nèi),超大規(guī)模集成電路器件的特征尺寸以每三年70 9/6的速度縮小,從而使得數(shù)目越來越多的晶體管可以集成在同一顆半導(dǎo)體芯片上制造。由于具有速度、價格、面積、功耗和上市時間上的優(yōu)勢,基于IP核復(fù)用技術(shù)的SoC設(shè)計逐漸成為超大規(guī)模集成電路設(shè)計的一個重要領(lǐng)域,特別是SoC給無線通信、多媒體和消費類電子領(lǐng)域的設(shè)計提供了一個性價比更好的集成解決方案。而在SoC設(shè)計中,片上通信的研究是國內(nèi)外SoC設(shè)計基礎(chǔ)研究中的關(guān)鍵技術(shù)之一。
1 片上通信體系結(jié)構(gòu)技術(shù)介紹
國內(nèi)外片上通信體系結(jié)構(gòu)的研究主要有五種:共享總線結(jié)構(gòu)、片上網(wǎng)絡(luò)結(jié)構(gòu)、交叉開關(guān)、點到點通信和混合片上通信結(jié)構(gòu)。
共享總線的互連方式可以分為:單總線、多總線和層次化總線。共享總線式的片上通信主要由公司開發(fā)并廣泛應(yīng)用于實際的SoC設(shè)計中,如IBM的CoreCon-nect總線互連框架、ARM公司的AMBA總線,以及其他一些公司的總線等,同時國內(nèi)的高等院校也有對共享總線式的片上通信的研究,例如西安電子科技大學(xué)的科學(xué)基金項目“高性能SoC異步互連技術(shù)研究”,南京大學(xué)的科學(xué)基金項目“動態(tài)可重構(gòu)SoC:中數(shù)據(jù)通信問題的研究”等。仲裁器是共享總線中的關(guān)鍵技術(shù)之一,現(xiàn)有的仲裁器的優(yōu)先級策略包括靜態(tài)優(yōu)先級策略、時分多路優(yōu)先級策略和基于隨機數(shù)的彩票優(yōu)先級策略的研究。盡管共享總線互連結(jié)構(gòu)能夠適合大量的應(yīng)用并被采用,但是它也存在一些問題。首先SoC中具有各種各樣的IP模塊,每個模塊都有各自的通信要求,而通常的單總線結(jié)構(gòu)在同一時刻僅能授權(quán)一個發(fā)出請求的主設(shè)備占用共享總線,因此限制整個SoC的性能。同時,隨著SoC的規(guī)模越來越大,總線結(jié)構(gòu)的長互連問題、深亞微米技術(shù)下的串?dāng)_問題以及壓降問題,都表現(xiàn)出來。
近幾年,已有國內(nèi)外學(xué)者提出采用計算機網(wǎng)絡(luò)的互連通信技術(shù)進(jìn)行SoC的片上網(wǎng)絡(luò)設(shè)計與研究,這種片上網(wǎng)絡(luò)結(jié)構(gòu)能夠極大提高多處理器SoC的性能。然而相當(dāng)于共享總線結(jié)構(gòu)來說,同時帶來了較大的硬件和延遲開銷。2002年Standford大學(xué)的De Micheli提出了采用將計算機網(wǎng)絡(luò)互連技術(shù)使用到SoC設(shè)計中。他認(rèn)為片上網(wǎng)絡(luò)可以為SoC帶來更高帶寬的通信鏈路和易于擴展的節(jié)點,同時,采用該技術(shù)可以提高SoC的服務(wù)質(zhì)量(QoS)。對于片上網(wǎng)絡(luò),現(xiàn)在的研究主要集中在片上網(wǎng)絡(luò)(NOC)的結(jié)構(gòu)、通信協(xié)議、高層次綜合和設(shè)計自動化。近年來,多種基于報文交換網(wǎng)絡(luò)的片上網(wǎng)絡(luò)互連結(jié)構(gòu)被提出,其中較多被研究的包括二維網(wǎng)格NoC、可擴展的可編程片上網(wǎng)絡(luò)SPIN等。
基于交叉開關(guān)(Crossbar)的片上通信互連結(jié)構(gòu),包括單級交叉開關(guān)互連和多級交叉開關(guān)互連。文獻(xiàn)[11]認(rèn)為,在理論上對于多處理器的并行計算應(yīng)用,采用交叉開關(guān)進(jìn)行通信,其效率是最高的;然而,其實現(xiàn)的代價較大。對于一個具有N個節(jié)點的交叉開關(guān),其實現(xiàn)復(fù)雜度和代價隨著O(N2)增加。一個N×M的交叉開關(guān)網(wǎng)絡(luò),每個處理器可以讀寫不同的存儲模塊,所有處理器和存儲模塊可以并行通信。當(dāng)兩個或多個處理器請求訪問同一模塊是,仲裁機制會令一個處理器訪問而其他處理器等待。近年來,隨著集成電路制造的特征尺寸逐漸縮小,交叉開關(guān)互連結(jié)構(gòu)在SoC中也得到了應(yīng)用。
文獻(xiàn)[12]中描述的NextJs SoC芯片,采用了一個具有16個端口的異步交叉開關(guān)互連方式,在130 nm工藝下,主頻為1.35 GHz,等分封裝帶寬達(dá)780 Gb/s。點對點的片上通信互連結(jié)構(gòu)是指各個IP核之間都有其專用的通信鏈路,相對于共享總線來說,具有獨特的優(yōu)點。例如點到點的通信容性負(fù)載相對較小,因此有較小的延遲。但是,由于每個IP核之間都有通信鏈路,其互連資源必然增多,造成布局布線的困難。每個IP核也需要更多的通信端口,增加了芯片的面積。文獻(xiàn)[13]中,作者提出了一種基于功耗約束的點對點通信的綜合算法。針對H.263應(yīng)用的編碼器,采用該算法進(jìn)行綜合,與傳統(tǒng)共享現(xiàn)在的綜合結(jié)果進(jìn)行了比較,芯片上的面積開銷雖然增大4%,但連線長度卻減少了15%,芯片的功耗減小到原來的26%。
文獻(xiàn)[14]提出了片上通信多樣性概念,即采用不同片上通信結(jié)構(gòu)的組合,把整個芯片分為幾個孤島,每個孤島可能采用不同的電壓和時鐘頻率,從而達(dá)到對系統(tǒng)具體參數(shù)優(yōu)化的目的,如功耗、吞吐率。特別是近幾年,片上通信網(wǎng)絡(luò)的提出,使得片上通信網(wǎng)絡(luò)的組合越來越豐富。利用上面提到的各種片上通信結(jié)構(gòu)進(jìn)行組合,可以充分發(fā)揮各種通信方式的優(yōu)點,如總線方式的開銷較小,且需要共享的數(shù)據(jù)傳輸性能高,而片上網(wǎng)絡(luò)的方式可以增加數(shù)據(jù)傳輸?shù)目煽啃院筒⑿行?,具有高的通信帶寬,因此,混合的片上通信結(jié)構(gòu)為高性能的SoC設(shè)計提供了一種新的設(shè)計空間。
對片上通信的體系結(jié)構(gòu)的研究,給SoC中性能優(yōu)化的片上通信設(shè)計提供了一個探索空間。同時,片上通信系統(tǒng)的功耗、可靠性和帶寬等具體性能參數(shù)的研究,對于片上通信的優(yōu)化設(shè)計也具有重要意義。
2 一種新的片上通信體系結(jié)構(gòu)
據(jù)市場預(yù)測,2010年全球市場SoC規(guī)模將超過IC總市場份額,因此作為SoC設(shè)計的關(guān)鍵技術(shù)之一的片上通信的研究與設(shè)計,具有重要意義。在國內(nèi)外研究片上通信體系結(jié)構(gòu)的基礎(chǔ)上,提出一種將共享總線和片上網(wǎng)絡(luò)相結(jié)合的混合片上通信結(jié)構(gòu)。圖1給出了一個2通道混合片上通信結(jié)構(gòu)的示意圖。該混合片上通信體系結(jié)構(gòu),傳統(tǒng)的片上共享總線與片上網(wǎng)絡(luò)相結(jié)合。這樣,對于具有N個主從設(shè)備的IP核的SoC,經(jīng)配置M個通道可以并行通信。
圖1中的仲裁器用于對所有模塊的通信申請和授權(quán)進(jìn)行仲裁。這里提出了基于申請和授權(quán)的優(yōu)先級模型。
仲裁序列:在SoC中存在N個主設(shè)備,記為M1,M2,…,Mi,…,MN(i=1,2,…,N),如果將第i次得到仲裁的主設(shè)備記為Xi,那么稱序列{X1,X2,…,Xi,…}為仲裁序列。
仲裁周期序列段:如果仲裁周期為L(正整數(shù)),那么第i個仲裁周期序列段為:
Mi到Mj的授權(quán)轉(zhuǎn)移:如果Xi為Mi,Xi+1為Mi,那么稱{Xi,Xi+1}為Mi到Mj的授權(quán)轉(zhuǎn)移。
授權(quán)模式:在第i個仲裁周期序列段{X(i-1)×L+1,X(i-1)×L+2,…,X(i-1)×L+L}(i=1,2,…)中,如果第j個主設(shè)備的授權(quán)次數(shù)記為nj(j=1,2,…,N),那么{n1,n2,…,nj,…,nN}稱為第i個仲裁周期序列的授權(quán)模式。
由授權(quán)模式和仲裁周期的定義,可以得到:
通常,在某一運行時間段,SoC中的各個IP核的優(yōu)先級將不同于另一個運行的時間段,因此,SoC中各個IP核優(yōu)先級必然存在時間局域性。在此前提下,利用存儲的第i個仲裁周期序列段中的授權(quán)模式,可以動態(tài)計算第i+1個仲裁周期序列段中的Xi×L+j=Mk(k=1,2,…,N)的機率和Mi~Mj的授權(quán)轉(zhuǎn)移機率。
圖1中,進(jìn)行數(shù)據(jù)報文交換的是交叉開關(guān)。如果在SoC中僅有一個或兩個DSP,該交叉開關(guān)可以有2M個端口;而如果存在一個處理器(DSP)陣列,則該交叉開關(guān)可以有2M+1個端口,以便于二維網(wǎng)格的擴展。圖1中的MUX單元可以采用選通器,如圖2所示。
目前已經(jīng)完成對仲裁器、接口單元和片上交叉開關(guān)進(jìn)行Verilog的RTL代碼編寫,在Cadence的仿真環(huán)境下進(jìn)行了功能驗證。下一步將針對TSMC的180 nm低功耗標(biāo)準(zhǔn)單元庫進(jìn)行邏輯綜合,在Cadence的仿真環(huán)境下得到面積、功耗和主頻等性能參數(shù),并完成對上述片上通信結(jié)構(gòu)后端的設(shè)計和評估。
3 結(jié) 語
經(jīng)驗證,該片上通信的優(yōu)化體系結(jié)構(gòu)既保留了片上共享總線的面積小的優(yōu)點,又具有片上網(wǎng)絡(luò)的并行通信的優(yōu)點。目前,具有優(yōu)化體系結(jié)構(gòu)的片上通信IP核,已經(jīng)應(yīng)用于實際的SoC設(shè)計中。將來,該研究結(jié)果在我國已發(fā)展或?qū)⒁l(fā)展的高清晰度數(shù)字電視處理器SoC芯片、3G無線移動終端基帶SoC芯片和其他SoC芯片的設(shè)計中,都會具有重要的實際應(yīng)用意義。