PCIe 5.0验证实战,经常遇到的那些问题?

news2024/10/5 19:19:44

PCIe 5.0是当前最新的PCI Express规范,提供了更高的数据传输速率和更大的带宽。

PCIe是连接两个芯片的接口,负责两个芯片通信, 连接芯片的通路为高速SerDes, 称之为链路。PCIe确保通路正常-链路训练状态机。PCIe在芯片内部是非常重要的一个大的模块,如果PCIe不能正常工作,那芯片则视为石头。

在这里插入图片描述

越来越多的HR开始把PCIe等高速串行接口相关经验列为了加分项,以确保可以招聘到合适而高效的验证工程师、FPGA的设计以及芯片设计工程师。学习PCIe无疑是一个值得当下就去做的一件事情。

在职场上刚接触PCIe 5.0,应用起来比较吃力,经常会遇到一些问题,今天移知小编为大家搜集了,《PCIe验证实战》第一期,学员时常问到的一些问题,以及老师的解答。希望能给大家带来帮助,建议收藏。

文末分享PCIe学习资料,私信领取。

01、PCIe 5.0学习问答

Q、RC中几个端口,是否可以进行P2P间的验证?

解答:

看RC的具体实现,比如有些RC内部只有一个port也就不能进行p2p,之前做过这样的设计采用dual ip,这样就只有一个port,目前x86 RC内部port多,支持p2p,具体看下CPU Feature.

Q、 PCIe链路训练均衡的问题;

如何配置Synopsys的EP控制器的寄存器,使得在链路训练过程中修改HOST侧的PCIE PHY的TX preset值。GEN3_RELATED_OFF寄存器GEN3_EQ_CONTROL_OFF寄存器,通过配置EP的这两个寄存器配置是否可以实现,修改HOST侧的TX preset值。

解答:

1-EQ流程,RX会根据CTLE/DTE评估的情况来调节对端设备的TX FFE。

2-源码分析,不能按照问题操作
在这里插入图片描述
在这里插入图片描述

3-需要仿真-doing

Q、EP在detect的时候TS1发出的 datarate只支持GEN1, 最终EP 和RC也training到GEN1 ,但此时发现 RC target speed 也切到GEN1 ,这个过程是哪一部分会修改到RC的target speed吗?

解答:

1-bios到是有可能;我见过原型验证中有通过bios修改cpl timeout。

2-需要确认controller此寄存器会不会硬件自动修改,RTL代码确认不会修改。
在这里插入图片描述

Q、cxl下rc remote访问EP的MEMBAR0下挂的ELBI接口空间支持2DW读?

解答:

不支持,RTL代码返回CA

cxl文档里有一个ELBI2的方式,ELBI2将1K-DW(ELBI)扩展到512K-DW,这也是访问CCG Reg的方式。ELBI的空间太小,不满足要求。因此2dw的访问是ELBI2可以支持的,只是ELBI方式不支持。
在这里插入图片描述

Q、目标为16G,请问老师,LTSSM为什么跳过了5G,直接进入8G?

解答:

到16G的训练流程就是2.5-8-16,pcie vip还提供了一种配置直接2-16.

6.0spce看到过这方面内容的描述。

Q、PCIE序的场景,需要列举

解答:

读不超越写,请求依赖与响应因此响应不能依赖与请求,i响应包不能穿越P包(host读tag,ep写数据)。

移知《PCIe验证实战–2期》,本月强势回归,理论结合实操,全方位的学习体验,一课搞定设计和验证,本课程以可流片的PCIe代码为基础,介绍了PCIe理论以及PCIe实战的内容,目标是大家能在实际的PCIe项目中可以上手干活。共22个章节,理论和实战相结合,从验证环境的搭建,到DUT data path的梳理,学完即可上手做PCIe RTL设计以及验证工作。

02、PCIe学习资料免费领取

