《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于Virtex-5的PCI-Express總線接口設計和實現
基于Virtex-5的PCI-Express總線接口設計和實現
電子技術
周軼男 李曉禎 李 明
摘要: 基于Virtex-5的PCI-Express總線接口設計和實現,本文描述了第三代通用I/O總線PCI-Express產生的背景,分析了PCI-Express總線的主要特點及體系結構。同時描述了在Xilinx公司Virtex5系列的XC5VLX50TFPGA芯片上實現PCI-Expressx4總線的設計并進行的相應傳輸速率的測試。
Abstract:
Key words :

0 引言
    PCI Express總線是新一代的I/O局部總線標準,是取代PCI總線的革命性總線架構。PCI總線曾經是PC體系結構發展史上的一個里程碑,但是隨著技術的不斷發展,新涌現出的一些外部設備對傳輸速度和帶寬有更高的要求,PCI設計" title="設計">設計之初并沒有考慮這些因素,因此并不能完全滿足這些外部設備的需求。PCI Express總線正是在這種背景下應運而生的。
    一個PCI Express連接可以被配置成x1、x2、x4、x8、x12、x16和x32的數據帶寬。Xilinx公司的Virtex5系列FPGA芯片內嵌PCI-Express" title="PCI-Express">PCI-Express-Endpoint Block硬核,為實現" title="實現">實現單片可配置PCI-Express總線解決方案提供了可能。
    本文在研究PCI-Express接口" title="接口">接口協議和PCI-Express Endpoint Block硬核的基礎上,使用Virtex5LXT系列的XC5VLX50T FPGA芯片設計PCI- Express接口硬件電路,現YPCI-Express x4總線數據的傳輸。

1 PCI-Express總線概述
    PCI-Express是一種高性能、通用的I/O互連技術,可以廣泛應用于計算和通訊的平臺。與傳統的PCI/PCI-X總線相比,PCI Express用高速串行接口替代了PCI-X的并行接口;用點到點的基于Switch的交換式通訊替代了PCI-X的基于總線的通訊;用基于包的傳輸協議(packetbasedprotocol)替代TPCI-X的基于總線的傳輸協議。此外,它還引入了一些新的特性:更強的電源管理、服務質量控制(QoS),支持熱拔插,以及完善的錯誤處理和恢復。
1.1 PCI-Express設備/拓撲結構
    PCI-Express的典型拓撲結構如圖1所示。PCI-Express協議中共定義了三種設備:RootComplex、Endpoint和Switeh。


    Root Complex在系統中的位置類似于PCI-X中的主橋,它是I/O層次的根,它將CPU和MM連接至I/O部件。每個Root Complex可以有一個或多個PCI-Express Port(Root Port),每個接口定義一個層次域。Endpoint是PCI-Express的端點設備,可以分為PCI-Express Endpoint和LegacyEndpoint兩類。
    Switch是PCI-Express的交換設備,可以理解為邏輯上由多個PCI-PCI橋組合而成,每個橋對應于一個SwiSh端口。從配置軟件來看,Swi-tch是兩個或更多個邏輯的PCI-PCI橋。
1.2 PCI-Express的層次
    PCI-Express協議中定義了三層結構:事務層(Transaction Layer)、數據鏈路層(Data Link Layer)和物理層(Physical Layer)。其結構如圖2所示。


    事務層主要負責組包和拆包,負責管理基于信用的流控制。
    數據鏈路層主要負責鏈路的管理和數據完整性的管理,包括錯誤的檢測和錯誤的糾正。
    物理層包含接口的所有電路:驅動器和輸入緩沖、并-串/串-并轉換、鎖相環、阻抗匹配電路,具有接口初始化和維護的功能。物理層可以更進一步細分為邏輯物理層(Logical Physical Layer)和電氣物理層(Electrical Physical Laycr)。邏輯物理層在發送方向上負責從數據鏈路層接收包,處理后發送上鏈路;在接收方向上負責將從鏈路收到的包經過處理轉發到數據鏈路層。電氣物理層是連接到鏈路的模擬接口,包含每個通道的差分收發器。
