7 Series FPGAs Integrated Block for PCI Express IP核简介

7 Series FPGAs Integrated Block for PCI Express IP核是Xilinx公司7系列FPGA中集成的PCI Express(PCIe)IP核模块是一个可扩展的、高带宽的、可靠的串行互联构建块,用于与Xilinx的Zynq®-7000 SoC和7系列FPGA配合使用。支持1-lane、2-lane、4-lane和8-lane的端点(Endpoint)和根端口(Root Port)配置速度可达5 Gb/s(Gen2)所有配置都符合PCI Express Base Specification,rev. 2.1。

Xilinx的7系列FPGA中集成的PCI Express IP核模块为那些需要高速、可靠的数据传输的应用提供了强大的支持,同时保持了低开销和低延迟。它为用户提供了一个灵活的、可扩展的接口,并支持最新的PCI Express标准。

特征

(1)是高性能、高度灵活、可扩展和可靠的通用I/O核

        高性能:能够提供快速的数据传输和处理能力。

        高度灵活:可以适应不同的应用场景和配置需求。

        可扩展:系统可以根据需要增加更多的I/O通道或功能。

        可靠:在数据传输和处理过程中具有高度的稳定性和可靠性。

(2)采用Xilinx Smart-IP技术以保证关键时序

        Xilinx的Smart-IP技术是一种智能知识产权(IP)解决方案,它集成了经过验证的硬件设计和         软件工具,以确保设计的正确性和性能。在这里,它被用来保证PCIe I/O核心的关键时序要求         得到满足。

(3)使用GTXE2或GTPE2收发器(针对7系列FPGA)

        GTXE2和GTPE2是Xilinx为其7系列FPGA提供的高速串行收发器。

       2.5 GT/s和5.0 GT/s线速度:这些收发器支持高达2.5 GT/s和5.0 GT/s的线速度,提供了高速           数据传输的能力。

       支持1通道、2通道、4通道和8通道操作:可以根据需要配置为不同的通道数,以满足不同的           带宽和性能需求。

       弹性缓冲和时钟补偿:有助于在数据传输过程中处理时钟偏差和抖动,确保数据的完整性和           准确性。

       自动时钟数据恢复(CDR):用于从接收到的数据中恢复时钟信号,从而提高数据传输的稳           定性。

  (4)支持Endpoint和Root Port配置

       PCIe系统中有两种主要类型的设备:Endpoint(端点)和Root Port(根端口)。该IP核可以           配置为这两种类型中的任何一种,以适应不同的系统架构和需求。

(5)8B/10B编码和解码

       8B/10B是一种线路编码方案,用于在高速串行通信中确保数据的直流平衡和同步。它通过将8        位数据转换为10位编码来减少由于连续0或1造成的位流偏差。

(6)支持PCIe规范要求的Lane Reversal和Lane Polarity Inversion

        Lane Reversal(通道反转):在某些情况下,可能需要反转通道的数据传输方向。

        Lane Polarity Inversion(通道极性反转):改变通道上数据的逻辑极性(例如,将1转换为             0,将0转换为1)。

(7)标准化的用户界面

       提供了统一的、标准化的用户界面,使得开发人员可以更容易地集成和使用该IP核。    

(8)符合PCI/PCI Express电源管理功能

       PCIe接口遵循PCI和PCI Express标准中的电源管理功能。这意味着它支持各种电源管理特             性,如节能状态(如L0s、L1等)、电源状态转换以及电源管理消息等。这些功能有助于优化        系统的能耗和性能。

(9)符合事务处理顺序规则

       PCIe接口遵循PCI Express标准中的事务处理顺序规则。这些规则确保了事务(如内存读写、         I/O请求等)按照正确的顺序执行,从而避免了数据冲突和不一致性。

(10)支持最大事务负载高达1024字节

(11)支持多向量MSI(Message-Signaled Interrupts)高达32个向量和MSI-X

       MSI是一种中断机制,它使用PCIe消息而不是传统的硬件中断线来通知CPU设备需要服务。          多 向量MSI允许设备为每个中断源分配一个独特的消息ID,从而允许CPU同时处理多个中断。

       MSI-X是MSI的扩展版本,它提供了更多的中断向量和更好的中断管理能力。MSI-X允许设备           为每个中断源分配一个独特的内存写入地址,从而减少了中断处理时的CPU开销。