PCIe学习有一定的难度,想要学习好就需要不断的摸索,而PCIe的学习资料全网都是,但是真正要找干货,还要看几本经典的书。今天在这里推荐学习 PCIe 的英文资料最经典的是《PCI Express System Architecture》绝大多数的中文互联网有关 PCIe 的内容,都来自或者基于这本书。

在这里插入图片描述
以及《PCIe 5.0接口协议规范》,对PCIe 5.0协议的深入理解可以帮助你进行故障排除和性能优化。你能够分析和解决与协议相关的问题,如时序冲突、信号完整性、功耗管理等,从而提升系统的可靠性和性能。1000页的协议规范,读起来是很有难度的,大家保重~~

在这里插入图片描述
在这里插入图片描述

有需要的同学,可以识别二私信领取

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

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

相关文章

php常用算法

许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣。作为一个初级phper,虽然很少接触到算法方面的东西 。但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要掌握…

论机器生产内容 MGC 与新数字时代的两个世界

摘要:本文从新数字时代人类社会的两种存在形态:数字世界(元宇宙)与物理世界(时空宇宙),以及新兴数字产业:机器生产内容MGC的发展、现状与未来出发,通过对新数字时代及两个…

Mysql 入门篇之二进制安装

文章目录 Mysql 5.7 入门安装卸载自带组件下载二进制包安装配置 Mysql 8.0 入门安装卸载自带组件下载二进制包安装配置 Mysql 5.7 入门安装 环境说明:CentOS Linux release 7.6.1810 (Core) 4核4G 卸载自带组件 卸载自带的mysql相关组件 rpm -qa | grep mysql rpm…

jemalloc 5.3.0源码总结

注意:jemalloc 的最新版本里没有所谓的 huge class,bin 中slab外面也不再套一个run的概念了,看其它人分享的文章时需要注意。 简述 用户侧通过 tcache 来访问,tcache 是一个线程的申请又释放的对象的缓存,它绑定了一…

紫光电子档案管理系统存在SQL注入漏洞(漏洞复现)

文章目录 紫光电子档案管理系统存在SQL注入漏洞(漏洞复现)0x01 前言0x02 漏洞描述0x03 影响范围0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 紫光电子档案管理系统存在SQL注入漏洞(漏洞复现) 0x01 前言 本次测试仅…

数据结构与算法-----指针与结构体

目录 前言 指针 定义 示例1(访问修改数据): 示例2(野指针): 示例3(动态空间分配问题): 示例4(字符串赋值错误问题): 示例5&am…

2023年限售股解禁研究报告

第一章 概述 解禁是指限售流通股过了限售承诺期,可以在二级市场自由买卖的过程。根据流通性质,可将上市公司股份分为有限售条件的流通股(“限售流通股”)及无限售条件的流通股(“流通股”)。 限售流通股指…

案例实战-Spring boot Web

准备工作 需求&环境搭建 需求: 部门管理: 查询部门列表 删除部门 新增部门 修改部门 员工管理 查询员工列表(分页、条件) 删除员工 新增员工 修改员工 环境搭建 准备数据库表(dept、emp) -- 部门管理…

NLP(3)--GAN

