Xilinx PCIe高速接口入门实战(一)

news/2025/3/22 1:04:17

引言:本文对Xilinx 7 Series Intergrated Block for PCI Express PCIe硬核IP进行简要介绍,主要包括7系列FPGA PCIe硬核资源支持、三IP硬核差异、PCIe硬核资源利用等相关内容。

1. 概述

1.1 7系列FPGA PCIe硬件资源支持

7系列FPGA对PCIe接口最大支持如表1所示。

表1:7系列FPGA器件最大资源支持

图片

Spartan-7系列不包含PCIe硬核,Artix-7和Kintex-7包含1个PCIe Gen2硬核,Virtex-7根据器件资源不同支持2~4个PCIe Gen3硬核。

1.2 PCIe硬核IP

Xilinx 7系列FPGA集成了PCIe硬核IP模块,该IP核中固化了PCIe物理层和数据链路层协议相关设计,降低了PCIe协议的使用难度。对于事务层接口,7系列FPGA提供了三种不同的IP核供选择,如图1所示。

图片

图1:7系列FPGA三种不同的IP核

图片

图2:7 Series Intergrated Block for PCI Express核框图

7 Series Intergrated Block for PCI Express:如图2所示,它是最基础的PCIe IP,实现的是PCIe的物理层、数据链路层,提供给用户的是以AXI4-stream接口定义的TLP包。它是这三种IP中资源使用最小,最灵活,也是开发难度最大的。用户如果要往主机发数据,需要在逻辑端组好MEM_WR事务包送到AXI4-stream接口,同样要从主机获取数据,就要发送MEM_RD事务包,然后获取到COMPLETE事务包,再从COMPLETE事务包中提取出数据。使用该IP核,需要对PCIe协议有清楚的理解,特别是对事务包 TLP 报文格式。

图片

图3:AXI Memory Mapped To PCI Express IP核框图

AXI Memory Mapped To PCI Express:如图3所示,它对第①中IP核进行了增强封装,简化设计,提供了AXI MM/S桥接,该桥不仅实现了AXI4 to stream的功能,还提供了事务层包TLP的组装和拆卸、地址转换、错误处理等功能。使用该IP时,用户只需通过AXI4接口接收和发送PCIe数据,不需要组装和拆卸事务包。从逻辑资源消耗的角度来看,居三种IP之中,开发难度也是居三种IP之中。

图片

图4:AXI Memory Mapped To PCI Express IP核框图

DMA/Bridge Subsystem for PCI Express:如图4所示,它也叫做 XDMA,相较于上一种IP,该IP不仅完成了事务层的组包解包,还添加了完整的DMA引擎。虽然在资源利用方面居三者之最,但开发难度也是三种IP最小的,完全不了解PCIe总线协议也可使用该IP开发PCIe。XDMA虽然简单易用,但XDMA也有它的局限,主要表现在两个方面:

1)XDMA正如其名字中的DMA一样,适用与大批量的数据传输场景,不适合小数据场景;

2)XDMA只能用于PCIe的终端(endpoint)设备,不能用于Root Port,另外二个IP既可以用于终端(endpoint)设备,也可以用与Root Port。

2. 7 Series Intergrated Block for PCI Express IP核特性

该IP核集成块是一种可扩展、高带宽和可靠的串行互连构建块,适用于Xilinx®Zynq®-7000 SoC和7系列FPGA系列。该集成块支持5Gb/s(Gen2)速度的x1、x2、x4和x8通道端点配置和根端口配置,所有这些配置都符合PCI Express基本规范2.1版。该解决方案支持AMBA®AXI4 Stream接口户用户界面。凭借更高的每引脚带宽、低开销、低延迟、减少的信号完整性问题和CDR架构。其主要特性如下:

●高性能、高度灵活、可扩展、可靠的通用I/O内核;

●采用Xilinx Smart IP技术,保证关键时序;

●7系列FPGA系列使用GTXE2或GTPE2收发器:

     ○支持2.5 GT/s和5.0 GT/s线速度

     ○支持x1、x2、x4和x8通道

     ○弹性缓冲和时钟补偿

     ○自动时钟数据恢复

●支持端点(EP)和根端口配置(RC);

●8B/10B编码和解码;

●根据PCI Express规范要求支持通道反转和通道极性反转;

●标准化用户界面;

