7 Series FPGAs Integrated Block for PCI Express IP核设计中的物理层控制核状态接口

物理层控制和状态允许用户应用程序根据数据吞吐量和电源需求来更改链路的宽度和速度。

1 Design Considerations for a Directed Link Change

Directed Link Change(定向链接更改)期间需要注意的事项有:

  • 链接更改操作(Link change operation)必须在user_lnk_up被断言且IP核处于L0状态时进行。这通常通过检查pl_ltssm_state[5:0]信号来确定。
  • 如果启用了Lane Reversal(车道反转),则不应使用链接宽度更改。
  • 目标链接宽度的更改操作必须等于或小于由pl_initial_link_width输出指示的宽度。
  • 如果pl_link_upcfg_cap被设置为1b,则PCI Express链接具有Upconfigure能力。这意味着链接宽度可以在初始协商的链接宽度和由端口和链接伙伴共同支持的任何较小链接宽度之间变化(这通常是为了链接可靠性或应用原因)。
  • 如果链接不是Upconfigure capable的,则协商的链接宽度只能变为链接伙伴和设备共同支持的较小宽度。
  • 链接速度从2.5 Gb/s更改为5.0 Gb/s之前,用户应用程序必须确保链接是5.0 Gb/s(Gen2)兼容的(即pl_link_gen2_cap为1b),并且链接伙伴也是Gen2兼容的(pl_link_partner_gen2_capable为1b)。
  • cfg_lcommand[9](硬件自主宽度禁用位)被设置为0时,表示硬件不会自主更改链路宽度,从而允许应用程序来控制这个更改。当应用需要改变链路的宽度或速度时,必须设置pl_directed_link_auton为1b(即二进制1,或逻辑真)。这个信号告诉PCIe硬件,链路宽度和/或速度的更改是由应用程序发起的,而不是由硬件自主管理的。要将链路宽度和速度恢复到原始(可能是更高的)配置,需要将pl_link_upcfg_cap设置为1b(即二进制1,或逻辑真)。这个信号可能用于触发PCIe硬件重新协商并配置到最初支持的最大链路宽度和速度。
  • 当用户应用程序试图将PCIe链路设置为一个特定的宽度,但该宽度不被链路伙伴所支持时,链路的实际宽度将退回到下一个双方共同支持的较窄的宽度。例如,用户应用程序试图将8条通道的PCIe链路(通常称为“x8”链路)设置为4条通道(即“x4”模式)操作,但是链路伙伴只支持降低到1条通道(即“x1”模式)的操作。因此,最终的链路宽度将是1条通道。
  • cfg_pcie_link_state寄存器的值为101b(表示链路正在过渡到或从PPM的L1状态转移)或110b(表示链路正在过渡到PPM的L2/L3 Ready状态)时,不应使用定向链路更改引脚(Root或Endpoint)或设置重链接位(仅适用于Root)来发起重链接这是因为在PCIe链路处于电源管理相关的过渡状态时,链路的稳定性和配置可能会受到影响。如果在这些状态下发起重链接,可能会导致链路的不稳定、配置错误或更严重的通信问题。
  • 为了简化时序收敛,允许在发起定向链路更改(Directed Link Change)之前,最多等待16个用户时钟周期来同时检查上述所有条件是否均为真。这些条件是:
  1. user_lnk_up == 1'b1:这表示用户链路已上电且可用。
  2. pl_ltssm_state[5:0] == 6'h16:这表示PCIe链路链接状态机(LTSSM, Link Training and Status State Machine)当前处于L0状态,这是正常操作状态。
  3. cfg_lcommand[9] == 1'b0:这通常与PCIe的某些特定配置或命令位相关,可能是指不允许某些类型的命令或配置。
  4. cfg_pmcsr_powerstate[1:0] == 2'b00:这表示设备处于D0电源状态,即完全上电状态。
  5. cfg_pcie_link_state[2:0] != either 3'b101 or 3'b110:这确保PCIe链路不处于过渡到PPM(Power Management Power-down Mode)的L1状态或过渡到PPM的L2/L3 Ready状态的过程中。