目录 一、概述 二、算法过程 三、WGAN 1、GAN的不足 2、JS散度、KL散度、Wasserstein距离 3、WGAN设计 四、Mode Collapse and Mode Dropping 1、Mode Collapse 2、Mode Dropping 3、FID 四、Conditional GAN 一、概述 GAN(Generative Adversial Networ…

【云原生进阶之PaaS中间件】第一章Redis-1.7发布订阅模式

1 Redis 发布订阅 1.1 概述 发布订阅模式(Publish-Subscribe Pattern)是一种消息传递模式,其基本原理是消息的发送者(发布者)不会直接发送消息给特定的接收者(订阅者),而是将消息分…

基于SpringBoot的无忌在线考试系统(源码+讲解+调试运行)做毕设课设均可

技术栈 前后端分离 前端使用: Vue Element Plus 后端使用: SpringBoot Mysql8.0 Mybatis-Plus 功能 分为 管理员端 和 老师端 和 学生端 管理员端 登陆页 ​科目管理 查看所有科目 ,增加 ,修改 ,删除科目 , 模糊搜索课程 ​考试管理 查看所有考试 ,增加 ,修改 ,删除考试 题库…

Linux之Shell变量和引用

目录 深入认识变量 什么是变量 变量的名称 组成 规则 变量的类型 原则 shell的变量数据类型 变量定义 原则 格式 案例 自定义变量 定义 引用变量的值 查看变量 环境变量 定义 定义环境变量 案例 --- 三种方法定义 对比 shell环境变量存储的文件 位置变量…

Python - PyQt6、QDesigner、pyuic5-tool 安装使用

Python 开发可视化界面可以使用原生的 tkinter,但是原生框架使用起来颇为不方便,所以最流行的还是QT UI框架,QT是使用C语言开发,Python 想使用需要对其进行封装,所以就出现了PyQt框架,这个框架使用极其方便…

c语言练习44:深入理解strstr

深入理解strstr strstr作用展示&#xff1a; #include <stdio.h> #include <string.h> int main() {char str[] "This is a simple string";char* pch;pch strstr(str, "simple");/*strncpy(pch, "sample", 6);*/printf("%s…

向量数据库Milvus Cloud核心组件再升级,主打就是一个低延迟、高准确度

支持 ScaNN 索引 Faiss 实现的 ScaNN,又名 FastScan,使用更小的 PQ 编码和相应的指令集可以更为友好地访问 CPU 寄存器,从而使其拥有优秀的索引性能。该索引在 Cohere 数据集,Recall 约 95% 的时候,Milvus 使用 Knowhere 2.x 版本端到端的 QPS 是 IVF_FLAT 的 7 倍,HN…

JDBC入门到精通-10w总结

JDBC核心技术 笔记是以尚硅谷讲师宋红康JDBC课程为基础&#xff0c;加入自身学习体会&#xff0c;略有修改 第1章&#xff1a;JDBC概述 JDBC是java应用程序和数据库之间的桥梁。JDBC提供一组规范&#xff08;接口&#xff09;。向上是面向应用API&#xff0c;共应用程序使用。向…

磐基2.0搭建es集群

参考&#xff1a; k8s安装elasticsearch集群 k8s安装elasticsearch集群_k8s部署elasticsearch集群_MasonYyp的博客-CSDN博客1 环境简述搭建es集群需要使用的技术如下&#xff1a;k8s集群、StatefulSet控制器、Service&#xff08;NodePort&#xff09;服务、PV、PVC、volumeC…

数组的方法以及数组的创建以及概念

5.数组 递归 1.什么是递归? ​ 函数自己调用自己,要有临界点(结束条件) 1.数组的概念(复杂数据类型) 1.什么是数组它就是一组数据,js的数组成员可以是任意类型,它是可以动态扩容的2.数组的创建方式1).构造函数创建数组如果Array里有一个参数,并且是数值类型,表示数组的初始…

ForkJoinPool的使用及基本原理

文章目录 1. 简介2. ForkJoinPool的基本原理2.1 工作窃取算法&#xff08;Work Stealing&#xff09;2.1.1 工作窃取算法的定义和特点2.1.2 工作队列和双端队列的作用与区别 2.2 分治策略&#xff08;Divide and Conquer&#xff09;2.2.1 分治策略的概念和应用场景2.2.2 任务拆…

Linux中的软件管家——yum

目录 ​编辑 一&#xff0c;软件安装的方式 二&#xff0c;对yum的介绍 1.yum的作用 2&#xff0c;yum的库 三&#xff0c;yum下载软件的操作 1.yumlist 2.yuminstall 3.yumremove 四&#xff0c;yum源的转换 一&#xff0c;软件安装的方式 软件安装的方式大概分为三种…