一種基于FPGA的NoC驗證平臺的構(gòu)建
1.4 NoC軟件
NoC軟件主要完成對FPGA硬件平臺的初始化配置和信息收集及統(tǒng)計處理。根據(jù)功能劃分為2部分:
1)NoC測試部分 其基本功能包括對FPGA硬件平臺的各個IP中TG內(nèi)部配置寄存器的初始化配置,啟動產(chǎn)生數(shù)據(jù)流并注入到NoC中,同時對NoC的運(yùn)行情況進(jìn)行監(jiān)控,并實時收集與功能驗證和性能評估相關(guān)的信息。該軟件是在NiosⅡ的集成開發(fā)環(huán)境(IDE)下用C語言設(shè)計開發(fā)的,在GNU的編譯器下編譯之后形成可以下載到MPU上直接運(yùn)行的二進(jìn)制文件。
2)NoC性能統(tǒng)計處理部分 該部分的主要功能是借助于第三方繪圖工具按照NoC性能統(tǒng)計規(guī)則對收集到的數(shù)據(jù)進(jìn)行統(tǒng)計處理,并以圖表的方式直觀顯示NoC的基本功能和統(tǒng)計學(xué)性能。
以上兩部分都是在PC機(jī)上開發(fā)完成的,可應(yīng)用于對不同NoC的測試與驗證。這為基于FPGA的硬件驗證平臺增強(qiáng)了靈活性和實用性。
2 仿真驗證流程
該驗證平臺的驗證流程包括FPGA硬件平臺的構(gòu)建和對該硬件平臺的初始化配置以及NoC運(yùn)行之后的信息收集和統(tǒng)計處理。仿真驗證流程如圖3所示。
其流程簡述如下:1)根據(jù)硬件架構(gòu)思想和模塊化設(shè)計策略將用HDL語言描述的NoC連接到FPGA硬件平臺;2)初始化配置FPGA硬件平臺,在PC機(jī)上編寫NoC測試軟件,并通過Jtag線下載到MPU上運(yùn)行,配置TG產(chǎn)生指定流量,并注入到NoC中;3)當(dāng)FPGA平臺運(yùn)行時,即當(dāng)數(shù)據(jù)在NoC各個交換節(jié)點之間傳送或停止傳送時,用戶可以隨時改變配置以產(chǎn)生不同的流量,來測試NoC在不同流量下的性能,并隨時監(jiān)聽測試平臺的運(yùn)行情況;4)將TR收集到的數(shù)據(jù)在NiosⅡIDE的控制臺顯示,并保存數(shù)據(jù)。然后對收集到的數(shù)據(jù)進(jìn)行統(tǒng)計處理,并以圖形的方式直觀顯示待測NoC的性能。
3 NoC性能統(tǒng)計處理
在驗證平臺中,采用PC機(jī)對NoC中運(yùn)行之后相關(guān)的數(shù)據(jù)進(jìn)行處理,并借助于第三方工具將處理結(jié)果以圖形方式顯示,以直觀表示NoC的性能。該平臺對于課題組設(shè)計的Mesh結(jié)構(gòu)的NoC進(jìn)行了功能驗證和性能評估。
主要處理包括平均網(wǎng)絡(luò)吞吐量和最近收到的80個數(shù)據(jù)包從發(fā)送端到接收端的網(wǎng)絡(luò)平均延時以及誤碼統(tǒng)計,下面簡單介紹性能評估的方法:
1)網(wǎng)絡(luò)平均吞吐量 對于TR收集到的收包個數(shù)通過PC讀取之后,繪制性能曲線圖。以歸一化仿真時間為基準(zhǔn),以相同時間段中收集的數(shù)據(jù)包數(shù)目作為網(wǎng)絡(luò)總吞吐量。
式中,總運(yùn)行時間xlO%表示取歸一化時延的l/l0。
評論