PCIE链路训练-状态机描述3

news2024/11/27 22:34:17

Configuration.Idle

1.当使用8b/10b编码时,non-flit模式下,在所用配置的lane上发送s Idle data Symbols,在flit mode下发送IDLE flit。

2.linkup = 0 + link两端的component均支持64.0GT/s的速率,根据进入此状态之前发送的8个TS2或收到的连续的8个Modified TS2 Ordered Sets进行如下判断:

(1)

a:收到的8个连续的Modified TS2 Ordered Sets及所有configure的lane中发送的Modified TS2 Ordered Set中的No Equalization Needed bit (bit 1 of Symbol 5)为1

b:收到的8个连续的TS2 Ordered Sets及发送的TS2 Ordered Sets中的Enhanced Link Behavior Control field (bits 7:6 of Symbol 5)为No Equalization Needed value (10b)

满足a、b两种条件之一,那么The equalization_done_8GT_data_rate, equalization_done_16GT_data_rate,equalization_done_32GT_data_rate,equalization_done_64GT_data_rate variables 设为1,64.0 GT/s Status Register中的No Equalization Needed Received bit设为1;

(2)

a:收到的8个连续的Modified TS2 Ordered Sets及所有configure的lane中发送的Modified TS2 Ordered Set中的Bypass to Highest NRZ Rate位 (bit 0 of Symbol 5)为1

b:收到的8个连续的TS2 Ordered Sets及发送的TS2 Ordered Sets中的Enhanced Link Behavior Control field (bits 7:6 of Symbol 5)为No Equalization Needed value (10b)或Equalization Bypass to Highest NRZ Rate值 (01b or 10b)

满足a、b条件之一,equalization_done_8GT_data_rate和equalization_done_16GT_data_rate variables设为1

(3)如果进入此状态是由于收到了8个连续且相同的Modified TS2 Ordered Sets,并且Linkup为0,

a:并且收到的8个连续的Modified TS2 Ordered Sets及所有configure的lane中发送的Modified TS2 Ordered Set中的Modified TS Usage field位 (bit 0 of Symbol 5)为010b (Alternate Protocols)

b:在所有配置的lane上发送和接收的Modified TS2 Ordered Sets中的Modified TS Information 1和Alternate Protocol Vendor ID fields相同

同时满足a和b条件,32.0 GT/s Status Register中的Modified TS Received bit设为1(具体的协商过程根据收到的8个连续的Modified TS2 Ordered Sets记录在Received Modified TS Data 1Register 和 Received Modified TS Data 2 Register)

3.linkup = 0 + link两端的component均支持32.0GT/s的速率,根据进入此状态之前发送的8个TS2或收到的连续的8个Modified TS2 Ordered Sets进行如下判断:

(1)

a:收到的8个连续的Modified TS2 Ordered Sets及所有configure的lane中发送的Modified TS2 Ordered Set中的No Equalization Needed bit (bit 1 of Symbol 5)为1

b:收到的8个连续的TS2 Ordered Sets及发送的TS2 Ordered Sets中的Enhanced Link Behavior Control field (bits 7:6 of Symbol 5)为No Equalization Needed value (10b)

满足a、b两种条件之一,那么The equalization_done_8GT_data_rate, equalization_done_16GT_data_rate, equalization_done_32GT_data_rate variables设为1,32.0 GT/s Status Register中的No Equalization Needed Received bit设为1;

(2)

a:收到的8个连续的Modified TS2 Ordered Sets及所有configure的lane中发送的Modified TS2 Ordered Set中的Bypass to Highest NRZ Rate位 (bit 0 of Symbol 5)为1

b:收到的8个连续的TS2 Ordered Sets及发送的TS2 Ordered Sets中的Enhanced Link Behavior Control field (bits 7:6 of Symbol 5)为No Equalization Needed value 或Equalization Bypass to Highest NRZ Rate值 (01b or 10b)

满足a、b条件之一,equalization_done_8GT_data_rate和equalization_done_16GT_data_rate variables设为1

(3)如果进入此状态是由于收到了8个连续且相同的Modified TS2 Ordered Sets,并且Linkup为0,

a:并且收到的8个连续的Modified TS2 Ordered Sets及所有configure的lane中发送的Modified TS2 Ordered Set中的Modified TS Usage field位 (bit 0 of Symbol 5)为010b (Alternate Protocols)

b:在所有配置的lane上发送和接收的Modified TS2 Ordered Sets中的Modified TS Information 1和Alternate Protocol Vendor ID fields相同

同时满足a和b条件,32.0 GT/s Status Register中的Modified TS Received bit设为1(具体的协商过程根据收到的8个连续的Modified TS2 Ordered Sets记录在Received Modified TS Data 1Register 和 Received Modified TS Data 2 Register)

4.当在Non-flit模式下使用128b/130b编码时,

(1)当前数据速率时8.0GT/s时,tx在所有配置的lane上发送SDS ordered set来开启data stream,随后发送idle data symbol在所有配置的lane上。在lane0上第一个发送的idle data symbol就是data stream的第一个symbol