(11)上配置(Up-configure)能力使应用驱动带宽可扩展性

       上配置(Up-configure)是一种PCIe功能,它允许在运行时动态地增加PCIe链路的带宽。这           意味着,如果系统需要更高的数据传输速率,可以通过重新配置PCIe链路来实现。这种能力           使得PCIe接口能够根据应用的需求动态地调整带宽,从而实现了应用驱动的带宽可扩展性。

概述

在Xilinx 7系列FPGA中,7 Series FPGAs Integrated Block是一个重要的组成部分,它允许FPGA设备与其他PCIe设备(如处理器、内存和其他扩展卡)进行高效的数据交换。通过支持不同的PCIe速度(包括2.5 Gb/s、5.0 Gb/s和8.0 Gb/s Gen3),这些FPGA可以满足广泛的应用需求,包括高性能计算、网络通信和数据中心等。

下表定义了PCIe®决方案的集成块。

7 Series FPGAs Integrated Block IP核内部实例化了7系列FPGA的PCI Express集成块(PCIE_2_1),通过实例化PCIE_2_1集成块来支持PCIe协议。这个集成块遵循PCI Express基础规范的分层模型,该模型包括物理层、数据链路层和事务层。按照PCIe基础规范的分层模型进行设计和实现,确保了与PCIe标准的兼容性和可靠性。

在Figure 2-1中描述的这些接口,与7系列FPGA的PCI Express(PCIe)硬核相关,包括系统(SYS)接口、PCI Express(PCI_EXP)接口、配置(CFG)接口、事务接口(AXI4-Stream)以及物理层控制和状态(PL)接口。下面是对这些接口的简要说明:

  1. 系统(SYS)接口:允许FPGA与外部系统或处理器进行通信的接口。通过此接口,FPGA可以接收来自系统或处理器的命令和数据,也可以向系统或处理器发送数据。
  2. PCI Express(PCI_EXP)接口:这是PCIe硬核的主要接口,用于实现PCIe的物理层、链路层和事务层。它允许FPGA与其他PCIe设备(如显卡、存储设备等)进行高速数据传输。
  3. 配置(CFG)接口:此接口用于配置PCIe硬核的参数和设置。通过CFG接口,用户可以对PCIe硬核进行初始化、设置其工作模式和参数等。
  4. 事务接口(AXI4-Stream):AXI4-Stream是Xilinx FPGA中使用的一种高速数据流接口。在PCIe硬核中,它用于在FPGA的逻辑部分和PCIe硬核之间传输事务层数据包(TLP)。用户如果需要向PC发送数据,就需要在逻辑端组好MEM_WR事务包并发送到AXI4-Stream接口;同样,如果要从PC获取数据,就需要发送MEM_RD事务包,并从返回的COMPLETE事务包中提取数据。
  5. 物理层控制和状态(PL)接口:此接口用于控制和监控PCIe硬核的物理层。通过PL接口,用户可以读取物理层的状态信息(如链路状态、错误计数等),也可以对物理层进行某些控制操作(如重置链路、配置参考时钟等)。

7 Series FPGAs Integrated Block IP核使用数据包(packets)在上述各个模块之间交换信息。这些数据包在事务层(Transaction Layer)和数据链路层(Data Link Layer)中形成,用于将信息从发送组件传输到接收组件。在传输数据包时,会添加必要的信息,以便在这些层中处理数据包。

在接收端,接收元素的每一层都会处理传入的数据包,剥离相关的信息,并将数据包转发到下一层。这个过程涉及到从物理层表示(Physical Layer representation)到数据链路层表示(Data Link Layer representation),再到事务层表示(Transaction Layer representation)的转换。

在接收端,数据包首先会到达物理层,然后逐层向上传输,每个层都会剥离掉自己添加的头信息,并将数据包转发给上一层。最终,数据包会到达事务层,这时数据包中的信息就可以被应用程序或设备驱动程序使用了。

