0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Xilinx FPGA的PCIE接口实现

FPGA设计论坛 来源:未知 2023-10-28 16:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

wKgaomU8xpKAY0fdAAAAuFYhST8923.png

点击上方蓝字关注我们

随着系统性能、功能和带宽的日益增长,总线技术也在迅速的发展。海量存储,卫星通讯,高速数据采集与记录以及其他数据处理的数据吞吐量现以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端点解决方案。

wKgaomU8xpKARt7FAAB6UaBvi60955.jpg

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

wKgaomU8xpKAaDYqAABmAMi6_Vw758.jpg

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

wKgaomU8xpOAPKXgAABk09sKYzY583.jpg

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总线已是大势所趋,它能给电脑硬件的发展提供一种高性能的总线平台,充分发挥各硬件子系统的性能,并为这些子系统今后的性能提升开辟更广阔的空间。

wKgaomU8xpOAM-uQAABUdafP6GM467.jpg

精彩推荐 至芯科技FPGA就业培训班——助你步入成功之路、10月29号西安中心开课、欢迎咨询! FPGA测试面临哪些挑战?测试方案是什么? SDRAM控制器软核的Verilog设计扫码加微信邀请您加入FPGA学习交流群

wKgaomU8xpOAVV2qAABiq3a-ogY503.jpgwKgaomU8xpOAJqlHAAACXWrmhKE945.png

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看


原文标题:基于Xilinx FPGA的PCIE接口实现

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1656

    文章

    22298

    浏览量

    630496

