俞劍明,周 煒,虞志益
(復旦大學專用集成電路與系統國家重點實驗室,上海201203)
基于多層網絡的片上網絡可靠測試結構
俞劍明,周 煒,虞志益
(復旦大學專用集成電路與系統國家重點實驗室,上海201203)
為解決片上網絡測試問題,提出高可靠高并行度的片上網絡測試結構。使用多層網絡,在普通的片上網絡上增加全局的廣播網絡和匯集測試結果的匯集網絡。利用其冗余特性,有效保證測試部件的可靠性,同時提高并行度,節約測試時間。提出完備的路由器內測試方法,結合多層網絡實現全面的片上網絡測試。實驗結果表明,該多層網結構在100核時的面積開銷比內建自修復(BISR)結構減小56%,并且其測試時間比BISR結構減少85.8 %,測試覆蓋率達到100%。
多核處理器;片上網絡;多層網絡;鏈路錯誤;控制錯誤
Moore定律的不斷發展帶來了片上晶體管集成度的增加。同時隨著處理器進入多核時代,片上集成處理器核數不斷增加。在這樣的趨勢下,片上網絡(Network on Chip,NoC)漸漸取代基于總線的SoC成為眾核處理器的主流互聯方式[1]。然而與此同時,芯片在制造過程中產生的缺陷也隨之增多,在使用過程中由于材料老化、電遷移、壓力遷移、電介質擊穿、熱載流子注入,負偏壓溫度的不穩定性等失效因素也導致缺陷的增加[2]。因此,多核網絡的可測試性和容錯設計成為了重要的課題。
企業界及學術界提出了許多片上網絡的容錯方法,這些研究主要是在假設錯誤模型的前提下進行分析[3]并采取對應容錯方案。文獻[3]使用的是隨機錯誤注入的方式,使用SPICE模型進行仿真,獲得錯誤信息。文獻[4]將錯誤定義為鏈路錯誤,使用路由表的方法進行容錯路由。文獻[5]將路由器控制錯誤概括為32條規則,以低開銷的并進檢測電路對路由器的控制進行檢錯重發。
為了獲得客觀的錯誤模型,以及為了滿足多核測試帶來的復雜度增加,提出了全面可靠和高效片上錯誤測試方法。本文實現了文獻[6]中的BISR測試結構,對SMIC 65 nm的片上網絡芯片進行分析。在分析基礎上提出了廣播網絡和匯集網絡作為測試獲得方法,在測試的面積開銷以及并行度上有較大的改善。同時提出從控制、鏈路、存儲以及軟錯多個角度對錯誤進行偵測的方法,以獲得更高的測試覆蓋率。
文獻[7]等較多文獻中將片上網絡作為測試獲得方法,從而對處理器進行并行測試。然而該方法是在片上網絡正確工作的前提下進行的,無法保證測試向量的可靠注入和輸出。文獻[8]提出了多層次網絡的概念,不同的通訊特性使用不同的網絡進行通信,以達到最高的效率。受此啟發,本文采用圖1所示的三層網絡以實現高效的以及高可靠的測試輸入和輸出方法。使用廣播網絡作為測試的輸入以及測試的全局控制。利用廣播通信一點(固定點)對多點的通訊特性,對網絡的拓撲結構以及路由算法進行定制,以較小的代價獲得較高可靠性和高的測試并行度。同時使用該廣播網絡控制下的匯集網絡進行測試結果的輸出,輸出網絡使用Flooding的路由,利用其冗余性,保證測試結果的正確輸出。

