PCIe基础知识及Xilinx相关IP核介绍

这篇具有很好参考价值的文章主要介绍了PCIe基础知识及Xilinx相关IP核介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

补发以下以前学习PCIe总结的知识。

PCIe学习笔记系列:

  1. PCIe基础知识及Xilinx相关IP核介绍
    概念了解:简单学习PCIe的数据链路与拓扑结构,另外看看有什么相关的IP核。
  2. 【PG054】7 Series Integrated Block for PCI Express IP核的学习
    基础学习:关于Pcie IP核的数据手册,学习PCIe相关的IP核的配置参数及其对应的含义。
  3. Xilinx PCIe IP核示例工程代码分析与仿真
    基础学习:关于PCIe IP核的仿真,学习PCIe的配置流程以及应用过程。
  4. Xilinx XDMA 例程代码分析与仿真结果
    应用学习:关于Xilinx PCIe DMA IP核的仿真,学习 PCIe DMA 的配置过程以及具体的数据传输流程。
  5. XDMA linux平台调试过程记录
    应用学习:关于XDMA的实际调试过程,可在此基础上定制自己的需求。

1 关于PCIe DMA IP核

1.1 PCIe 基础

PCI Express总线是为了取代PCI总线的第三代I/O技术,但是对于系统软件,PCIe是向前兼容PCI总线的,理解PCIe总线必须建立在深刻理解PCI总线的基础志上,这里由于我也是初学者,不深入展开。

为了完成XDMA的测试,有一些基本的概念就可以,如果需要后面的开发应用,就需要系统的学习一下。

  1. 点到点的数据传输

xilinx pcie,接口与协议学习,PCIe,fpga开发

  • PCIe总线的物理链路的一个数据通路(lane)中,有两组差分信号。
  • PCIe总线物理链路间的数据传送使用基于时钟的同步传送机制,但是在物理链路中没有时钟,在接收端使用时钟恢复模块(clock data recovery,CDR)提取接收时钟。
  • PCIe链路可以由多条lane组成,即PCIe x2 x4 x8分别代表有2,4,8条lane
  1. PCIe总线使用的信号
  • 这里主要是注意PCIe设备与PCIe插槽都具有REFCLK+/-信号,PCIe插槽使用这组信号与处理器系统同步
  • PCIe插槽向下兼容,比如PCIex2,x4都可以插x8的插槽。
  1. PCIe总线的层次结构
    上面的层次组成结构图展示了PCIe总线的层次组成结构。

数据报文首先经过事务层(Transaction layer),数据链路层(data link layer),和物理层(physical layer),最终发送出去。接收则相反,这里面每一层都会对数据进行处理。我们只是调通DMA的话暂时不用关注这个,但是如果要应用则必须深入学习。

各层的包结构:
xilinx pcie,接口与协议学习,PCIe,fpga开发

  1. PCIe的拓扑结构

xilinx pcie,接口与协议学习,PCIe,fpga开发

  • Root Complex:RC,将PCIe总线端口,存储器控制器等一系列与外部设备有关的接口都集成在一起,统称为RC。
  • Endpoint:EP,基于PCIe总线的设备。
  • Switch: 一个特殊的设备,多个虚拟PCI-to-PCI桥接设备的逻辑组件,该设备由1个上游端口和2~n个下游端口组成。

xilinx pcie,接口与协议学习,PCIe,fpga开发

现在知道我们的板卡需要作为拓扑网络中的一个Endpoint与CPU进行通信。

1.2 PCIe相关IP核

在Vivado IDE 中的 IP Catalog 中搜索 PCIe,有三个结果:

xilinx pcie,接口与协议学习,PCIe,fpga开发

这三个Ip核对应的产品手册分别为:

  • PG054:7 Series FPGAs Integrated Block for PCI Express v3.3
  • PG055:AXI Memory Mapped to PCI Express (PCIe) Gen2 v2.9
  • PG195:DMA/Bridge Subsystem for PCI Express v4.1

  1. 7 Series FPGAs Integrated Block for PCI Express

7 Series FPGAs Integrated Block for PCI Express 是一个可靠的、高带宽的、可扩展的串行互连构建块。这个IP 核简化了设计过程,缩短了上市时间。它是可配置的Endpoint和Root Port应用。

xilinx pcie,接口与协议学习,PCIe,fpga开发

这个IP核是实现最底层的PCIe数据收发的模块。


  1. AXI Memory Mapped to PCI Express (PCIe) Gen2

AXI Memory Mapped to PCI Express IP核 提供了一个【AXI4用户自定义接口】和【Integrated Block for PCI Express】之间的接口。IP 核提供了AXI4内嵌系统到PCI Express 系统之间的转换。将AXI4 内存读写转换成PCIe 的事务层数据包( Transaction Layer Packets ,TLP ),以及将PCIe内存读写的TLP包转换成AXI4接口控制。

结构:
xilinx pcie,接口与协议学习,PCIe,fpga开发

可以看出,这个IP核实在底层核的基础上加上一些转换的桥模块,实现AXI4的内存映射功能。


  1. DMA/Bridge Subsystem for PCI Express

Xilinx DMA/Bridge Subsystem for PCI Express(PCIe)利用PCI Express 2.1 或 3.x 集成块实现了高性能、可配置的Scatter Gather DMA。IP提供了可选的AXI4或AXI4-Stream用户接口。

