当前位置: 首页 > article >正文

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

引言:本文对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资源使用情况

图片

                              


http://www.kler.cn/a/420080.html

相关文章:

  • M31系列LoRa分布式IO模块功能简介
  • Linux中dos2unix详解
  • 微软表示不会使用你的 Word、Excel 数据进行 AI 训练
  • PyTorch 实现动态输入
  • WPF+LibVLC开发播放器-LibVLC在C#中的使用
  • DTC控制,直接转矩控制详解
  • 软件保护:从用户角度出发的安全需求与体验
  • C++之 String 类的模拟实现
  • k8s api对象,CRD
  • linux 操作系统环境配置 redhat9
  • 如何利用微型5G网关为智慧无人矿车提供精确定位
  • pytest(一)csv数据驱动
  • AI开发 - GPT之魂 用Python 演示chatGPT的自注意力机制 - 机器学习
  • JavaScript根据数据生成柱形图
  • 大数据Hadoop实战:从基础到应用
  • STM407IGT6+WS2818灯带
  • ubuntu部署RocketMQ
  • Kubernetes 集群网络:Flannel 与 Calico 的区别
  • AD7606使用方法
  • 学习记录:js算法(一百零七):解码方法
  • 求自然数N的所有约数之和。:JAVA
  • LWIP和FATFS 实现 FTP 服务端
  • EasyMedia播放rtsprtmp视频流(flvhls)
  • 事务常见分类
  • 软件质量保证——单元测试之白盒技术
  • hdlbits系列verilog解答(Dff16e-同步复位上升沿16位触发器)-85