如何确保PCIe Gen3通道的信号质量

PCIe 3.0设计面对的挑战

PCIe由PCI-SIG协会研发和维护的一个高速标准接口,PCIe3.0是其开发的第三代接口高速差分接口,其单个差分对信号速率可到达8.0Gbps,目前其以广泛的应用于计算机服务器等设备领域。

下图显示的是一个典型的PCIe Gen3的链接结构。PCIe 3.0 的连接通道可以由不同的位宽组成,其支持x1, x4, x8, x12, x16, and x32。由于有高达8Gbps的信号速率,因此一些物理效应会给信号的传输带来给大的挑战。串扰,阻抗不连续引起的反射会造成Jitter, ISI,模态转化等问题。

如何应对挑战

为了解决上述问题, 在一般的相关设计中,需要使用仿真的方法来确认设计是否满足接口的相关规格。一般会对眼图特性及误码率进行仿真。

在高速的串行通道仿真中,需要使用到IBIS-AMI模型进行不同的参数仿真。IBIS-AMI模型可以对多位千兆接口进行快速,准确的进行统计方法上的电路仿真。

通常我们利用IBIS-AMI模型发射器及接收器与提取到的通道模型进行结合,在接收器生成眼图。再根据PCIe3.0规范里的眼图模板与眼图相比较。

具体而言,对于PCIe接口的信真方法有如下几个部分:

通道仿真

这里介绍的方法为瞬态仿真,其长度由通道损耗及反射所决定。为了应对克服信号完整性的问题,在PCIe中使用发DFE及FFE。因此在IBIS模型上扩展了IBIS-AMI。

抖动

在串行通信系统中,时钟与传输的数据一起嵌入,时钟数据恢复(CDR)电路用于恢复接收器侧的时钟。锁存正确的数据很大程度上取决于数据和时钟之间的对齐。抖动在误码数量中起着重要作用,可分为随机抖动 (RJ) 和确定性抖动 (DJ)。为了仿真BER的准确估计值,仿真中必须包含这两个抖动元素。

均衡

PCIe 3.0 规范包括在发射器和/或接收器处执行均衡的规定。这样做是为了减轻 ISI 的影响,从而最大限度地减少 BER。在均衡中,信号通过频率响应等于通道反频率响应的滤波器。高增益用于抵消较高频率下的信号衰减。也就是说均衡是一种自适应滤波器,其系数取决于运行时,具体取决于物理通道。

去加重与Pre-Shoot

PCIe使用增加去加重来补偿高频通道损耗。去加重波形由电压电平 Va(去加重)和 Vb(平坦电平)定义。下图显示了将波形使用3抽头FIR滤波器时产生的输出信号。输出在输入位流极性反转之前和之后采用不同的值。

PCIe信号完整性分析

为了进行SI 分析,首先使用电磁 (EM) 求解器对 PCIe 连接器、通道数据总线和封装进行进行提取 S 参数。根据S参数从SI的角度对以下因素进行分析:阻抗匹配、反射、衰减、阻抗失配、传播延迟、串扰。

就本文而言,分析中使用的高速数字 (HSD) 板是 12 层高速 FPGA 数字板。信道网络中的噪声主要影响系统的抖动性能,这会导致信号质量下降。对于水平和垂直过渡,如引线键合、通孔阵列以及封装和印刷电路板的焊球,生成了用于 SI 和电源完整性 (PI) 仿真的 3D 模型。使用 SIPro 为 PCIe 3.0 八通道数据总线提取 EM 仿真数据。

使用PRBS随机数据输入对整个通道进行瞬态分析的结果如图4所示。该通道将连接器、通道和芯片封装的提取的S参数在ADS软件中进行连接仿真。从眼图中可以看出,由于连接器的原因,信号在较长的传输路径上会下降。输入信号是 8 Gbps 的 PRBS-11 串行数据。

 PCIe合规性测试

合规性是确保产品可互操作的必要条件。它验证PCIe通道是否符合PCIe规范。下表列出了不同的一致性测试参数。

Signal

PCIe合规性

发送端测试

发送端信号质量测试

发送端Preset测试

接收器测试

接收端抖动测试

