# PCIe 链路训练 LTSSM 与 Lane Margining 眼图解码器

解析 PCIe 链路训练日志(LTSSM 状态序列 + TS1/TS2 有序集),输出 Gen1-Gen6 全代次状态时间线、协商速率/宽度、速率标识位解码、通道反转与极性反转、均衡相位及 Detect/Recovery 重启诊断;并对 pcilmr 通道裕量报告按 Base Spec §8.4.2 逐代际判级,绘制逐通道眼图裕量热力图 SVG。

> 标准页面: https://elysiatools.com/zh/tools/pcie-link-training-linkstate-and-lane-margining-eye-decode

- **分类:** Network

- **关键词:** pcie链路训练, ltssm状态机, 眼图裕量, lane margining, pcilmr, 均衡相位, 链路速率协商, 通道反转, gen5调试, 硬件诊断

## 概述

输入格式(可混用,逐行解析,容错宽松):
1. **LTSSM 状态行**:含状态名即可,如 `t=0.90ms Polling.Active`、`Configuration.Lanenum.Accept`、`Recovery.Equalization.Phase2`;时间戳支持 `t=1.2ms` / `@1.2ms` / `[1.2 ms]` / `1.2ms:`(ns/us/ms/s)。
2. **TS1/TS2 行**:含 `TS1`/`TS2` 关键字,字段 `link=` `lane=`(支持 0xFF/PAD)、`rate=`(0x01 位掩码或 `16GT/s`/`gen4`)、`nfts=`、`ec=01`(均衡控制位)、`polarity=inverted`,以及 hot reset/disable/loopback/compliance/extended sync/no scrambling/speed change 等标志词。
3. **pcilmr CSV**:Linux `pcilmr -o` 输出的 22 列表(表头 `Lane,EW Min,…`);代际由 EW Min 列自动推断(18.75ps→Gen4、9.375→Gen5、3.125→Gen6)。
4. **键值行**:`lane=2 left_ps=8.1 right_ps=8.1 up_mv=7 down_mv=7 gen=4`(单侧值按 ×2 估全眼)。

判级口径与 pcilmr(8) 相同:Perfect(≥推荐)/ Pass(≥最小)/ Fail(<最小);参考值为 PCIe Base Spec Rev 5.0 §8.4.2 最小眼宽眼高 + PHY Test Spec 推荐值(Gen6 为 PAM4 口径,UI=31.25ps)。注意个别器件需以厂商参考值判级。

## 输入项

- **LTSSM 日志 / 裕量报告** (textarea): t=0.00ms Detect.Quiet t=0.90ms Polling.Active TS1 link=PAD lane=PAD rate=0x01 t=6.40ms Configuration.Lanenum.Accept TS1 link=0 lane=3 t=7.40ms L0 …or pcilmr CSV: Lane,EW Min,EW Rec,EW,…
- **PCIe 代际(裕量判定用)** (select)
- **绘制眼图裕量热力图(SVG)** (checkbox)

## 适用场景

- PCIe 设备在协商高速率（如 Gen4 16 GT/s 或 Gen5 32 GT/s）时降速或建链超时，需要排查 LTSSM 状态跳转与 TS1/TS2 速率标识时。
- 运行 Linux pcilmr 工具测试物理层电气裕量后，需要快速解析 CSV 报告并核对 Base Spec §8.4.2 规范限值时。
- 硬件带板调试阶段发现链路重训（Recovery）、均衡失败或通道极性反转，需要查看直观的眼图热力图与诊断汇总时。

## 工作原理

- 输入包含 LTSSM 状态名、时间戳、TS1/TS2 字段或 Linux pcilmr -o 输出的 22 列表格文本。
- 选择 PCIe 目标代际（支持自动检测或手动指定 Gen4/Gen5/Gen6），并按需开启眼图裕量热力图生成开关。
- 系统逐行提取有序集控制字、通道编号、速率掩码及眼宽眼高数值，输出结构化建链时序、诊断结果与 Perfect/Pass/Fail 评级报告。

## 使用案例

- 解析固件或逻辑分析仪导出的 PCIe 训练日志，定位 Recovery.Equalization 均衡阶段停滞原因。
- 导入服务器端 pcilmr 裕量批量测试 CSV，快速筛选信号裕量不足（Fail）的高风险通道。
- 验证板卡硬件布线设计，检查是否存在通道极性反转以及 x1/x2/x4/x8/x16 链路宽度退化问题。

## 常见问题

### 工具支持哪些 LTSSM 日志与裕量数据格式？

支持带有时间戳的 LTSSM 状态行、包含 rate/ec/link/lane 等字段的 TS1/TS2 有序集文本、Linux pcilmr 22 列表头 CSV 以及键值对单行数据。

### Lane Margining 眼图判级采用什么标准？