圖1 多層次網絡測試的獲得方法
2.1 廣播網絡
隨著芯片集成度的不斷增加,不僅對芯片設計提出了挑戰,芯片的測試也成為了重要的問題。內建自修復(Build-in Self-repair,BISR)[6]采用外圍測試環的方法間接地對片上網絡進行鏈路的間接測試,測試向量順序移位進入測試單元,測試單元之間進行數據發送,對結果進行比較以判斷測試所經路徑的鏈路狀況。由于測試路徑的有限性,在一些錯誤的分布下無法分辨出路徑是否錯誤。同時串行的測試輸入(10×10網絡需要40個測試時鐘周期),以及有限的單次可測試路徑數(每次最多40條)使得該方案的測試時間較長。
同構多核處理器單核的一致性,實際上表明了其測試向量也可以相同,故本文提出一種廣播網絡作為測試的注入方法,以改善BISR結構中測試電路的不足。不同于普通2D-Mesh拓撲結構,考慮到廣播通訊的通信為散射狀的通信模式,本文設計對廣播網絡的拓撲結構調節為圖2中的結構。在原本的2D網格拓撲的基礎上增加了圖中虛線所示的單向鏈路。從而將網絡劃分為多個層次:(1)圖中黑色為第1層,主要為片外的FIFO接口以及廣播控制電路。(2)白色的為第2層,灰色的為第3層,其他層次可類推。層與層之間通過增加的單向鏈路,使得各個層之間數據傳輸僅有一個網絡跳步的延遲。這樣的拓撲充分利用了廣播通信模式的特性,對于一個N×N的網絡原本節點間的最大間距為2N個跳步,而在該拓撲中減少為N/2(通信的源點固定在圖中C節點)。

圖2 用于測試輸入的廣播網絡
測試電路本身的錯誤的引入也會造成測試結果的錯誤,所以保證測試電路的可靠性是極其重要的。本文采用的結構利用了時間冗余性來達到三模冗余的可靠測試輸入。具體體現在其路由算法上:
(1)如圖2中,第1個周期數據從控制器到達網絡第2層(圖中標1處),收到消息之后,第2層內各節點向相鄰的節點進行轉發。
(2)第2個周期之后,第2層各個節點將有3個消息,此時使用判決電路進行決策選擇正確的結果,然后向下一層傳輸,如此反復。
這樣的設計大大降低了測試網絡可能出錯的概率。雖然該方案使得廣播網絡的最大延遲變為原先的2倍,但是相比BISR,該廣播使用的是系統內部時鐘通常遠快于BISR的測試輸入時鐘。同時數據傳輸在層與層之間的流水化,該方案在大量數據傳輸過程中帶來的延時開銷并不大。在硬件實現上由于廣播網絡的通信模式是固定的,在節點之間不會出現堵塞的情況,因此無需通常所用的FIFO進行數據緩沖。需要的僅僅是3組寄存器用于對收到廣播包的寄存和一些裁決電路。
與2D片上網絡常用的包結構類似,本文中的廣播網絡包也分為頭包、體包和尾包。如圖3所示,包的類型由最高的2 bit進行區分。頭包中有4 bit的控制比特用于表明不同的測試狀態,其中最后1 bit用于區分是否是全域廣播,即是對所有節點廣播或僅僅某些節點接收信息。第2種情況下會在接下來的體包中包含目的點的坐標,如此增加包結構的靈活性。圖2中的B-NI是用于解析該包的網絡接口。

圖3 廣播網絡層包結構
2.2 匯集網絡
在保證測試向量正確注入的情況下還需要保證測試結果的正確輸出。結果輸出時的通訊模式具有如下特點,即:輸出的目的節點固定為圖4中的C節點,即一種匯集的通訊模式。因此,使用圖4中所描述的路由算法。由前文提到的廣播網絡進行全局控制,使得在網絡中同時只有一個節點在進行結果匯報。當源節點(S)和控制節點C節點的相對位置如圖4(a)時,使用定向flooding算法進行路由,即如圖4(a)所示的節點S同時向上和右發出2個包到達圖中標志1的節點,接下來按照途中標識的編號順序進行擴散傳播。在第4個周期數據開始陸續到達C節點。可以看到數據由于擴散的效果將有較高的冗余度,這樣可以保證輸出結果的正確性。在圖4(b)中的情況下,S節點和C節點具有相同的橫坐標或者縱坐標,無法使用圖4(a)中的方法進行數據的擴散。本文中的處理方式是S節點同時發出3個版本的數據到達1a,1b,1c這3個節點,然后1a, 1b節點按照圖4(a)中的方法路由,而1c節點繼續向C方向路由。

圖4 匯集網絡結構與路由算法
在測試時間和結果冗余度上做出權衡,可以控制接收冗余包的個數M,當收到結果數到達M時即可用廣播網通知下一個節點進行匯報。這一方法通過在C節點中加入收包計數器進行設置。
片上網絡路由器通常分為5級:(1)fifo讀取; (2)路由計算;(3)通道仲裁;(4)開關(crossbar)傳輸;(5)鏈路傳輸[5]。同時錯誤類型還可以劃分為硬錯和軟錯[4]。完備的測試應該囊括各個方面。
圖5所示為本文提出的路由測試的結構。按照控制測試、存儲測試、鏈路測試和軟錯測試4個方面對測試方法進行劃分。

