摘 要:PCI Express技術已成為PC桌面電腦和圖形設備的標準互聯總線,占據著主要市場。它作為第三代I/O總線互聯技術開始取代PCI,PCI-X技術,成為最主要的高速互聯技術,其已應用在服務器、移動設備、工作站、網絡設備、通信設備、工業控制設備、圖形設備等領域。通過分析PCI Express協議原理和Virtex5 Lxt PCIE Endpoint block硬核模塊結構功能,設計基于Virtex5 lx50t硬件板卡,實現了PCI Express的數據傳輸。
關鍵詞:PCI Express;Virtex5 硬核;高速互聯技術;數據傳輸
中圖分類號:TP334文獻標識碼:B文章編號:1004373X(2008)2010703
PCI-Express Bus Interface Design Based on Virtex5
LIU Kai,XU Xin
(National University of Defense Technology,Changsha,410073,China)
Abstract:Dominating the desktop PC motherboard and graphics markets,the PCI Express (PCIe) interconnect is poised to supplant PCI and PCI-X as the dominant high-bandwidth interconnect for the server,enterprise,mobile,workstation,networking,communications,industrial control and medical equipment markets.The PCI-Express specification is analysed,and the structure and function of Virtex5 Lxt PCIE Endpoint block hard core are tested in this article.A hardware card based on Virtex5 Lxt chip is designed,the data transform of PCI-Express bus is implemented.
Keywords:PCI Express;Virtex5 hardcore;high speed interconnect technic;data transmission
PCI Express是由Intel,Dell,Compaq,IBM,Microsoft等PCI SIG聯合成立的Arapahoe Work Group共同草擬并推舉成取代PCI總線標準的下一代標準。PCI Express利用串行的連接特點能輕松將數據傳輸速度提到一個很高的頻率,達到遠遠超出PCI總線的傳輸速率。一個PCI Express連接可以被配置成x1,x2,x4,x8,x12,x16和x32的數據帶寬。x1的通道能實現單向312.5 MB/s(2.5 Gb/s)的傳輸速率。Xilinx公司的Virtex5系列FPGA芯片內嵌PCI-Express Endpoint Block硬核,為實現單片可配置PCI-Express總線解決方案提供了可能。
本文在研究PCI-Express接口協議和PCI-Express Endpoint Block硬核的基礎上,使用Virtex5 LXT50 FPGA芯片設計PCI Express接口硬件電路,實現PCI-Express數據傳輸。
1 PCI Express的拓撲結構
PCI Express是一種能夠應用于點設備、臺式電腦、工作站、服務器、嵌入式計算機和通信平臺等所有周邊I/O設備互連的總線。其拓撲結構如圖1所示,其中包含ROOT COMPLEX(RC)、多個終端(I/O器件)、開關和PCI Express/PCI 橋路,它們通過 PCI Express 進行互聯。

RC是I/O層次的根部,將CPU/存儲器子系統與I/O相連。RC可以支持一個或多個PCI Express 端口,例如英特爾芯片組。
開關定義為多個虛擬 PCI 之間的橋路器件的邏輯組,它們使用一種基于地址路由的 PCI 橋路機制來傳遞執行信息,例如 IDT PCI Express 開關。
端點是指能作為 PCI Express 執行的請求者或完成者的那一類器件,可以是 PCI Express自身,也可以是一個非 PCI Express 器件,例如連接在 PCI Express 上的圖形控制器。
PCIE總線保留了對于PCI局部總線協議全部軟件的向下兼容性,即只要是PCIE的卡都可以插到支持PCI的操作系統上使用;在硬件上,兩者不兼容,PCIE取代PCI,PCI-X的并行多路總線結構,采用一種串行、點到點的總線連接結構,需要的接口更少。
2 Virtex 5 Lxt PCIE Endpoint block
Virtex 5 Lxt PCIE Endpoint block集成了PCIE協議中的物理層(PHY)、數據鏈接層(DLL)和傳輸層(TL),同時它還實現了PCI-Express設備的功能配置寄存器,其結構框圖如圖2所示,包含有以下幾個接口:時鐘和復位接口、配置和狀態接口、電源管理接口、用戶接口和傳輸層接口。
Virtex 5 Lxt PCIE Endpoint block具有PCI-Express的完整功能,完全符合 PCIe 基本規格 v1.1 版要求,作為FPGA內部的硬核,它是可配置的PCIe端點解決方案,大大增加設計的靈活性,降低設計的RNE費用,并且支持1x,2x,4x或8x通道的實現,為系統的功能擴張提供了有效途徑;帶有內置PCIe 端點模塊的Virtex-5 LXT FPGA芯片,能夠被用于任何一種外形的產品設計,如表1所示。

