FPGA 的多時(shí)鐘片上網(wǎng)絡(luò)設(shè)計(jì)_第1頁
FPGA 的多時(shí)鐘片上網(wǎng)絡(luò)設(shè)計(jì)_第2頁
FPGA 的多時(shí)鐘片上網(wǎng)絡(luò)設(shè)計(jì)_第3頁
FPGA 的多時(shí)鐘片上網(wǎng)絡(luò)設(shè)計(jì)_第4頁
FPGA 的多時(shí)鐘片上網(wǎng)絡(luò)設(shè)計(jì)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 FPGA 的多時(shí)鐘片上網(wǎng)絡(luò)設(shè)計(jì) 在FPGA 上設(shè)計(jì)一個(gè)高性能、靈活的、面積小的通信體系構(gòu)造是一項(xiàng)巨大的挑戰(zhàn)。大多數(shù)基于FPGA 的片上網(wǎng)絡(luò)都是運(yùn)行在一個(gè)單一時(shí)鐘下。隨著FPGA 技術(shù)的發(fā)展,Xilinx 公司推出了Virtex-4 平臺(tái)。該平臺(tái)支持同一時(shí)間內(nèi)32 個(gè)時(shí)鐘運(yùn)行,也就是說每個(gè)片上網(wǎng)絡(luò)的內(nèi)核可以在一個(gè)獨(dú)立的時(shí)鐘下運(yùn)行, 從而使每個(gè)路由器和IP 核都運(yùn)行在頻率上。因此適用于設(shè)計(jì)多時(shí)鐘片上網(wǎng)絡(luò),實(shí)現(xiàn)高性能分組交換片上網(wǎng)絡(luò)。 1 多時(shí)鐘片上網(wǎng)絡(luò)架構(gòu)的分析 片上網(wǎng)絡(luò)構(gòu)造包含了拓?fù)錁?gòu)造、流量控制、路由、緩沖以及仲裁。選擇合適網(wǎng)絡(luò)架構(gòu)方面的元素,將對(duì)片上網(wǎng)絡(luò)的性能

2、產(chǎn)生重大影響。 (1)網(wǎng)絡(luò)拓?fù)洌涸谠O(shè)計(jì)中,選擇Mesh 拓?fù)錁?gòu)造。Mesh構(gòu)造擁有的面積開銷以及低功耗的特點(diǎn)。此外,Mesh 的線性區(qū)的節(jié)點(diǎn)數(shù)量規(guī)模大以及通道較寬。同時(shí),Mesh 也能很好地映射到FPGA 下的底層路由構(gòu)造,降低了FPGA 邏輯擁塞和路由器的功耗。 (2)流控機(jī)制:虛擬直通和蟲洞技術(shù)(不像存儲(chǔ)轉(zhuǎn)發(fā))有數(shù)據(jù)包的延時(shí)與路徑長度成正比。然而,與復(fù)雜的蟲洞路由器相比, 虛擬直通的路由器更加適合于設(shè)計(jì)的實(shí)現(xiàn)。因此,選擇虛擬直通流量控制機(jī)制作為路由器的流量控制機(jī)制。相比較蟲洞機(jī)制,它能支持更高的吞吐量,在堵塞時(shí)能更有效地釋放緩存。此外,虛擬直通流量控制低延時(shí)的高信道利用率, 與此同時(shí)并不保

3、存物理通道。 (3)路由算法:選擇XY 算法作為設(shè)計(jì)所采用的路由算法。該算法中分組的路由只取決于源節(jié)點(diǎn)和目的節(jié)點(diǎn)的地址,而與網(wǎng)絡(luò)狀況無關(guān)。當(dāng)使用算法時(shí)首先在X 維上開展路由,當(dāng)?shù)竭_(dá)與目的節(jié)點(diǎn)同一列時(shí),轉(zhuǎn)向在Y 維上的路由,到達(dá)目的節(jié)點(diǎn)。該算法對(duì)硬件要求簡單和實(shí)現(xiàn)容易, 在網(wǎng)絡(luò)流量不大時(shí), 具有較小的時(shí)延,能夠有效防止死鎖和活鎖。 (4)仲裁機(jī)制:輸入端口分配是基于簡單的Roundrobin機(jī)制。上次接收或解決接收的端口會(huì)放在隊(duì)列的末端。切換時(shí)到下游的數(shù)據(jù)包。當(dāng)交換數(shù)據(jù)包時(shí),F(xiàn)IFO的虛擬通道也遵循這種機(jī)制。 2 路由器微節(jié)點(diǎn)構(gòu)造的設(shè)計(jì) 多時(shí)鐘片上網(wǎng)絡(luò)的路由器由5 個(gè)輸入端口、交叉點(diǎn)矩陣和中央的