链接均衡测试

发送端发送链路初始均衡测试

TX 和RX 链路均衡测试

发送端信号质量测试

为了全面表征PCIe发送器,根据PCI-SIG规范测量单位间隔(UI)时间、电压、眼图模板、抖动、空闲时序和通道偏移。大多数规格需要在 250 个连续的 UI 上进行测量。为了进行准确的测量,应使用从发送器的 Tx 输出到其输入的直接连接。这样做可以确保最低的噪声测量。下图显示了发射机转换位上的眼图和抖动测量。

接收端均衡测试

接收机需要测试接收的灵敏度和对抖动的容忍度。测试方法是为器件的 Rx 输入提供激励,并通过 Tx 引脚监控器件的响应。将被测的眼睛与眼图模板相结合进行合规性测试。

下图在没有任何均衡的情况下,眼图是闭合的。但是,在应用 Rx 均衡后,眼图是睁开的,符合 PCIe 规范。均衡背后的思想是使用其他位的电压电平来校正当前位的电压电平。由于ISI来自信道的频率相关损耗,接收信号的眼图完全闭合,时钟和数据无法从严重失真的信号中恢复。在决策反馈均衡 (DFE) 均衡器之后,均衡信号的眼图被打开,数据中心的垂直眼图开度约为 368 mV。该值足够大,DFE可以在可接受的BER下恢复数据。

发关端均衡设置与Preset测试

PCIe 3.0 规范指定了具有 10 个预设的一致性模式。在进入一致性测试模式,100MHz 时钟被用于在不同的各种Preset之间进行循环,用于抖动、电压和时序的测量。一致性测试可确保被测设备能够生成所有Preset与均衡电平,以满足规范的测试要求。下图 显示了所有Preset的波形。

 结论

为了确保 PCIe Gen3 串行通道的信号质量,需信号完整性分析和一致性测试是实现这一目标的重要工具,采用使用IBIS-AMI模型的方法结合PCIe-SIG 规范,直接准确地优化通道性能。

这篇文章来自于  Anil Kumar Pandey的博客。

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

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

相关文章

天气数据可视化平台-计算机毕业设计vue

天气变幻无常,影响着我们生活的方方面面,应用天气预报信息可以及时了解天气的趋势,给人们的工作、生活等带来便利,也可以为我们为未来的事情做安排和打算,所以一个精准的、易读 通过利用 程序对气象网站大量的气象信息…

ArcGIS笔记13_利用ArcGIS制作岸线与水深地形数据?建立水动力模型之前的数据收集与处理?

本文目录 前言Step 1 岸线数据Step 2 水深地形数据Step 3 其他数据及资料 前言 在利用MIKE建立水动力模型(详见【MIKE水动力笔记】系列)之前,需要收集、处理和制作诸多数据和资料,主要有岸线数据、水深地形数据、开边界潮位驱动数…

【C++】STL容器——探究不同 [ 迭代器 ] 种类&在STL中的使用方式(15)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 引言:一.查看STL使用文档时…

Java-API简析_java.io.FilterOutputStream类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/134106510 出自【进步*于辰的博客】 因为我发现目前,我对Java-API的学习意识比较薄弱…

【蓝桥每日一题]-前缀和与差分(保姆级教程 篇3)#涂国旗 #重新排序

目录 题目:涂国旗 思路: 题目:重新排序 思路: 题目:涂国旗 思路: 乍一看好像没啥思路,但是我们需要涂最少的格子,所以要都尝试一下才行,也就是从上面开始白至少一行&am…

selenium测试框架快速搭建(ui自动化测试)

一、介绍 selenium目前主流的web自动化测试框架;支持多种编程语言Java、pythan、go、js等;selenium 提供一系列的api 供我们使用,因此在web测试时我们要点页面中的某一个按钮,那么我们只需要获取页面,然后根据id或者n…

【DevChat】智能编程助手 - 使用评测

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

如何监听/抓取两个设备/芯片之间“UART串口”通信数据--监视TXD和RXD

案例背景:全网仅此一篇!!! 两个设备/芯片之间采用UART串口通信。我们如何实现芯片1 TXD – > 芯片2 RXD,芯片2 TXD --> 芯片1 RXD两个单线链路上的数据抓取和监听?这篇博客将告诉您。 目录 1 什么是…

