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