4、仲裁器三部分組成。除了頭譯碼邏輯,5 個(gè)輸入端口都是相同的。由于設(shè)計(jì)中采取了虛擬通道流控機(jī)制(VCS),因此輸入端口就必須包含仲裁邏輯。與此同時(shí), 輸入端口還應(yīng)包含輸入緩沖區(qū)來存儲(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ù)包, 通過編碼將數(shù)據(jù)包的大我譯為

5、字段,作為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í)的流量控制。 2.2 輸入端口 路由器有5 個(gè)輸入端口, 通過端口分別與內(nèi)核及鄰近的路由器通信, 這5 個(gè)端口按在方位可分為本地(L),北(N),東(E),南(S),西(W)。每個(gè)輸入端口可以支持虛擬通道多路復(fù)用,相關(guān)聯(lián)的仲裁器,以及頭譯碼邏輯,從而作出路由決定。如圖1,輸入端口的3 個(gè)主要組成部分分別是虛擬通道選擇器、FIFO bRA

6、Ms 以及bRAM 仲裁器。虛擬通道選擇器:決定輸入端緩存的使用空間的決定權(quán)在虛擬通道選擇器。當(dāng)數(shù)據(jù)包大小以編碼形式傳播時(shí),虛擬通道選擇器接收數(shù)據(jù)包的首部。當(dāng)虛擬通道選擇器收到來自上游路由器或者來自自身的數(shù)據(jù)時(shí), 虛擬通道選擇器就會(huì)拿數(shù)據(jù)包的大小跟虛擬通道目前可以容納數(shù)據(jù)包的大小開展比較。這么做的目的是為了能夠使輸入的數(shù)據(jù)能夠符合FIFO 中write_count 的大小。如果有足夠的空間存在,則虛擬通道選擇器將同意輸入請(qǐng)求, 同時(shí)反應(yīng)信息。在此過程中,虛擬通道選擇器還設(shè)置了輸入端解復(fù)用器。解復(fù)用器的作用是使數(shù)據(jù)包從輸入通道傳輸?shù)秸_的復(fù)用器的輸入緩存中。FIFO bRAMs:在所設(shè)計(jì)的路由器

7、中,緩沖區(qū)的深度將參數(shù)化,在試驗(yàn)時(shí)同時(shí)將其深度設(shè)置為16 。這些緩存區(qū)將被作為bRAM FIFO 的存儲(chǔ)器,同時(shí)起到以下作用: (1)緩沖部分或者全部到來的數(shù)據(jù)包,以及當(dāng)下游開關(guān)可以用時(shí),傳送頭部及緊跟的flit。 (2)劃分路由器以及路由器的頻率,從而支持一個(gè)多時(shí)鐘的網(wǎng)絡(luò)設(shè)計(jì)。 (3)通過仲裁器監(jiān)察write_count 端口的信息,來實(shí)現(xiàn)支持可變化大小的數(shù)據(jù)包。在緩沖區(qū)有單獨(dú)時(shí)鐘域的情況時(shí), 就需要一種有效的方式實(shí)施完整的或者空的邏輯。通過以下方式使控制信號(hào)同步: (1)發(fā)送數(shù)據(jù)包粒度作為一小部分FIFO 的空間。 (2) 在一個(gè)時(shí)鐘周期內(nèi), 一個(gè)連接終止之前設(shè)置flit 的尾部位。在所使

8、用的FPGA 設(shè)計(jì)中,由于支持FIFO 的深度是16, 所以它適合于在虛擬直通中緩沖整個(gè)數(shù)據(jù)包。write_count 的空和滿狀態(tài)信號(hào)將集成在FIFO 中。在一個(gè)多數(shù)據(jù)包的緩沖區(qū)中加大存儲(chǔ)flit 的能力,將有助于提高FIFO 的利用率。此外,獲得網(wǎng)絡(luò)的吞吐量的增益,是由于上游連續(xù)包釋放緩沖區(qū)所促成的。 圖1 輸入端口設(shè)計(jì)圖 bRAM 仲裁器: 輸入端口還包含了控制邏輯作出的仲裁決定。當(dāng)選擇一個(gè)非空的bRAM 時(shí), 簡單的Round-robin 的方式仲裁算法將會(huì)啟用。當(dāng)選擇bRAM時(shí),F(xiàn)SM 將會(huì)送出頭部flit,解碼出它的目的地址,并發(fā)送相應(yīng)的要求。在所設(shè)計(jì)的路由器中采用XY 路由算法將