Mybatis延迟加载(缓存)

延迟加载 分步查询的优点:可以实现延迟加载,但是必须在核心配置文件中设置全局配置信息:lazyLoadingEnabled:延迟加载的全局开关。当开启时,所有关联对象都会延迟加载 aggressiveLazyLoading:当开启时&…

VSCode编写Unity代码自动补全配置

1.下载并安装.NET 7.0(C#插件需要)和.NET Framework 4.7.1(Unity需要) .NET 7.0下载链接:https://dotnet.microsoft.com/en-us/download .NET Framework 4.7.1下载链接:https://dotnet.microsoft.com/en-…

灯光布置和场景模拟软件:Set A Light 3D Studio

Set A Light 3D Studio是一款专业的灯光模拟软件,旨在帮助摄影师和电影制片人在电脑上进行虚拟灯光布置和场景模拟,以实现更加精准和高质量的拍摄效果。该软件提供了丰富的灯光和场景模型,支持灵活调整光源位置、强度、颜色和效果等参数&…

数据类型与运算符-java

数据类型与运算符 1、变量和类型 1.1、整形变量 基本语法格式: int 变量名 初始值;代码示例: int num 10 //定义一个整型变量 System.out.println(num);注意: 1)java中,一个int变量占4个字节,和操作…

LED数码管的静态显示与动态显示(Keil+Proteus)

前言 就是今天看了一下书上的单片机实验,发现很多的器件在Proteus中都不知道怎么去查找,然后想做一下这个实验,尝试能不能实现,LED数码管的两个还可以实现,但是用LED点阵显示器的时候他那个网络标号不知道是什么情况&…

区块链物联网中基于属性的私有数据共享与脚本驱动的可编程密文和分散密钥管理

Attribute-Based Private Data Sharing With Script-Driven Programmable Ciphertext and Decentralized Key Management in Blockchain Internet of Things 密钥生成算法 第 1 步:对于属性集A 的用户IDk,他首先将属性集A发送给Pi并且计算 &#xff0c…

使用wireshark的字符串过滤功能

1、打开wireshark,捕获一段时间的数据包 2、选中一个数据包的最下面的内容部分,然后右键鼠标,选择"as Printable Text"。 复制出的文字如下: 截图部分字符串(可包含换行、空格等),然后复制 3、点击菜单栏…

Vue3 + Tsx 集成 ace-editor编辑器

Ace Editor介绍 Ace Editor(全名:Ajax.org Cloud9 Editor)是一个开源的代码编辑器,旨在提供强大的代码编辑功能,通常用于构建基于Web的代码编辑应用程序。它最初由Cloud9 IDE开发,现在由开源社区维护。 主…

【洛谷 P1990】覆盖墙壁 题解(动态规划)

覆盖墙壁 题目描述 你有一个长为 N N N 宽为 2 2 2 的墙壁,给你两种砖头:一个长 2 2 2 宽 1 1 1,另一个是 L 型覆盖 3 3 3 个单元的砖头。如下图: 0 0 0 00砖头可以旋转,两种砖头可以无限制提供。你的任务是…

EM算法解析+代码

大纲 数学基础:凸凹函数,Jensen不等式,MLEEM算法公式,收敛性HMM高斯混合模型 一、数学基础 1. 凸函数 通常在实际中,最小化的函数有几个极值,所以最优化算法得出的极值不确实是否为全局的极值&#xff…

Unity的碰撞检测(五)

温馨提示:本文基于前一篇“Unity的碰撞检测(四)​​​​​​​”继续探讨两个游戏对象具备刚体的BodyType均为Dynamic,但是Collision Detection属性不同的碰撞检测,阅读本文则默认已阅读前文。 (一)测试说明 在基于两…

如何在Appium中使用AI定位

当我们在写自动化测试脚本的时候,传统情况下一定要知道元素的属性,如id、name、class等。那么通过AI的方式定位元素可能就不需要知道元素的属性,评价人对元素的判断来定位,比如,看到一个搜索框,直接使用ai:…