1.3 PCI-Express的包
   
對應于協議定義的三層結構,PCI Express定義了三種包:
    (1)TLP:對應于事務層,主要完成協議中定義的存儲器事務、I/O事務、配置事務和消息事務。
    (2)DLLP:對應于數據鏈路層,主要用于鏈路管理的功能,包括和TLP確認相關的ACK/NAK協議、電源管理和流控制信息的交換。在這一層提供了點到點的鏈路重傳機制和鏈路層的ECC校驗,從而提供了可靠的容錯機制。
    (3)PLP:對應于物理層,能夠支持物理層的鏈路訓練,時鐘容忍/補償,自治的硬件電源管理。

2 Virtex-5" title="Virtex-5">Virtex-5 Lxt簡介
   
綜合考慮了實現PCI Express總線的周期、難易、成本等因素,最后本文采用了Xilinx公司65nm工藝的Virtex5 LXT系列芯片來實現PCI-Express的總線接口以及應用。
Virtex 5 Lxt PCIE Endpoint block具有PCI-Express的完整功能,完全符合PCIe基本規格v1.1版要求,作為FPGA內部的硬核,它是可配置的PCIe端點解決方案,大大增加設計的靈活性,降低設計的RNE費用,并且支持1x、2x、4x或8x通道的實現,為系統的功能擴張提供了有效的途徑。
    該系列芯片內嵌PCIE Endpoint block集成了PCIE協議中的物理層(PHY)、數據鏈接層(DLL)和傳輸層(TL),同時它還實現了PCI-Express設備的功能配置寄存器,其結構框圖如圖3所示,包含有以下幾個接口:時鐘和復位接口、配置和狀態接口、電源管理接口、用戶接口和傳輸層接口。該PCIE Endpoint block完成了PCI-SIG兼容性專題研討會的嚴格測試步驟,保證了產品的兼容性,降低了風險;集成了Rocket IO-TMGTP收發器,該GTP收發器能提供100Mb/s到3.2Gb/s的串行連接性能,可以支持PCI-Express協議所需的2.5Gb/s的速率,與PCI-Expre-ss協議每通道2.5Gb/s工作模式兼容,這使得它在數據的編解碼上滿足PCI-Express協議的要求。本文使用該系列中的XC5VLX50T芯片設計PCI-Express接口硬件電路,實現PCI-Express x4的數據傳輸。



3 PCI-Express總線接口設計
   