●符合PCI/PCI Express电源管理功能和事务排序规则;

●支持高达1024字节的最大事务有效载荷;

●支持最多32个矢量的多矢量msi和msi-x;

●升级配置功能实现了应用程序驱动的带宽可扩展性。

3. 典型应用领域

图片

PCIe典型应用领域包括:

●电信网络;

●宽带有线和无线应用程序;

●网络接口卡;

●芯片到芯片和背板接口卡;

●用于各种应用程序的服务器 add-in 附加卡。

●数据通信网络。

4. PCIe硬核资源利用

7 Series Intergrated Block for PCI Express支持的线速及用户接口位宽如表2所示。

表2:7 Series Intergrated Block for PCI Express支持的线速及用户接口位宽

图片

表3显示了针对不同通道配置,PCIe硬核资源使用情况。

表3:针对不同通道配置,PCIe硬核资源使用情况

图片

表4显示了针对不同通道、线速配置,PCIe硬核BUFG资源使用情况。

表4:针对不同通道、线速配置,PCIe硬核BUFG资源使用情况

图片

                              


https://dhexx.cn/news/show-5466322.html

相关文章

一文了解 Hugging Face 平台

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ Hugging Face 是一家专注于人工智能与自然语言处理(NLP)的科技公司,致力于推动先进的机器学习技术变得更加开放、易用并实现协作。对于普通公众而言,它提…

lambda strem流表达式处理工具

一个通用的lambda stream流处理工具, 包含了工作中绝大部分场景常用的使用方式 import java.math.BigDecimal; import java.util.*; import java.util.function.BiFunction; import java.util.function.Consumer; import java.util.function.Function; import java.util.funct…

Springboot 修改post请求接口入参或重新赋值

前言 很久之前写过一篇就是自动填充接口参数的,利用的 HandlerMethodArgumentResolver 自定义注解 Springboot Controller接口默认自动填充 业务实体参数值_springboot设置入参默认值-CSDN博客 现在这一篇也差不多,达到的目的就是重新去给post请求的参数…

鸿蒙进阶篇-Stage模型、UIAbility

“在科技的浪潮中,鸿蒙操作系统宛如一颗璀璨的新星,引领着创新的方向。作为鸿蒙开天组,今天我们将一同踏上鸿蒙基础的探索之旅,为您揭开这一神奇系统的神秘面纱。” 各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今…

RabbitMQ在手动消费的模式下设置失败重新投递策略

最近在写RabbitMQ的消费者,因为业务需求,希望失败后重试一定次数,超过之后就不处理了,或者放入死信队列。我这里就达到重试次数后就不处理了。本来以为很简单的,问了kimi,按它的方法配置之后,发…

python+django5.1+docker实现CICD自动化部署springboot 项目前后端分离vue-element

一、开发环境搭建和配置 # channels是一个用于在Django中实现WebSocket、HTTP/2和其他异步协议的库。 pip install channels#channels-redis是一个用于在Django Channels中使用Redis作为后台存储的库。它可以用于处理#WebSocket连接的持久化和消息传递。 pip install channels…

蓝桥杯每日真题 - 第24天

题目:(货物摆放) 题目描述(12届 C&C B组D题) 解题思路: 这道题的核心是求因数以及枚举验证。具体步骤如下: 因数分解: 通过逐一尝试小于等于的数,找到 n 的所有因数…

qt QGraphicsRotation详解

1、概述 QGraphicsRotation 是 Qt 框架中 QGraphicsTransform 的一个子类,它专门用于处理图形项的旋转变换。通过 QGraphicsRotation,你可以对 QGraphicsItem(如形状、图片等)进行旋转操作,从而创建动态和吸引人的视觉…

网络安全运维——高级 题库一 50题

1. 单选题 进行监督和检查全管理制度的贯彻执行情况、系统的运行情况,并且对安全审查和决策机构担负保护系统安全的责任,但工作重点偏向于监视的是()。 A. 安全审查和决策机构 B. 安全主管机构 C. 安全运行维护机构 D. 安全审…

《安富莱嵌入式周报》第346期:开源2GHz带宽,12bit分辨率,3.2Gsps采样率示波,开源固件安全分析器, 开源口袋电源,开源健康测量,FreeCAD

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频: https://www.bilibili.com/video/BV1TYBhYKECK/ 《安富莱嵌入式周报》第346期:开源2GHz带…