通过这种分层处理的方式,PCIe协议能够高效地处理大量的数据传输请求,同时保持较低的错误率和较高的可靠性。

下面两张表显示在Vivado® Design Suite中实现PCI Express(PCIe)硬核时的资源信息

IP核接口

7 Series FPGAs Integrated Block IP核包含顶层信号接口和发送接口。

顶层信号接口

(1)系统(SYS)接口

包括系统复位信号(sys_rst_n)和系统时钟信号(sys_clk),这些在Table 2-5中有描述。

系统复位信号(sys_rst_n)是一个低电平有效的信号,用于初始化或重置PCIe IP核。当这个信号被激活(即被拉低)时,PCIe IP核将回到其初始状态或重置状态。

在一些7系列设备中,可能并没有提供3.3V的I/O端口,因此当这些设备只包含1.8V的bank时,就需要进行适当的电平转换来操作。

系统复位信号(sys_rst_n),它是一个异步输入低电平有效用于初始化或重置PCIe IP核。当sys_rst_n被激活(即被拉低)时,它将导致整个PCIe IP核的硬复位PCIe IP将回到其初始状态或重置状态。这个系统复位信号是一个3.3V的信号。

系统时钟信号(sys_clk)是用于PCIe IP操作的时钟信号。这个时钟信号定义了PCIe IP核内部操作的时序和速率。PCIe IP核的所有功能,包括数据传输、控制和状态更新等,都将基于这个时钟信号进行操作。

系统输入时钟(sys_clk)的频率必须是100MHz、125MHz或250MHz中的一个,具体选择取决于在Vivado® IP目录中的时钟和参考信号设置。这些频率值是根据PCIe协议规范和PCIe核心的要求来确定的,以确保正确的数据传输和同步。

(2)PCI Express 接口

PCI Express(PCI_EXP)接口是一个高速串行计算机扩展总线标准,用于连接计算机的主板和其他设备,如显卡、网络接口卡、固态硬盘等。它使用差分信号传输技术,以提高数据传输的可靠性和速度。

PCI Express 接口由多个“通道”(lane)组成,每个通道包含一对差分发送信号(pci_exp_txppci_exp_txn)和一对差分接收信号(pci_exp_rxppci_exp_rxn)。

其中PCI Express 通道数为:

  • 1-lane 核心:只支持 Lane 0。
  • 2-lane 核心:支持 Lane 0 和 Lane 1。
  • 4-lane 核心:支持 Lane 0 到 Lane 3。
  • 8-lane 核心:支持 Lane 0 到 Lane 7。

通道数的增加可以提高数据传输的带宽,但也会增加硬件的复杂性和成本。

事务接口

(1)通用接口

(2)发送接口

s_axis_tx_tuser 总线包含了多个不相关的信号,这些信号用于在AXI-Stream接口的发送(Tx)路径上传递额外的用户定义信息。

例如:在(tsrc_dsc)s_axis_tx_tuser[3] 中,tsrc_dsc 是一个助记符,用于标识s_axis_tx_tuser总线的第4个信号(因为数组索引通常从0开始)是“Transmit Source Discontinue”信号。这里的括号可能是为了在文档中清晰地表明助记符与信号名的关联。

(3)接收接口

其中,m_axis_rx_tuser 总线包含了一组不相关的信号,这些信号在AXI-Stream接口的接收(Rx)路径上传递额外的用户定义信息。

(4)物理链路层接口

允许用户设计来检查链路(Link)和链路伙伴(Link Partner)的状态,并控制链路的状态。

(5)配置接口

允许用户设计检查PCIe配置空间的状态。具体来说,用户设计提供一个10位的配置地址,这个地址用于选择1024个配置空间双字(DWORD)寄存器中的一个。然后,PCIe端点通过32位数据输出端口返回所选寄存器的状态。

PCIe配置空间是一个重要的组成部分,它包含了PCIe设备的信息和配置选项。这个空间由一系列的寄存器组成,每个寄存器都存储了关于设备的一个特定方面的信息或设置。通过CFG接口,用户可以读取和修改这些寄存器,从而获取PCIe设备的状态信息或配置设备的行为。

(6)终端接口

(7)错误汇报接口

(8)动态配置接口