原文标题:基于Xilinx FPGA的PCIE接口实现

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Xilinx高性能NVMe Host控制器IP+PCIe 3.0软核控制器IP,纯逻辑实现,AXI4和AXI4-Stream DMA接口,支持PCIe 3.0和4.0

    、Cache Flush和逻辑数据块擦除功能;提供1个IO-AXI4-MM接口读写IO(page)数据Ø提供1个DMA命令接口实现PCIe SSD的DMA读写功能n提供1个DMA-
    发表于 11-14 22:40

    Xilinx FPGA串行通信协议介绍

    Xilinx FPGA因其高性能和低延迟,常用于串行通信接口设计。本文深入分析了Aurora、PCI Express和Serial RapidIO这三种在Xilinx系统设计中关键的串
    的头像 发表于 11-14 15:02 2004次阅读
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>串行通信协议介绍

    淘宝平台获取店铺商品列表API接口实现详解

    ​ 在电商数据分析、店铺管理工具开发或竞品监控等场景下,通过API接口获取淘宝店铺的商品列表数据是一项常见且重要的需求。本文将介绍如何通过淘宝开放平台的API接口实现这一功能。 一、 接口选择与认证
    的头像 发表于 11-06 15:22 217次阅读
    淘宝平台获取店铺商品列表API<b class='flag-5'>接口实现</b>详解

    PCIE725G】青翼凌云科技基于 PCIe x16 总线架构的 JFM9VU9P FPGA 高性能数据预处理平台(100%国产化)

    PCIE725G 是一款基于 PCIe x16 总线架构的高性能 FMC 接口信号处理平台,该平台支持采用 16nm 工艺 JFM9VU9P FPGA作为主处理器。该板卡支持 1 个
    的头像 发表于 11-05 17:30 580次阅读
    【<b class='flag-5'>PCIE</b>725G】青翼凌云科技基于 <b class='flag-5'>PCIe</b> x16 总线架构的 JFM9VU9P <b class='flag-5'>FPGA</b> 高性能数据预处理平台(100%国产化)

    PCIE737】青翼凌云科技基于全高PCIe x8总线的KU115 FPGA高性能硬件加速卡

    PCIE737是一款基于PCIE总线架构的KU115 FPGA的12路光纤通道处理平台,该板卡具有1个PCIe Gen3x8主机接口、3个
    的头像 发表于 11-03 16:31 465次阅读
    【<b class='flag-5'>PCIE</b>737】青翼凌云科技基于全高<b class='flag-5'>PCIe</b> x8总线的KU115 <b class='flag-5'>FPGA</b>高性能硬件加速卡

    PCIE723】青翼凌云科技基于 VU3P FPGA 的 100%全国产化高性能 PCIe 数据预处理载板

    PCIE723 是一款基于国产 16nm 工艺 FM9VU3P FPGAPCIE 总线架构的全国产化高性能数据预处理平台,板卡具有 1 个 FMC+ (HPC)接口,1 路
    的头像 发表于 09-24 12:03 1147次阅读
    【<b class='flag-5'>PCIE</b>723】青翼凌云科技基于 VU3P <b class='flag-5'>FPGA</b> 的 100%全国产化高性能 <b class='flag-5'>PCIe</b> 数据预处理载板

    嵌入式接口通识知识之PCIe接口

    内部的各种硬件设备,如显卡、网络适配器、存储控制器等。 PCIe接口使用点对点连接方式,每个PCIe设备直接与主板上的PCIe控制器连接,而不需要通过共享总线。这种点对点连接架构消除了
    发表于 08-21 16:51

    基于FPGA的DVP接口实现

    DVP接口(Digital Video Port)是一种用于数字视频传输的并行接口,常见于嵌入式系统和图像传感器中。DVP直接传输数字视频信号,减少模数转换需求,适合中低速视频传输。数据线:通常为8
    的头像 发表于 06-04 09:18 1676次阅读
    基于<b class='flag-5'>FPGA</b>的DVP<b class='flag-5'>接口实现</b>

    正点原子AU15开发板资料发布!板载40G QSFP、PCIe3.0x8和FMC LPC等接口,性能强悍!

    正点原子AU15开发板资料发布!板载40G QSFP、PCIe3.0x8和FMC LPC等接口,性能强悍! 正点原子AU15开发板搭载Xilinx Artix UltraScale+ 系列FP
    发表于 05-30 17:04

    基于FMC接口的XCZU7EV 通用PCIe

    基于通用PCIe实现FMC的数据接口和主控计算,广泛应用于工业控制,检测,视觉处理。支持工业级温度工作。
    的头像 发表于 05-07 09:10 713次阅读
    基于FMC<b class='flag-5'>接口</b>的XCZU7EV 通用<b class='flag-5'>PCIe</b>卡

    ZYNQ FPGA的PS端IIC设备接口使用

    zynq系列中的FPGA,都会自带两个iic设备,我们直接调用其接口函数即可运用。使用xilinx官方提供的库函数,开发起来方便快捷。
    的头像 发表于 04-17 11:26 1764次阅读
    ZYNQ <b class='flag-5'>FPGA</b>的PS端IIC设备<b class='flag-5'>接口</b>使用

    【高清视频案例分享】CameraLink接口PCIe采集卡 ,基于FPGA开发平台

    【高清视频案例分享】CameraLink接口PCIe采集卡 ,基于FPGA开发平台 一、CameraLink简介 CameraLink是一种高速、可靠的相机接口标准,它专为满足高性
    发表于 03-25 15:21

    PCIE XDMA开发环境搭建以及环路测试

    大家 XILINX FPGA PCIE 应用解决方案。 本教程以MZ7035FA作为样机测试。在正式开始教程内容前,有必要把MZ7035FA开发板的特点说明下。这是一款高性价比的FPGA
    的头像 发表于 01-13 09:38 2711次阅读
    <b class='flag-5'>PCIE</b> XDMA开发环境搭建以及环路测试

    利用FPGA实现USB 2.0通信接口

    USB 2.0接口实现方式 利用FPGA实现USB 2.0接口的方式一般有两种,一是借助外围的USB
    的头像 发表于 12-30 13:59 3812次阅读
    利用<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>USB 2.0通信<b class='flag-5'>接口</b>

    4G模组GPIO接口实操|精选教程

    今天我将把我熟悉的4G模组GPIO接口实操整理成文,以Air724UG做出精选教程分享给大家。
    的头像 发表于 12-14 09:36 1918次阅读
    4G模组GPIO<b class='flag-5'>接口实</b>操|精选教程