(2)当前速率时16.0GT/s时,在所有配置的lane上发送SDS ordered set来开启data stream之后tx立刻发送control skp ordered set。在lane0上第一个发送的idle data symbol就是data stream的第一个symbol。

5.rx在non-flit模式下等待idle data,在flit模式下等待IDLE flit。

6.Linkup为1;

7.当在non-flit模式下使用8b/10b编码的时候,那么在全部已配置通道上接收到 8 个连续的idle data,并且在收到一个空闲符号后已经发送了 16 个idle data symbol,进入 L0 状态。注意,如果自从最后一次从Recovery状态或configuration状态进入L0时软件写了Link control寄存器中的retrain link比特,那么dsp必须将link status中的link bandwidth management status设为1;当状态转变为L0时,use_modified_TS1_TS2_Ordered_Set设为0。

8.当在non-flit模式下采用 128b/130b 编码方式,那么在全部已配置通道上接收到 8 个连续idle data symbol,并且在收到一个idle data symbol后已经发送了 16 个idle data symbol,并且不是在 Configuration.Complete 状态超时后下进入的本状态,那么跳转至 L0 状态(所谓idle data其实就是数值零经过加扰和编码之后的数值)。注意,在rx的data blocks中必须收到idle data symbol;在data stream开始处理之前lane之前的de-skew必须完成;如果自从最后一次从Recovery状态或configuration状态进入L0时软件写了Link control寄存器中的retrain link比特,那么dsp必须将link status中的link bandwidth management status设为1;当状态转变为L0时,idle_to_rlock_transitioned设为0。

9.在flit 模式下,如果收到了两个连续的IDLE flit,并且在收到一个IDLE flit之后发送了最少要求的数目的idle flit,并且进入当前状态不是从configuration.complete状态超时导致的,那么随后进入L0。(注意这里指的最少要求的数目的idle flit针对8b/10b或者128b/130b来说是4个,针对1b/1b编码是8个)。需要注意的是在data stream开始处理之前lane之前的de-skew必须完成;如果自从最后一次从Recovery状态或configuration状态进入L0时软件写了Link control寄存器中的retrain link比特,那么dsp必须将link status中的link bandwidth management status设为1;当状态转变为L0时,idle_to_rlock_transitioned设为0。

10.

未满足上述条件,2ms 超时后:

如果变量 “idle_to_rlock_transitioned” 小于FFh,那么下一个跳转状态是 Recovery(Recovery.Rcvrlock)。跳转后:

(a)8.0 GT/s 时,变量 idle_to_rlock_transitioned 自增 1。

(b)2.5 或者 5.0 GT/s 时,变量 idle_to_rlock_transitioned 设置为 FFh。

注意:该变量记录了因为配置过程没有起作用,从而导致状态机从 Configuration.Idle 状态跳转到 Recovery 状态的次数。这可能是因为均衡设置不合适,或者当前选择的速率无法正常工作导致的,Recovery 状态内会采取措施尝试解决这些问题。该变量限制了从本状态跳转至 Recovery 状态的尝试次数,从而避免了永久的无限循环。如果链路在 256 次尝试后(变量计数至 FFh)仍然没法正常工作,那么跳转回 Detect 状态重新开始,并希望这次能有更好的结果。

否则,即 idle_to_rlock_transitioned 为 FFh 时,跳转至 Detect 状态。

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

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

相关文章

一文带你了解机器翻译的前世今生

引言 我们都知道谷歌翻译,这个网站可以像变魔术一样在100 种不同的人类语言之间进行翻译。它甚至可以在我们的手机和智能手表上使用: 谷歌翻译背后的技术被称为机器翻译。它的出现改变了世界交流方式。 事实证明,在过去几年中,深…

Linux socket编程(6):IO复用之select原理及例子

文章目录 1 五种I/O模型1.1 阻塞I/O模型1.2 非阻塞I/O模型1.3 I/O复用模型1.4 信号驱动I/O模型1.5 异步I/O模型 2 select函数3 select实战:实现多个套接字监听3.1 客户端3.2 服务端3.3 实验结果3.4 完整代码 在之前的网络编程中,我们遇到了一个问题&…

【nowcoder】BM3 链表中的节点每k个一组翻转

