摘 要:PCI Express技術(shù)已成為PC桌面電腦和圖形設(shè)備的標(biāo)準(zhǔn)互聯(lián)總線,占據(jù)著主要市場(chǎng)。它作為第三代I/O總線互聯(lián)技術(shù)開(kāi)始取代PCI,PCI-X技術(shù),成為最主要的高速互聯(lián)技術(shù),其已應(yīng)用在服務(wù)器、移動(dòng)設(shè)備、工作站、網(wǎng)絡(luò)設(shè)備、通信設(shè)備、工業(yè)控制設(shè)備、圖形設(shè)備等領(lǐng)域。通過(guò)分析PCI Express協(xié)議原理和Virtex5 Lxt PCIE Endpoint block硬核模塊結(jié)構(gòu)功能,設(shè)計(jì)基于Virtex5 lx50t硬件板卡,實(shí)現(xiàn)了PCI Express的數(shù)據(jù)傳輸。
關(guān)鍵詞:PCI Express;Virtex5 硬核;高速互聯(lián)技術(shù);數(shù)據(jù)傳輸
中圖分類號(hào):TP334文獻(xiàn)標(biāo)識(shí)碼:B文章編號(hào):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聯(lián)合成立的Arapahoe Work Group共同草擬并推舉成取代PCI總線標(biāo)準(zhǔn)的下一代標(biāo)準(zhǔn)。PCI Express利用串行的連接特點(diǎn)能輕松將數(shù)據(jù)傳輸速度提到一個(gè)很高的頻率,達(dá)到遠(yuǎn)遠(yuǎn)超出PCI總線的傳輸速率。一個(gè)PCI Express連接可以被配置成x1,x2,x4,x8,x12,x16和x32的數(shù)據(jù)帶寬。x1的通道能實(shí)現(xiàn)單向312.5 MB/s(2.5 Gb/s)的傳輸速率。Xilinx公司的Virtex5系列FPGA芯片內(nèi)嵌PCI-Express Endpoint Block硬核,為實(shí)現(xiàn)單片可配置PCI-Express總線解決方案提供了可能。
本文在研究PCI-Express接口協(xié)議和PCI-Express Endpoint Block硬核的基礎(chǔ)上,使用Virtex5 LXT50 FPGA芯片設(shè)計(jì)PCI Express接口硬件電路,實(shí)現(xiàn)PCI-Express數(shù)據(jù)傳輸。
1 PCI Express的拓?fù)浣Y(jié)構(gòu)
PCI Express是一種能夠應(yīng)用于點(diǎn)設(shè)備、臺(tái)式電腦、工作站、服務(wù)器、嵌入式計(jì)算機(jī)和通信平臺(tái)等所有周邊I/O設(shè)備互連的總線。其拓?fù)浣Y(jié)構(gòu)如圖1所示,其中包含ROOT COMPLEX(RC)、多個(gè)終端(I/O器件)、開(kāi)關(guān)和PCI Express/PCI 橋路,它們通過(guò) PCI Express 進(jìn)行互聯(lián)。
RC是I/O層次的根部,將CPU/存儲(chǔ)器子系統(tǒng)與I/O相連。RC可以支持一個(gè)或多個(gè)PCI Express 端口,例如英特爾芯片組。
開(kāi)關(guān)定義為多個(gè)虛擬 PCI 之間的橋路器件的邏輯組,它們使用一種基于地址路由的 PCI 橋路機(jī)制來(lái)傳遞執(zhí)行信息,例如 IDT PCI Express 開(kāi)關(guān)。
端點(diǎn)是指能作為 PCI Express 執(zhí)行的請(qǐng)求者或完成者的那一類器件,可以是 PCI Express自身,也可以是一個(gè)非 PCI Express 器件,例如連接在 PCI Express 上的圖形控制器。
PCIE總線保留了對(duì)于PCI局部總線協(xié)議全部軟件的向下兼容性,即只要是PCIE的卡都可以插到支持PCI的操作系統(tǒng)上使用;在硬件上,兩者不兼容,PCIE取代PCI,PCI-X的并行多路總線結(jié)構(gòu),采用一種串行、點(diǎn)到點(diǎn)的總線連接結(jié)構(gòu),需要的接口更少。
2 Virtex 5 Lxt PCIE Endpoint block
Virtex 5 Lxt PCIE Endpoint block集成了PCIE協(xié)議中的物理層(PHY)、數(shù)據(jù)鏈接層(DLL)和傳輸層(TL),同時(shí)它還實(shí)現(xiàn)了PCI-Express設(shè)備的功能配置寄存器,其結(jié)構(gòu)框圖如圖2所示,包含有以下幾個(gè)接口:時(shí)鐘和復(fù)位接口、配置和狀態(tài)接口、電源管理接口、用戶接口和傳輸層接口。
Virtex 5 Lxt PCIE Endpoint block具有PCI-Express的完整功能,完全符合 PCIe 基本規(guī)格 v1.1 版要求,作為FPGA內(nèi)部的硬核,它是可配置的PCIe端點(diǎn)解決方案,大大增加設(shè)計(jì)的靈活性,降低設(shè)計(jì)的RNE費(fèi)用,并且支持1x,2x,4x或8x通道的實(shí)現(xiàn),為系統(tǒng)的功能擴(kuò)張?zhí)峁┝擞行緩?;帶有?nèi)置PCIe 端點(diǎn)模塊的Virtex-5 LXT FPGA芯片,能夠被用于任何一種外形的產(chǎn)品設(shè)計(jì),如表1所示。
3 總線接口設(shè)計(jì)實(shí)現(xiàn)
3.1 接口硬件設(shè)計(jì)
接口硬件主要由主控FPGA模塊,電源管理模塊,DDR高速緩存模塊、和時(shí)鐘管理模塊組成。硬件結(jié)構(gòu)框圖如圖3所示。
FPGA是整個(gè)設(shè)計(jì)的最關(guān)鍵部分,主要實(shí)現(xiàn)PCI-Express硬核;在硬核的用戶接口和傳輸接口實(shí)現(xiàn)PCI-Express傳輸本地總線的時(shí)序邏輯;并且在其內(nèi)部完成DDR控制時(shí)序邏輯。FPGA是PCI-Express接口和DDR內(nèi)存單元數(shù)據(jù)傳輸?shù)耐ǖ?。這里選擇Xilinx Virtex5系列FPGA中的V5LX50T芯片,封裝形式為FFG1136。
在整個(gè)電路中,F(xiàn)PGA的功耗最大,因此在電源模塊設(shè)計(jì)中,重點(diǎn)考慮FPGA因素。FPGA的功耗與設(shè)計(jì)有關(guān),主要取決于器件的型號(hào)、設(shè)計(jì)的時(shí)鐘頻率、內(nèi)部設(shè)計(jì)觸發(fā)器翻轉(zhuǎn)率和整個(gè)FPGA的資源利用率。
這里使用Xilinx功耗分析工具XPower進(jìn)行功耗分析,根據(jù)XPower提供的動(dòng)態(tài)功耗和靜態(tài)功耗分析結(jié)果,選擇TI公司的相關(guān)電源模塊。
DDR是比較常用的高速緩存單元,這里選擇使用現(xiàn)代公司的HY5DU56822DT-D4, 在PCI-Express傳輸過(guò)程中,對(duì)時(shí)鐘的穩(wěn)定性要求很高;Virtex5 FPGA內(nèi)部的CMT模塊的時(shí)鐘綜合處理能力可能達(dá)不到預(yù)想的效果,這里使用專門的時(shí)鐘管理單元提供時(shí)鐘,選擇的是ICS874003芯片,通過(guò)FPGA管腳控制其時(shí)鐘綜合的效果。
3.2 軟件設(shè)計(jì)
在實(shí)現(xiàn)PCI-Express數(shù)據(jù)傳輸過(guò)程中,構(gòu)建數(shù)據(jù)傳輸流程如圖4所示。
數(shù)據(jù)從PC 內(nèi)存通過(guò)PCI-Express接口向下傳輸?shù)紽PGA內(nèi)部,F(xiàn)PGA內(nèi)部DDR控制邏輯再將數(shù)據(jù)傳輸?shù)降腄DR內(nèi)存芯片中存儲(chǔ),向下傳輸完畢后,F(xiàn)PGA內(nèi)部邏輯從DDR芯片中將存儲(chǔ)的數(shù)據(jù)讀出,并且給每個(gè)數(shù)據(jù)按字節(jié)加‘1’,然后通過(guò)PCI-Express接口,再將數(shù)據(jù)傳輸回PC內(nèi)存,PC內(nèi)存程序?qū)?shù)據(jù)進(jìn)行校驗(yàn)。
4 結(jié) 語(yǔ)
Virtex5系列FPGA芯片內(nèi)嵌PCI-Express Endpoint Block硬核,為實(shí)現(xiàn)單片可配置PCI-Express總線解決方案提供了可能?;赩irtex5 FPGA的PCI Express設(shè)計(jì)實(shí)現(xiàn)方式簡(jiǎn)單、配置靈活,適合于各種應(yīng)用領(lǐng)域,降低了設(shè)計(jì)成本,縮短了產(chǎn)品上市時(shí)間,保證了產(chǎn)品的功能性和易用性,開(kāi)創(chuàng)了高效率PCI Express開(kāi)發(fā)的新時(shí)代。
參考文獻(xiàn)
[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.
作者簡(jiǎn)介 劉 凱 男,1982年出生,湖南人,國(guó)防科技大學(xué)電子科學(xué)與工程學(xué)院助教。主要研究方向?yàn)榍度胧较到y(tǒng)及其實(shí)現(xiàn)技術(shù)。