0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Xilinx FPGA的PCIE接口實現(xiàn)

FPGA設(shè)計論壇 ? 來源:未知 ? 2023-10-28 16:25 ? 次閱讀

wKgaomU8xpKAY0fdAAAAuFYhST8923.png

點擊上方藍(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端點解決方案。

wKgaomU8xpKARt7FAAB6UaBvi60955.jpg

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 所
示。

wKgaomU8xpKAaDYqAABmAMi6_Vw758.jpg

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所示。

wKgaomU8xpOAPKXgAABk09sKYzY583.jpg

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)今后的性能提升開辟更廣闊的空間。

wKgaomU8xpOAM-uQAABUdafP6GM467.jpg

精彩推薦 至芯科技FPGA就業(yè)培訓(xùn)班——助你步入成功之路、10月29號西安中心開課、歡迎咨詢! FPGA測試面臨哪些挑戰(zhàn)?測試方案是什么? SDRAM控制器軟核的Verilog設(shè)計掃碼加微信邀請您加入FPGA學(xué)習(xí)交流群

wKgaomU8xpOAVV2qAABiq3a-ogY503.jpgwKgaomU8xpOAJqlHAAACXWrmhKE945.png

歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!

點個在看你最好看


原文標(biāo)題:基于Xilinx FPGA的PCIE接口實現(xiàn)

文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21777

    瀏覽量

    604760

原文標(biāo)題:基于Xilinx FPGA的PCIE接口實現(xiàn)

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    PCIE XDMA開發(fā)環(huán)境搭建以及環(huán)路測試

    大家 XILINX FPGA PCIE 應(yīng)用解決方案。 本教程以MZ7035FA作為樣機測試。在正式開始教程內(nèi)容前,有必要把MZ7035FA開發(fā)板的特點說明下。這是一款高性價比的FPGA
    的頭像 發(fā)表于 01-13 09:38 ?131次閱讀
    <b class='flag-5'>PCIE</b> XDMA開發(fā)環(huán)境搭建以及環(huán)路測試

    【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】測試一

    感謝米爾電子和電子發(fā)燒友提供的米爾-Xilinx XC7A100T FPGA開發(fā)板。 MYD-J7A100T用的 FPGAXILINX 公司 ARTIX-7 系列的 XC 7A1
    發(fā)表于 12-08 08:48

    pcie接口類型及其應(yīng)用

    隨著計算機技術(shù)的飛速發(fā)展,數(shù)據(jù)傳輸速度和處理能力的需求也在不斷提高。PCIe(Peripheral Component Interconnect Express)作為一種高效的數(shù)據(jù)傳輸接口,已經(jīng)成為
    的頭像 發(fā)表于 11-13 10:22 ?1221次閱讀

    【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】+02.PCIE接口測試(zmj)

    【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】+02.PCIE接口測試(zmj) 1.FPGA程序設(shè)計 PCI Express
    發(fā)表于 11-12 16:05

    通過DSP的mcbsp和i2c接口實現(xiàn)對AIC34芯片的操作,如何編程?

    通過DSP的mcbsp和i2c接口實現(xiàn)對AIC34芯片的操作如何編程,有沒有相關(guān)的例程嗎?
    發(fā)表于 11-07 08:12

    Xilinx 7系列FPGA PCIe Gen3的應(yīng)用接口及特性

    Xilinx7系列FPGA集成了新一代PCI Express集成塊,支持8.0Gb/s數(shù)據(jù)速率的PCI Express 3.0。本文介紹了7系列FPGA PCIe Gen3的應(yīng)用
    的頭像 發(fā)表于 11-05 15:45 ?1185次閱讀
    <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b> <b class='flag-5'>PCIe</b> Gen3的應(yīng)用<b class='flag-5'>接口</b>及特性

    [XILINX] 正點原子ZYNQ7035/7045/7100開發(fā)板發(fā)布、ZYNQ 7000系列、雙核ARM、PCIe2.0、SFPX2!

    正點原子FPGA新品ZYNQ7035/7045/7100開發(fā)板,ZYNQ 7000系列、雙核ARM、PCIe2.0、SFPX2! 正點原子Z100 ZYNQ開發(fā)板,搭載Xilinx Zynq7000
    發(fā)表于 09-02 17:18

    pcie4.0和pcie3.0接口兼容嗎

    PCIe 4.0和PCIe 3.0接口在多個方面實現(xiàn)了兼容性,PCIe 4.0和PCIe 3.0
    的頭像 發(fā)表于 07-10 10:12 ?7776次閱讀

    FPGAPCIE接口應(yīng)用需要注意哪些問題

    FPGA上的PCIe接口應(yīng)用是一個復(fù)雜的任務(wù),需要考慮多個方面的問題以確保系統(tǒng)的穩(wěn)定性和性能。以下是在FPGAPCIe
    發(fā)表于 05-27 16:17

    高性能NVMe主機控制器,Xilinx FPGA PCIe 3

    Self-test管理、IO(Page)讀寫、DMA讀寫和數(shù)據(jù)擦除功能,提供用戶一個簡單高效的接口實現(xiàn)高性能存儲解決方案。NVMe Host Controller IP DMA讀寫的順序傳輸長度可以配置
    發(fā)表于 04-20 14:41

    Xilinx fpga芯片系列有哪些

    Xilinx FPGA芯片擁有多個系列和型號,以滿足不同應(yīng)用領(lǐng)域的需求。以下是一些主要的Xilinx FPGA芯片系列及其特點。
    的頭像 發(fā)表于 03-14 16:24 ?3427次閱讀

    Xilinx FPGA NVMe主機控制器IP,高性能版本介紹應(yīng)用

    接口,實現(xiàn)PCIe SSD的DMA讀寫功能;提供1個DMA-AXI4-Stream-In/Out或DMA-FIFO-In/Out接口實現(xiàn)DMA數(shù)據(jù)的輸入和輸出?DMA讀寫的順序傳輸長
    發(fā)表于 03-09 13:56

    PCIe控制器(FPGA或ASIC),PCIe-AXI-Controller

    Transaction Layer的所有功能特性,不僅內(nèi)置DMA控制器,而且具備AXI4用戶接口,提供一個高性能,易于使用,可定制化的PCIe-AXI互連解決方案,同時適用于ASIC和FPGA。
    的頭像 發(fā)表于 02-21 15:15 ?969次閱讀
    <b class='flag-5'>PCIe</b>控制器(<b class='flag-5'>FPGA</b>或ASIC),<b class='flag-5'>PCIe</b>-AXI-Controller

    Xilinx FPGA NVMe Host Controller IP,NVMe主機控制器

    DMA命令接口,實現(xiàn)PCIe SSD的DMA讀寫功能;提供1個DMA-AXI4-Stream-In/Out或DMA-FIFO-In/Out接口實現(xiàn)DMA數(shù)據(jù)的輸入和輸出?DMA讀寫的
    發(fā)表于 02-21 10:16

    TC1728沒有LIN接口,只有UART接口,可以用UART接口實現(xiàn)LIN接口嗎?

    TC1728沒有LIN接口,只有UART接口??梢杂肬ART接口實現(xiàn)LIN接口嗎?
    發(fā)表于 02-06 06:51