基于Virtex-5的PCI-Express總線(xiàn)接口設計和實(shí)現
0 引言
PCI Express總線(xiàn)是新一代的I/O局部總線(xiàn)標準,是取代PCI總線(xiàn)的革命性總線(xiàn)架構。PCI總線(xiàn)曾經(jīng)是PC體系結構發(fā)展史上的一個(gè)里程碑,但是隨著(zhù)技術(shù)的不斷發(fā)展,新涌現出的一些外部設備對傳輸速度和帶寬有更高的要求,PCI設計之初并沒(méi)有考慮這些因素,因此并不能完全滿(mǎn)足這些外部設備的需求。PCI Express總線(xiàn)正是在這種背景下應運而生的。
一個(gè)PCI Express連接可以被配置成x1、x2、x4、x8、x12、x16和x32的數據帶寬。Xilinx公司的Virtex5系列FPGA芯片內嵌PCI-Express-Endpoint Block硬核,為實(shí)現單片可配置PCI-Express總線(xiàn)解決方案提供了可能。
本文在研究PCI-Express接口協(xié)議和PCI-Express Endpoint Block硬核的基礎上,使用Virtex5LXT系列的XC5VLX50T FPGA芯片設計PCI- Express接口硬件電路,現YPCI-Express x4總線(xiàn)數據的傳輸。
1 PCI-Express總線(xiàn)概述
PCI-Express是一種高性能、通用的I/O互連技術(shù),可以廣泛應用于計算和通訊的平臺。與傳統的PCI/PCI-X總線(xiàn)相比,PCI Express用高速串行接口替代了PCI-X的并行接口;用點(diǎn)到點(diǎn)的基于Switch的交換式通訊替代了PCI-X的基于總線(xiàn)的通訊;用基于包的傳輸協(xié)議(packetbasedprotocol)替代TPCI-X的基于總線(xiàn)的傳輸協(xié)議。此外,它還引入了一些新的特性:更強的電源管理、服務(wù)質(zhì)量控制(QoS),支持熱拔插,以及完善的錯誤處理和恢復。
1.1 PCI-Express設備/拓撲結構
PCI-Express的典型拓撲結構如圖1所示。PCI-Express協(xié)議中共定義了三種設備:RootComplex、Endpoint和Switeh。
Root Complex在系統中的位置類(lèi)似于PCI-X中的主橋,它是I/O層次的根,它將CPU和MM連接至I/O部件。每個(gè)Root Complex可以有一個(gè)或多個(gè)PCI-Express Port(Root Port),每個(gè)接口定義一個(gè)層次域。Endpoint是PCI-Express的端點(diǎn)設備,可以分為PCI-Express Endpoint和LegacyEndpoint兩類(lèi)。
Switch是PCI-Express的交換設備,可以理解為邏輯上由多個(gè)PCI-PCI橋組合而成,每個(gè)橋對應于一個(gè)SwiSh端口。從配置軟件來(lái)看,Swi-tch是兩個(gè)或更多個(gè)邏輯的PCI-PCI橋。
1.2 PCI-Express的層次
PCI-Express協(xié)議中定義了三層結構:事務(wù)層(Transaction Layer)、數據鏈路層(Data Link Layer)和物理層(Physical Layer)。其結構如圖2所示。
事務(wù)層主要負責組包和拆包,負責管理基于信用的流控制。
數據鏈路層主要負責鏈路的管理和數據完整性的管理,包括錯誤的檢測和錯誤的糾正。
物理層包含接口的所有電路:驅動(dòng)器和輸入緩沖、并-串/串-并轉換、鎖相環(huán)、阻抗匹配電路,具有接口初始化和維護的功能。物理層可以更進(jìn)一步細分為邏輯物理層(Logical Physical Layer)和電氣物理層(Electrical Physical Laycr)。邏輯物理層在發(fā)送方向上負責從數據鏈路層接收包,處理后發(fā)送上鏈路;在接收方向上負責將從鏈路收到的包經(jīng)過(guò)處理轉發(fā)到數據鏈路層。電氣物理層是連接到鏈路的模擬接口,包含每個(gè)通道的差分收發(fā)器。
1.3 PCI-Express的包
對應于協(xié)議定義的三層結構,PCI Express定義了三種包:
(1)TLP:對應于事務(wù)層,主要完成協(xié)議中定義的存儲器事務(wù)、I/O事務(wù)、配置事務(wù)和消息事務(wù)。
(2)DLLP:對應于數據鏈路層,主要用于鏈路管理的功能,包括和TLP確認相關(guān)的ACK/NAK協(xié)議、電源管理和流控制信息的交換。在這一層提供了點(diǎn)到點(diǎn)的鏈路重傳機制和鏈路層的ECC校驗,從而提供了可靠的容錯機制。
(3)PLP:對應于物理層,能夠支持物理層的鏈路訓練,時(shí)鐘容忍/補償,自治的硬件電源管理。
2 Virtex-5 Lxt簡(jiǎn)介
綜合考慮了實(shí)現PCI Express總線(xiàn)的周期、難易、成本等因素,最后本文采用了Xilinx公司65nm工藝的Virtex5 LXT系列芯片來(lái)實(shí)現PCI-Express的總線(xiàn)接口以及應用。
Virtex 5 Lxt PCIE Endpoint block具有PCI-Express的完整功能,完全符合PCIe基本規格v1.1版要求,作為FPGA內部的硬核,它是可配置的PCIe端點(diǎn)解決方案,大大增加設計的靈活性,降低設計的RNE費用,并且支持1x、2x、4x或8x通道的實(shí)現,為系統的功能擴張提供了有效的途徑。
該系列芯片內嵌PCIE Endpoint block集成了PCIE協(xié)議中的物理層(PHY)、數據鏈接層(DLL)和傳輸層(TL),同時(shí)它還實(shí)現了PCI-Express設備的功能配置寄存器,其結構框圖如圖3所示,包含有以下幾個(gè)接口:時(shí)鐘和復位接口、配置和狀態(tài)接口、電源管理接口、用戶(hù)接口和傳輸層接口。該PCIE Endpoint block完成了PCI-SIG兼容性專(zhuān)題研討會(huì )的嚴格測試步驟,保證了產(chǎn)品的兼容性,降低了風(fēng)險;集成了Rocket IO-TMGTP收發(fā)器,該GTP收發(fā)器能提供100Mb/s到3.2Gb/s的串行連接性能,可以支持PCI-Express協(xié)議所需的2.5Gb/s的速率,與PCI-Expre-ss協(xié)議每通道2.5Gb/s工作模式兼容,這使得它在數據的編解碼上滿(mǎn)足PCI-Express協(xié)議的要求。本文使用該系列中的XC5VLX50T芯片設計PCI-Express接口硬件電路,實(shí)現PCI-Express x4的數據傳輸。
評論