这是19年 PCI-SIG 关于PCIe 信号,在设计过程中使用中继器(Redriver&Retimer)一份资料,现在读来,还是做PCIe设计的黄金指南。
相关标准
给出PCIe3.0~5.0的整个链路各自损耗标准,以及对各部分进行划分,给出了损耗标准,如下图:
上表的这个标准来说,目前很多产品的PCIe设计都是基于此相关的标准来评估风险。
常见的高速产品比如服务器,也是基于此标准进行评估,下图为常见的PCIe信号的布局形式:
在实际工作过程中,项目评估阶段,会针对不同的拓扑结果做一个整理和简单评估,如下图:
整个链路,变量最大的就是系统端的主板,而改善其性能的最直接方式就是板材。常见的板材分类就是:Mid-loss, Low-loss, and Ultra-low-loss。目前行业对损耗没有的统一定义和标准,会看到很多不同的板厂以及资料给出的分类是不同的。
影响插入损耗值的变量因素有很多:材料特性、布线层、走线宽度、铜箔粗糙度、堆叠结构、环境因素等等。这些变量对产品的影响,就需要设计人员根据具体设计和应用场景确定相应的损耗值。
资料也给出了一些不同板材的参考值,如下图:
这里需要注意两点:
- 并非某一分类的所有材料都有相同性能,比如有些材料电性能更好一些,有些材料的工艺性能更好一些,这种取舍需要根据设计产品的本身来定位,特别是做产品降本分析的时候
- 除了注意板厂的制造公差以及不同板厂的制程偏差,还特别要注意产品的使用环境,比如高温高湿等,这些特殊的环境对产品的性能会有很大的影响,这就需要我们在设计产品的时候留裕量
中继器
如果链路的裕量不足,除了简单粗暴的方式(升级板材)之外,还可以考虑中继器(Redriver&Retimer)
Redriver(重驱动器)
- 输入的模拟信号经过滤波和/或放大处理
- 抖动和噪声可能恶化或至少维持原状
Retimer(重定时器)
- 内部将模拟信号转换为数据后进行重传输
- 可实现信号完全再生,但需付出延迟代价
简单来说,Redriver&Retimer的区别:
Redriver是“放大”信号,而Retimer是“再生”信号。
主板的信号长度比较长,信号损耗严重长,推荐使用Retimer。
Retimer器件的布局摆放
- 需邻近扩展槽位置摆放,以确保兼容各类扩展卡/线缆(含无源插卡式扩展槽)
- 需综合考量结构件与布线密度因素
使用Retimer器件的仿真
通过运行IBIS-AMI仿真验证信号完整性(SI),这里面有两点需要关注:
- Retimer器件的使用,包含两个链路段:源端至RT段(源端到重定时器)和RT至EP段(重定时器到终端设备)
- 各链路段可评估无源信道或IBIS-AMI(评估含RC/RT/EP的完整信道)进行独立仿真
Retimer重定时器诊断功能
远程环回(Slave Loopback)
支持数据从源端(RC)环回到重定时器(RT),或从端点设备(EP)环回到RT
接收端容限(Receiver Margining)
- 与所有PCIe接收器相同,重定时器必须支持通过控制SKP有序集(Control SKP Ordered Sets)进行接收端容限测试
- 可在两个伪端口(BOTH Pseudo Ports)上评估眼图张开度
协议状态报告(Protocol Status Reporting)
- 重定时器能同时感知上行/下行伪端口(Pseudo Ports)的物理层协议事件
- 可记录此类信息并根据需要上报至系统控制器,助力链路调试
- 支持在重大事件(如意外进入Recovery状态)时向系统控制器生成中断