题目: 题目分析: 题目解析转载: 代码实现: package BMP3;import java.util.List;class ListNode {int val;ListNode next null;public ListNode(int val) {this.val val;} } public class BM3 {/*** 代码中的类名、方法名、参…

LINUX入门篇【9】----进程篇【1】----进程的初步认识和理解---进程的标识符以及对应的系统调用函数

前言: 从而本章开始,我们将进行进程的正式学习和讲解,进程是我们的程序驱动最重要的一环,可以说,进程几乎承载着一个程序在冯诺依曼体系和操作系统交互的全部,因此,学好进程是我们下一步系统化…

接口测试快速入门 以飞致云平台为例

飞致云电商API地址系统来自飞致云项目。接口API地址:https://gz.fit2cloud.com/swagger-ui.html 飞致云电商系统接口文档 V1.0:见 有道云笔记 该网站可以做接口测试练习。快速了解如何测试接口,如何做关联 系统基地址:https://g…

Flutter | 设置顶部状态栏的显示、隐藏、半透明灰色显示

【Flutter】设置顶部状态栏的显示、隐藏、半透明灰色显示 设置方法: // 这种模式不现实状态栏 SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky); // 这种模式显示状态栏 SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); // 修…

HarmonyOS开发者工具DevEco Studio-汉化

HarmonyOS DevEco Studio 简介 下载安装及汉化 打开开发者工具 安装语言包重启 然后设置页搜索“chinese”,选中中文语言包,点击后面的install; 或者 汉化按照IDEA的汉法风格,需要安装插件重启就可以汉化,步骤为&…

【JavaScript】alert的使用方法 | 超详细

alert作用效果 alert&#xff08;&#xff09;方法用于显示带有一条指定消息和一个确认的按钮的警告框。 alert使用方法 方法一&#xff1a;直接写在script标签内 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"&…

RT-DETR论文阅读笔记(包括YOLO版本训练和官方版本训练)

论文地址&#xff1a;RT-DETR论文地址 代码地址&#xff1a;RT-DETR官方下载地址 大家如果想看更详细训练、推理、部署、验证等教程可以看我的另一篇博客里面有更详细的介绍 内容回顾&#xff1a;详解RT-DETR网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署 目录 一…

2023/11/26总结

一些学习记录&#xff1a; 在对数据库进行一系列操作的时候&#xff0c;遇到一个问题&#xff0c;在插入数据的时候&#xff0c;我数据库对应的是自增id&#xff0c;但是插入后想获取到这个id去使用。我以为是不可以马上获取的&#xff0c;然后看到 项目进度 购物车&#xff…

【计算机网络笔记】多路访问控制(MAC)协议——轮转访问MAC协议

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

C++前缀和算法:统计美丽子字符串

题目 给你一个字符串 s 和一个正整数 k 。 用 vowels 和 consonants 分别表示字符串中元音字母和辅音字母的数量。 如果某个字符串满足以下条件&#xff0c;则称其为 美丽字符串 &#xff1a; vowels consonants&#xff0c;即元音字母和辅音字母的数量相等。 (vowels * cons…

光线追踪-Peter Shirley的RayTracingInOneWeekend系列教程(book1-book3)代码分章节整理

自己码完了一遍了&#xff0c;把代码分章节整理了一下&#xff0c;可以按章节独立编译&#xff0c;运行, 也可以直接下载编译好的release版本直接运行。 项目地址&#xff1a; Github: https://github.com/disini/RayTracingInOneWeekendChaptByChapt ​ ​ ​ ​

Rust语言入门教程(八) - 引用与借用

上一章的内容中我们讨论了Rust的所有权系统&#xff0c;当我们不想移动值的所有权时&#xff0c;我们可以使用引用和借用&#xff0c;而这正是本章想要讨论的问题。 引用&#xff08;References&#xff09; 引用允许你访问或修改数据而无需获取数据的所有权。在 Rust 中&…

Camtasia Studio2024专业的屏幕录制和视频剪辑软件

Camtasia2024专业的屏幕录制和视频剪辑软件3000多万专业人士在全球范围内使用Camtasia展示产品&#xff0c;教授课程&#xff0c;培训他人&#xff0c;以更快的速度和更吸引人的方式进行沟通和屏幕分享。使您在Windows和Mac上进行录屏和剪辑创作专业外观的视频变得更为简单。 …

【刷题笔记】加油站||符合思维方式

加油站 文章目录 加油站1 题目描述2 思路3 解题方法 1 题目描述 https://leetcode.cn/problems/gas-station/ 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消…

Blender 连续 5 天遭受大规模 DDoS 攻击

Blender 发布公告指出&#xff0c;在2023年11月18日至23日期间&#xff0c;blender.org 网站遭受了持续的分布式拒绝服务&#xff08;DDoS&#xff09;攻击&#xff0c;攻击者通过不断发送请求导致服务器超载&#xff0c;使网站运营严重中断。此次攻击涉及数百个 IP 地址的僵尸…

高并发系统:它的通用设计方法是什么?

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 我们知道&#xff0c;高并发代表着大流量&#xff0c;高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案&#xff0c;从而抵抗巨大流量的冲击&#xff0c;带给用户更好的使用体验。这些方案好似能…

电子学会C/C++编程等级考试2021年09月(三级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:余数相同问题 已知三个正整数 a,b,c。 现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。 请问满足上述条件的x的最小值是多少? 数据保证x有解。输入: 一行,三个不大于1000000的正整数a,b,c,两个整数…

ChatGPT初体验:注册、API Key获取与ChatAPI调用详解

自从2022年10月&#xff0c;ChatGPT诞生以后&#xff0c;实际上已经改变了很多&#xff01;其火爆程度简直超乎想象&#xff0c;一周的时间用户过百万&#xff0c;两个月的时间用户过亿。 目前ChatGPT4已经把2023年4月以前的人类的知识都学习到了&#xff0c;在软件工程里面&am…