俞劍明,周 煒,虞志益
(復(fù)旦大學(xué)專用集成電路與系統(tǒng)國家重點(diǎn)實驗室,上海201203)
基于多層網(wǎng)絡(luò)的片上網(wǎng)絡(luò)可靠測試結(jié)構(gòu)
俞劍明,周 煒,虞志益
(復(fù)旦大學(xué)專用集成電路與系統(tǒng)國家重點(diǎn)實驗室,上海201203)
為解決片上網(wǎng)絡(luò)測試問題,提出高可靠高并行度的片上網(wǎng)絡(luò)測試結(jié)構(gòu)。使用多層網(wǎng)絡(luò),在普通的片上網(wǎng)絡(luò)上增加全局的廣播網(wǎng)絡(luò)和匯集測試結(jié)果的匯集網(wǎng)絡(luò)。利用其冗余特性,有效保證測試部件的可靠性,同時提高并行度,節(jié)約測試時間。提出完備的路由器內(nèi)測試方法,結(jié)合多層網(wǎng)絡(luò)實現(xiàn)全面的片上網(wǎng)絡(luò)測試。實驗結(jié)果表明,該多層網(wǎng)結(jié)構(gòu)在100核時的面積開銷比內(nèi)建自修復(fù)(BISR)結(jié)構(gòu)減小56%,并且其測試時間比BISR結(jié)構(gòu)減少85.8 %,測試覆蓋率達(dá)到100%。
多核處理器;片上網(wǎng)絡(luò);多層網(wǎng)絡(luò);鏈路錯誤;控制錯誤
Moore定律的不斷發(fā)展帶來了片上晶體管集成度的增加。同時隨著處理器進(jìn)入多核時代,片上集成處理器核數(shù)不斷增加。在這樣的趨勢下,片上網(wǎng)絡(luò)(Network on Chip,NoC)漸漸取代基于總線的SoC成為眾核處理器的主流互聯(lián)方式[1]。然而與此同時,芯片在制造過程中產(chǎn)生的缺陷也隨之增多,在使用過程中由于材料老化、電遷移、壓力遷移、電介質(zhì)擊穿、熱載流子注入,負(fù)偏壓溫度的不穩(wěn)定性等失效因素也導(dǎo)致缺陷的增加[2]。因此,多核網(wǎng)絡(luò)的可測試性和容錯設(shè)計成為了重要的課題。
企業(yè)界及學(xué)術(shù)界提出了許多片上網(wǎng)絡(luò)的容錯方法,這些研究主要是在假設(shè)錯誤模型的前提下進(jìn)行分析[3]并采取對應(yīng)容錯方案。文獻(xiàn)[3]使用的是隨機(jī)錯誤注入的方式,使用SPICE模型進(jìn)行仿真,獲得錯誤信息。文獻(xiàn)[4]將錯誤定義為鏈路錯誤,使用路由表的方法進(jìn)行容錯路由。文獻(xiàn)[5]將路由器控制錯誤概括為32條規(guī)則,以低開銷的并進(jìn)檢測電路對路由器的控制進(jìn)行檢錯重發(fā)。
為了獲得客觀的錯誤模型,以及為了滿足多核測試帶來的復(fù)雜度增加,提出了全面可靠和高效片上錯誤測試方法。本文實現(xiàn)了文獻(xiàn)[6]中的BISR測試結(jié)構(gòu),對SMIC 65 nm的片上網(wǎng)絡(luò)芯片進(jìn)行分析。在分析基礎(chǔ)上提出了廣播網(wǎng)絡(luò)和匯集網(wǎng)絡(luò)作為測試獲得方法,在測試的面積開銷以及并行度上有較大的改善。同時提出從控制、鏈路、存儲以及軟錯多個角度對錯誤進(jìn)行偵測的方法,以獲得更高的測試覆蓋率。
文獻(xiàn)[7]等較多文獻(xiàn)中將片上網(wǎng)絡(luò)作為測試獲得方法,從而對處理器進(jìn)行并行測試。然而該方法是在片上網(wǎng)絡(luò)正確工作的前提下進(jìn)行的,無法保證測試向量的可靠注入和輸出。文獻(xiàn)[8]提出了多層次網(wǎng)絡(luò)的概念,不同的通訊特性使用不同的網(wǎng)絡(luò)進(jìn)行通信,以達(dá)到最高的效率。受此啟發(fā),本文采用圖1所示的三層網(wǎng)絡(luò)以實現(xiàn)高效的以及高可靠的測試輸入和輸出方法。使用廣播網(wǎng)絡(luò)作為測試的輸入以及測試的全局控制。利用廣播通信一點(diǎn)(固定點(diǎn))對多點(diǎn)的通訊特性,對網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以及路由算法進(jìn)行定制,以較小的代價獲得較高可靠性和高的測試并行度。同時使用該廣播網(wǎng)絡(luò)控制下的匯集網(wǎng)絡(luò)進(jìn)行測試結(jié)果的輸出,輸出網(wǎng)絡(luò)使用Flooding的路由,利用其冗余性,保證測試結(jié)果的正確輸出。
圖1 多層次網(wǎng)絡(luò)測試的獲得方法
2.1 廣播網(wǎng)絡(luò)
隨著芯片集成度的不斷增加,不僅對芯片設(shè)計提出了挑戰(zhàn),芯片的測試也成為了重要的問題。內(nèi)建自修復(fù)(Build-in Self-repair,BISR)[6]采用外圍測試環(huán)的方法間接地對片上網(wǎng)絡(luò)進(jìn)行鏈路的間接測試,測試向量順序移位進(jìn)入測試單元,測試單元之間進(jìn)行數(shù)據(jù)發(fā)送,對結(jié)果進(jìn)行比較以判斷測試所經(jīng)路徑的鏈路狀況。由于測試路徑的有限性,在一些錯誤的分布下無法分辨出路徑是否錯誤。同時串行的測試輸入(10×10網(wǎng)絡(luò)需要40個測試時鐘周期),以及有限的單次可測試路徑數(shù)(每次最多40條)使得該方案的測試時間較長。
同構(gòu)多核處理器單核的一致性,實際上表明了其測試向量也可以相同,故本文提出一種廣播網(wǎng)絡(luò)作為測試的注入方法,以改善BISR結(jié)構(gòu)中測試電路的不足。不同于普通2D-Mesh拓?fù)浣Y(jié)構(gòu),考慮到廣播通訊的通信為散射狀的通信模式,本文設(shè)計對廣播網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)調(diào)節(jié)為圖2中的結(jié)構(gòu)。在原本的2D網(wǎng)格拓?fù)涞幕A(chǔ)上增加了圖中虛線所示的單向鏈路。從而將網(wǎng)絡(luò)劃分為多個層次:(1)圖中黑色為第1層,主要為片外的FIFO接口以及廣播控制電路。(2)白色的為第2層,灰色的為第3層,其他層次可類推。層與層之間通過增加的單向鏈路,使得各個層之間數(shù)據(jù)傳輸僅有一個網(wǎng)絡(luò)跳步的延遲。這樣的拓?fù)涑浞掷昧藦V播通信模式的特性,對于一個N×N的網(wǎng)絡(luò)原本節(jié)點(diǎn)間的最大間距為2N個跳步,而在該拓?fù)渲袦p少為N/2(通信的源點(diǎn)固定在圖中C節(jié)點(diǎn))。
圖2 用于測試輸入的廣播網(wǎng)絡(luò)
測試電路本身的錯誤的引入也會造成測試結(jié)果的錯誤,所以保證測試電路的可靠性是極其重要的。本文采用的結(jié)構(gòu)利用了時間冗余性來達(dá)到三模冗余的可靠測試輸入。具體體現(xiàn)在其路由算法上:
(1)如圖2中,第1個周期數(shù)據(jù)從控制器到達(dá)網(wǎng)絡(luò)第2層(圖中標(biāo)1處),收到消息之后,第2層內(nèi)各節(jié)點(diǎn)向相鄰的節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)。
(2)第2個周期之后,第2層各個節(jié)點(diǎn)將有3個消息,此時使用判決電路進(jìn)行決策選擇正確的結(jié)果,然后向下一層傳輸,如此反復(fù)。
這樣的設(shè)計大大降低了測試網(wǎng)絡(luò)可能出錯的概率。雖然該方案使得廣播網(wǎng)絡(luò)的最大延遲變?yōu)樵鹊?倍,但是相比BISR,該廣播使用的是系統(tǒng)內(nèi)部時鐘通常遠(yuǎn)快于BISR的測試輸入時鐘。同時數(shù)據(jù)傳輸在層與層之間的流水化,該方案在大量數(shù)據(jù)傳輸過程中帶來的延時開銷并不大。在硬件實現(xiàn)上由于廣播網(wǎng)絡(luò)的通信模式是固定的,在節(jié)點(diǎn)之間不會出現(xiàn)堵塞的情況,因此無需通常所用的FIFO進(jìn)行數(shù)據(jù)緩沖。需要的僅僅是3組寄存器用于對收到廣播包的寄存和一些裁決電路。
與2D片上網(wǎng)絡(luò)常用的包結(jié)構(gòu)類似,本文中的廣播網(wǎng)絡(luò)包也分為頭包、體包和尾包。如圖3所示,包的類型由最高的2 bit進(jìn)行區(qū)分。頭包中有4 bit的控制比特用于表明不同的測試狀態(tài),其中最后1 bit用于區(qū)分是否是全域廣播,即是對所有節(jié)點(diǎn)廣播或僅僅某些節(jié)點(diǎn)接收信息。第2種情況下會在接下來的體包中包含目的點(diǎn)的坐標(biāo),如此增加包結(jié)構(gòu)的靈活性。圖2中的B-NI是用于解析該包的網(wǎng)絡(luò)接口。
圖3 廣播網(wǎng)絡(luò)層包結(jié)構(gòu)
2.2 匯集網(wǎng)絡(luò)
在保證測試向量正確注入的情況下還需要保證測試結(jié)果的正確輸出。結(jié)果輸出時的通訊模式具有如下特點(diǎn),即:輸出的目的節(jié)點(diǎn)固定為圖4中的C節(jié)點(diǎn),即一種匯集的通訊模式。因此,使用圖4中所描述的路由算法。由前文提到的廣播網(wǎng)絡(luò)進(jìn)行全局控制,使得在網(wǎng)絡(luò)中同時只有一個節(jié)點(diǎn)在進(jìn)行結(jié)果匯報。當(dāng)源節(jié)點(diǎn)(S)和控制節(jié)點(diǎn)C節(jié)點(diǎn)的相對位置如圖4(a)時,使用定向flooding算法進(jìn)行路由,即如圖4(a)所示的節(jié)點(diǎn)S同時向上和右發(fā)出2個包到達(dá)圖中標(biāo)志1的節(jié)點(diǎn),接下來按照途中標(biāo)識的編號順序進(jìn)行擴(kuò)散傳播。在第4個周期數(shù)據(jù)開始陸續(xù)到達(dá)C節(jié)點(diǎn)。可以看到數(shù)據(jù)由于擴(kuò)散的效果將有較高的冗余度,這樣可以保證輸出結(jié)果的正確性。在圖4(b)中的情況下,S節(jié)點(diǎn)和C節(jié)點(diǎn)具有相同的橫坐標(biāo)或者縱坐標(biāo),無法使用圖4(a)中的方法進(jìn)行數(shù)據(jù)的擴(kuò)散。本文中的處理方式是S節(jié)點(diǎn)同時發(fā)出3個版本的數(shù)據(jù)到達(dá)1a,1b,1c這3個節(jié)點(diǎn),然后1a, 1b節(jié)點(diǎn)按照圖4(a)中的方法路由,而1c節(jié)點(diǎn)繼續(xù)向C方向路由。
圖4 匯集網(wǎng)絡(luò)結(jié)構(gòu)與路由算法
在測試時間和結(jié)果冗余度上做出權(quán)衡,可以控制接收冗余包的個數(shù)M,當(dāng)收到結(jié)果數(shù)到達(dá)M時即可用廣播網(wǎng)通知下一個節(jié)點(diǎn)進(jìn)行匯報。這一方法通過在C節(jié)點(diǎn)中加入收包計數(shù)器進(jìn)行設(shè)置。
片上網(wǎng)絡(luò)路由器通常分為5級:(1)fifo讀取; (2)路由計算;(3)通道仲裁;(4)開關(guān)(crossbar)傳輸;(5)鏈路傳輸[5]。同時錯誤類型還可以劃分為硬錯和軟錯[4]。完備的測試應(yīng)該囊括各個方面。
圖5所示為本文提出的路由測試的結(jié)構(gòu)。按照控制測試、存儲測試、鏈路測試和軟錯測試4個方面對測試方法進(jìn)行劃分。
圖5 片上網(wǎng)絡(luò)路由測試結(jié)構(gòu)
針對控制錯誤,文獻(xiàn)[4]提出的以32條規(guī)則判斷路由器中控制錯誤的狀況,例如不允許出現(xiàn)路由算法中禁用的轉(zhuǎn)彎方向,不允許出現(xiàn)無效的路由方向,每個通道一次只能有一個包占有等。以這樣的規(guī)則并行判斷帶來的面積以及功耗開銷小于3%而對關(guān)鍵路徑的影響不到1%。
針對FIFO中出現(xiàn)的錯誤,使用BIST的方法[9-11]。
針對鏈路錯誤可使用圖5中所示的方法[12],以廣播網(wǎng)絡(luò)發(fā)送本次進(jìn)行測試的向量對鏈路兩端的寄存器進(jìn)行置外,然后進(jìn)行相互的發(fā)送以及比較得出其判斷結(jié)果。
3種測試方法通過觸發(fā)邏輯(圖 5中 trigger logics)與一個存儲器連接。一旦錯誤發(fā)生就會觸發(fā)存儲器的寫入操作。例如:當(dāng)32條規(guī)則以32 bit獨(dú)熱編碼,其中任何一個觸發(fā)將使得相應(yīng)控制信息和包的id等信息被寫入存儲器,鏈路以及memory類似。為節(jié)省存儲器的寫端口和面積,3種錯誤不同時測試。
在完成以上的硬件測試之后再在處理器之間互發(fā)數(shù)據(jù)進(jìn)行軟錯誤測試,以有效地將軟錯與硬錯進(jìn)行隔離。
本文對多層次網(wǎng)絡(luò)和BISR[6]進(jìn)行了仿真及SMIC 65 nm HS的DC綜合以進(jìn)行比較,如圖6所示。
圖6 多層廣播網(wǎng)絡(luò)與BISR的測試時間與面積開銷比較
如圖6(a)所示,在核數(shù)在41×41核以下時由于多層網(wǎng)絡(luò)利用廣播和匯集2種固定的通信模式采用簡單的無緩沖式的結(jié)構(gòu),在面積上相比BISR有優(yōu)勢。當(dāng)核數(shù)增大,由于多層網(wǎng)絡(luò)的面積開銷是與核數(shù)成正比的增長,而BISR的面積正比于核數(shù)的開根號,在核數(shù)大于41×41時BISR的面積會較小。但是在測試時間上多層網(wǎng)絡(luò)由于其高并行性有著明顯的優(yōu)勢,如圖6(a)及圖6(b)所示在100核情況下多層廣播網(wǎng)的測試時間不到BISR的14.3%。并且從測試的可自動化角度,多層網(wǎng)絡(luò)結(jié)合本文中所示的測試電路也優(yōu)于BISR。BISR的測試方法是一種間接的測試方法,覆蓋率依賴于錯誤分布,在較悲觀情況下覆蓋率僅有70%。而本文通過廣播直接對各個節(jié)點(diǎn)進(jìn)行測試,在鏈路和開關(guān)測試上可有100%覆蓋率,而控制和存儲測試的100%的覆蓋率也使得路由測試更為全面。
為了研究片上網(wǎng)絡(luò)的錯誤分布,提高片上網(wǎng)絡(luò)的可測試性以及測試并行度,本文提出一種新型的三層片上網(wǎng)絡(luò)架構(gòu),以較低的硬件開銷完成可靠的硬件測試分析,同時大大提升測試的并行性。下一步的研究工作將對該平臺在各個工藝下的實現(xiàn)進(jìn)行分析,總結(jié)出客觀的片上網(wǎng)絡(luò)錯誤模型,在此基礎(chǔ)上提出合理的容錯路由器結(jié)構(gòu)。
[1] 何 軍,王 飆.多核處理器的結(jié)構(gòu)設(shè)計研究[J].計算機(jī)工程,2007,33(16):208-210.
[2] 石澤文.多核處理器的容錯路由與粒度建模研究[D].上海:復(fù)旦大學(xué),2011.
[3] Aisopos K,Chen C H O,Peh L S.Enabling System-level Modeling of Variation-induced Faults in Networks-on-Chips[C]//Proceedings of the 48th Design Automation Conference.New York,USA:ACM Press,2011:930-935.
[4] Feng Chaochao,Lu Zhonghai,Jantsch A,et al. Addressing Transient and Permanent Faults in NoC with Efficient Fault-tolerant Deflection Router[J].IEEE Transactions on Very Large Scale Integration Systems, 2013,21(6):1053-1066.
[5] Prodromou A,Nicopoulos C,Sazeides Y,et al.NoC Alert:An On-line and Real-time FaultDetection Mechanism for Network-on-Chip Architectures[C]// Proceedings of the 45th Annual IEEE/ACM International Symposium on Microarchitecture.[S.l.]:IEEE Press,2012:60-71.
[6] Chen K C,Lin S Y,Shen W C,et al.A Scalable Built-in Self-recovery(BISR) VLSIArchitectureandDesign Methodology for 2D-mesh Based on-chip Net-works[C]// Proceedings of Conference on Design Automation for Embed System.[S.l.]:Springer,2011:111-132.
[7] 趙建武,師奕兵,王志剛.復(fù)用NoC測試SoC內(nèi)嵌IP芯核的測試規(guī)劃研究[J].計算機(jī)工程與應(yīng)用,2010, 46(15):60-63.
[8] Wentzlaff D,Griffin P,Hoffmann H,et al.On-chip Interconnection Architecture of the Tile Processor[J]. Microarchitecture,2007,27(5):15-31.
[9] 楊士元.數(shù)字系統(tǒng)的故障診斷與可靠性設(shè)計[M].北京:清華大學(xué)出版社,2000.
[10] 陳光禹.可測性設(shè)計技術(shù)[M].北京:電子工業(yè)出版社,1997.
[11] Corno F,Prinetto P,Reorda M S.Fault Tolerant and BIST Design of a FIFO Cell[C]//Proceedings of Design Automation Conference.[S.l.]:IEEE Press, 1996:233-238.
[12] 何世超.片上網(wǎng)絡(luò)通訊結(jié)構(gòu)可測性設(shè)計[D].西安:電子科技大學(xué),2008.
編輯 顧逸斐
Reliable Test Structure for Network on Chip Based on Multilayer Network
YU Jianming,ZHOU Wei,YU Zhiyi
(State Key Laboratory of ASIC&System,Fudan University,Shanghai 201312,China)
This paper proposes a new test architecture with high reliability and high parallelism.It adds a broadcasting network and a gathering network controlled by the broadcasting layer on top of the network under test.With the redundancy of these two networks,the robustness of the test access interface can be improved.Meanwhile,more test parallelism is brought and huge decrease is achieved in test time.Complete inner router test methods are also developed. Combined with the multilayer test access method,a complete and reliable test platform is got for Network on Chip (NoC).The result shows the multilayer network takes 56% less area and uses 85.8% less test time than Build-in Selfrepair BISR in 100-core system.And the fault coverage of the design achieves 100%.
multi-core processor;Network on Chip(NoC);multi-layer network;link fault;control fault
1000-3428(2015)01-0275-04
A
TP393
10.3969/j.issn.1000-3428.2015.01.052
國家自然科學(xué)基金資助項目(61103008);上海市科委集成電路專項基金資助項目(12511503700);國家科技重大專項基金資助項目(2011ZX03003-003-03)。
俞劍明(1988-),男,碩士研究生,主研方向:容錯片上網(wǎng)絡(luò)設(shè)計,多核處理器;周 煒,碩士研究生;虞志益,副研究員。
2014-01-13
2014-03-17 E-mail:11212020063@fudan.edu.cn
中文引用格式:俞劍明,周 煒,虞志益.基于多層網(wǎng)絡(luò)的片上網(wǎng)絡(luò)可靠測試結(jié)構(gòu)[J].計算機(jī)工程,2015,41(1):275-278.
英文引用格式:Yu Jianming,Zhou Wei,Yu Zhiyi.Reliable Test Structure for Network on Chip Based on Multilayer Network[J].Computer Engineering,2015,41(1):275-278.