在PCIe系统设计中,这些检查是必要的,以确保在发起任何可能影响链路状态的操作(如定向链路更改)之前,系统处于正确的状态。由于硬件和软件的时序差异,允许有一定的缓冲时间(最多16个用户时钟周期)来确保所有条件都得到满足,从而避免潜在的时序违规或不稳定行为。

2 Directed Link Width Change

Directed Link Width Change(定向链路宽度更改),是指由用户应用程序驱动来更改PCIe(Peripheral Component Interconnect Express)链路的宽度。这个过程确保了应用程序可以根据需要动态地调整链路的带宽,以适应不同的工作负载和数据传输需求。

图3-57展示了必须由用户应用程序实现的定向链路宽度更改过程。

3 Directed Link Speed Change

定向链路速度更改是一个由用户应用程序驱动来更改PCIe链路速度的过程。图3-58展示了该过程,其中target_link_speed是应用程序驱动的新链路速度请求。

注意:不应该仅仅通过驱动pl_directed_link_change引脚到特定的值(例如10或11)来在Root Port上发起链路速度更改,除非Root Port的RP_AUTO_SPD属性被设置为11。

4 Directed Link Width and Speed Change

用户应用程序需要实现定向链路宽度和速度更改的功能。图3-59描述了这一过程,其中target_link_width[1:0]表示应用程序驱动的新链路宽度请求,而target_link_speed表示应用程序驱动的新链路速度请求。

注意:通过直接设置pl_directed_link_change引脚为10或11来在Root Port上发起链路速度更改,那么这一操作只有在Root Port的RP_AUTO_SPD属性被设置为11时才是允许的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

干货 | 学习网络安全,推荐6个常用的安全知识在线手册(非常详细)零基础入门到精通,收藏这一篇就够了

排名不分先后,欢迎各位小伙伴下方留言评论补充 **VulDoc ** 包含:IOT安全,Web安全,系统安全 地址:http://47.112.148.3:8000/ **滴水逆向学习笔记 ** 包含 汇编 C C Win32 MFC 网络编程 数据库 数据…

Clickhouse MergeTree 存储引擎架构总结——Clickhouse 架构篇(二)

文章目录 前言MergeTree存储引擎的三大特点MergeTree 的数据组织MergeTree的文件组织数据文件、元数据文件、索引文件和其他文件分区数据库和表 索引与事务数据库存储引擎的对比存储引擎如何影响查询速度MergeTree存储引擎的工作过程 前言 存储引擎是ClickHouse非常重要的一个…

曲线拟合工具软件(免费)

曲线拟合是数据处理中经常用到的数值方法,本质是使用某一个模型(方程或者方程组)将一系列离散的数据拟合成平滑的曲线或者曲面,数值求解出对应的函数参数,大家可以利用MATLAB的曲线拟合工具箱也可以使用第三方的拟合软件,今天我们介绍Welsim免费的曲线拟合软件 1、MATLA…

idea视图中顶部菜单栏找不到VCS

问题描述 idea视图中顶部菜单栏找不到VCS: 解决方案: 直接选择配置过git,此处操作: File->Settings->Version Control-> 点击 ->选择项目->VCS选择none ->点击apply -> 点击ok:

大模型时代:生活将如何被重塑?

大模型时代:生活将如何被重塑? 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 博客首页 怒放吧德德 To记录领地 🌝分享…

填补领域空白!TerDiT:首次探索大规模DiT模型量化问题(MMLab出品)

论文链接:https://arxiv.org/pdf/2405.14854 项目链接:https://github.com/Lucky-Lance/TerDiT 最近在大规模预训练的文本到图像扩散模型方面的发展显著提高了高保真图像的生成能力,特别是基于transformer架构的扩散模型(DiTs&a…

halcon SVM 缺陷检测分类

一、概述 训练数据 二、算子解释 compactness Halcon 算子 compactness_halcon compactness-CSDN博客 *计算输入区域的紧凑度 compactness (Region, Compactness) 原理解释 convexity 每个输入区域的凸度 Halcon 算子 convexity_halcon convexity-CSDN博客 *计算每个输…

