一種片上網(wǎng)絡(luò)運行過程重現(xiàn)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種面向片上網(wǎng)絡(luò)的監(jiān)控分析方法及系統(tǒng),尤其設(shè)及一種片上網(wǎng)絡(luò)運 行過程重現(xiàn)方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著集成工藝的進(jìn)步,片上系統(tǒng)(System-on-化ip,SoC)中集成的功能單元的種 類和數(shù)量迅速增加。傳統(tǒng)的共享通信結(jié)構(gòu)和直接通信結(jié)構(gòu)都不能很好地應(yīng)對片上多核間日 益增長的通信壓力。片上網(wǎng)絡(luò)(Network-on-化ip,NoC)是一種新型的片上多核間通信結(jié) 構(gòu),相較與傳統(tǒng)的通信結(jié)構(gòu),片上網(wǎng)絡(luò)能夠體統(tǒng)更高的帶寬和靈活性,同時在性能和代價之 間得到更好的平衡。
[0003] 片上網(wǎng)絡(luò)傳遞的基本數(shù)據(jù)單位是微片(flit),多個微片可W構(gòu)成一個數(shù)據(jù)包。每 個微片分為頭部和負(fù)載,頭部包含的進(jìn)行路由計算需要的信息。片上網(wǎng)絡(luò)路由器是片上網(wǎng) 絡(luò)的基本組成結(jié)構(gòu),其內(nèi)部結(jié)構(gòu)可W分為控制通道和數(shù)據(jù)通道構(gòu)成。數(shù)據(jù)通道包括微片輸 入端口、輸入緩存、交換單元、輸出寄存器(或緩存)、微片輸出端口??刂仆ǖ腊ň彺婵?制電路、路由計算電路、交換仲裁電路、交換控制電路、時鐘電路W及實時故障檢測電路等 可選電路組成。從微片進(jìn)入路由器開始,需要經(jīng)過輸入緩沖排隊、路由計算(RC)、虛通道仲 裁(VA)、交換仲裁(SA)、交換傳遞(ST)等過程,最后或者送給網(wǎng)絡(luò)接口(NI),或者傳遞給下 一級路由器。
[0004] 與一般的ASIC/SoC忍片不同,片上網(wǎng)絡(luò)由于運行過程中狀態(tài)變化極其復(fù)雜,因而 需要監(jiān)控許多路由器內(nèi)部的細(xì)節(jié)操作行為和特定數(shù)據(jù)包的路徑等微觀信息,W便能夠全面 檢查并準(zhǔn)確定位設(shè)計中的故障或錯誤。因此設(shè)計一套實用化的重現(xiàn)并分析片上網(wǎng)絡(luò)運行狀 態(tài)和過程的系統(tǒng)具有重要意義。 陽0化]在現(xiàn)有的片上網(wǎng)絡(luò)開發(fā)工具和監(jiān)控方法中,信息呈現(xiàn)形式的單一??菰锏臄?shù)字事 實上成為設(shè)計者查找錯誤的最大障礙。開發(fā)者需要人工完成對數(shù)據(jù)的翻譯,才能開始分析 網(wǎng)絡(luò)的正確性。通過提取到運行過程中大量微觀數(shù)據(jù)和狀態(tài),同時進(jìn)行必要圖形化的重現(xiàn) 和回放W直接呈現(xiàn)其物理含義,對開發(fā)人員完成片上網(wǎng)絡(luò)的FPGA原型驗證具有極大的意 義。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,針對片上網(wǎng)絡(luò)設(shè)計開發(fā)過程中仿真和驗 證環(huán)節(jié),提出了一種對片上網(wǎng)絡(luò)運行過程進(jìn)行記錄、并利用圖形化界面直觀和形象地重現(xiàn) 片上網(wǎng)絡(luò)運行過程、及對設(shè)計錯誤和缺陷進(jìn)行診斷的方法及系統(tǒng)。
[0007] 本發(fā)明的目的是通過W下技術(shù)方案來實現(xiàn)的:一種片上網(wǎng)絡(luò)運行過程重現(xiàn)方法, 它包括W下步驟:
[0008] Sl :從片上網(wǎng)絡(luò)仿真器或驗證平臺獲取片上網(wǎng)絡(luò)配置參數(shù)和運行日志數(shù)據(jù);
[0009] S2 :根據(jù)步驟Sl中獲取的片上網(wǎng)絡(luò)配置參數(shù),繪制網(wǎng)絡(luò)拓?fù)浜吐酚善鳎?br>[0010]S3:根據(jù)步驟SI獲取的運行日志數(shù)據(jù),在步驟S2中繪制的網(wǎng)絡(luò)拓?fù)渖?,通過圖像 化界面重現(xiàn)片上網(wǎng)絡(luò)行為;
[0011]S4:利用步驟S3中重現(xiàn)的片上網(wǎng)絡(luò)行為,觀察路由器行為并對片上網(wǎng)絡(luò)進(jìn)行診斷 分析,并且調(diào)試片上網(wǎng)絡(luò)。
[0012] 所述的片上網(wǎng)絡(luò)配置參數(shù)包括網(wǎng)絡(luò)通用配置參數(shù)和路由器配置參數(shù);所述的網(wǎng)絡(luò) 通用配置參數(shù)包括網(wǎng)絡(luò)拓?fù)?、網(wǎng)絡(luò)大小、物理端口數(shù)量W及每個物理端口的虛通道數(shù)量、輸 入緩存大小、輸出緩存大?。凰龅穆酚善髋渲脜?shù)包括路由器編號、路由器位置、物理端 口數(shù)量W及每個物理端口的虛通道數(shù)量、輸入緩存大小、輸出緩存大小、端口連接的鄰居路 由器和端口。
[0013] 運行日志數(shù)據(jù)記錄了片上網(wǎng)絡(luò)的各種行為,按照事件的觸發(fā)時間先后順序排列, 包括特定字段構(gòu)成的事件記錄;所述的事件記錄包括:
[0014] (1)微片接收事件,一個路由器接從一個端口收到一個微片;
[0015] (2)微片交換事件,一個微片從路由器的一個輸入端口通過交換電路到達(dá)一個輸 出端口;
[0016] (3)微片發(fā)送事件,一個路由器向一個端口發(fā)出一個微片; 陽017] (4)端口請求事件,輸入端口進(jìn)行路由計算,并向輸出端口發(fā)送請求;
[0018] (5)端口綁定事件,經(jīng)過虛通道仲裁、交換仲裁后,將某個輸出端口與輸入端口綁 定;
[0019] (6)端口解綁定事件,數(shù)據(jù)包通過交換矩陣后,將輸入端口與輸出端口解綁定;
[0020] (7)端口狀態(tài)變化事件。
[0021] 所述的字段包括事件的字段和微片的字段;所述的事件的字段包括事件觸發(fā)時 間、事件類型、源路由器編號、源物理端口號、源虛通道號、目的路由器編號、目的物理端口 號、目的虛通道號、數(shù)據(jù)包大?。凰龅奈⑵淖侄伟ㄎ⑵幪?、數(shù)據(jù)包大小、微片類型、 微片源地址、微片目的地址、微片生成時間。
[0022] 步驟S2中所述的繪制路由器過程為:
[0023]首次繪制一個正八邊形作為路由器,該正八邊形的任一邊均可繪制長方形的端口 緩存,端口緩存的寬與路由器的一個邊重合,運樣做是為了繪制復(fù)雜的或非規(guī)則的網(wǎng)絡(luò)拓 撲;用不同顏色標(biāo)識端口緩存是否為滿。
[0024]其次,在端口緩存內(nèi)繪制長方型微片,端口緩存的長等于:微片寬度與端口緩存內(nèi) 單元數(shù)的乘積;運樣,微片可W依次排列在端口緩存中,且放置的微片數(shù)量就是端口緩存內(nèi) 單元數(shù)量;
[0025]最后,路由器的輸入端口與輸出端口的請求和綁定關(guān)系用從路由器的輸入端口緩 存到路由器的輸出端口緩存的箭頭繪出,并且通過不同的線條分別表示端口請求和端口綁 定關(guān)系。具體地,用虛線表示端口請求,用粗實線表示端口綁定。
[00%] 根據(jù)網(wǎng)絡(luò)拓?fù)鋮?shù)繪制路由器,并通過端口到端口的箭頭鏈接不同的路由器,表 示網(wǎng)絡(luò)拓?fù)?。輸入和輸出端口的連接分別用箭頭標(biāo)識。
[0027]片上網(wǎng)絡(luò)為數(shù)字電路,由時鐘信號驅(qū)動。重現(xiàn)過程展示每個時鐘周期的網(wǎng)絡(luò)和路 由器狀態(tài)。重現(xiàn)網(wǎng)絡(luò)運行即連續(xù)地,按照用戶指定的時間間隔,將各個時刻的片上網(wǎng)絡(luò)狀態(tài) 繪制出來。
[0028] 步驟S3所述的重現(xiàn)片上網(wǎng)絡(luò)行為包括連續(xù)地按照用戶指定的時間間隔,將各個 時刻的片上網(wǎng)絡(luò)狀態(tài)繪制出來:需要第t個時鐘周期的網(wǎng)絡(luò)狀態(tài),則重現(xiàn)時間不晚于第t個 時鐘周期的所有事件;如果要重現(xiàn)下一周期即t+1個時鐘周期的網(wǎng)絡(luò)狀態(tài),則重現(xiàn)晚于第t 個時鐘周期而不晚于第t+1個時鐘周期的事件;如果要重現(xiàn)上一周期即t-1個時鐘周期的 網(wǎng)絡(luò)狀態(tài),則需要撤銷晚于第t-1個時鐘周期而不晚于第t個時鐘周期的事件。
[0029] 片上網(wǎng)絡(luò)運行過程中,需要監(jiān)控的器件包括:輸入緩存和輸出緩存內(nèi)單元的微片 頭部、路由計算結(jié)果和交換綁定矩陣。片上網(wǎng)絡(luò)的行為通過網(wǎng)絡(luò)事件進(jìn)行記錄。
[0030] 步驟S3所述的重現(xiàn)片上網(wǎng)絡(luò)行為包括:
[0031] (1)對于微片接收事件:重現(xiàn)操作:在輸入緩存尾部增加一個微片;撤銷操作:將 輸入緩存中的最后一個微片擦除;
[0032] (2)對于微片交換事件,重現(xiàn)操作:將輸入緩存中的第一個微片擦除,并且在輸出 緩存的尾部增加一個微片;撤銷操作:將輸出緩存中的最后一個微片擦除并且在輸入緩存 的頭部增加一個微片;
[0033] (3)對于微片發(fā)送事件:重現(xiàn)操作:將輸出緩存的第一個微片擦除;撤銷操作:在 輸出緩存的頭部插入此微片;
[0034] (4)對于端口請求事件:重現(xiàn)操作:用虛線箭頭連接輸入端口和輸出端口,表示路 由請求;撤銷操作:刪除連接輸入端口和輸出端口的虛線箭頭;
[00對 妨對于端口綁定事件:重現(xiàn)操作:用粗實線箭頭連接輸入端口和輸出端口,表示 端口綁定;撤銷操作:刪除連接輸入端口和輸出端口的粗實線箭頭;
[0036] (6)對于端口解綁定事件:重現(xiàn)操作:擦除連接輸入端口和輸出端口用的粗實線, 表示端口沒有綁定;撤銷操作:用粗實線箭頭連接輸入端口和輸出端口;
[0037] (7)對于端口狀態(tài)變化事件:重現(xiàn)和撤銷操作:改變端口緩存上標(biāo)注的狀態(tài)名稱。
[0038] 所述的圖像化面板包括重現(xiàn)窗口、重現(xiàn)控制面板和路由器監(jiān)視面板;重現(xiàn)窗口繪 制有片上網(wǎng)絡(luò)的路由器或拓?fù)溥B接,W及網(wǎng)絡(luò)狀態(tài);步驟S3通過重現(xiàn)控制面板控制重現(xiàn)下 一時鐘周期或上一時鐘周期的網(wǎng)絡(luò)狀態(tài),同時還包括設(shè)定時間自動向后或向前播放;步驟 S3還通過路由器監(jiān)視面板,展示某個路由器所有緩存內(nèi)微片的頭部信息,跟蹤微片的流動。
[0039] 所述的步驟S4包括定位子步驟、監(jiān)視子步驟和診斷子步驟;
[0040] S41 :定位子步驟:利用向前、向后連續(xù)播放的功能快速檢索故障;通過定位,找到 出現(xiàn)故障的時間、路由器和數(shù)據(jù)包;
[0041] S42 :監(jiān)視子步驟:利用按時間周