允许用户对对7 Series FPGAs Integrated Block IP核的FPGA配置存储器位进行动态更改。这些配置位以PCIE_2_1库原语的属性形式表示,这些原语是该IP核的一部分的实例化。

具体来说,DRP(Dynamic Reconfiguration Port)是一种用于外设配置和通信的接口技术,它可以通过FPGA内部的可编程逻辑实现,提供了一种快速、灵活地配置和通信外设的方式。DRP接口具有灵活性,可以在设计过程中根据需要动态地配置和重新配置外设,无需重新实现整个设计,这可以大幅度降低开发成本和时间,并提供更快的产品上市时间。

在7系列FPGA中,配置存储器不仅用于实现用户逻辑、连接和I/O,还用于其他目的,如指定功能块中的各种静态条件。有时,应用程序需要在功能块运行时更改这些条件,这可以通过使用DRP等接口进行部分重配置来实现。DRP接口还支持动态重配置功能,可以在无需停机或重启系统的情况下对外设进行热插拔或重新配置。

总的来说,DRP接口为FPGA的动态配置提供了强大的支持,使得FPGA的设计更加灵活和高效。

(9)内部端点接口

(10)内部配置访问端点接口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/839640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法】栈——逆波兰表达式求值

题解:逆波兰表达式求值(栈算法) 目录 1.题目2.题意2.1逆波兰表达式2.2向零截断 3.题解4.总结 1.题目 题目链接:LINK 2.题意 这个题目种涉及一些概念,应当适当说一下。 2.1逆波兰表达式 即后缀表达式,是一种数学表达式的表达…

全自动机器学习AutoML高效预测时间序列

大家好,时间序列数据是许多现实世界问题的核心,例如预测能源消耗、气象预报、库存管理。传统上,使用专门的时间序列模型如Prophet来对此类数据进行建模和预测。然而,通过将时间序列数据转换为表格格式,可以利用更广泛的…

【全开源】多场馆场地预定小程序源码(ThinkPHP+FastAdmin+UniApp)

场馆场地预定小程序源码一款基于ThinkPHPFastAdminUniApp开发的多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆(高级版)

如何将word插入的形状转成图片(高清)导出?

文章目录 前言(不感兴趣可以直接看正文)一、新建画布二、插入形状三、复制四、粘贴为图片五、另存为总结 前言(不感兴趣可以直接看正文) 因为我毕业论文里的图片刚开始使用画图软件画的,但到后期论文即将胶印的时候&a…

HarmonyOS interface router scale pageTransition SlideEffect.Left ArkTS ArkUI

