《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于Virtex5的PCI-Express總線接口設(shè)計
基于Virtex5的PCI-Express總線接口設(shè)計
EEworld
摘要: 本文在研究PCI-Express接口協(xié)議和PCI-Express Endpoint Block硬核的基礎(chǔ)上,,使用Virtex5LXT50 FPGA芯片設(shè)計PCI Express接口硬件電路,,實現(xiàn)PCI-Express數(shù)據(jù)傳輸,。PCI Express是一種能夠應(yīng)用于點設(shè)備,、臺式電腦、工作站,、服務(wù)器,、嵌入式計算機和通信平臺等所有周邊I/O設(shè)備互連的總線。其拓?fù)浣Y(jié)構(gòu)如圖1所示,,其中包含ROOT COMPLEX(RC),、多個終端(I/O器件)、開關(guān)和PCI Express/PCI橋路,,它們通過PCI Express進(jìn)行互聯(lián),。
關(guān)鍵詞: FPGA Virtex5 PCI-Express 總線接口
Abstract:
Key words :

  PCI Express是由Intel,Dell,,Compaq,,IBM,,Microsoft等PCI SIG聯(lián)合成立的Arapahoe Work Group共同草擬并推舉成取代PCI總線標(biāo)準(zhǔn)的下一代標(biāo)準(zhǔn)。PCI Express利用串行的連接特點能輕松將數(shù)據(jù)傳輸速度提到一個很高的頻率,,達(dá)到遠(yuǎn)遠(yuǎn)超出PCI總線的傳輸速率,。一個PCI Express連接可以被配置成x1,x2,,x4,,x8,x12,,x16和x32的數(shù)據(jù)帶寬,。x1的通道能實現(xiàn)單向312.5 MB/s(2.5 Gb/s)的傳輸速率。Xilinx公司的Virtex5" title="Virtex5">Virtex5系列FPGA芯片內(nèi)嵌PCI-Express" title="PCI-Express">PCI-ExpressEndpoint Block硬核,,為實現(xiàn)單片可配置PCI-Express總線解決方案提供了可能,。

本文在研究PCI-Express接口協(xié)議和PCI-Express Endpoint Block硬核的基礎(chǔ)上,使用Virtex5LXT50 FPGA芯片設(shè)計PCI Express接口硬件電路,,實現(xiàn)PCI-Express數(shù)據(jù)傳輸,。

1 PCI Express的拓?fù)浣Y(jié)構(gòu)   

PCI Express是一種能夠應(yīng)用于點設(shè)備、臺式電腦,、工作站,、服務(wù)器、嵌入式計算機和通信平臺等所有周邊I/O設(shè)備互連的總線,。其拓?fù)浣Y(jié)構(gòu)如圖1所示,,其中包含ROOT COMPLEX(RC)、多個終端(I/O器件),、開關(guān)和PCI Express/PCI橋路,,它們通過PCI Express進(jìn)行互聯(lián)。

RC是I/O層次的根部,,將CPU/存儲器子系統(tǒng)與I/O相連,。RC可以支持一個或多個PCI Express端口,例如英特爾芯片組,。

開關(guān)定義為多個虛擬PCI之間的橋路器件的邏輯組,,它們使用一種基于地址路由的PCI橋路機制來傳遞執(zhí)行信息,例如IDT PCI Express開關(guān),。

端點是指能作為PCI Express執(zhí)行的請求者或完成者的那一類器件,,可以是PCI Express自身,也可以是一個非PCI Express器件,,例如連接在PCI Express上的圖形控制器。

PCIE總線保留了對于PCI局部總線協(xié)議全部軟件的向下兼容性,,即只要是PCIE的卡都可以插到支持PCI的操作系統(tǒng)上使用,;在硬件上,兩者不兼容,PCIE取代PCI,,PCI-X的并行多路總線結(jié)構(gòu),,采用一種串行、點到點的總線連接結(jié)構(gòu),,需要的接口更少,。

2 Virtex 5 Lxt PCIE Endpoint block   

Virtex 5 Lxt PCIE Endpoint block集成了PCIE協(xié)議中的物理層(PHY)、數(shù)據(jù)鏈接層(DLL)和傳輸層(TL),,同時它還實現(xiàn)了PCI-Express設(shè)備的功能配置寄存器,,其結(jié)構(gòu)框圖如圖2所示,包含有以下幾個接口:時鐘和復(fù)位接口,、配置和狀態(tài)接口,、電源管理接口、用戶接口和傳輸層接口,。