本文的硬件主要就是單片XC5VLX50T實現PCI-Express總線接口,并在該FPGA內設計具體應用,完成PCI-Express總線接口的測試和使用。本文實現的應用有如下幾個特性:
    (1)主機通過控制FPGA內部的寄存器文件來啟動和停止DMA操作,支持endpoint到root的全雙工DMA讀寫。
    (2)使用LogiCORE產生的Endpoint Block Plus進行PCI-Express總線接口設計。該硬核集成了PCIE協議中的物理層、數據鏈接層的解析,提供傳輸層接口(TRN)供設計者對相應的事務層數據包的處理。
    (3)PCI-Express總線接口支持x4通道的實現,主機操作系統為嵌入式Linux 2.6.10系統。在Windows XP下也進行PCI-Express接口測試。
    FPGA是整個設計的最關鍵部分,主要實現:PCI-Express硬核;在硬核的用戶接口和傳輸接口實現PCI-Express傳輸本地總線的時序邏輯;并且在其內部完成DMA控制時序邏輯。FPGA是PCI-Express總線接口和應用模塊數據傳輸的通道。在Host端使用嵌入式的MPC8548作為主機系統應用CPU,設計相應的驅動和應用程序配合FPGA內部代碼的調試。圖4為該系統的拓撲框圖。


    使用LogiCORE產生的Endpoint Block Plus中,定義了兩個基地址memory空間,一個用于DMA寄存器的操作,一個用于用戶邏輯空間。本文主要介紹的就是用戶應用層接口的實現,該接口將通過TRN進行相應的事務層數據包的處理。
    用戶應用層接口主要包括如下幾個模塊:a.TX Engine模塊;b.RX Engine模塊;c.Egress Data Presenter模塊;d.Read Request Wrapper模塊;e.DMA Control/Status Registers模塊。這幾個模塊之間的拓撲關系如圖5所示。


    TX Engine:該模塊主要用于產生和發送事務層數據包:Posted事務包(存儲器、I/O、配置讀寫事務)、non_Posted事務包(該總線事務包分兩步進行,首先是發送端向接收端提交總線讀寫請求,之后接收端再向發送端發送完成包)和completion(完成)包。該模塊通過發送posted memory寫,non_Posted memory讀,和接收completion包來完成DMA的讀寫請求。該模塊的啟動由DMA Control/Status Registers模塊控制。該模塊又包括若干子模塊:posted packet generator模塊、non posted packet generator模塊、completion packet generator模塊和transmit TRN state machine模塊,上述三個generator模塊均由transmit TRN狀態機模塊控制,該狀態機的控制信號來自Endpoint Block Plus核以及DMA Control/StatusRegisters模塊。
    RX Engine:該模塊主要用于接收Endpoint BlockPlus模塊從RX TRN接口送出的事務層數據包,對不同的事務包進行解析,根據相應的包做相應的處理,該模塊能處理如下三種事務包:完成包、memory讀包和memory寫包。該模塊又包括如下子模塊:接收TRN狀態機模塊、接收TRN監控模塊、接收數據狀態機模塊以及兩個fifo用于存放完成包的接收數據和完成包中目的和源的地址以及數據包的長度,用于設置DMA Control/Status Registers模塊中的各個狀態。接收TRN狀態機模塊只負責TRN接口處的數據包的狀態和接收收據,送給后面的模塊;接收TRN監控模塊負責根據不同的TLP包來分配數據和狀態,是直接將帶數據的完成包的數據寫到用戶應用接口fifo,還是讀請求或寫請求TLP包通知TX engine,組成相應的包發送出去或者通知DMA控制器進行相應的DMA傳送控制;接收數據狀態機模塊對接收到的數據進行相應的處理。
    Egress Data Presenter:該模塊是專門為TX Engine模塊提供發送數據的模塊,要發送到主機的數據都在該模塊中進行處理,它和TX Engine模塊間的數據位寬定義為64bit。
    Read Request Wrapper:該模塊主要用于TX Engine模塊和RX Engine模塊之間的通信控制接口,本文中設計DMA的讀寫操作每包可能的數據長度為:1KDW、2KDW、3KDW、4KDW、8 KDW、16 KDW之間可選。該選擇是由主機通過寫寄存器文件來進行長度策略選擇的。
    DMA Control/Status Register:該模塊主要用于主機系統通過控制FPGA內部的寄存器文件的設置來啟動和停止endpoint到root的DMA讀寫操作。包括一個控制寄存器以及若干個配置寄存器,配置寄存器有主機的目的地址、源地址信息,本地的目的地址、源地址信息,以及每次DMA的數據包長度等信息。由控制寄存器中的bit位的狀態來啟動所有的狀態機的控制,所以控制寄存器是整個操作的關鍵信號。

4 實驗結果分析
   