🎬️create Component export default struct TitleBar {build(){Row(){Text(transition).fontSize(30fp).fontColor(Color.White)}.width(100%).height(8%).backgroundColor(#4169E1).padding({left:10})}}🎞️interface export interface IList{ti…

EXPLAIN执行计划详解

EXPLAIN 是 MySQL 中的一个非常实用的命令,主要用于分析 SQL 查询语句的执行计划(Query Execution Plan,QEP)。通过这个命令,用户可以获取到数据库引擎如何执行特定的 SQL 语句的详细信息,这对于优化查询性…

DLRover:蚂蚁集团开源的AI训练革命

在当前的深度学习领域,大规模训练作业面临着一系列挑战。首先,硬件故障或软件错误导致的停机时间会严重影响训练效率和进度。其次,传统的检查点机制在大规模训练中效率低下,耗时长且容易降低训练的有效时间。资源管理的复杂性也给…

Codigger编码场景介绍(二):驾驶舱场景(Cockpit)

Codigger,一个专为开发人员设计的工具,致力于为不同的开发场景提供最佳的切换体验。Codigger囊括了多种场景,如传统场景、调试场景、设计器场景、驾驶舱场景以及纯净场景等。在上一篇文章中,我们介绍了传统场景模式,今…

数据结构_栈在括号匹配中的应用_代码

学习笔记 #include<stdio.h> #include<stdlib.h> #include<string.h>#define MaxSize 10 typedef struct{char data[MaxSize];int top; }SqStack;//初始化栈 void InitStack(SqStack &S){S.top 0; } //判断栈是否为空 bool StackEmpty(SqStack S){if (…

深度学习之基于YoloV5钢材微小缺陷检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与目标 在钢材生产过程中&#xff0c;由于各种因素&#xff0c;钢材表面可能会出现微小缺陷&#xff…

DevOps实践:通过云效实现hexo自动构建部署发布

DevOps&#xff08;Development和Operations的组合词&#xff09;是一组过程、方法与系统的统称&#xff0c;用于促进开发&#xff08;应用程序/软件工程&#xff09;、技术运营和质量保障&#xff08;QA&#xff09;部门之间的沟通、协作与整合。这是一种重视“软件开发人员&a…

如何科学制定个性化健康方案?

随着现代生活节奏的加快&#xff0c;慢性病已经成为困扰许多人的健康难题。在这个信息爆炸的时代&#xff0c;如何科学、有效地管理个人健康&#xff0c;成为了我们每个人必须面对的问题。今天&#xff0c;我们就来探讨一下如何通过一体化解决方案&#xff0c;科学制定个性化健…

接口自动化测试工具-----pytest

首先确保安装了Python环境&#xff0c;首先&#xff0c;你需要确保已安装 Python 和 Pip。如果还没有安装&#xff0c;可以从 Python 官方网站下载并安装最新版本的 Python。安装过程中请确保选中“Add Python to PATH”选项。 安装pytest:打开命令提示符&#xff08;Command …

水面漂浮物生活垃圾识别检测系统

水面漂浮物生活垃圾识别检测系统通过现场监控摄像机对河道湖面等水体进行实时监测&#xff0c;水面漂浮物生活垃圾识别检测系统借助智能视频分析技术和YOLO深度学习技术&#xff0c;系统能够自动识别和抓拍水面上的垃圾漂浮物。一旦系统检测到有垃圾漂浮在水面上&#xff0c;立…

深度学习之基于暗通道算法+卷积神经网络图像去雾可视化系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 在图像处理领域&#xff0c;图像去雾技术一直是一个重要的研究方向。由于雾霾等天气条件的影响…

软件测试/测试开发丨学习笔记之Allure2测试报告

Allure2测试报告 1、使用 Allure2 运行方式-Python 1&#xff09;–alluredir 参数生成测试报告。 在测试执行期间收集结果 pytest [测试用例/模块/包] --alluredir./result/ (—alluredir这个选项 用于指定存储测试结果的路径)#生成在线的测试报告 allure serve ./result2…

解决Ubuntu无法使用root登录的问题

1、登录普通用户 2、使用vi编辑器打开/etc/pam.d/gdm-autologin并注释掉auth required pam_succeed_if.so user ! root quiet_success 3、使用vi编辑器打开/etc/pam.d/gdm-password并注释掉auth required pam_succeed_if.so user ! root quiet_success 4、注销用户重新用roo…

Windows部署Jar包到系统服务(Service)

使用WinSW工具 1、工具下载地址&#xff1a;https://github.com/winsw/winsw/releases 选择最新版本下载 根据机器32位或者64位分别下载exe&#xff0c;再下载sample-minimal.xml文件 2、修改文件名 将两个文件名称修改为服务名&#xff0c;如&#xff1a; test.exe 和 test…

【誉天618·年中钜惠】无忧卡计算VIP会员上线

在数字化浪潮汹涌的当下&#xff0c;技术更新迭代的速度令人目不暇接。为了满足广大技术爱好者与专业人士对于最新技术的渴望与追求。2022年我们推出了誉天系列会员卡&#xff0c;受到了学员和企业的一致好评&#xff0c;现在我们又结合当下的热门ICT技术进行了会员卡升级。 誉…

Manjaro Linux上安装和配置输入法Fcitx5(稳定2014-5-17亲测)

在Manjaro Linux上安装和配置输入法&#xff0c;通常会选择Fcitx5或Ibus作为输入法框架。以下是详细步骤&#xff0c;包括安装和配置输入法框架以及安装中文输入法。 安装过程中冲突 卸载老版本 fcitx-4.*即可&#xff0c; 应为全面拥抱Fcitx5 参考文献&#xff1a; Fcitx5 do…