新聞中心

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

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

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

  2.2 輸入端口

  路由器有5 個輸入端口, 通過端口分別與內(nèi)核及鄰近的路由器, 這5 個端口按在方位可分為本地(L),北(N),東(E),南(S),西(W)。每個輸入端口可以支持虛擬通道多路復(fù)用,相關(guān)聯(lián)的仲裁器,以及頭譯碼邏輯,從而作出路由決定。如圖1,輸入端口的3 個主要組成部分分別是虛擬通道選擇器、FIFO bRAMs 以及bRAM 仲裁器。虛擬通道選擇器:決定輸入端緩存的使用空間的決定權(quán)在虛擬通道選擇器。當(dāng)數(shù)據(jù)包大小以編碼形式傳播時,虛擬通道選擇器接收數(shù)據(jù)包的首部。當(dāng)虛擬通道選擇器收到來自上游路由器或者來自自身核心的數(shù)據(jù)時, 虛擬通道選擇器就會拿數(shù)據(jù)包的大小跟虛擬通道目前可以容納數(shù)據(jù)包的大小進(jìn)行比較。這么做的目的是為了能夠使輸入的數(shù)據(jù)能夠符合FIFO 中write_count 的大小。如果有足夠的空間存在,則虛擬通道選擇器將同意輸入請求, 同時反饋信息。在此過程中,虛擬通道選擇器還設(shè)置了輸入端解復(fù)用器。解復(fù)用器的作用是使數(shù)據(jù)包從輸入通道傳輸?shù)秸_的復(fù)用器的輸入緩存中。FIFO bRAMs:在所設(shè)計(jì)的路由器中,緩沖區(qū)的深度將參數(shù)化,在試驗(yàn)時同時將其深度設(shè)置為16 。這些緩存區(qū)將被作為bRAM FIFO 的存儲器,同時起到以下作用:

  (1)緩沖部分或者全部到來的數(shù)據(jù)包,以及當(dāng)下游開關(guān)可以用時,傳送頭部及緊跟的flit。

 ?。?)劃分路由器核心以及路由器的頻率,從而支持一個的網(wǎng)絡(luò)設(shè)計(jì)。

 ?。?)通過仲裁器監(jiān)察write_count 端口的信息,來實(shí)現(xiàn)支持可變化大小的數(shù)據(jù)包。在緩沖區(qū)有單獨(dú)時鐘域的情況時, 就需要一種有效的方式實(shí)施完整的或者空的邏輯。通過以下方式使控制信號同步:

  (1)發(fā)送數(shù)據(jù)包粒度作為一小部分FIFO 的空間。

  (2) 在一個時鐘周期內(nèi), 一個連接終止之前設(shè)置flit 的尾部位。在所使用的 設(shè)計(jì)中,由于支持FIFO 的最小深度是16, 所以它適合于在虛擬直通中緩沖整個數(shù)據(jù)包。write_count 的空和滿狀態(tài)信號將集成在FIFO 中。在一個多數(shù)據(jù)包的緩沖區(qū)中加大存儲flit 的能力,將有助于提高FIFO 的利用率。此外,獲得網(wǎng)絡(luò)的吞吐量的增益,是由于上游連續(xù)包釋放緩沖區(qū)所促成的。

  圖1 輸入端口設(shè)計(jì)圖

  bRAM 仲裁器: 輸入端口還包含了控制邏輯作出的仲裁決定。當(dāng)選擇一個非空的bRAM 時, 簡單的Round-robin 的方式仲裁算法將會啟用。當(dāng)選擇bRAM時,F(xiàn)SM 將會送出頭部flit,解碼出它的目的地址,并發(fā)送相應(yīng)的要求。在所設(shè)計(jì)的路由器中采用XY 路由算法將大大簡化了解碼器的邏輯結(jié)構(gòu)。根據(jù)XY 路由算法的通行路徑許可,即將釋放的請求線將會減少。

  頭譯碼器:在XY 路由算法中,頭數(shù)據(jù)片一開始往X 軸方向走,當(dāng)?shù)竭_(dá)X 軸所在的目標(biāo)地址時,就會往Y方向走。所有緊隨著的數(shù)據(jù)片將以流水線的方式跟著頭數(shù)據(jù)片移動。這種簡便的XY 路由算法適用于減化頭解碼器、交叉點(diǎn)矩陣以及中央仲裁器的邏輯結(jié)構(gòu)。以上簡化得邏輯結(jié)構(gòu)將使 的芯片數(shù)顯著減少。



評論


相關(guān)推薦

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

關(guān)閉