專(zhuān)利名稱(chēng)::一種分布式可測(cè)試片上網(wǎng)絡(luò)路由器的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及多處理器系統(tǒng)芯片(MultiprocessorSystems-on-Chip,MPSoC)中使用的片上互連網(wǎng)絡(luò)(On-ChipInterconnectionNetworks,OCINs)系統(tǒng),更具體的說(shuō),本發(fā)明提供了一種適用于片上互連網(wǎng)絡(luò)系統(tǒng)的分布式可測(cè)試路由器。
背景技術(shù):
:隨著集成電路技術(shù)的不斷發(fā)展和應(yīng)用需求的驅(qū)動(dòng),芯片設(shè)計(jì)己經(jīng)從單處理器核系統(tǒng)芯片進(jìn)入到多處理器核系統(tǒng)芯片階段。在傳統(tǒng)設(shè)計(jì)中,芯片中功能單元互連通常使用共享總線的方式。當(dāng)芯片中需要互連的單元越來(lái)越多,總線帶寬有限,長(zhǎng)度迅速增加,總線上消耗的延時(shí)、功耗等也隨之增加,這些都成為限制其發(fā)展的重要因素。為解決總線架構(gòu)的種種缺陷,設(shè)計(jì)者們借用傳統(tǒng)多處理機(jī)互聯(lián)網(wǎng)絡(luò)和一般通信網(wǎng)絡(luò)中的基本思想,提出片上網(wǎng)絡(luò)(Networks-on-Chip,NoC)作為新的片上通信解決方案。路由器作為網(wǎng)絡(luò)的一個(gè)關(guān)鍵部件,完成數(shù)據(jù)包的接收和轉(zhuǎn)發(fā)。傳統(tǒng)的路由器用于連接大規(guī)模計(jì)算機(jī)系統(tǒng),路由器之間的距離小到幾厘米,大到幾百米,連接介質(zhì)有雙絞線、同軸電纜、光纖等,路由器作為一個(gè)獨(dú)立的部件有豐富的硬件資源可以利用。在上述條件下,路由器的設(shè)計(jì)都使用了異步傳輸、大容量緩存、較小的傳輸寬度、復(fù)雜的容錯(cuò)糾錯(cuò)機(jī)制、完善的聚合通信支持。在片上網(wǎng)絡(luò)中,路由器與其它IP(IntellectualProperty)—起被集成在單個(gè)芯片里,路由器之間的距離減小到毫米級(jí)別,連接路由器的為芯片內(nèi)部的金屬層,連線資源非常豐富,但可用的硬件資源相對(duì)有限。片上網(wǎng)絡(luò)結(jié)構(gòu)一般使用局部同步全局異步技術(shù)(GloballyAsynchronousLocallySynchronous,GALS),路由器的設(shè)計(jì)需要滿足其對(duì)時(shí)鐘域要求。當(dāng)路由器集成在芯片里時(shí),如何簡(jiǎn)單、快速測(cè)試路由器與網(wǎng)絡(luò)的連通性將非常重要。片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)將隨應(yīng)用需求改變,路由器要很容易被擴(kuò)展而適應(yīng)各種拓?fù)浣Y(jié)構(gòu)。片上網(wǎng)絡(luò)的特點(diǎn)決定其需要可靠、高效、可測(cè)試、可擴(kuò)展的路由器。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問(wèn)題是提供一種適用于多處理器系統(tǒng)芯片中片上網(wǎng)絡(luò)系統(tǒng)的可靠、高效、可測(cè)試、可擴(kuò)展的路由器。本發(fā)明的路由器用于片上網(wǎng)絡(luò)系統(tǒng),在網(wǎng)絡(luò)中作為通信節(jié)點(diǎn)連接網(wǎng)絡(luò)中的資源節(jié)點(diǎn),網(wǎng)絡(luò)中的資源節(jié)點(diǎn)可以是處理器、數(shù)字信號(hào)處理器、高速存儲(chǔ)器、高速外設(shè)、或其他專(zhuān)用電路。本發(fā)明的路由器所在的片上網(wǎng)絡(luò)上的最小傳輸單元是微片(FlowControlUnit,Flit),微片由頭信息(Head)與載荷信息(Payload)兩部分組成。頭信息中包括微片類(lèi)型、微片源地址、目的地址三部分內(nèi)容;載荷信息中為微片所攜帶的數(shù)據(jù)。路由器在接收到微片后能提取出頭信息,并根據(jù)頭信息中的內(nèi)容轉(zhuǎn)發(fā)該微片。路由器對(duì)載荷信息僅僅進(jìn)行轉(zhuǎn)發(fā)而不解析其具體內(nèi)容。為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種分布式可測(cè)試片上網(wǎng)絡(luò)路由器,包括通道數(shù)量可配制的多個(gè)物理傳輸通道,用于提供物理數(shù)據(jù)的傳輸,通道的寬度為一個(gè)微片寬度;輸入通道可提供多個(gè)虛通道,并為每個(gè)虛通道添加微片緩存(First-In-First-Out,FIFO),緩存寬度為一個(gè)微片寬度,深度可根據(jù)硬件資源進(jìn)行適當(dāng)選擇。輸出通道不提供虛通道及緩存;同時(shí),每個(gè)輸入輸出通道提供控制邏輯以完成數(shù)據(jù)的接收轉(zhuǎn)發(fā);一個(gè)路由器配置通道(ConfigureChannel,CR),獨(dú)立于數(shù)據(jù)傳輸網(wǎng)絡(luò),支持路由器的連接性測(cè)試;多個(gè)通道鏈路控制器(LinkController,LC),完成對(duì)輸入請(qǐng)求的響應(yīng)及虛通道的分配,其數(shù)量與輸入通道數(shù)量一致;一個(gè)交叉開(kāi)關(guān)(CrossbarSwitch,SW),提供輸入虛通道到輸出通道之間的全連接;多個(gè)分布式路由控制器(DistributedRouter,DRT),分布在每個(gè)輸入虛通道處,根據(jù)通道中微片頭信息決定微片的轉(zhuǎn)發(fā)方向,其數(shù)量與虛通道數(shù)量一致;多個(gè)分布式仲裁器(DistributedArbiter,DARB),分布在每個(gè)輸出通道中,在有多個(gè)輸入虛通道請(qǐng)求占用輸出通道時(shí)決定輸出通道的所有權(quán)歸屬,其數(shù)量與輸出通道數(shù)量一致。本發(fā)明的路由器適用于二維網(wǎng)格(Mesh)拓?fù)浣Y(jié)構(gòu),在該拓?fù)浣Y(jié)構(gòu)中路由器提供5個(gè)輸入輸出通道以及與此相適應(yīng)的控制單元。路由器輸入輸出通道與控制單元均采用模塊化設(shè)計(jì),改變通道數(shù)量與相應(yīng)的控制單元可使路由器適用于其它的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。本發(fā)明的路由器工作在多個(gè)時(shí)鐘域,以適應(yīng)片上網(wǎng)絡(luò)的時(shí)鐘要求。路由器的每個(gè)輸入通道均工作在各自的時(shí)鐘域,時(shí)鐘信號(hào)由上一級(jí)路由器或資源節(jié)點(diǎn)傳輸過(guò)來(lái),即輸入通道與上一級(jí)路由器或資源節(jié)點(diǎn)工作在同一個(gè)時(shí)鐘域。數(shù)據(jù)在進(jìn)入虛通道緩存單元后從輸入時(shí)鐘域轉(zhuǎn)換到本地時(shí)鐘域,路由器中的交叉開(kāi)關(guān)、分布式路由控制器、分布式仲裁器等部件均工作在本地時(shí)鐘域。路由器中的數(shù)據(jù)、轉(zhuǎn)發(fā)請(qǐng)求等信號(hào)與本地時(shí)鐘同步后傳輸?shù)骄W(wǎng)絡(luò)中。路由器的本地時(shí)鐘信號(hào)也跟隨數(shù)據(jù)信號(hào)一起傳輸?shù)较乱患?jí)路由器或是資源節(jié)點(diǎn)作為其輸入時(shí)鐘。該做法將片上網(wǎng)絡(luò)分割為一個(gè)個(gè)局部同步的小塊,減小了芯片中時(shí)鐘樹(shù)的長(zhǎng)度與布線難度,減小了時(shí)鐘樹(shù)上的負(fù)載,降低了功耗。路由器提供一個(gè)路由器配置通道,用于提供對(duì)路由器可測(cè)試性的支持。配置通道與片上數(shù)據(jù)傳輸網(wǎng)絡(luò)分離,不受數(shù)據(jù)傳輸網(wǎng)絡(luò)的影響。通過(guò)配置使路由器的特定通道連接起來(lái)而不受通道中微片影響,從而提供對(duì)路由器連接性的測(cè)試。路由器配制由網(wǎng)絡(luò)中的資源節(jié)點(diǎn)進(jìn)行,它可以是處理器、數(shù)字信號(hào)處理器或是專(zhuān)用的配制模塊。路由器為每個(gè)輸入通道提供一個(gè)鏈路控制器,用于對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)進(jìn)行流量控制,虛通道分配,并支持蟲(chóng)孔路由。鏈路控制器中為每個(gè)虛通道提供一個(gè)寄存器,存儲(chǔ)了通道是否被占用以及占用通道的源、目的地址,用于表征該虛通道當(dāng)前狀態(tài)。微片的頭信息中包含該微片的類(lèi)型及其源、目的地址。提供一種類(lèi)型的微片用于開(kāi)辟并占用一個(gè)空閑的虛通道,稱(chēng)其為數(shù)據(jù)頭微片。當(dāng)沒(méi)有可用的虛通道時(shí),數(shù)據(jù)頭微片將被阻塞,直到出現(xiàn)可用的虛通道。一條通道被占用后,虛通道寄存器會(huì)被修改以表征通道被占用,同時(shí)將該微片的源、目的地址寫(xiě)入寄存器。提供一種類(lèi)型的微片,當(dāng)其頭信息中的源、目的地址與一條被占用通道的通道寄存器中的一致時(shí)沿著通道前進(jìn),稱(chēng)其為數(shù)據(jù)微片。提供一種類(lèi)型的微片,當(dāng)其頭信息中的源、目的地址與一條被占用通道的通道寄存器中的一致時(shí)沿著通道前進(jìn),并修改通道寄存器將占用的通道釋放,稱(chēng)其為數(shù)據(jù)尾微片。提供兩種類(lèi)型的微片用于鏈路控制,它們?cè)谟锌臻e通道時(shí)向前傳輸,但不改變通道狀態(tài),分別稱(chēng)其為請(qǐng)求微片與反饋微片。路由器提供一個(gè)全連接交叉開(kāi)關(guān),它提供任意輸入虛通道到任意輸出通道的連接。路由器提供多個(gè)分布式路由控制器與分布式仲裁器。分布式路由控制器位于每個(gè)輸入虛通道處,接收微片頭信息,根據(jù)一定的路由算法進(jìn)行路由,選擇一條輸出通道。路由控制器支持蟲(chóng)孔交換,在對(duì)數(shù)據(jù)頭微片進(jìn)行路由時(shí)將路由結(jié)果寄存,當(dāng)數(shù)據(jù)微片和數(shù)據(jù)尾微片到來(lái)時(shí)不進(jìn)行路由而直接使用寄存的路由結(jié)果作為其路由結(jié)果。對(duì)請(qǐng)求微片與反饋微片路由控制器會(huì)重新進(jìn)行路由。該做法使數(shù)據(jù)傳輸是順序的,避免了亂序傳播的問(wèn)題。路由控制器受配置單元的控制,在配置有效時(shí)路由結(jié)果將不受路由算法的影響而選擇配置的路由通道轉(zhuǎn)發(fā)微片。每個(gè)輸出通道提供一個(gè)分布式仲裁器,它接收虛通道的請(qǐng)求,并根據(jù)一定的優(yōu)先級(jí)規(guī)則選擇優(yōu)先級(jí)最高的輸入虛通道與該輸出通道相連。本發(fā)明采用模塊化設(shè)計(jì),路由器的配置通道、傳輸通道、分布式路由控制器、分布式仲裁器均設(shè)計(jì)成復(fù)用的可擴(kuò)展性模塊。與現(xiàn)有技術(shù)相比,本發(fā)明的分布式可測(cè)試片上網(wǎng)絡(luò)路由器的有益效果是適用于片上網(wǎng)絡(luò)系統(tǒng)的互連,完成數(shù)據(jù)的轉(zhuǎn)發(fā)。采用獨(dú)特的時(shí)鐘傳播技術(shù),硬件支持蟲(chóng)孔交換,使用較小的緩存。提供路由器的測(cè)試通道,支持對(duì)路由器與網(wǎng)絡(luò)的連接性測(cè)試。使用模塊化設(shè)計(jì)路由器的配置通道、傳輸通道、分布式路由控制器和分布式仲裁器,硬件結(jié)構(gòu)非常簡(jiǎn)單,具有高度的可擴(kuò)展性。下面結(jié)合圖對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)說(shuō)明。圖l為本發(fā)明的系統(tǒng)結(jié)構(gòu)圖;圖2為本發(fā)明中的配置通道電路圖;圖3為本發(fā)明中的鏈路控制電路圖;圖4為本發(fā)明中的輸入虛通道控制電路圖;圖5為本發(fā)明中的路由控制電路圖;圖6為本發(fā)明中的一種仲裁控制電路圖;圖7為本發(fā)明中的另一種仲裁控制電路圖;圖8為本發(fā)明中的又一種仲裁控制電路圖;圖9為本發(fā)明中的交叉開(kāi)關(guān)電路圖;圖IO為本發(fā)明中的輸出通道控制電路圖。具體實(shí)施方式本發(fā)明的路由器傳輸?shù)淖钚卧俏⑵?Flit),微片由頭信息(Header)與載荷(Payload)組成。路由器在接收到微片后會(huì)對(duì)頭信息進(jìn)行解析處理,并根據(jù)相應(yīng)的內(nèi)容進(jìn)行路由轉(zhuǎn)發(fā),而對(duì)載荷則會(huì)直接轉(zhuǎn)發(fā)而不進(jìn)行信息提取。頭信息長(zhǎng)度為16位,其內(nèi)容如表1所示。當(dāng)前使用6位空間編碼地址,支持64個(gè)節(jié)點(diǎn)的片上網(wǎng)絡(luò),對(duì)其進(jìn)行擴(kuò)展可使其支持更多節(jié)點(diǎn)(128,256,或512)的網(wǎng)絡(luò)。表2則列出了對(duì)微片類(lèi)型的編碼。載荷長(zhǎng)度可根據(jù)需要配置,通常為64或128位。表l<table>tableseeoriginaldocumentpage7</column></row><table>本發(fā)明的路由器支持蟲(chóng)孔交換,對(duì)不同類(lèi)型的微片分別處理。在上述五種微片類(lèi)型中,請(qǐng)求與反饋類(lèi)型會(huì)進(jìn)行路由選擇,但不會(huì)占用虛通道;數(shù)據(jù)頭類(lèi)型需要進(jìn)行路由選擇,且要占用虛通道;數(shù)據(jù)與數(shù)據(jù)尾類(lèi)型不需要進(jìn)行路由選擇,數(shù)據(jù)尾類(lèi)型會(huì)釋放虛通道。本發(fā)明的框圖如圖1所示,路由器使用模塊化設(shè)計(jì)。本發(fā)明的路由器包括路由器配置通道110,交叉開(kāi)關(guān)120,鏈路控制器130,分布式路由控制器140,虛通道緩存150,輸入虛通道控制160,分布式仲裁器170,輸出通道控制180。配置信號(hào)(111-114)來(lái)自配置模塊,它可以是處理器或是專(zhuān)用配置電路。配置信號(hào)使用獨(dú)立的配置通道而與數(shù)據(jù)傳輸網(wǎng)絡(luò)分離。網(wǎng)絡(luò)輸入信號(hào)(117-119)來(lái)自上一級(jí)路由器或是資源節(jié)點(diǎn)網(wǎng)絡(luò)接口(NetworkInterface,NI)。網(wǎng)絡(luò)輸入信號(hào)包括時(shí)鐘信號(hào)117,請(qǐng)求信號(hào)118,數(shù)據(jù)信號(hào)119,它們同步于時(shí)鐘信號(hào)117。當(dāng)網(wǎng)絡(luò)請(qǐng)求118到達(dá)時(shí),鏈路控制器130進(jìn)行虛通道緩存分配,根據(jù)信號(hào)141決定是否分配成功。若分配成功,鏈路控制給予反饋信號(hào)121,反饋信號(hào)同步于時(shí)鐘信號(hào)117,同時(shí)將微片送入對(duì)應(yīng)的虛通道緩存(FIFO)150。當(dāng)有微片被送入虛通道緩存后,虛通道控制單元160根據(jù)一定條件以本地時(shí)鐘域取出緩沖中的微片136,提取出頭信息124送給分布式路由控制器140進(jìn)行路由,同時(shí)將微片126輸出至交叉開(kāi)關(guān)。路由控制器根據(jù)包頭信息進(jìn)行路由選擇,并將路由結(jié)果123送回虛通道控制單元。輸入虛通道控制單元根據(jù)路由控制器反饋的路由結(jié)果產(chǎn)生出對(duì)輸出通道的請(qǐng)求信號(hào)125至仲裁器170與輸出通道控制180。仲裁器根據(jù)請(qǐng)求情況給出仲裁結(jié)果,控制選擇器190從多個(gè)輸入數(shù)據(jù)129中選擇一個(gè)做為輸出信號(hào)Bl。同時(shí),輸出通道控制單元輸出本地時(shí)鐘信號(hào)132,請(qǐng)求信號(hào)133,數(shù)據(jù)135,直到接收下一級(jí)的反饋信號(hào)134后進(jìn)行下一次數(shù)據(jù)的傳輸。下面給出每個(gè)模塊的具體電路設(shè)計(jì)。配置通道110用于對(duì)路由器模式進(jìn)行配置,其具體電路圖如圖2所示。圖2中包括寄存器模塊210,10緩沖220。配置通道接收來(lái)自配置單元的信號(hào),包括配置時(shí)鐘111,配置使能112,配置寫(xiě)使能113,配置數(shù)據(jù)114。配置使能與配置寫(xiě)使能通過(guò)與門(mén)230得到寄存器寫(xiě)使能211,在配置時(shí)鐘上升沿,寄存器寫(xiě)使能有效時(shí)寫(xiě)入寄存器。在配置時(shí)鐘上升沿,配置使能有效且配置寫(xiě)使能無(wú)效時(shí)讀出配置寄存器的值。配置通道提供一個(gè)16位寄存器,它可以提供對(duì)5個(gè)輸入通道的配置,配置寄存器的意義如表3所示,對(duì)每個(gè)輸入通道的編碼如表4所示。配置寄存器不區(qū)分虛通道,配置結(jié)果同時(shí)控制同一物理通道的虛通道。當(dāng)配置有效后,配置輸出的結(jié)果115將直接控制分布式路由器的路由結(jié)果而將特定的輸入通道與輸出通道連接起來(lái)。如當(dāng)Cfg—Channd[15:12]=1001時(shí)進(jìn)入輸入通道1的數(shù)據(jù)將被路由輸出到輸出通道2。表3<table>tableseeoriginaldocumentpage8</column></row><table>表4<table>tableseeoriginaldocumentpage8</column></row><table>鏈路控制單元用于產(chǎn)生對(duì)上一級(jí)的反饋,控制輸入通道的數(shù)據(jù)流,并控制輸入微片的虛通道選擇。圖3-a給出了每個(gè)輸入單元有一個(gè)虛通道時(shí)的鏈路控制單元具體電路圖。對(duì)于輸入鏈路控制的數(shù)據(jù),該單元需要提取出相應(yīng)的頭信息,分別是微片類(lèi)型(351-353),微片源地址354,微片目的地址355。鏈路控制單元提供一組寄存器用于寄存當(dāng)前鏈路的狀態(tài),包括通道是否被占用位313,占用該通道微片的源地址315與目的地址314。占用一條新通道需要滿足的條件是1)當(dāng)前通道空閑,即335為高電平;2)當(dāng)前微片類(lèi)型為數(shù)據(jù)頭,即352為高電平;3)當(dāng)前有請(qǐng)求,即118為高電平;4)當(dāng)前虛通道緩存為空,即364為高電平。當(dāng)占用通道條件滿足時(shí),與門(mén)319輸出321為高電平,或門(mén)326輸出327為高電平,寄存器使能有效,在下一個(gè)時(shí)鐘上升延后虛通道有效寄存器320將被置位,虛通道源340、目的寄存器330也將被更新為當(dāng)前頭信息中的源、目的地址。一條已被占用的虛通道被釋放需要滿足的條件是1)通道已經(jīng)被占用,即313為高電平;2)微片類(lèi)型為數(shù)據(jù)尾,即351與352均為高電平;3)當(dāng)前被占用的通道源、目的寄存器中的值與尾微片中的源、目的地址一致,即336、337均為高電平;5)當(dāng)前通道的緩存仍有空余,即341為高電平;6)當(dāng)前有請(qǐng)求,即118為高電平。此時(shí),使能信號(hào)327為高電平,321為低電平,有效位被清零。釋放通道時(shí)僅僅更新通道有效寄存器,而對(duì)源、目的寄存器不進(jìn)行更新。對(duì)于其他類(lèi)型的微片,不會(huì)影響鏈路控制單元中的寄存器內(nèi)容。鏈路控制單元在完成虛通道分配后也要決定當(dāng)前微片是否可以寫(xiě)入緩存中,若可以寫(xiě)入則給出虛通道緩存寫(xiě)使能信號(hào)122,并給上一級(jí)反饋121。微片可以寫(xiě)入虛通道需要滿足的條件是1)對(duì)于請(qǐng)求、反饋類(lèi)型的微片,滿足a)微片類(lèi)型為請(qǐng)求、反饋類(lèi)型,即352、353均為低電平;b)當(dāng)前通道空閑,即335為高電平;c)當(dāng)前虛通道緩存為空,即364為高電平;d)當(dāng)前有請(qǐng)求,即118為高電平,上述4個(gè)條件滿足時(shí),與門(mén)324輸出為高電平;2)對(duì)于數(shù)據(jù)頭微片,滿足a)當(dāng)前通道空閑,即335為高電平;b)當(dāng)前微片類(lèi)型為數(shù)據(jù)頭,即352為高電平;c)當(dāng)前有請(qǐng)求,即118為高電平;d)當(dāng)前虛通道緩存為空,即364為高電平,上述4個(gè)條件滿足時(shí),與門(mén)319輸出為高電平;3)對(duì)于數(shù)據(jù)微片與數(shù)據(jù)尾微片,滿足a)當(dāng)前請(qǐng)求為數(shù)據(jù)微片或數(shù)據(jù)尾微片,即352為低電平、353為高電平;b)當(dāng)前有請(qǐng)求,即118為高電平;c)當(dāng)前虛通道緩存有空余,即341為高電平;d)當(dāng)前被占用的通道源、目的寄存器中的值與尾微片中的源、目的地址一致,即336、337均為高電平,上述四個(gè)條件滿足時(shí),與門(mén)323輸出為高電平。當(dāng)上述三個(gè)條件任意一個(gè)滿足時(shí),或門(mén)325輸出反饋信號(hào)121直接輸出給上一級(jí)路由器,同時(shí)通過(guò)寄存器350寄存一拍產(chǎn)生寫(xiě)使能信號(hào)361。送給緩存的數(shù)據(jù)362由數(shù)據(jù)119加入是否需要重新路由信號(hào)342后的數(shù)據(jù)318通過(guò)寄存器360寄存一拍得到。361信號(hào)與362信號(hào)組合為圖一中的122信號(hào),363信號(hào)與364信號(hào)組合為圖一中的141信號(hào)。圖3-b是在3-a中用到的一個(gè)六比特全等比較器310的具體電路,當(dāng)輸入兩個(gè)信號(hào)的最低兩位不同時(shí),通過(guò)異或門(mén)370后信號(hào)371為高電平,再經(jīng)過(guò)或非門(mén)378后輸出信號(hào)377為低電平。同理,當(dāng)輸入信號(hào)其它對(duì)應(yīng)位有不同時(shí),信號(hào)372-376中至少有一個(gè)為高電平,使信號(hào)377為低電平,當(dāng)輸入所有對(duì)應(yīng)位都相同時(shí),信號(hào)371-376均為低電平,經(jīng)過(guò)或非門(mén)378后輸出377為高電平,完成比較功能。整個(gè)鏈路控制單元工作在輸入的時(shí)鐘域,時(shí)鐘信號(hào)由上一級(jí)路由器給出。另外需要注意,圖3給出的鏈路控制器僅僅提供了一個(gè)虛通道的控制信號(hào),當(dāng)有多條虛通道同時(shí)存在時(shí)需要提供多組通道狀態(tài)寄存器配合控制鏈路。輸入虛通道控制完成數(shù)據(jù)從輸入通道到輸出通道的轉(zhuǎn)發(fā)??刂颇K工作在本地時(shí)鐘域,在虛通道緩存中有微片時(shí)從中讀出微片,并取出微片頭124送入路由器140進(jìn)行路由,并對(duì)路由器的路由結(jié)果解碼產(chǎn)生對(duì)輸出通道的請(qǐng)求。圖4(a)給出了輸入虛通道的實(shí)現(xiàn)電路圖??梢詮妮斎胩撏ǖ乐凶x取數(shù)據(jù)需要滿足的條件是1)虛通道緩存中有未轉(zhuǎn)發(fā)的數(shù)據(jù),即421為低電平;2)當(dāng)前輸出通道空閑,即413為高電平。為了表示出輸出通道是否空閑,提供一個(gè)1位寄存器410表示當(dāng)前輸出通道的狀態(tài)。初始狀態(tài)時(shí),寄存器輸出412為高電平,經(jīng)過(guò)非門(mén)450后信號(hào)415為低電平,經(jīng)過(guò)與門(mén)(461-465)后屏蔽對(duì)輸出通道的請(qǐng)求。信號(hào)412為高電平,經(jīng)過(guò)或門(mén)430后信號(hào)413為高電平,當(dāng)緩存非空時(shí)信號(hào)421為低電平,經(jīng)過(guò)與門(mén)460后讀使能信號(hào)137變?yōu)楦唠娖剑谙乱粋€(gè)時(shí)鐘來(lái)臨時(shí)從緩存中讀出數(shù)據(jù)。同時(shí),信號(hào)137經(jīng)過(guò)反門(mén)480后的信號(hào)417為低電平,信號(hào)137經(jīng)過(guò)或門(mén)470后信號(hào)416為高電平,寄存器寫(xiě)使能有效,從而下一個(gè)時(shí)鐘延后寄存器410得到信號(hào)417的值而輸出412變?yōu)榈碗娖?,?jīng)過(guò)非門(mén)450后信號(hào)415為高電平,輸入通道將根據(jù)路由情況給出對(duì)輸出通道的請(qǐng)求。此時(shí),1)若緩存在讀取后變空且有反饋信號(hào),則信號(hào)421為高電平,經(jīng)過(guò)與門(mén)460后信號(hào)137為低電平,下一周期不再?gòu)木彺嬷凶x取數(shù)據(jù)。同時(shí),由于有反饋信號(hào),故信號(hào)127經(jīng)過(guò)或門(mén)440后輸出信號(hào)414為高電平,又此時(shí)信號(hào)417為高電平,經(jīng)過(guò)與門(mén)420后信號(hào)411為高電平,再經(jīng)過(guò)或門(mén)470后信號(hào)416為高電平,寄存器寫(xiě)使能有效,在下一個(gè)時(shí)鐘延后寫(xiě)入信號(hào)417的值,輸出信號(hào)412變?yōu)楦唠娖?,即輸出通道變?yōu)榭臻e,屏蔽對(duì)輸出通道的請(qǐng)求。2)若緩存變空,但沒(méi)有反饋信號(hào),則由上知信號(hào)137為低電平;由于沒(méi)有反饋,或門(mén)440輸出信號(hào)414為低電平,故經(jīng)過(guò)與門(mén)420后信號(hào)411為低電平,寄存器寫(xiě)使能無(wú)效,下一個(gè)時(shí)鐘延后信號(hào)412仍為低電平,經(jīng)過(guò)非門(mén)450后信號(hào)415為高電平,不影響請(qǐng)求信號(hào)的產(chǎn)生,故請(qǐng)求將保持直到有反饋到達(dá)。3)若緩存中還有剩余微片且輸出通道有反饋,則信號(hào)421為低電平,信號(hào)414為高電平,經(jīng)過(guò)或門(mén)430后信號(hào)413為高電平,故經(jīng)過(guò)與門(mén)460后信號(hào)137為高電平,下一個(gè)時(shí)鐘延后將讀取新的微片。同時(shí),由于信號(hào)137為高電平,經(jīng)過(guò)非門(mén)480后信號(hào)417為低電平,經(jīng)過(guò)或門(mén)470后信號(hào)416為高電平,寄存器寫(xiě)使能有效,下一個(gè)時(shí)鐘延后信號(hào)412為低電平,經(jīng)過(guò)非門(mén)450后信號(hào)415為高電平,仍將產(chǎn)生請(qǐng)求。4)若緩存中還有剩余微片但輸出通道沒(méi)有給出反饋127,則經(jīng)過(guò)或門(mén)440后信號(hào)414為低電平,由于此時(shí)信號(hào)412為低電平,則經(jīng)過(guò)或門(mén)430后信號(hào)413為低電平,再經(jīng)過(guò)與門(mén)460后信號(hào)137為低電平,不再讀取新的緩存中的內(nèi)容。同時(shí),信號(hào)414為低電平,經(jīng)過(guò)與門(mén)420后信號(hào)411為低電平,再經(jīng)過(guò)或門(mén)470后信號(hào)416為低電平,寄存器寫(xiě)使能無(wú)效,下一個(gè)時(shí)鐘延后信號(hào)412保持低電平。同時(shí),信號(hào)412為低電平,經(jīng)過(guò)非門(mén)450后信號(hào)415為高電平,仍將產(chǎn)生對(duì)輸出通道的請(qǐng)求信號(hào),直到反饋的到達(dá)。表5給出了控制器對(duì)路由器路由結(jié)果的譯碼情況,即將路由信號(hào)123轉(zhuǎn)化到請(qǐng)求信號(hào)422。輸出到仲裁器的請(qǐng)求信號(hào)125還取決于信號(hào)415,當(dāng)信號(hào)415為低電平時(shí),經(jīng)過(guò)與門(mén)(461-465)后信號(hào)125為零,不產(chǎn)生請(qǐng)求;當(dāng)信號(hào)415為高電平時(shí),經(jīng)過(guò)與門(mén)(461-465)后信號(hào)125與信號(hào)422相同。圖4-b則給出了圖4-a中的440模塊的實(shí)現(xiàn)電路圖,它將8位輸入信號(hào)相或后輸出。表5<table>tableseeoriginaldocumentpage11</column></row><table>分布式路由控制器分布在每個(gè)輸入虛通道處,完成對(duì)微片的路由功能,即根據(jù)當(dāng)前路由器節(jié)點(diǎn)地址與微片目的節(jié)點(diǎn)地址選擇出微片的輸出通道。圖5給出了本發(fā)明路由器中使用的路由控制器電路圖。微片目的節(jié)點(diǎn)地址515與當(dāng)前節(jié)點(diǎn)地址139送入路由算法模塊510得出應(yīng)該選擇的通道513,并根據(jù)是否需要重新路由的信號(hào)514選擇上次路由的結(jié)果511或是新路由結(jié)果513。信號(hào)514、515從信號(hào)124中提取。真正的路由結(jié)果還要受到配置通道的控制,當(dāng)配置有效(信號(hào)516為高電平)時(shí)選擇器540選擇配置結(jié)果517輸出,無(wú)效時(shí)選擇路由結(jié)果512輸出。當(dāng)需要重新路由時(shí),信號(hào)514為高電平,此時(shí)路由結(jié)果寄存器使能有效,在下一個(gè)時(shí)鐘延后將路由結(jié)果513寄存至寄存器520,同時(shí)選擇器530選擇信號(hào)513作為當(dāng)前路由結(jié)果輸出。當(dāng)不需要重新路由時(shí),514為低電平,選擇器530選擇寄存器520的輸出511作為路由結(jié)果。圖5-b給出了在當(dāng)前網(wǎng)絡(luò)中使用的路由算法模塊,它將地址分為高位部分與低位部分,路由時(shí)首先根據(jù)低位地址進(jìn)行路由,當(dāng)?shù)臀坏刂废嗟群笤俑鶕?jù)高位地址進(jìn)行路由,應(yīng)該注意到,這里只是給出一種可選的路由算法,當(dāng)需要改變路由算法時(shí)只需要替換相應(yīng)的路由算法模塊即可。圖5-c為5-b中用到的三位全等比較器電路圖,當(dāng)輸入信號(hào)521、522相等時(shí)輸出為高電平,否則為低電平。圖5-d為5-b中用到的大于比較電路圖,當(dāng)輸入信號(hào)523大于524時(shí)輸出為高電平,否則為低電平。圖5-e為5-b中用到的小于比較電路圖,只用調(diào)換大于比較器的輸入端即可得到小于比較電路,當(dāng)輸入值信號(hào)525小于526時(shí)輸出為高電平。從輸入通道輸出的數(shù)據(jù)會(huì)進(jìn)入交叉開(kāi)關(guān)。交叉開(kāi)關(guān)將每個(gè)輸入數(shù)據(jù)連接到每個(gè)輸出通道,其示意圖如圖9所示。圖中給出了兩個(gè)物理通道,每個(gè)輸入通道兩個(gè)虛通道時(shí)交叉開(kāi)關(guān)內(nèi)的互連情況,當(dāng)通道數(shù)量變化時(shí)交叉開(kāi)關(guān)的連接也需要相應(yīng)做出變化,保證每個(gè)輸入虛通道都能與每個(gè)輸出相連。如當(dāng)信號(hào)911進(jìn)入交叉開(kāi)關(guān)910后,將被同時(shí)連接到輸出信號(hào)912和輸出信號(hào)913輸出。輸入虛通道控制器會(huì)根據(jù)路由情況產(chǎn)生出對(duì)各個(gè)輸出通道的請(qǐng)求。請(qǐng)求信號(hào)被送入分布式仲裁器中,仲裁器根據(jù)輸入請(qǐng)求情況及請(qǐng)求優(yōu)先級(jí)信息得到相應(yīng)的仲裁結(jié)果。圖6給出了分布式仲裁器的電路圖。仲裁器接收來(lái)自各個(gè)輸入虛通道的請(qǐng)求信號(hào)125,圖中提供了8個(gè)輸入虛通道的請(qǐng)求,結(jié)合仲裁優(yōu)先級(jí)屏蔽碼633送入帶屏蔽優(yōu)先級(jí)仲裁器610。仲裁器根據(jù)一定的優(yōu)先級(jí)規(guī)則給出當(dāng)前的仲裁結(jié)果128和是否有仲裁138,其具體設(shè)計(jì)在圖7中詳細(xì)介紹。仲裁結(jié)果128在輸出的同時(shí)經(jīng)過(guò)右移模塊630得到新的優(yōu)先級(jí)表示信號(hào)631,經(jīng)過(guò)編碼器620得到編碼的優(yōu)先級(jí)表示信號(hào)632,信號(hào)632在下一次時(shí)鐘沿后寄存到寄存器640中,作為下一次仲裁的優(yōu)先級(jí)屏蔽碼633輸入給帶屏蔽優(yōu)先級(jí)仲裁器610。圖6-b給出了右移模塊的電路圖,將輸入循環(huán)右移一位,即sh—gnt[7:0]-(gnt,gnt[7:1]〉。圖6-c給出了編碼器620的電路圖,其編碼規(guī)則如表6所示。表6<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>圖7給出了帶屏蔽優(yōu)先級(jí)仲裁器610的電路圖。它根據(jù)輸入的請(qǐng)求125和編碼的優(yōu)先級(jí)表示633給出當(dāng)前通道的仲裁結(jié)果(128,138),圖7-a給出了整體的框圖。優(yōu)先級(jí)屏蔽信號(hào)633首先經(jīng)過(guò)優(yōu)先級(jí)解碼器710,得到解碼后的8位優(yōu)先級(jí)屏蔽碼711與原始請(qǐng)求信號(hào)125送入與門(mén)730,輸出得到有屏蔽后的請(qǐng)求712,712經(jīng)過(guò)或門(mén)740得到屏蔽后是否有請(qǐng)求信號(hào)713作為選擇器750選擇端從原始請(qǐng)求信號(hào)125與屏蔽后的請(qǐng)求712中選出一個(gè)作為請(qǐng)求信號(hào)715送入固定優(yōu)先級(jí)仲裁器720,當(dāng)信號(hào)712為高時(shí)選擇信號(hào)712為選擇信號(hào),否則選取信號(hào)125為請(qǐng)求信號(hào)。信號(hào)715經(jīng)過(guò)固定由縣級(jí)仲裁器720后輸出當(dāng)前仲裁結(jié)果128。原始請(qǐng)求125經(jīng)過(guò)或門(mén)760(電路參見(jiàn)圖4-b)得到當(dāng)前是否有仲裁138。圖7-b給出了優(yōu)先級(jí)解碼器710的電路圖,其解碼規(guī)則如表7所示。圖8給出了固定優(yōu)先級(jí)仲裁器的實(shí)現(xiàn)電路圖。請(qǐng)求信號(hào)714進(jìn)入一個(gè)優(yōu)先級(jí)編碼器810,編碼結(jié)果811再通過(guò)解碼器820得出仲裁的結(jié)果。圖8-b給出優(yōu)先級(jí)編碼器810的電路圖,其編碼規(guī)則如表8所示。圖8-c給出了解碼器820的電路圖,其解碼規(guī)則如表9所示。表7<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>仲裁結(jié)果128作為選擇器190的選擇信號(hào)選出數(shù)據(jù)131送入輸出通道控制中。輸出通道電路圖如圖IO所示。它將仲裁器輸出的是否有仲裁138作為對(duì)下一級(jí)通道的請(qǐng)求信號(hào)133,本地時(shí)鐘信號(hào)116作為下一級(jí)輸入通道的時(shí)鐘信號(hào)132傳輸?shù)较乱患?jí),數(shù)據(jù)131作為下一級(jí)通道的寫(xiě)數(shù)據(jù)134。同時(shí),它接收下一級(jí)通道的反饋信號(hào)135,將其與仲裁器輸出的仲裁結(jié)果128通過(guò)與門(mén)1010后得到對(duì)輸入通道的反饋127送入輸入虛通道控制160。通過(guò)上述一系列的操作,形成了一個(gè)分布式可測(cè)試路由器裝置。最后,還需要注意的是,以上列舉的僅是本發(fā)明的一個(gè)具體實(shí)施例。顯然,本發(fā)明不限于以上實(shí)施例,還可以有許多變形。本領(lǐng)域的普通技術(shù)人員能從本發(fā)明公開(kāi)的內(nèi)容直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認(rèn)為是本發(fā)明的保護(hù)范圍。權(quán)利要求1、一種分布式可測(cè)試片上網(wǎng)絡(luò)路由器,其特征在于包括通道數(shù)量可配制的多個(gè)物理傳輸通道,用于提供物理數(shù)據(jù)的傳輸,通道的寬度為一個(gè)微片寬度;輸入通道可提供多個(gè)虛通道,并為每個(gè)虛通道添加微片緩存;緩存寬度為一個(gè)微片寬度,深度可根據(jù)硬件資源進(jìn)行選擇;輸出通道不提供虛通道及緩存;同時(shí),每個(gè)輸入輸出通道提供控制邏輯以完成數(shù)據(jù)的接收轉(zhuǎn)發(fā);一個(gè)路由器配置通道,獨(dú)立于數(shù)據(jù)傳輸網(wǎng)絡(luò),支持路由器的連接性測(cè)試;多個(gè)通道鏈路控制器,完成對(duì)輸入請(qǐng)求的響應(yīng)及虛通道的分配,其數(shù)量與輸入通道數(shù)量一致;一個(gè)交叉開(kāi)關(guān),提供輸入虛通道到輸出通道之間的全連接;多個(gè)分布式路由控制器,分布在輸入虛通道處,根據(jù)通道中微片頭信息決定微片的轉(zhuǎn)發(fā)方向,其數(shù)量與虛通道數(shù)量一致;多個(gè)分布式仲裁器,分布在輸出通道中,在有多個(gè)輸入虛通道請(qǐng)求占用輸出通道時(shí)決定輸出通道的所有權(quán)歸屬,其數(shù)量與輸出通道數(shù)量一致。2、根據(jù)權(quán)利要求l所述的分布式可測(cè)試片上網(wǎng)絡(luò)路由器,其特征在于路由器工作在多個(gè)時(shí)鐘域,以適應(yīng)片上網(wǎng)絡(luò)中的時(shí)鐘要求;路由器的每個(gè)輸入通道均工作在各自的時(shí)鐘域,時(shí)鐘信號(hào)由上一級(jí)路由器或資源節(jié)點(diǎn)傳輸過(guò)來(lái),即輸入通道與上一級(jí)路由器或資源節(jié)點(diǎn)工作在同一個(gè)時(shí)鐘域;數(shù)據(jù)在進(jìn)入虛通道緩存單元后從輸入時(shí)鐘域轉(zhuǎn)換到本地時(shí)鐘域,路由器中的交叉開(kāi)關(guān)、分布式路由控制器、分布式仲裁器等部件均工作在本地時(shí)鐘域;路由器中的數(shù)據(jù)、轉(zhuǎn)發(fā)請(qǐng)求等信號(hào)與本地時(shí)鐘同步后傳輸?shù)骄W(wǎng)絡(luò)中;路由器的本地時(shí)鐘信號(hào)也跟隨數(shù)據(jù)信號(hào)一起傳輸?shù)较乱患?jí)路由器或是資源節(jié)點(diǎn)作為其輸入時(shí)鐘。3、根據(jù)權(quán)利要求2所述的分布式可測(cè)試片上網(wǎng)絡(luò)路由器,其特征在于提供對(duì)路由器連接性測(cè)試的支持;配置通道與片上數(shù)據(jù)傳輸網(wǎng)絡(luò)分離,不受數(shù)據(jù)傳輸網(wǎng)絡(luò)的影響;通過(guò)配置使路由器的特定通道連接起來(lái)而不受通道中微片影響,從而提供對(duì)路由器連接性的測(cè)試;路由器配制由網(wǎng)絡(luò)中的資源節(jié)點(diǎn)進(jìn)行,它可以是處理器、數(shù)字信號(hào)處理器或是專(zhuān)用的配制模塊。全文摘要本發(fā)明公開(kāi)了一種分布式可測(cè)試片上網(wǎng)絡(luò)路由器,包括通道數(shù)量可配制的多個(gè)物理傳輸通道,用于提供物理數(shù)據(jù)的傳輸;一個(gè)路由器配置通道,獨(dú)立于數(shù)據(jù)傳輸網(wǎng)絡(luò),支持路由器的連接性測(cè)試;多個(gè)通道鏈路控制器,完成對(duì)輸入請(qǐng)求的響應(yīng)及虛通道的分配;一個(gè)交叉開(kāi)關(guān),提供輸入虛通道到輸出通道之間的全連接;多個(gè)分布式路由控制器,分布在輸入虛通道處,根據(jù)通道中微片頭信息決定微片的轉(zhuǎn)發(fā)方向;多個(gè)分布式仲裁器,分布在輸出通道中,在有多個(gè)輸入虛通道請(qǐng)求占用輸出通道時(shí)決定輸出通道的所有權(quán)歸屬。本發(fā)明的路由器適用于多處理器系統(tǒng)芯片中片上網(wǎng)絡(luò)系統(tǒng),具有的可靠、高效、可測(cè)試、可擴(kuò)展的特性。文檔編號(hào)G06F15/16GK101232456SQ20081005934公開(kāi)日2008年7月30日申請(qǐng)日期2008年1月25日優(yōu)先權(quán)日2008年1月25日發(fā)明者鵬劉,夏冰潔,姚慶棟,王小航,項(xiàng)純昶申請(qǐng)人:浙江大學(xué)