摘要:本文介紹了片上網(wǎng)絡(luò)的相關(guān)概念,采用2D Mesh拓撲結(jié)構(gòu)和XY路由算法,實現(xiàn)了一款用于構(gòu)建MPSoC的片上網(wǎng)絡(luò)。通過在EDK中構(gòu)建4個MicroBlaze核的處理器,并用片上網(wǎng)絡(luò)進行連接,最終在XUP Virtex-ⅡPro FPGA開發(fā)板上驗證了片上網(wǎng)絡(luò)的正確性。
關(guān)鍵詞:片上網(wǎng)絡(luò);MPSoC;MicroBlaze;FPGA
DOI: 10.3969/j.issn.1005-5517.2012.5.008
引言
隨著半導(dǎo)體集成電路以及片上多核技術(shù)的發(fā)展,片上系統(tǒng)(System On Chip,SoC)變得越來越復(fù)雜。傳統(tǒng)的基于總線的通信結(jié)構(gòu)具有可擴展性不強、結(jié)構(gòu)簡單以及當(dāng)IP核較多時布線比較復(fù)雜等缺點已經(jīng)成為了系統(tǒng)性能的瓶頸,難以滿足日益增長的片上系統(tǒng)內(nèi)部通信需求[1]。2001年,研究者們借鑒了計算機網(wǎng)絡(luò)的思想,提出了片上網(wǎng)絡(luò)(Network On Chip,NoC)這種全新的片上互聯(lián)架構(gòu)[2]。
目前關(guān)于片上網(wǎng)絡(luò)的研究主要包括拓撲結(jié)構(gòu)研究、路由算法研究以及模擬器研究等。盡管片上網(wǎng)絡(luò)的研究蓬勃發(fā)展,但是基于特定應(yīng)用的片上網(wǎng)絡(luò)的研究還比較少。本文用VHDL語言構(gòu)造出一個基于二維網(wǎng)格(2D Mesh)拓撲結(jié)構(gòu)以及XY路由算法的片上網(wǎng)絡(luò)。通過在EDK中構(gòu)建多個MicroBlaze IP核,并用片上網(wǎng)絡(luò)進行連接通信,最終在XUP Virtex-ⅡPro FPGA開發(fā)板上驗證了該
的輸出。該設(shè)計中每個節(jié)點連接的MicroBlaze核都對相應(yīng)位進行加1操作。假設(shè)MicroBlaze0節(jié)點接收的數(shù)據(jù)位a3a2a1a0,則a3對應(yīng)MicroBlaze3節(jié)點,a2對應(yīng)MicroBlaze2節(jié)點,a1對應(yīng)MicroBlaze1節(jié)點,a0對應(yīng)MicroBlaze0節(jié)點。通過驗證,實驗得到的數(shù)據(jù)如圖7所示。從圖中可以看出輸入的數(shù)據(jù)為0000,經(jīng)過每個MicroBlaze核進行計算后最后得到的輸出數(shù)據(jù)為1111。