新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于FPGA的多時(shí)鐘片上網(wǎng)絡(luò)研究與設(shè)計(jì)

一種基于FPGA的多時(shí)鐘片上網(wǎng)絡(luò)研究與設(shè)計(jì)

作者: 時(shí)間:2010-09-14 來(lái)源:網(wǎng)絡(luò) 收藏

  在 上設(shè)計(jì)一個(gè)高性能、靈活的、面積小的體系結(jié)構(gòu)是一項(xiàng)巨大的挑戰(zhàn)。大多數(shù)基于都是運(yùn)行在一個(gè)單一時(shí)鐘下。隨著 技術(shù)的發(fā)展,Xilinx 公司推出了-4 平臺(tái)。該平臺(tái)支持同一時(shí)間內(nèi)32 個(gè)時(shí)鐘運(yùn)行,也就是說(shuō)每個(gè)的內(nèi)核可以在一個(gè)獨(dú)立的時(shí)鐘下運(yùn)行, 從而使每個(gè)路由器和IP 核都運(yùn)行在最佳頻率上。因此適用于設(shè)計(jì),實(shí)現(xiàn)高性能分組交換片上網(wǎng)絡(luò)。

  1 片上網(wǎng)絡(luò)架構(gòu)的分析

  片上網(wǎng)絡(luò)結(jié)構(gòu)包含了拓?fù)浣Y(jié)構(gòu)、流量控制、路由、緩沖以及仲裁。選擇合適網(wǎng)絡(luò)架構(gòu)方面的元素,將對(duì)片上網(wǎng)絡(luò)的性能產(chǎn)生重大影響。

 ?。?)網(wǎng)絡(luò)拓?fù)洌涸谠O(shè)計(jì)中,選擇Mesh 拓?fù)浣Y(jié)構(gòu)。Mesh結(jié)構(gòu)擁有最小的面積開銷以及低功耗的特點(diǎn)。此外,Mesh 的線性區(qū)的節(jié)點(diǎn)數(shù)量規(guī)模大以及通道較寬。同時(shí),Mesh 也能很好地映射到FPGA 下的底層路由結(jié)構(gòu),降低了FPGA 邏輯擁塞和路由器的功耗。

 ?。?)流控機(jī)制:虛擬直通和蟲洞技術(shù)(不像存儲(chǔ)轉(zhuǎn)發(fā))有數(shù)據(jù)包的延時(shí)與路徑長(zhǎng)度成正比。然而,與復(fù)雜的蟲洞路由器相比, 虛擬直通的路由器更加適合于設(shè)計(jì)的實(shí)現(xiàn)。因此,選擇虛擬直通流量控制機(jī)制作為路由器的流量控制機(jī)制。相比較蟲洞機(jī)制,它能支持更高的吞吐量,在堵塞時(shí)能更有效地釋放緩存。此外,虛擬直通流量控制低延時(shí)的高信道利用率, 與此同時(shí)并不保留物理通道。

 ?。?)路由算法:選擇XY 算法作為設(shè)計(jì)所采用的路由算法。該算法中分組的路由只取決于源節(jié)點(diǎn)和目的節(jié)點(diǎn)的地址,而與網(wǎng)絡(luò)狀況無(wú)關(guān)。當(dāng)使用算法時(shí)首先在X 維上進(jìn)行路由,當(dāng)?shù)竭_(dá)與目的節(jié)點(diǎn)同一列時(shí),轉(zhuǎn)向在Y 維上的路由,最后到達(dá)目的節(jié)點(diǎn)。該算法對(duì)硬件要求簡(jiǎn)單和實(shí)現(xiàn)容易, 在網(wǎng)絡(luò)流量不大時(shí), 具有較小的時(shí)延,能夠有效避免死鎖和活鎖。

 ?。?)仲裁機(jī)制:輸入端口分配是基于簡(jiǎn)單的Roundrobin[3]機(jī)制。上次接收或解決接收的端口會(huì)放在隊(duì)列的末端。切換時(shí)到下游的數(shù)據(jù)包。當(dāng)交換數(shù)據(jù)包時(shí),F(xiàn)IFO的虛擬通道也遵循這種機(jī)制。

  2 路由器微節(jié)點(diǎn)結(jié)構(gòu)的設(shè)計(jì)

  片上網(wǎng)絡(luò)的路由器由5 個(gè)輸入端口、交叉點(diǎn)矩陣和中央的仲裁器三部分組成。除了頭譯碼邏輯,5 個(gè)輸入端口都是相同的。由于設(shè)計(jì)中采取了虛擬通道流控機(jī)制(VCS),因此輸入端口就必須包含仲裁邏輯。與此同時(shí), 輸入端口還應(yīng)包含輸入緩沖區(qū)來(lái)存儲(chǔ)輸入的數(shù)據(jù)包。

  2.1 數(shù)據(jù)包

  利用Xilinx block RAM, 設(shè)置深度為16 的FIFO(先入先出隊(duì)列),數(shù)據(jù)包的大小能在24 位與128 位之間變化,每個(gè)數(shù)據(jù)包HEADER(包頭)占用一個(gè)flit(數(shù)據(jù)片)。flit 的大小固定在8 位。數(shù)據(jù)包頭包含路由目標(biāo)地址、flit 的類型以及部分?jǐn)?shù)據(jù)包。設(shè)計(jì)中采用的虛擬直通流量控制需要1 位去指定數(shù)據(jù)片的類型。路由器支持可變化大小的數(shù)據(jù)包, 通過(guò)編碼將數(shù)據(jù)包的大小編譯為字段,作為bRAM 所需要的部分,放在數(shù)據(jù)包頭部。每個(gè)IP 核的網(wǎng)絡(luò)接口(NI)起到存儲(chǔ)在數(shù)據(jù)包頭部的信息的作用。當(dāng)需要更高粒度數(shù)據(jù)包時(shí),部分?jǐn)?shù)據(jù)包的位數(shù)以及寬度將會(huì)相應(yīng)的增加。增加部分?jǐn)?shù)據(jù)包的位數(shù)的同時(shí)也提高了緩存的利用率。數(shù)據(jù)包首部保留的位數(shù)將用于實(shí)現(xiàn)基于優(yōu)先級(jí)的流量控制。


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