點擊上方藍字關注我們
隨著系統性能、功能和帶寬的日益增長,總線技術也在迅速的發展。海量存儲,衛星通訊,高速數據采集與記錄以及其他數據處理的數據吞吐量現以KMbp s為量級,未來計算機系統對帶寬和擴展性的要求已經超越了第二代總線技術。由英特爾提出的第三代高性能I/O總線技術—PCIE總線解決了PCI總線的不足,它的發展將取代PCI成為新型的數據總線,其提供了更加完善的性能,更多的功能,更強的可擴展性和更低的成本。
本文研究了采用NXP公司的PC I Exp ress接口協議芯片PX1011A和Xilinx公司Spartan - 3 FPGA實現PC IE接口的硬件電路設計以及使用Xilinx公司提供的PC I Exp ress LogiCORE IP核的軟件設計。
2PCIE總線和PX1011A的介紹
2. 1PCIE總線的介紹
PC I Exp ress是用來互連諸如計算和通信平臺應用中外圍設備的第三代I/O總線技術,第一代總線包括ISA、E ISA、VESA和微通道(Micro Channel)總線,而第二代總線則包括了PCI、PC I - X和AGP。PCI Exp ress是一種能夠應用于一種設備、臺式電腦、工作站、服務器、嵌入式計算機和通信平臺等所有周邊I/O設備互連的總線。
PC IE最初由Intel發展,并于1992年在市場發布。PC IE的體系結構繼承了第二代總線體系結構最有用的特點,并且采用了計算機體系結構中新的開發成果。它保留了原先的通訊模型和下載配置機制,但拋棄了共享總線的方式,采用點到點的總線連接方式。由于它提供了更高的性能特點和越來越大的帶寬,從而解決了PC I、PCI - X和AGP的許多缺點,是以后PC發展必然采用的接口總線,其必將取代PCI, PC I - X以及圖形加速器(AGP) 。
PC IE總線保留了對于PCI局部總線協議全部軟件的向下兼容性,即只要是PC IE的卡都可以插到帶有PCI的操作系統使用;在硬件上,兩者不兼容, PCIE取代PC I、PCI - X的并行多路總線結構,采用了一種串行、點到點的總線連接結構,需要的接口更少。
2. 2單通道物理層收發器PX1011A
NXP公司的PX1011A 是一款與低成本FPGA一起使用而優化的單通道2. 5Gbp s的PC I Exp ressPHY器件。它具有很小的封裝,可提供卓越的發射和接收性能,符合PCI Exp ress規范v1. 0a和v1. 1。它通過采用用于傳輸和接收數據的同步時鐘源來提高片外應用的性能。
數據由接收器的差分輸入接口進入PX1011A,在被傳送到解串化電路之前,這些數據將小振幅的差分信號變為軌對軌的數字信號。一個載波檢測電路將檢測線路上是否有數據并將這些信息傳送到SERDES和PCS上。SERDES將這些數據串行為10位并行數據。然后PCS采用8位/10位解碼器來恢復成8位數據格式。
在發送過程中,來自P IPE接口的8位數據通過一個8位/10位編碼算法進行編碼。8 位/10 位編碼確保串行數據被直流平衡以避免交流耦合系統中的基帶漂移,它同時確保足夠的數據轉換以避免接收端的時鐘恢復。
PX1011A的MAC接口采用獨立的時鐘,由片內100MHz的基準時鐘的鎖相環來產生。鎖相環有一個相對較高的帶寬來實現可選的擴頻并減少EM I。8bit 數據接口在250MHz 上運行并進行SSTL2信號發送,這種模式與流行的FPGA I/O接口兼容。
3基于PX1011A收發器芯片的硬件電路設計
3. 1PX1011A收發器芯片硬件電路設計
PC IE接口硬件電路如圖1 所示,包括三個部分:第一部分是PX1011A 與FPGA 的連接信號線,包括8位的接收發送信號TXD [ 7: 0 ]和RXD [ 7: 0 ] ,控制信號RX_DATAK、RX_VAL ID、RX_CLK、RX_E IDLE、RX_POLAR、RX_PHY_STAT、TX_DATAK、TX_CLK、TX_EIDLE、TX_COMP、TX_DET_LOOP、TX_PWRDN0、TX_PWRDN1,狀態信號STAT0、STAT1、STAT2和復位信號RESET。第二部分是PX1011A與PCIE接口的連接信號線,包括差分接收信號,差分發送信號, 差分時鐘信號。第三部分是PCIExp ress的配置接口,包括PCIE _ TMS、PCIE _ TCK、PCIE_TDO、PCIE_TD I和PCIE_TRST。
FPGA 選用Xilinx 公司的Spartan - 3 系列XC3S1000,采用90nm 材料生產,容量高、成本低。具有業界一流的區塊和分布,具有多達784個I/O、MicroB laze 32位R ISC軟處理器和支持乘法累加器(MAC)功能(專用18x18乘法器提供高達3300 億
次MAC /秒)的嵌入XtremeDSP功能。
Xilinx Spartan - 3 PCI Exp ress設計包括一個PCI Exp ress P IPE Endpoint LogiCore。Xilinx低成本Spartan - 3系列提供PCI Exp ress協議層核。PC IE P IPE Endpoint LogiCORE整合了分立的PCIE PHY,提供了全面的、完全符合PC I Exp ress基礎規范( PCIExp ressBase Specification) v1. 1的PCIE端點解決方案。
3. 2PCB布線
PCB布線時有以下注意點:終端阻抗布線盡量降低容性;一組信號,避免在參考層斷續;高速信號盡量在一層布線,不要打孔,否則要在過孔處打一個U形的地孔;微波傳輸帶,差分信號布線線寬5mil,間距7mil;帶狀傳輸線,差分信號布線線寬5mil,間
距5mil。信號之間的間距在5 ×4 = 20mil以上,高壓和邊緣尖銳的信號盡量遠離差分線,避免干擾。
接口上數據采用SSTL2信號發送,傳送速率達到250MB / s。每組數據發送端需串行一個25歐姆電阻,數據接收端上拉50歐姆電阻,提高信號的阻抗匹配。TD和RX每組為8位250MB / s信號,為了減少信號間的延時誤差,每組信號布線時盡量等長。
4P IPE Core實現PC IE總線協議
4. 1Xilinx PC I Exp ress P IPE Core
Xilinx PCI Exp ress P IPE Core符合PC I Exp ress Base Specification v1. 1 規范的協議和電特性兼容,提供完整的端點解決方案,包括物理鏈接與處理和配置管理模塊。支持同步點對點通信,上行和下行流程控制,與PCI Exp ress處理排序規則完全兼容。有效的鏈接帶寬利用率,誤差檢測和恢復。支持最大為512字節的有效負載,經過Xilinx專有的測試平臺驗證的設計,通過PC I - SIG的認證大會( com2p liance workshop) 。
P IPE Core包括傳輸層,數據鏈路層,物理層,配置管理層四個模塊。這些模塊包括產生和進行傳輸包、數據流的控制管理,初始化,電源管理,數據保護,誤碼檢測,物理接口初始化,并串轉換以及其他的接口操作。各個模塊的具體連接關系如圖2 所
示。
4. 2數據接收和發送的時序分析
數據的接收和發送都包含以下接口信號:傳輸時鐘trn_clk,利用PCIE端口的100MHz差分時鐘輸入,通過Core的內部DCM產生62. 50MHz時鐘,傳輸和配置模塊的操作都在trn_clk的上升沿變化;傳輸復位信號trn_reset_n,低有效;傳輸鏈路掛起信號
trn_lnk_up_n,在Core與連接方取消通信時產生,所有存在端口的傳輸包都會丟失。
發送數據端口包括P IPE Core準備接收32位數據的trn_ tdst_ rdy_n信號,用戶有效數據trn _ tsrc _rdy_n,發送32 位數據trn _ td [ 31: 0 ] ,幀開始信號trn_tsof_n和幀結束信號trn_tesof_n。接收端口第一個包的長度是其它包的兩倍,其余時序與發送信號類似,具體如圖3所示。
4. 3FPGA設計
選用Xilinx公司的ISE軟件并采用Verilog硬件描述語言可對該IP核進行行為級描述和邏輯綜合,同時可將生成的網表文件設計實現,包括邏輯綜合及布局布線。具體設計過程中,需要先加載P IPE Core,這要求ISE為8. 1 以上版本,同時要取得IP
Core的使用授權。
配置P IPE Core, 需要確定設備的生產廠商Vendor ID,設備編號Device ID,類型Class Code, I/O方式的地址存儲器空間BAR,有效載荷大小等信息。
在Core Generation之后,根據P IPE Core提供的文件加載各模塊的源文件。至此,帶PCIE總線協議的接口已經建立好,用戶應用程序在模塊中添加。
5結束語
實驗結果表明,以PX1011A 和Xilinx公司的Spartan - 3 FPGA搭建的×1 PCIE平臺最高傳輸速率可達150MB / s,能夠滿足高速信號傳輸的性能要求。隨著器件的發展和IP 核的開發, 多通道的PCIE總線技術將會迅速發展。PCI Exp ress總線取代捉襟見肘的PCI總線已是大勢所趨,它能給電腦硬件的發展提供一種高性能的總線平臺,充分發揮各硬件子系統的性能,并為這些子系統今后的性能提升開辟更廣闊的空間。
精彩推薦 至芯科技FPGA就業培訓班——助你步入成功之路、10月29號西安中心開課、歡迎咨詢! FPGA測試面臨哪些挑戰?測試方案是什么? SDRAM控制器軟核的Verilog設計掃碼加微信邀請您加入FPGA學習交流群
歡迎加入至芯科技FPGA微信學習交流群,這里有一群優秀的FPGA工程師、學生、老師、這里FPGA技術交流學習氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!
點個在看你最好看
原文標題:基于Xilinx FPGA的PCIE接口實現
文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
-
FPGA
+關注
關注
1630文章
21796瀏覽量
605154
原文標題:基于Xilinx FPGA的PCIE接口實現
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論