Virtex 5 Lxt PCIE Endpoint block具有PCI-Express的完整功能,,完全符合PCIe基本規(guī)格v1.1版要求,作為FPGA內(nèi)部的硬核,,它是可配置的PCIe端點解決方案,,大大增加設(shè)計的靈活性,降低設(shè)計的RNE費用,,并且支持1x,,2x,4x或8x通道的實現(xiàn),,為系統(tǒng)的功能擴張?zhí)峁┝擞行緩?;帶有?nèi)置PCIe端點模塊的Virtex-5 LXT FPGA芯片,能夠被用于任何一種外形的產(chǎn)品設(shè)計,,如表1所示,。

3 總線接口" title="總線接口">總線接口設(shè)計實現(xiàn)   

3.1 接口硬件設(shè)計   

接口硬件主要由主控FPGA模塊,電源管理模塊,,DDR高速緩存模塊,、和時鐘管理模塊組成。硬件結(jié)構(gòu)框圖如圖3所示,。

FPGA是整個設(shè)計的最關(guān)鍵部分,,主要實現(xiàn):PCI-Express硬核;在硬核的用戶接口和傳輸接口實現(xiàn)PCI-Express傳輸本地總線的時序邏輯,;并且在其內(nèi)部完成DDR控制時序邏輯,。FPGA是PCI-Express接口和DDR內(nèi)存單元數(shù)據(jù)傳輸?shù)耐ǖ馈_@里選擇XilinxVirtex5系列FPGA中的V5LX50T芯片,,封裝形式為FFGll36,。

在整個電路中,,F(xiàn)PGA的功耗最大,因此在電源模塊設(shè)計中,,重點考慮FPGA因素,。FPGA的功耗與設(shè)計有關(guān),主要取決于器件的型號,、設(shè)計的時鐘頻率,、內(nèi)部設(shè)計觸發(fā)器翻轉(zhuǎn)率和整個FPGA的資源利用率。這里使用Xilinx功耗分析工具XPower進(jìn)行功耗分析,,根據(jù)XPower提供的動態(tài)功耗和靜態(tài)功耗分析結(jié)果,,選擇TI公司的相關(guān)電源模塊。

DDR是比較常用的高速緩存單元,,這里選擇使用現(xiàn)代公司的HY5DU56822DT-D4,,在PCI-Express傳輸過程中,對時鐘的穩(wěn)定性要求很高,;Virtex5 FPGA內(nèi)部的CMT模塊的時鐘綜合處理能力可能達(dá)不到預(yù)想的效果,,這里使用專門的時鐘管理單元提供時鐘,選擇的是ICS874003芯片,,通過FPGA管腳控制其時鐘綜合的效果,。

3.2 軟件設(shè)計   

在實現(xiàn)PCI-Express數(shù)據(jù)傳輸過程中,構(gòu)建數(shù)據(jù)傳輸流程如圖4所示,。

數(shù)據(jù)從PC內(nèi)存通過PCI-Express接口向下傳輸?shù)紽PGA內(nèi)部,,F(xiàn)PGA內(nèi)部DDR控制邏輯再將數(shù)據(jù)傳輸?shù)降腄DR內(nèi)存芯片中存儲,向下傳輸完畢后,,F(xiàn)PGA內(nèi)部邏輯從DDR芯片中將存儲的數(shù)據(jù)讀出,,并且給每個數(shù)據(jù)按字節(jié)加‘1’,然后通過PCI-Express接口,,再將數(shù)據(jù)傳輸回PC內(nèi)存,,PC內(nèi)存程序?qū)?shù)據(jù)進(jìn)行校驗。

4 結(jié) 語   

Virtex5系列FPGA芯片內(nèi)嵌PCI-Express End-point Block硬核,,為實現(xiàn)單片可配置PCI-Express總線解決方案提供了可能,。基于Virtex5 FPGA的PCIExpress設(shè)計實現(xiàn)方式簡單,、配置靈活,,適合于各種應(yīng)用領(lǐng)域,降低了設(shè)計成本,,縮短了產(chǎn)品上市時間,,保證了產(chǎn)品的功能性和易用性,開創(chuàng)了高效率PCI Express開發(fā)的新時代,。

 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。