结构:
xilinx pcie,接口与协议学习,PCIe,fpga开发

可以看出DMA Subsystem fpr PCIe是在一个配置为Endpoint的Integrated Block for PCI Express IP 核的基础上加上一些实现DMA操作的模块。外围的很多功能模块都已经做好直接用就行,如果自己在Integrated Block for PCI Express IP 核的基础上开发一个XDMA应用。我们应用的时候注意,这个IP核已经把TLP相关的寄存器读写事务解析过了,与我们用户逻辑直接使用AXI4 或 AXI4-Stream 接口连接。关于AXI4接口,当然需要提前有个概念,所以我也是提前去稍微学习了一下:AXI4协议学习:架构、信号定义、工作时序和握手机制文章来源地址https://www.toymoban.com/news/detail-788548.html

到了这里,关于PCIe基础知识及Xilinx相关IP核介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Xilinx高速接口GT介绍以及IP核详解

    参考链接:https://zhuanlan.zhihu.com/p/46052855 它是集成在FPGA芯片内部的固定电路, 因此我们只需要关心该固定电路与FPGA的逻辑部分接口时序即可; 它是串行收发器, 发送出去只有1bit数据, 而接收端也是1bit线。 但FPGA与该器件的接口数据是多bit的, 因此该收发器同时也是一个高

    2024年04月12日
    浏览(31)
  • Xilinx平台Aurora IP介绍(三)Aurora配置及接口介绍

    来咯来咯,搬砖全靠它! 汇总篇: Xilinx平台Aurora IP介绍(汇总篇) 目录 一、Aurora配置 1.1第一页配置

    2024年02月16日
    浏览(28)
  • 什么是ip地址?ip地址基础知识介绍

    本文将通过简单、通俗易懂的叙述让普通的用户能够明白ip地址是什么的问题,用户了解这些知识后,在设置路由器上网时将会变得非常容易。 IP是Internet Protocol的简称,即网络互联协议.IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节,但是二进制是计

    2024年02月08日
    浏览(31)
  • PCIe(一)——基础知识

      PCI Express (peripheral component interconnect express) 简称 PCIe,是一种高速串行计算机扩展总线标准。是一种全双工总线,使用高速串行传送方式,能够支持更高的频率,连接的设备不再像 PCI 总线那样共享总线带宽。PCIe目前发布了4个版本——PCIe1.0、PCIe2.0、PCIe3.0、PCIe4.0   PC

    2024年02月08日
    浏览(22)
  • 嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

    工作知识学习及总结系列文档 本文主要记录学习嵌入式软硬件编程过程中的一些硬件基础知识 嵌入式微控制器MCU ,又称单片机,一般以某微处理器内核为核心,芯片集成多种部件,功能和外设,如8051系列。其最大的特点是单片化,体积大大减小,功耗和成本下降,可靠性提

    2024年02月02日
    浏览(35)
  • 【FPGA】Xilinx Cordic IP 内核使用记录(输入输出数据格式介绍)及实验仿真

    Rotate 实现的功能是坐标的旋转。 输入 X, Y, Phase 输出X’, Y’ 具体实现的功能对应的数学表达形式如下: 在做FFT 复乘旋转因子时也可以用这个IP核的Rotate功能来实现。旋转因子-旋转! Translation 实现的功能是求模,以及向量的夹角 输入 X, Y 输出X’ and Phase 具体实现的功能对应

    2024年02月07日
    浏览(37)
  • 关于xilinx使用PCIE实现FPGA的部分重配置实现(MCAP)

    平台:vivado21018.3 芯片:xcku115-flva1517-2-i (active) 本文官方文档:Xilinx_Answer_64761_Ultrascale_Devices 本文驱动下载地址:64761 - Bitstream Loading across the PCI Express Link in UltraScale and UltraScale+ Devices for Tandem PCIe and Partial Reconfiguration (xilinx.com) 本文参考:Xilinx基于PCIE的部分重配置实现(一)

    2024年02月01日
    浏览(44)
  • 第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例

    第一篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:从helloworld开始 第二篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:天气应用 第三篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:健身追踪 第四篇【传奇开心果系列】Ant Design Mobile of React 开发移

    2024年01月20日
    浏览(43)
  • 手把手教你学会 Xilinx PCIE/XDMA 读写DDR系列(三) ——XDMA读写DDR项目工程讲解和下板测试

    因最近想通过PCIE把数据从FPGA传到PC,借此机会和大家一起学习XDMA读写DDR 制作不易,记得三连哦,给我动力,持续更新!!! 完整工程文件下载:XDMA读写DDR工程   提取码:4sxh 在前两篇文章的学习中,我们已经成功配置了XDMA读写DDR所需的两个关键IP核,并深入学习了XDMA读写

    2024年03月12日
    浏览(41)
  • Xilinx 7系列 FPGA硬件知识系列(八)——Xilinx FPGA的复位

    目录  概要  Xilinx复位准则 全局复位主要由以下三种方式实现 高时钟频率下的复位时序全局复位对时序的要求真的很关键吗? 独热码状态机的复位        FPGA配置 Xilinx白皮书WP272《Get Smart About Reset: Think Local, Not Global》详细讲述了FPGA的全局复位。在数字系统设计中,我们

    2024年03月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包