首先初始化FPGA內部的寄存器文件,通過設置相應的控制位啟動數據從Host內存通過PCI-Express接口向下傳輸到FPGA內部,傳輸完畢后,FPGA內部控制邏輯將接收的數據進行處理,并得到向上輸出的數據,然后通過PCI-Express接口,再將數據傳輸回Host內存,Host內存的檢測程序對所收到的數據進行校驗。在進行FPGA內部PCI-Express接口速度測試時,由于Host讀寫內存需要一定的時間,所以在測試速度時不進行Host內存的讀寫。而在正確性測試時,則通過Host讀寫內存判斷數據是否正確。所有ChipScope截圖均以一包數據包大小為4KDW為例進行捕捉,圖中有文字標識其中的信號意義。
    圖6為Host將數據通過PCI-Express接口向下傳輸到FPGA內部的ChilpScope截圖。


    從圖中可以看出,FPGA接收數據包的最大載荷為512B,而發送數據包為128B。在Host將數據通過PCI-Express接口向下傳輸到FPGA過程中,首先FPGA要向Host發送一系列mem讀請求包,Host收到請求包后,就根據請求包的內存地址和數據長度發送CPLD包給FPGA,FPGA解析CPLD包并存儲數據到相應數據區。圖7為在Windows XP下測得的每包數據包大小為16KDW時傳輸速率為5.03Gb/s。


    圖8為FPGA處理完后將數據通過PCI-Express接口向上傳輸到Host的ChipScope截圖。從圖中可以看出包和包之間的發送有一定的間隔,這是因為控制每包發送造成的間隔,所以在同樣每包數據包大小為16KDW時測得的傳輸速率要底于Host向下傳輸的速率,只有3.7Gb/s左右。



5 總結和展望
   
