異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法,是基于準(zhǔn)延時(shí)不敏感邏輯,采用四相握手協(xié)議和1-of-4編碼方式,結(jié)合路由計(jì)算單元的可容錯(cuò)性硬件設(shè)計(jì),即根據(jù)當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)的相對(duì)位置關(guān)系,以選擇最少跳數(shù)的路徑為目標(biāo),繞過(guò)故障區(qū)域路由數(shù)據(jù)包。本發(fā)明方案減小了面積和功耗開(kāi)銷(xiāo),降低了平均延時(shí),提高了網(wǎng)絡(luò)整體性能,且具有良好的可擴(kuò)展性和容錯(cuò)能力,適合大規(guī)模全局異步局部同步系統(tǒng)。
【專(zhuān)利說(shuō)明】異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及集成電路芯片的應(yīng)用【技術(shù)領(lǐng)域】,尤其涉及一種異步可容錯(cuò)片上網(wǎng)絡(luò)路 由器設(shè)計(jì)方法。
【背景技術(shù)】
[0002] 片上網(wǎng)絡(luò)的設(shè)計(jì)模式提供了可擴(kuò)展的片上全局通信,取代了傳統(tǒng)的共享總線結(jié) 構(gòu)。目前有同步和異步兩種實(shí)現(xiàn)方式。大部分的片上網(wǎng)絡(luò)是由同步電路實(shí)現(xiàn)的同步片上 網(wǎng)絡(luò),且節(jié)點(diǎn)間的通信是由單一或多時(shí)鐘驅(qū)動(dòng)。然而隨著片上網(wǎng)絡(luò)規(guī)模的增加,同步NoC 就需要龐大的時(shí)鐘樹(shù)設(shè)計(jì),導(dǎo)致面積和功耗的大量增加。同時(shí),由于時(shí)鐘速度逐漸增快,很 難保證時(shí)鐘可以同時(shí)到達(dá)芯片上的每個(gè)單元。然而,由異步電路設(shè)計(jì)實(shí)現(xiàn)的異步片上網(wǎng)絡(luò) (Asynchronous Network on Chip, ANoC),節(jié)點(diǎn)間的通信是通過(guò)握手協(xié)議控制,這種無(wú)時(shí)鐘 樹(shù)的設(shè)計(jì)消除了芯片上的全局時(shí)鐘信號(hào),在無(wú)數(shù)據(jù)傳輸時(shí)不產(chǎn)生任何動(dòng)態(tài)功耗。特別指出 的是,準(zhǔn)延時(shí)不敏感的應(yīng)用在異步電路通信中易于實(shí)現(xiàn),可保證傳輸質(zhì)量,減少后端設(shè)計(jì)的 復(fù)雜度。全局異步局部同步通信模式中,網(wǎng)絡(luò)中每個(gè)器件的時(shí)鐘都是通過(guò)自身的時(shí)鐘源產(chǎn) 生,而且每個(gè)時(shí)鐘源都被假設(shè)為具有相同的頻率,但實(shí)際并不完全相同。由于在大規(guī)模網(wǎng)絡(luò) 中源端和目的端共享一個(gè)時(shí)鐘源是不現(xiàn)實(shí)的,故全局異步局部同步信號(hào)常被用在大型網(wǎng)絡(luò) 中。
[0003] 綜上所述,異步片上網(wǎng)絡(luò)的主要優(yōu)勢(shì)體現(xiàn)在其無(wú)時(shí)鐘樹(shù)的結(jié)構(gòu),以及在網(wǎng)絡(luò)負(fù)載 較低時(shí)較小的動(dòng)態(tài)功耗和報(bào)文傳輸延時(shí)。
[0004] 全局異步局部同步(globally asynchronous and local synchronous,GALS)系統(tǒng) 近來(lái)成為異步片上網(wǎng)絡(luò)的研究熱點(diǎn)。陰影部分采用異步電路設(shè)計(jì),無(wú)時(shí)鐘域通過(guò)局部握手 協(xié)議控制,而每個(gè)資源節(jié)點(diǎn)可以看做一個(gè)局部單元,有著自己的時(shí)鐘域,并和其他資源節(jié)點(diǎn) 相互獨(dú)立。網(wǎng)絡(luò)接口用于同步網(wǎng)絡(luò)和異步網(wǎng)絡(luò)對(duì)接,資源節(jié)點(diǎn)產(chǎn)生的信息發(fā)往網(wǎng)絡(luò)時(shí),要在 網(wǎng)絡(luò)接口進(jìn)行同步到異步轉(zhuǎn)換,而網(wǎng)絡(luò)中的信息發(fā)向資源節(jié)點(diǎn)時(shí),要在網(wǎng)絡(luò)接口進(jìn)行異步 到同步轉(zhuǎn)換。
[0005] 目前異步片上網(wǎng)絡(luò)是學(xué)者們研究的熱點(diǎn)之一。ANoC架構(gòu)的鏈路和路由器都使用了 異步電路技術(shù),在準(zhǔn)延時(shí)不敏感(Quasi Delay Insensitive, QDI)邏輯類(lèi)型中,不同的設(shè)計(jì) 方案則采用不同的異步數(shù)據(jù)傳輸模型。」提出一種基于QDI的ANoC,可進(jìn)行簡(jiǎn)單的自適 應(yīng)路由,具有較低的平均延時(shí),但是該方法在一定的網(wǎng)絡(luò)故障情況下路由能力差。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明目的就是為了彌補(bǔ)已有技術(shù)的缺陷,提供一種異步可容錯(cuò)片上網(wǎng)絡(luò)路由器 設(shè)計(jì)方法。
[0007] 本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的: 一種異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法,步驟操作如下: 步驟a、設(shè)定具體的延時(shí)假設(shè)模型、握手方式、編碼方式、1/0模塊間交互模式,設(shè)定異 步片上網(wǎng)絡(luò)和片上路由器的基礎(chǔ)結(jié)構(gòu); 步驟b、使用異步片上網(wǎng)絡(luò)路由器中的測(cè)試模塊檢測(cè)端口或者與端口相連的鏈路故障 情況; 步驟C、數(shù)據(jù)包異步片上網(wǎng)絡(luò)中傳輸時(shí),每到達(dá)一個(gè)路由器,針對(duì)周?chē)收锨闆r,在路由 計(jì)算單元,采用可容錯(cuò)偏轉(zhuǎn)路由算法,選擇數(shù)據(jù)包的輸出端口; 步驟d、循環(huán)所述步驟C,直至數(shù)據(jù)包到達(dá)目的節(jié)點(diǎn)。
[0008] 步驟a中所述的設(shè)定異步片上網(wǎng)絡(luò)的方法如下: 異步片上網(wǎng)絡(luò)的延時(shí)假設(shè)模型選擇quasi-delay insensitive模型,將電路的正確性 和延時(shí)分開(kāi)考慮;同時(shí),采用四相握手方式,初始時(shí),請(qǐng)求和應(yīng)答信號(hào)都為低,每次握手周期 請(qǐng)求和應(yīng)答信號(hào)都分別經(jīng)過(guò)兩次跳變,當(dāng)握手完成后,請(qǐng)求和應(yīng)答信號(hào)均恢復(fù)到低電平,同 步電路采用二進(jìn)制編碼,每條線僅代表一個(gè)數(shù)據(jù),而異步網(wǎng)絡(luò)編碼方式采用l-〇f-4編碼, 即使用四條線用來(lái)傳輸兩位數(shù)據(jù),且l-〇f-4編碼在數(shù)據(jù)線路上傳輸延時(shí)并不影響整體功 能,基于準(zhǔn)延時(shí)不敏感邏輯,異步片上網(wǎng)絡(luò)主要有三個(gè)部件組成:異步片上路由器、異步鏈 路和同步/異步轉(zhuǎn)換接口。
[0009] 步驟c中所述的數(shù)據(jù)包異步片上網(wǎng)絡(luò)中傳輸,具體步驟如下: 步驟e、處理單元作為發(fā)送端,通過(guò)同步到異步接口將數(shù)據(jù)包劃分為微片(flits)發(fā)送 到網(wǎng)絡(luò)中; 步驟 f、在 Synchronous-To-Asynchronous 接口中將 flits 轉(zhuǎn)換成 l-〇f-4 編碼; 步驟g、flits離開(kāi)發(fā)送端后,通過(guò)若干異步鏈路和異步路由器到達(dá)目的路由器,再通 過(guò)異步到同步接口解碼并重組,最后傳入目的處理單元。
[0010] 步驟b中所述的片上網(wǎng)絡(luò)路由器包含五個(gè)輸入模塊和五個(gè)輸出模塊,無(wú)中間仲裁 單元,采用蟲(chóng)孔路由方式,頭flit到達(dá)后確定路由路徑,向輸出端口發(fā)送請(qǐng)求信號(hào)Request Signal,接收到輸出端口回復(fù)的應(yīng)答信號(hào),再通過(guò)數(shù)據(jù)線傳送數(shù)據(jù),隨后的flits依 次連續(xù)發(fā)送,當(dāng)尾flit離開(kāi)路由器時(shí)此次數(shù)據(jù)包傳輸結(jié)束。
[0011] 步驟c中所述的可容錯(cuò)偏轉(zhuǎn)路由算法,具體步驟如下: 步驟h、將當(dāng)前節(jié)點(diǎn)(Xcurr、Ycurr)和目的節(jié)點(diǎn)(Xdst、Ydst)的相對(duì)位置,通過(guò)傳統(tǒng)的 維序路由邏輯進(jìn)行計(jì)算,得到四個(gè)輸出端口信號(hào)值Ν'、S'、W'和E',其中只有一個(gè)輸出端口 方向信號(hào)為1,表不選中該方向輸出,剩余三個(gè)信號(hào)都為〇,由于這個(gè)過(guò)程并沒(méi)有結(jié)合故障 信息,故并不是最終選擇的輸出端口; 步驟i、將計(jì)算得到Ν'、S'、W'和E'值和得到的故障信息相結(jié)合,根據(jù)目的節(jié)點(diǎn)相對(duì) 于當(dāng)前節(jié)點(diǎn)所在的象限位置,以跳數(shù)為依托,設(shè)定位于不同象限的節(jié)點(diǎn)的輸出端口優(yōu)先級(jí), 即跳數(shù)越小優(yōu)先級(jí)越高,跳數(shù)越大優(yōu)先級(jí)越低,相同跳數(shù)則設(shè)定逆時(shí)針相鄰的端口優(yōu)先級(jí) 商; 步驟j、對(duì)已知的相對(duì)位置關(guān)系,結(jié)合測(cè)試架構(gòu)檢測(cè)到的端口或鏈路故障信息,得到異 步片上網(wǎng)絡(luò)容錯(cuò)路由算法中四個(gè)端口的邏輯表達(dá)式,得到輸出端口,直到輸出端口號(hào)為本 地截止。
[0012] 異步電路有多種電路延時(shí)假設(shè)模型,這些假設(shè)模型由多種電路結(jié)構(gòu)實(shí)現(xiàn)。因此 延時(shí)假設(shè)模型也是決定異步電路的抗延時(shí)抖動(dòng)能力、面積、延時(shí)和功耗因素之一。當(dāng)前 使用較多的延時(shí)假設(shè)模型有,延時(shí)不敏感(delay insensitive,DI)模型、準(zhǔn)延時(shí)不敏感 (quasi-delay insensitive,QDI )、速度無(wú)關(guān)(speed independent,SI)模型以及延時(shí)綁定模 型。
[0013] 異步電路通過(guò)握手協(xié)議實(shí)現(xiàn)信號(hào)的傳輸,請(qǐng)求信號(hào)是用于建立握手過(guò)程,應(yīng)答信 號(hào)用于表示一次握手信號(hào)傳輸結(jié)束。握手協(xié)議可分為四相握手和兩相握手兩類(lèi)。四相握手 協(xié)議采用高低電平表示信號(hào),相鄰存儲(chǔ)單元之間的數(shù)據(jù)傳輸通過(guò)四步完成,分別是請(qǐng)求、應(yīng) 答、撤銷(xiāo)請(qǐng)求和撤銷(xiāo)應(yīng)答。兩相握手協(xié)議與四相握手不同的是相鄰存儲(chǔ)單元之間的數(shù)據(jù)傳 輸僅通過(guò)兩步完成,即發(fā)送方發(fā)出請(qǐng)求信號(hào)和接收方在確認(rèn)操作完成后返回的應(yīng)答信號(hào)。 然而,實(shí)際數(shù)據(jù)的傳遞通常是伴隨請(qǐng)求信號(hào)一起傳遞給接收方。由此可看出,握手協(xié)議直接 影響電路的性能。
[0014] 和同步電路的二進(jìn)制編碼不同,異步電路常采用的編碼方式有一下幾種:雙軌編 碼、I-Of-Ν編碼以及M-of-N編碼等。由于二進(jìn)制編碼所有的碼字都是用于表示有效數(shù)據(jù), 故具有較大的編碼效率。然而延時(shí)不敏感電路或準(zhǔn)延時(shí)不敏感電路模型的數(shù)據(jù)需要同時(shí)表 示數(shù)值和有效狀態(tài)。二進(jìn)制編碼不存在無(wú)效編碼,數(shù)據(jù)不能表示其有效狀態(tài),只能被用于同 步電路。由此可知,根據(jù)不同類(lèi)型的握手協(xié)議、假設(shè)模型和編碼方式,異步電路流水線存在 眾多的實(shí)現(xiàn)方式,如數(shù)據(jù)綁定流水線、多軌流水線使用M-of-N編碼和高速串行流水線等。
[0015] 全局異步局部同步或全異步的片上網(wǎng)絡(luò)體系結(jié)構(gòu),是滿(mǎn)足大型片上系統(tǒng)帶寬需求 的有效方法之一。異步片上網(wǎng)絡(luò)的網(wǎng)絡(luò)接口統(tǒng)一,每個(gè)節(jié)點(diǎn)可以按需要調(diào)節(jié)自身的時(shí)鐘頻 率,因此處理核之間的異步路由器和鏈路可同時(shí)進(jìn)行多個(gè)通信,降低了功耗和電磁干擾,增 加了可靠性,提升了整體性能,滿(mǎn)足了片上網(wǎng)絡(luò)的高帶寬需求。故本發(fā)明方案選擇準(zhǔn)延時(shí)不 敏感電路作為異步電路邏輯設(shè)計(jì)的基礎(chǔ)。
[0016] 本發(fā)明的優(yōu)點(diǎn)是:本發(fā)明是通過(guò)片上網(wǎng)絡(luò)和異步通信模式相結(jié)合實(shí)現(xiàn)了新型的異 步片上網(wǎng)絡(luò)架構(gòu)設(shè)計(jì),并結(jié)合偏轉(zhuǎn)路由容錯(cuò)算法,盡可能短路徑繞過(guò)故障區(qū)域達(dá)到容錯(cuò)目 的,不僅減低了面積開(kāi)銷(xiāo),還具有良好的可擴(kuò)展性和容錯(cuò)能力。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0017] 圖1為異步片上網(wǎng)絡(luò)基本模式選擇圖。
[0018] 圖 2 為 GALS NoC 架構(gòu)。
[0019] 圖3為異步片上網(wǎng)絡(luò)數(shù)據(jù)包格式。
[0020] 圖4為異步片上網(wǎng)絡(luò)路由器架構(gòu)。
[0021] 圖5為異步片上網(wǎng)絡(luò)故障模型。
[0022] 圖6為路由邏輯表達(dá)式。
[0023] 圖7為異步片上網(wǎng)絡(luò)路由器西端口地址處理單元。
【具體實(shí)施方式】
[0024] -種異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法,步驟操作如下: a、根據(jù)所需實(shí)現(xiàn)的性能,選擇異步片上網(wǎng)絡(luò)基本模式,如延遲模型、握手協(xié)議、編碼方 式,做好前期基礎(chǔ)架構(gòu)選擇。
[0025] b、設(shè)定異步片上網(wǎng)絡(luò)數(shù)據(jù)傳輸格式,先通過(guò)資源節(jié)點(diǎn)向網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)包,到達(dá) 目的地后再傳送到目的節(jié)點(diǎn)的本地資源節(jié)點(diǎn)。
[0026] c、異步片上網(wǎng)絡(luò)路由器架構(gòu),是異步片上網(wǎng)絡(luò)中的關(guān)鍵部件,設(shè)定路由器的基本 組成,如輸入輸出單元,以及輸入輸出單元之間的連接。
[0027] d、設(shè)計(jì)異步片上網(wǎng)絡(luò)故障模型,知道故障模型,則有針對(duì)性的設(shè)計(jì)路由算法進(jìn)行 容錯(cuò)。
[0028] e、容錯(cuò)路由算法采用一種具有優(yōu)先級(jí)的偏轉(zhuǎn)路由送錯(cuò)算法。在地址處理模塊,獲 取到目的地址信息和故障信息后,根據(jù)當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)的相對(duì)位置關(guān)系,以選擇最少 跳數(shù)的路徑為目標(biāo)路由數(shù)據(jù)包。最后再根據(jù)算法原理設(shè)計(jì)電路的硬件實(shí)現(xiàn)。
[0029] 異步片上網(wǎng)絡(luò)基本模式選擇: 本發(fā)明選擇準(zhǔn)延時(shí)不敏感電路作為異步電路邏輯設(shè)計(jì)的基礎(chǔ)。在準(zhǔn)延時(shí)不敏感電路 中,假設(shè)門(mén)和連線的延時(shí)是任意的,且所有分支上的互連線延時(shí)也是完全相同的。但是,在 引入應(yīng)答信號(hào)后,每次數(shù)據(jù)傳輸必須要在應(yīng)答信號(hào)到來(lái)后才可進(jìn)行,這樣保證了電路的延 時(shí)不敏感性。當(dāng)前使用最多的就是QDI模型,其優(yōu)點(diǎn)是可將電路的正確性和延時(shí)分開(kāi)考慮, 見(jiàn)圖1(a)為QDI延時(shí)模型。
[0030] 本發(fā)明異步片上網(wǎng)絡(luò)通信采用四相握手方式,其控制電路相對(duì)簡(jiǎn)單,具體見(jiàn)圖 1(b)所示,四相握手方式。初始時(shí),請(qǐng)求和應(yīng)答信號(hào)都為低,每次握手周期請(qǐng)求和應(yīng)答信號(hào) 都分別經(jīng)過(guò)兩次跳變。當(dāng)握手完成后,請(qǐng)求和應(yīng)答信號(hào)均恢復(fù)到低電平。通常情況下,同步 電路采用簡(jiǎn)單的二進(jìn)制編碼,每條線僅代表一個(gè)數(shù)據(jù)。本發(fā)明中的異步網(wǎng)絡(luò)編碼方式采用 l-of-4編碼,即使用四條線用來(lái)傳輸兩位數(shù)據(jù),其中只需一條線跳變即表示兩位數(shù)據(jù),見(jiàn)圖 1(c)為l-of-4編碼圖。由于編碼數(shù)據(jù)在數(shù)據(jù)線路上傳輸延時(shí)并不影響整體功能,故l-of-4 編碼也是基于準(zhǔn)延時(shí)不敏感邏輯的,且比雙軌編碼的系統(tǒng)翻轉(zhuǎn)概率更少。
[0031] 異步片上網(wǎng)絡(luò)數(shù)據(jù)傳輸模式設(shè)計(jì): 本發(fā)明采用傳統(tǒng)的2D mesh拓?fù)浣Y(jié)構(gòu),設(shè)計(jì)的ANoC主要有三個(gè)部件組成:異步路 由器、異步鏈路和同步/異步轉(zhuǎn)換接口,見(jiàn)圖2。處理單元作為發(fā)送端,通過(guò)同步到異步 (Synchronous-To-Asynchronous,S2A)接口將數(shù)據(jù)包劃分為微片(flits)發(fā)送到網(wǎng)絡(luò)中。 在S2A接口中還將flits轉(zhuǎn)換成l-of-4編碼。每個(gè)數(shù)據(jù)包包含一個(gè)頭fliUBOP位為1)、 多個(gè)體flits和一個(gè)尾flit (Ε0Ρ為1),格式見(jiàn)圖3。微片離開(kāi)發(fā)送端后,通過(guò)若干異步 鏈路和異步路由器到達(dá)目的路由器,再通過(guò)異步到同步(Asynchronous-To-Synchronous, A2S)接口解碼并重組,最后傳入目的處理單元。
[0032] 異步片上網(wǎng)絡(luò)路由器架構(gòu)設(shè)計(jì): 本發(fā)明提出的ANoC是依托于傳統(tǒng)同步路由器結(jié)構(gòu)設(shè)計(jì)的,包含五個(gè)輸入模塊和五個(gè) 輸出模塊,無(wú)中間仲裁單元,見(jiàn)圖4 (a)為ANoC路由器架構(gòu)圖。采用蟲(chóng)孔路由方式,頭flit 到達(dá)后確定路由路徑,通過(guò)淺色的信號(hào)線向輸出端口發(fā)送請(qǐng)求信號(hào)Request Signal,接收 到輸出端口回復(fù)的應(yīng)答信號(hào)acki后,再通過(guò)深色的數(shù)據(jù)線傳送數(shù)據(jù),隨后的flits依次連 續(xù)發(fā)送,當(dāng)尾flit離開(kāi)路由器時(shí)此次數(shù)據(jù)包傳輸結(jié)束。
[0033] 圖4(b)為西輸入和東輸出模塊間信息交互圖,西輸入、東輸出模塊間信息交互圖。 數(shù)據(jù)包到達(dá)當(dāng)前路由器的西輸入端口后,首先存放在輸入緩沖區(qū),并對(duì)接收到的數(shù)據(jù)包頭 flit進(jìn)行分析,將其目的地址信息發(fā)送給地址處理單元。地址處理單元接受到Destination address signal和故障信息Fault signals后進(jìn)行路由計(jì)算,產(chǎn)生一個(gè)東輸出端口請(qǐng)求信 號(hào)Request signal發(fā)送到東輸出模塊。在另一端,東輸出模塊接收到從西輸入發(fā)了的請(qǐng)求 信號(hào),也可能接受到其他輸入端口的請(qǐng)求信號(hào)Request signal,之后對(duì)請(qǐng)求信號(hào)進(jìn)行仲裁。 如圖所示,東輸出模塊選擇西輸入端口請(qǐng)求進(jìn)行應(yīng)答Grant signal,返回確認(rèn)信號(hào)acki,并 和西輸入端口建立連接。連接建立完畢后,從西輸入端到東輸出端開(kāi)始傳輸數(shù)據(jù),直到數(shù)據(jù) 包的尾flit傳輸完畢,則釋放連接。
[0034] 此外,輸入、輸出模塊中還包含了測(cè)試模塊,用于檢測(cè)端口或者與端口相連的鏈路 故障情況。其工作原理如下,當(dāng)前輸入端的測(cè)試模塊先向其他幾個(gè)輸出端口的測(cè)試模塊發(fā) 送測(cè)試請(qǐng)求Test request signal ;接受到測(cè)試請(qǐng)求的輸出端測(cè)試模塊檢測(cè)當(dāng)前端口和相鄰 鏈路的故障情況,將該故障信息Test ack signal返回給輸入端測(cè)試模塊;輸入端測(cè)試模塊 整合接收到的來(lái)自各個(gè)輸出測(cè)試模塊返回的所有故障信息Fault signals,并發(fā)送給當(dāng)前 輸入模塊的地址處理單元,地址處理單元結(jié)合故障信息進(jìn)行路由計(jì)算,確定輸出端口。
[0035] 異步路由器故障模型: 本發(fā)明假設(shè)出現(xiàn)故障的位置為端口或鏈路故障,異步路由器故障模型見(jiàn)圖5。圖中顯示 的是ANoC中兩個(gè)相鄰路由器相互通信,右側(cè)路由器的西輸出端口發(fā)生故障時(shí),便不能向相 鄰的下游路由器的轉(zhuǎn)發(fā)數(shù)據(jù)。同樣當(dāng)鏈路發(fā)生故障時(shí),相鄰路由器間不能相互通信。這兩 種情況都會(huì)造成網(wǎng)絡(luò)擁塞,增大了網(wǎng)絡(luò)延時(shí),降低了吞吐量。一旦發(fā)生永久性故障,如果不 采取相應(yīng)的容錯(cuò)措施,只會(huì)使網(wǎng)絡(luò)狀況越來(lái)越差。因此在路由器設(shè)計(jì)時(shí)必須考慮端口和鏈 路故障問(wèn)題。
[0036] 容錯(cuò)路由算法設(shè)計(jì)及硬件實(shí)現(xiàn): 該容錯(cuò)路由的路由邏輯可以分為三部分理解。首先根據(jù)地址信息分析當(dāng)前節(jié)點(diǎn)和目的 節(jié)點(diǎn)的相對(duì)位置,即將當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)坐標(biāo)和Xdst、和Ydst通過(guò)傳統(tǒng)的維序路 由邏輯進(jìn)行計(jì)算,得到四個(gè)輸出端口信號(hào)值Ν'、S'、W'和E',其中只有一個(gè)輸出端口方向信 號(hào)為1,表不選中該方向輸出,剩余三個(gè)信號(hào)都為0。由于這個(gè)過(guò)程并沒(méi)有結(jié)合故障信息,故 并不是最終選擇的輸出端口。
[0037] 然后就是將計(jì)算得到Ν'、S'、W'和E'值和得到的故障信息相結(jié)合。若當(dāng)前路由器 的輸出端口或者相鄰鏈路出現(xiàn)故障,則根據(jù)目的節(jié)點(diǎn)相對(duì)于當(dāng)前節(jié)點(diǎn)所在的象限位置,以 跳數(shù)為依托,設(shè)定位于不同象限的節(jié)點(diǎn)的輸出端口優(yōu)先級(jí),即跳數(shù)越小優(yōu)先級(jí)越高,跳數(shù)越 大優(yōu)先級(jí)越低,相同跳數(shù)則設(shè)定逆時(shí)針相鄰的端口優(yōu)先級(jí)高。若目的節(jié)點(diǎn)位于當(dāng)前節(jié)點(diǎn)的 第一象限,則輸出端口優(yōu)先級(jí)為N>E>W>S ;同理,第二象限端口優(yōu)先級(jí)為W>N>S>E ;第三象限 S>W>E>N;第四象限端口優(yōu)先級(jí)為E>S>N>W。這是為了確保數(shù)據(jù)包盡可能的向著目的節(jié)點(diǎn)路 由,減少繞路。最后,通過(guò)已知的相對(duì)位置關(guān)系,結(jié)合測(cè)試架構(gòu)檢測(cè)到的端口或鏈路故障信 息,可以得到異步片上網(wǎng)絡(luò)容錯(cuò)路由算法中四個(gè)端口的邏輯表達(dá)式,見(jiàn)圖6。本發(fā)明用F e、 IV Fs和Fn分別表示當(dāng)前路由器的東、西、南、北端口或者相鄰鏈路故障情況,〇表示故障,1 表示無(wú)故障。由于輸出端口和相鄰鏈路中任意一個(gè)出現(xiàn)故障,都不可以通過(guò)該端口向下游 路由器路由,故當(dāng)出現(xiàn)其中任一故障情況都采用F E、Fw、Fs和FN參數(shù)表示。以東端口為例, 得到西端口的邏輯結(jié)構(gòu)圖,見(jiàn)圖7。
【權(quán)利要求】
1. 一種異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法,其特征在于:步驟操作如下: 步驟a、設(shè)定具體的延時(shí)假設(shè)模型、握手方式、編碼方式、I/O模塊間交互模式,設(shè)定異 步片上網(wǎng)絡(luò)和片上路由器的基礎(chǔ)結(jié)構(gòu); 步驟b、使用異步片上網(wǎng)絡(luò)路由器中的測(cè)試模塊檢測(cè)端口或者與端口相連的鏈路故障 情況; 步驟c、數(shù)據(jù)包異步片上網(wǎng)絡(luò)中傳輸時(shí),每到達(dá)一個(gè)路由器,針對(duì)周?chē)收锨闆r,在路由 計(jì)算單元,采用可容錯(cuò)偏轉(zhuǎn)路由算法,選擇數(shù)據(jù)包的輸出端口; 步驟d、循環(huán)所述步驟c,直至數(shù)據(jù)包到達(dá)目的節(jié)點(diǎn)。
2. 根據(jù)權(quán)利要求1所述的一種異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法,其特征在于:步 驟a中所述的設(shè)定異步片上網(wǎng)絡(luò)的方法如下: 異步片上網(wǎng)絡(luò)的延時(shí)假設(shè)模型選擇quasi-delay insensitive模型,將電路的正確性 和延時(shí)分開(kāi)考慮;同時(shí),采用四相握手方式,初始時(shí),請(qǐng)求和應(yīng)答信號(hào)都為低,每次握手周期 請(qǐng)求和應(yīng)答信號(hào)都分別經(jīng)過(guò)兩次跳變,當(dāng)握手完成后,請(qǐng)求和應(yīng)答信號(hào)均恢復(fù)到低電平,同 步電路采用二進(jìn)制編碼,每條線僅代表一個(gè)數(shù)據(jù),而異步網(wǎng)絡(luò)編碼方式采用l-〇f-4編碼, 即使用四條線用來(lái)傳輸兩位數(shù)據(jù),且l-〇f-4編碼在數(shù)據(jù)線路上傳輸延時(shí)并不影響整體功 能,基于準(zhǔn)延時(shí)不敏感邏輯,異步片上網(wǎng)絡(luò)主要有三個(gè)部件組成:異步片上路由器、異步鏈 路和同步/異步轉(zhuǎn)換接口。
3. 根據(jù)權(quán)利要求1所述的一種異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法,其特征在于:步 驟c中所述的數(shù)據(jù)包異步片上網(wǎng)絡(luò)中傳輸,具體步驟如下: 步驟e、處理單元作為發(fā)送端,通過(guò)同步到異步接口將數(shù)據(jù)包劃分為微片(flits)發(fā)送 到網(wǎng)絡(luò)中; 步驟 f、在 Synchronous-To-Asynchronous 接 口中將 flits 轉(zhuǎn)換成 l-〇f-4 編碼; 步驟g、flits離開(kāi)發(fā)送端后,通過(guò)若干異步鏈路和異步路由器到達(dá)目的路由器,再通 過(guò)異步到同步接口解碼并重組,最后傳入目的處理單元。
4. 根據(jù)權(quán)利要求1所述的一種異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法,其特征在于:步 驟b中所述的片上網(wǎng)絡(luò)路由器包含五個(gè)輸入模塊和五個(gè)輸出模塊,無(wú)中間仲裁單元,采用 蟲(chóng)孔路由方式,頭flit到達(dá)后確定路由路徑,向輸出端口發(fā)送請(qǐng)求信號(hào)Re questSignal,接 收到輸出端口回復(fù)的應(yīng)答信號(hào)ad^后,再通過(guò)數(shù)據(jù)線傳送數(shù)據(jù),隨后的flits依次連續(xù)發(fā) 送,當(dāng)尾flit離開(kāi)路由器時(shí)此次數(shù)據(jù)包傳輸結(jié)束。
5. 根據(jù)權(quán)利要求1所述的一種異步可容錯(cuò)片上網(wǎng)絡(luò)路由器設(shè)計(jì)方法,其特征在于:步 驟c中所述的可容錯(cuò)偏轉(zhuǎn)路由算法,具體步驟如下: 步驟h、將當(dāng)前節(jié)點(diǎn)(Xcurr、Ycurr)和目的節(jié)點(diǎn)(Xdst、Ydst)的相對(duì)位置,通過(guò)傳統(tǒng)的 維序路由邏輯進(jìn)行計(jì)算,得到四個(gè)輸出端口信號(hào)值Ν'、S'、W'和E',其中只有一個(gè)輸出端口 方向信號(hào)為1,表不選中該方向輸出,剩余三個(gè)信號(hào)都為〇,由于這個(gè)過(guò)程并沒(méi)有結(jié)合故障 信息,故并不是最終選擇的輸出端口; 步驟i、將計(jì)算得到Ν'、S'、W'和E'值和得到的故障信息相結(jié)合,根據(jù)目的節(jié)點(diǎn)相對(duì) 于當(dāng)前節(jié)點(diǎn)所在的象限位置,以跳數(shù)為依托,設(shè)定位于不同象限的節(jié)點(diǎn)的輸出端口優(yōu)先級(jí), 即跳數(shù)越小優(yōu)先級(jí)越高,跳數(shù)越大優(yōu)先級(jí)越低,相同跳數(shù)則設(shè)定逆時(shí)針相鄰的端口優(yōu)先級(jí) 商; 步驟j、對(duì)已知的相對(duì)位置關(guān)系,結(jié)合測(cè)試架構(gòu)檢測(cè)到的端口或鏈路故障信息,得到異 步片上網(wǎng)絡(luò)容錯(cuò)路由算法中四個(gè)端口的邏輯表達(dá)式,得到輸出端口,直到輸出端口號(hào)為本 地截止。
【文檔編號(hào)】G06F15/173GK104065570SQ201410284202
【公開(kāi)日】2014年9月24日 申請(qǐng)日期:2014年6月23日 優(yōu)先權(quán)日:2014年6月23日
【發(fā)明者】歐陽(yáng)一鳴, 歐陽(yáng)小葉, 梁華國(guó), 黃正峰, 高妍妍, 陳 田, 王悄, 李建華 申請(qǐng)人:合肥工業(yè)大學(xué)