3 總線接口設計實現
3.1 接口硬件設計
接口硬件主要由主控FPGA模塊,電源管理模塊,DDR高速緩存模塊、和時鐘管理模塊組成。硬件結構框圖如圖3所示。
FPGA是整個設計的最關鍵部分,主要實現PCI-Express硬核;在硬核的用戶接口和傳輸接口實現PCI-Express傳輸本地總線的時序邏輯;并且在其內部完成DDR控制時序邏輯。FPGA是PCI-Express接口和DDR內存單元數據傳輸的通道。這里選擇Xilinx Virtex5系列FPGA中的V5LX50T芯片,封裝形式為FFG1136。
在整個電路中,FPGA的功耗最大,因此在電源模塊設計中,重點考慮FPGA因素。FPGA的功耗與設計有關,主要取決于器件的型號、設計的時鐘頻率、內部設計觸發器翻轉率和整個FPGA的資源利用率。

這里使用Xilinx功耗分析工具XPower進行功耗分析,根據XPower提供的動態功耗和靜態功耗分析結果,選擇TI公司的相關電源模塊。
DDR是比較常用的高速緩存單元,這里選擇使用現代公司的HY5DU56822DT-D4, 在PCI-Express傳輸過程中,對時鐘的穩定性要求很高;Virtex5 FPGA內部的CMT模塊的時鐘綜合處理能力可能達不到預想的效果,這里使用專門的時鐘管理單元提供時鐘,選擇的是ICS874003芯片,通過FPGA管腳控制其時鐘綜合的效果。
3.2 軟件設計
在實現PCI-Express數據傳輸過程中,構建數據傳輸流程如圖4所示。


數據從PC 內存通過PCI-Express接口向下傳輸到FPGA內部,FPGA內部DDR控制邏輯再將數據傳輸到的DDR內存芯片中存儲,向下傳輸完畢后,FPGA內部邏輯從DDR芯片中將存儲的數據讀出,并且給每個數據按字節加‘1’,然后通過PCI-Express接口,再將數據傳輸回PC內存,PC內存程序對數據進行校驗。
4 結 語
Virtex5系列FPGA芯片內嵌PCI-Express Endpoint Block硬核,為實現單片可配置PCI-Express總線解決方案提供了可能。基于Virtex5 FPGA的PCI Express設計實現方式簡單、配置靈活,適合于各種應用領域,降低了設計成本,縮短了產品上市時間,保證了產品的功能性和易用性,開創了高效率PCI Express開發的新時代。
參考文獻
[1]Doug Kern.Introducing the Virtex-5 PCI Express Endpoint Block.www.xilinx.com,2007.
[2]PCI ExpressTM Base Specification Revision 1.0a.www.pcisig.com,2003.
[3]Virtex-5 LogiCORE Endpoint Block for PCI Express Designs User Guide.www.xilinx.com,2007.
[4]ML555 Board User Guide.www.xilinx.com,2007.
[5]LogiCORE Endpoint solutions for PCI Express,www.xilinx.com,2007.
[6]Virtex-5 PCB Designer′s Guide.www.xilinx.com,2007.
作者簡介 劉 凱 男,1982年出生,湖南人,國防科技大學電子科學與工程學院助教。主要研究方向為嵌入式系統及其實現技術。