java大学城水电管理系统源码(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的大学城水电管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 大学城水电管理系统的…

VMware vSphere 8.0 Update 2c 下载 - 企业级工作负载平台

VMware vSphere 8.0 Update 2c 下载 - 企业级工作负载平台 ESXi 8.0U2 & vCenter Server 8.0U2 请访问原文链接:https://sysin.org/blog/vmware-vsphere-8-u2/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org …

长效IP和短效IP的使用指南分享

随着网络技术的发展,代理IP已经成为许多人在网络活动中不可或缺的工具。 代理IP不仅有助于保护用户的真实IP地址,保护用户的使用隐私,还可以帮助用户提升网络访问的速度等。 然而,在挑选代理IP时,用户常常会面临一个…

【python脚本】修改目标检测的xml标签(VOC)类别名

需求: 在集成多个数据集一同训练时,可能会存在不同数据集针对同一种目标有不同的类名,可以通过python脚本修改数据内的类名映射,实现统一数据集标签名的目的。 代码: # -*- coding: utf-8 -*- # Time : 2023/9/11 1…

【测试】PostMan介绍_安装

1、介绍 1.1简介 Postman是一款非常流行的API调试工具,用于构建和使用 API 的 API 平台。Postman 简化了 API 生命周期的每个步骤并简化了协作它能够模拟用户发起的各类HTTP请求,将请求数据发送至服务端,并获取对应的响应结果。通过Postman…

Discourse 安装后安全配置考虑

防火墙 防火墙是肯定要装机器上的,并且端口只开放了 443 和 22。 22 的端口还只限制了部分 IP 段的访问,通常只允许给内部网络的 SSH。 Web 服务应该只走 443,80 端口的做好自动重定向到 443。 CloudFlare 可以用一个 CloudFlare 的负载…

教育小程序的性能优化:从前端到后端的综合提升策略

随着教育小程序的普及,其性能直接影响用户体验和教学效果。本文将从前端到后端,详细探讨教育小程序的性能优化策略,帮助开发者打造高效、流畅的教育应用。 一、前端性能优化策略 代码优化 减少HTTP请求:合并CSS、JavaScript文件…

动手学深度学习4.5 权重衰减-笔记练习(PyTorch)

以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。 本节课程地址:权重衰退_哔哩哔哩_bilibili 本节教材地址:4.5. 权重衰减 — 动手学深度学习 2.0.0 do…

对比表征学习(一)Contrastive Representation Learning

对比表征学习(二)Sentence Embedding 主要参考翁莉莲的Blog,本文主要聚焦于对比损失函数 对比表示学习(Contrastive Representation Learning)可以用来优化嵌入空间,使相似的数据靠近,不相似的数…

src挖掘技巧--别人能挖到,你不来看看吗?

漏洞类型:拒绝服务漏洞 原理:通过控制修改验证码的长和宽,请求大量资源,导致拒绝服务漏洞,可以通过数据包的返回量值和返回时间来判断是否存在该漏洞。 实战报告 在获取验证码的时候进行抓包 右键打开验证码图片&am…

关于Linux软链你必须知道的实用知识点(非常详细)零基础入门到精通,收藏这一篇就够了

背景 Linux中的软链,是非常强大的工具,如果只是一知半解,在解决问题时一定会让你栽跟头或者浪费大量的时间。非常有必要提前掌握Linux软链的几个实用的知识点。 分析 软链是什么? 在Linux中,软链接(sym…

【CALayer-CALayer的基本属性 Objective-C语言】

一、接下来,我们来说这个Layer啊, 1.首先,Layer能接触到的,就是我们之前说截图啊,就是我们self.view里面,有一个layer属性, [self.view.layer renderInContext:(CGContextRef t)]; 那个里面,有一个layer属性,然后呢,是CALayer类型的, 接下来,我们就来学习一…

帆软报表点击表格给数据集传递参数案例

一、效果 有四个模块,分别是采购总金额,采购总数量,采购合同数量,采购合同申请数量通过点击单元格上的月份,展示不同的月份数据,进行单元格和表格之间的联动 二、准备好数据库表和展示数据内容 2.1 建表 …