9、大大簡化了解碼器的邏輯構(gòu)造。根據(jù)XY 路由算法的通行路徑許可,即將釋放的請(qǐng)求線將會(huì)減少。 頭譯碼器:在XY 路由算法中,頭數(shù)據(jù)片一開始往X 軸方向走,當(dāng)?shù)竭_(dá)X 軸所在的目標(biāo)地址時(shí),就會(huì)往Y方向走。所有緊隨著的數(shù)據(jù)片將以流水線的方式跟著頭數(shù)據(jù)片移動(dòng)。這種簡便的XY 路由算法適用于減化頭解碼器、交叉點(diǎn)矩陣以及中央仲裁器的邏輯構(gòu)造。以上簡化得邏輯構(gòu)造將使FPGA 的芯片數(shù)顯著減少。 2.3 交叉點(diǎn)矩陣 設(shè)計(jì)一個(gè)多路交叉點(diǎn)矩陣, 目的是為了減少面積的使用。而另一種設(shè)計(jì)是支持復(fù)分解虛擬通道的交叉點(diǎn)連接。后一種方法,產(chǎn)生高網(wǎng)絡(luò)吞吐量,但要增加一個(gè)重要的復(fù)雜性開關(guān)。交叉點(diǎn)支持并行連接,以及被用于通過中央仲裁

10、器支持多個(gè)信號(hào)同時(shí)請(qǐng)求。并非所有的交叉點(diǎn)連接都是使用XY 路由算法。經(jīng)過邏輯優(yōu)化,如圖2 所示設(shè)計(jì)中實(shí)施簡單的4 和2 輸入多路復(fù)用器開關(guān)(分別是L、N、S、E 以及W 端口)。上述優(yōu)化方案減少了交叉點(diǎn)面積,使其使用的切片只有32 片。因此,到達(dá)路由器面積顯著減小的目的。 圖2 交叉點(diǎn)矩陣 輸入端口的分配方式將采用簡單的Round-robin仲裁機(jī)制。對(duì)上接收過的或沒有用到的端口將給予優(yōu)先級(jí),并排在隊(duì)列的末端。將通過以下的方式提高路由器的性能: (1)降低中央仲裁器的邏輯復(fù)雜度; (2)盡量集中仲裁器,以減少req/grant 信號(hào)的數(shù)量。 在設(shè)計(jì)中減少邏輯復(fù)雜度以及布線, 從而減少數(shù)據(jù)堵塞,

11、到達(dá)提高性能以及減低功耗的效果。 3 性能分析 利用Virtex-4 系列中XC4VLX100-11設(shè)備開展設(shè)計(jì), 利用Xilinx ISE 8.2i 開展綜合布局布線。使用ModelSim 6.1c驗(yàn)證所設(shè)計(jì)的功能。設(shè)置了單一時(shí)鐘和多時(shí)鐘開展了模擬,分析多時(shí)鐘片上網(wǎng)絡(luò)的性能。由于路由器是直接連接到內(nèi)核, 所以沒必要考慮片與片之間的延時(shí)而去估計(jì)的頻率。所設(shè)計(jì)是由一個(gè)路由功能模塊(RFM)執(zhí)行,用以準(zhǔn)確地估計(jì)工作頻率,基本路由器的單機(jī)版工作頻率可到達(dá)357MHz。因此8bits 通道的路由器的吞吐量可達(dá)2.85Gbits/s。在所設(shè)計(jì)的路由器中, 頭數(shù)據(jù)片前進(jìn)到下一個(gè)節(jié)點(diǎn),而剩下的數(shù)據(jù)片以流水線

12、方式流通。在計(jì)劃中,網(wǎng)絡(luò)延時(shí)僅僅與路徑長度H(跳躍點(diǎn)數(shù)量)有關(guān)。在信道爭用的情況下,網(wǎng)絡(luò)延時(shí)L 可以用以下方式計(jì)算: L = 7H + B/w (1) 公式(1)中,B 是數(shù)據(jù)包的字節(jié)數(shù),w 是每個(gè)時(shí)鐘周期轉(zhuǎn)換的字節(jié)數(shù)。參數(shù)7 是在多時(shí)鐘片上網(wǎng)絡(luò)路由器中安裝在每個(gè)路由器跳延遲支付。這個(gè)延時(shí)是因?yàn)榛跀?shù)據(jù)包中的頭數(shù)據(jù)片的解碼和仲裁執(zhí)行所導(dǎo)致的。 為了*估所設(shè)計(jì)的多時(shí)鐘架構(gòu)的性能, 將利用所設(shè)計(jì)的路由器的VHDL 模型,模擬一個(gè)33Mesh 構(gòu)造,在本身頻率下執(zhí)行包裝產(chǎn)生的數(shù)據(jù)包。路由器的頻率值會(huì)在拓?fù)錁?gòu)造合成,布局和布線階段完成之后得出。對(duì)于不同的配置(資源的可用性、跨路由器的距離、bRAM/dRAM FIFO 的版本),路由器的頻率可以降低高達(dá)18。圖3 顯示了單一時(shí)鐘與多時(shí)鐘,在延時(shí)與注射速率關(guān)系中的曲線圖。在單一時(shí)鐘時(shí),網(wǎng)絡(luò)的頻率為286MHz。而在多時(shí)鐘時(shí), 頻率的范圍是從286MHz357MHz。圖3 中,X 軸表示的注射率是在一個(gè)周期內(nèi)每個(gè)節(jié)點(diǎn)注入flit 的數(shù)量

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論