Virtex5系列FPGA芯片內嵌PCI-Express End-pointBlock硬核,為實現單片可配置PCI-Express總線解決方案提供了可能。基于Virtex5 FPGA的PCI-Express設計實現方式簡單、配置靈活,適合于各種應用領域,降低了設計成本,縮短了產品上市時間,保證了產品的功能性和易用性,開創了高效率PCI Express開發的新時代。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久久久久网站| 欧美—级a级欧美特级ar全黄| 亚洲国产另类 国产精品国产免费| 亚洲一区三区视频在线观看| 一级成人国产| 日韩视频免费在线| 亚洲精品在线观| 亚洲区第一页| 亚洲激情欧美激情| 亚洲电影自拍| 一区二区三区自拍| 一区久久精品| 亚洲国产精品成人综合色在线婷婷| 伊人精品在线| 亚洲高清网站| 亚洲精品国产精品久久清纯直播 | 久久久久一区| 久久激情五月丁香伊人| 久久激情综合| 蜜桃久久av| 欧美精品电影在线| 欧美日韩激情网| 欧美小视频在线| 国产精品久久久久久久久久三级 | 免费欧美日韩| 欧美成人中文字幕在线| 欧美激情一区二区三区四区| 欧美日韩国产三级| 国产精品国产三级国产专播品爱网| 国产精品裸体一区二区三区| 国产美女精品视频免费观看| 国产手机视频精品| 悠悠资源网亚洲青| 亚洲日本aⅴ片在线观看香蕉| 99re66热这里只有精品4| 亚洲午夜未删减在线观看| 亚洲欧美日韩综合一区| 亚洲二区在线视频| 一区二区三区欧美亚洲| 亚洲欧美日韩久久精品| 久久精品国产在热久久| 免费短视频成人日韩| 欧美日本在线观看| 国产精品视频精品| 在线 亚洲欧美在线综合一区| 亚洲国产精品热久久| 一本色道综合亚洲| 亚洲欧美日韩国产综合| 亚洲国产精品视频| 亚洲视频国产视频| 久久久97精品| 欧美裸体一区二区三区| 国产精品亚洲激情| 精品二区视频| 一区二区三区四区五区精品视频| 午夜精品999| 亚洲精品裸体| 性做久久久久久免费观看欧美| 久久一区二区三区国产精品| 欧美日韩三级视频| 国产日韩在线一区| 亚洲黄一区二区三区| 亚洲一区欧美| 91久久夜色精品国产九色| 亚洲女ⅴideoshd黑人| 久久午夜av| 国产精品99免费看 | 91久久综合| 午夜精品久久久久久久久久久| 另类天堂av| 国产精品欧美一区二区三区奶水| 亚洲电影网站| 欧美在线播放| 亚洲午夜精品一区二区三区他趣 | 在线播放日韩专区| 亚洲一区制服诱惑| 亚洲精品日韩久久| 欧美在线综合视频| 欧美精品日韩| 好看的日韩av电影| 亚洲综合色噜噜狠狠| 99精品视频免费在线观看| 久久精品国产精品亚洲综合| 欧美日韩国产影片| 伊人久久大香线| 亚洲欧美中文字幕| 亚洲午夜视频在线| 久久综合中文字幕| 国产精品亚洲а∨天堂免在线| 亚洲毛片一区二区| 亚洲国产成人精品视频| 欧美一区二粉嫩精品国产一线天| 欧美日韩亚洲一区二区三区在线观看 | 一级日韩一区在线观看| 亚洲精品乱码久久久久久蜜桃91 | 亚洲调教视频在线观看| 亚洲美女黄网| 久热精品视频| 国产视频一区在线观看一区免费| 亚洲图片欧洲图片日韩av| 99视频精品在线| 欧美gay视频| 激情综合色综合久久| 午夜精品久久久久久| 亚洲欧美日韩精品久久奇米色影视| 欧美日本久久| 亚洲欧洲综合另类在线| 亚洲国产老妈| 美女在线一区二区| 国产自产精品| 欧美一区二区三区在线免费观看| 午夜精品亚洲一区二区三区嫩草| 欧美日韩一级视频| 日韩视频一区二区在线观看| 999亚洲国产精| 欧美二区乱c少妇| 亚洲国产高清一区二区三区| 亚洲国产精品成人综合色在线婷婷| 久久九九免费| 国产综合视频| 久久精品国产999大香线蕉| 久久久精品免费视频| 国产亚洲综合在线| 性欧美18~19sex高清播放| 久久av一区| 国产一区二区三区的电影 | 国产精品一区二区黑丝| 亚洲网站在线看| 亚洲欧美在线x视频| 国产精品久线观看视频| 亚洲一区高清| 欧美在线999| 国产一级精品aaaaa看| 欧美诱惑福利视频| 久久视频国产精品免费视频在线| 激情文学一区| 亚洲日本一区二区| 欧美日韩第一区日日骚| 在线综合视频| 亚洲欧美影院| 好吊一区二区三区| 亚洲狼人精品一区二区三区| 欧美日韩国产色视频| 亚洲视频二区| 欧美在线视频日韩| 黄色成人av网站| 亚洲免费精品| 国产精品久久久久影院亚瑟| 午夜精品久久久久久久久| 久久免费视频网站| 亚洲激情国产| 亚洲欧美色婷婷| 国产一区二区无遮挡| 亚洲欧洲精品天堂一级| 欧美日韩视频一区二区| 亚洲一区二区精品在线观看| 久久久久久一区二区| 亚洲欧洲三级| 亚洲欧美视频在线观看| 狠狠综合久久| 一本大道av伊人久久综合| 国产精品乱看| 亚洲国产精品视频一区| 欧美调教vk| 欧美在线欧美在线| 欧美精品久久一区二区| 99re6热在线精品视频播放速度| 黑人巨大精品欧美一区二区| 亚洲欧洲日产国产网站| 欧美日韩亚洲一区三区| 欧美在线免费播放| 欧美精品一区二区在线播放| 亚洲综合日本| 欧美顶级少妇做爰| 亚洲你懂的在线视频| 男女精品网站| 亚洲一区二区三区色| 美女图片一区二区| 亚洲一级片在线观看| 女人香蕉久久**毛片精品| 亚洲一区国产一区| 欧美成人国产一区二区| 亚洲午夜电影| 欧美黄色大片网站| 亚洲男人av电影| 欧美国产丝袜视频| 欧美一区二区视频在线观看| 欧美日韩国产成人高清视频| 欧美一区二视频| 欧美日韩亚洲成人| 亚洲国产精品久久久久秋霞蜜臀| 欧美色视频在线| 亚洲国产精品ⅴa在线观看| 国产精品亚洲激情| 99在线热播精品免费| 国内揄拍国内精品久久| 亚洲欧美日本另类| 亚洲人成免费| 久久久夜色精品亚洲| 亚洲欧美视频|