圖5 片上網絡路由測試結構
針對控制錯誤,文獻[4]提出的以32條規則判斷路由器中控制錯誤的狀況,例如不允許出現路由算法中禁用的轉彎方向,不允許出現無效的路由方向,每個通道一次只能有一個包占有等。以這樣的規則并行判斷帶來的面積以及功耗開銷小于3%而對關鍵路徑的影響不到1%。
針對FIFO中出現的錯誤,使用BIST的方法[9-11]。
針對鏈路錯誤可使用圖5中所示的方法[12],以廣播網絡發送本次進行測試的向量對鏈路兩端的寄存器進行置外,然后進行相互的發送以及比較得出其判斷結果。
3種測試方法通過觸發邏輯(圖 5中 trigger logics)與一個存儲器連接。一旦錯誤發生就會觸發存儲器的寫入操作。例如:當32條規則以32 bit獨熱編碼,其中任何一個觸發將使得相應控制信息和包的id等信息被寫入存儲器,鏈路以及memory類似。為節省存儲器的寫端口和面積,3種錯誤不同時測試。
在完成以上的硬件測試之后再在處理器之間互發數據進行軟錯誤測試,以有效地將軟錯與硬錯進行隔離。
本文對多層次網絡和BISR[6]進行了仿真及SMIC 65 nm HS的DC綜合以進行比較,如圖6所示。

圖6 多層廣播網絡與BISR的測試時間與面積開銷比較
如圖6(a)所示,在核數在41×41核以下時由于多層網絡利用廣播和匯集2種固定的通信模式采用簡單的無緩沖式的結構,在面積上相比BISR有優勢。當核數增大,由于多層網絡的面積開銷是與核數成正比的增長,而BISR的面積正比于核數的開根號,在核數大于41×41時BISR的面積會較小。但是在測試時間上多層網絡由于其高并行性有著明顯的優勢,如圖6(a)及圖6(b)所示在100核情況下多層廣播網的測試時間不到BISR的14.3%。并且從測試的可自動化角度,多層網絡結合本文中所示的測試電路也優于BISR。BISR的測試方法是一種間接的測試方法,覆蓋率依賴于錯誤分布,在較悲觀情況下覆蓋率僅有70%。而本文通過廣播直接對各個節點進行測試,在鏈路和開關測試上可有100%覆蓋率,而控制和存儲測試的100%的覆蓋率也使得路由測試更為全面。
為了研究片上網絡的錯誤分布,提高片上網絡的可測試性以及測試并行度,本文提出一種新型的三層片上網絡架構,以較低的硬件開銷完成可靠的硬件測試分析,同時大大提升測試的并行性。下一步的研究工作將對該平臺在各個工藝下的實現進行分析,總結出客觀的片上網絡錯誤模型,在此基礎上提出合理的容錯路由器結構。
[1] 何 軍,王 飆.多核處理器的結構設計研究[J].計算機工程,2007,33(16):208-210.
[2] 石澤文.多核處理器的容錯路由與粒度建模研究[D].上海:復旦大學,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] 趙建武,師奕兵,王志剛.復用NoC測試SoC內嵌IP芯核的測試規劃研究[J].計算機工程與應用,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] 楊士元.數字系統的故障診斷與可靠性設計[M].北京:清華大學出版社,2000.
[10] 陳光禹.可測性設計技術[M].北京:電子工業出版社,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] 何世超.片上網絡通訊結構可測性設計[D].西安:電子科技大學,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
國家自然科學基金資助項目(61103008);上海市科委集成電路專項基金資助項目(12511503700);國家科技重大專項基金資助項目(2011ZX03003-003-03)。
俞劍明(1988-),男,碩士研究生,主研方向:容錯片上網絡設計,多核處理器;周 煒,碩士研究生;虞志益,副研究員。
2014-01-13
2014-03-17 E-mail:11212020063@fudan.edu.cn
中文引用格式:俞劍明,周 煒,虞志益.基于多層網絡的片上網絡可靠測試結構[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.