采用与 pcilmr(8) 一致的口径：对照 PCIe Base Spec §8.4.2 最小值与 PHY Test Spec 推荐值，逐通道给出 Perfect、Pass 或 Fail 评级。

### 代际（PCIe Generation）是如何识别的？

若选择自动检测，工具会根据 pcilmr 数据中的 EW Min 列数值（如 18.75ps 为 Gen4、9.375ps 为 Gen5、3.125ps 为 Gen6）或 TS1/TS2 的 rate 字段自动推断。

### 眼图裕量热力图以什么形式呈现？

勾选绘制选项后，工具会在 HTML 结果面板中内联渲染逐通道的眼宽与眼高 SVG 热力图，并提供下载接口。

### 能否识别通道反转（Lane Reversal）和极性反转（Polarity Inversion）？

可以。通过解析 Configuration 阶段的 Lanenum 绑定序列以及 TS1/TS2 中的 polarity=inverted 标记，工具可自动输出反转诊断。

## 相关工具

- [CSV 直方图、散点图与箱线图图表工作台](https://elysiatools.com/zh/tools/csv-histogram-scatter-box-plot-chart-studio): 上传或粘贴 CSV 即刻出图：支持 Sturges / Freedman-Diaconis / Scott 分箱的直方图、带 Pearson r 与最小二乘拟合的散点图、Tukey 箱线图——每张图均可下载 PNG 与 SVG。
- [训练/测试集分层切分器](https://elysiatools.com/zh/tools/train-test-split-with-stratification): 读取 CSV/JSON 数据集,按目标列做分层抽样的 train/validation/test 切分(默认 70/15/15,随机种子可复现),或分层 k 折交叉验证;输出每折类别分布报告与偏差条、重复行泄漏检查、SMOTE 过采样预览(仅在训练折上做最近邻插值),并可导出各折 CSV 为 ZIP。
- [Data URI 生成器](https://elysiatools.com/zh/tools/data-uri-generator): 将文件转换为 Data URI（Base64 或百分号编码），用于直接在 HTML、CSS 或 Markdown 中内联图片、字体等资源
- [X.509 证书解析器](https://elysiatools.com/zh/tools/certificate-decoder): 解析 X.509 SSL/TLS 证书（粘贴 PEM 或上传 .pem/.crt），查看主题、签发者、有效期（含过期状态）、公钥、签名算法、序列号、SAN、密钥用途和指纹。类似 openssl x509 -text 的可视化版。本地运行。
- [相关性分析器](https://elysiatools.com/zh/tools/correlation-analyzer): 高级相关性分析工具，计算变量之间的相关系数以衡量它们线性关系的强度和方向。完美适用于统计分析、金融建模、科学研究和数据探索。 功能特点： - 多种相关性方法（皮尔逊、斯皮尔曼、肯德尔） - 相关性矩阵生成 - 统计显著性检验（p值） - 置信区间计算 - 热图可视化 - 散点图矩阵生成 - 缺失值处理策略 - 异常值检测和处理 - 分组分析能力 - 详细统计报告 常见用途： - 金融市场分析和风险评估 - 科学研究和假设检验 - 客户行为和营销分析 - 医疗和医疗数据分析 - 质量控制和流程优化 - 教育绩效评估
- [SVG 图表逆向数据提取器](https://elysiatools.com/zh/tools/svg-chart-to-data-extractor): 从 SVG 折线图、柱状图、饼图等结构中逆向提取数据点并输出 JSON/CSV
- [JavaScript反混淆器](https://elysiatools.com/zh/tools/javascript-deobfuscator): 反混淆和分析混淆的JavaScript代码，提高可读性和理解性
- [边界值处理器](https://elysiatools.com/zh/tools/data-boundary-processor): 高级边界值处理工具，用于识别和处理数值数据中的最小值和最大值。完美适用于数据验证、范围检查、统计分析和数据预处理。 功能特点： - 多种边界检测方法（绝对值、百分位数、标准差） - 灵活处理策略（裁剪、删除、替换、变换） - 自定义范围验证 - 非对称边界处理 - 批量处理能力 - 综合边界统计 - 数据质量评估 - 可视化边界报告 常见用途： - 数据验证和质量控制 - 传感器数据范围检查 - 金融数据限制执行 - 统计数据预处理 - 机器学习特征工程 - 数据库约束验证

## 示例

- [SVG 查看器样本](https://elysiatools.com/zh/samples/svg-viewer-samples): 用于浏览器内 SVG 查看器的样本矢量图
- [SVG示例](https://elysiatools.com/zh/samples/svg-samples): 可缩放矢量图形（SVG）示例，展示各种SVG功能和技术
- [XML 示例](https://elysiatools.com/zh/samples/xml-samples): XML（可扩展标记语言）格式示例，从简单到复杂结构
- [XML 查看器样本](https://elysiatools.com/zh/samples/xml-viewer-samples): 用于浏览器内 XML 查看器的样本文件
