SerDes与高速接口:从原理到实战

各位同学,今天我们来聊聊SerDes。说实话,这是整个交换芯片里最让我又爱又恨的部分。爱的是它决定了芯片能跑多快,恨的是调试起来真能让人掉头发。我在第一颗28G SerDes芯片流片时,就因为这个模块差点延期三个月。

SerDes基本原理

SerDes,说白了就是串行器和解串器的合称。为什么需要它?你想想看,芯片内部总线动辄几十上百位宽,但芯片之间的互联,引脚是稀缺资源。SerDes就是把并行数据转成串行,用一对差分线传出去,到了接收端再转回并行。

我习惯把SerDes分成三个核心模块:

  • 发送端(TX):并行数据 → 串行数据 → 驱动输出
  • 接收端(RX):差分信号 → 时钟恢复 → 串转并
  • 时钟模块:PLL产生高频时钟,CDR从数据中恢复时钟

这里有个关键点:时钟恢复(CDR)。数据本身没有单独的时钟线,接收端必须从数据跳变中提取时钟。我在项目中遇到过,如果数据出现连续长0或长1,CDR就会失锁。所以编码环节特别重要。

核心公式:数据速率 = 并行位宽 × 参考时钟频率 × 倍频系数

举个例子:64位并行数据,156.25MHz参考时钟,20倍频,得到的就是64×156.25M×20 = 200Gbps。嗯,这就是200G SerDes的由来。

PAM4与NRZ编码

NRZ(Non-Return-to-Zero)是最传统的编码方式。每个符号传1比特,高电平代表1,低电平代表0。简单可靠,但到了56Gbps以上,信号衰减太严重了。

PAM4(4-Level Pulse Amplitude Modulation)就不一样了。它用4个电平,每个符号传2比特。同样的波特率下,数据速率翻倍。我参与的第一个400G交换机项目,用的就是PAM4。

对比项NRZPAM4
每符号比特数12
信噪比要求高(约9.6dB更差)
设计复杂度
典型应用≤28Gbps≥56Gbps

为什么会这样?PAM4的4个电平之间间距只有NRZ的1/3,同样的噪声下误码率更高。我曾经调试一块PAM4 SerDes,眼图看起来还行,但误码率就是下不去。后来发现是发送端的线性度不够,三个电平的间距不均匀。

我的经验:PAM4设计时,一定要关注发送端的RLM(Ratio of Level Mismatch)。这个指标低于0.95,基本就没法用了。我一般要求设计目标做到0.98以上。

高速SerDes设计挑战

信号完整性

信号完整性,简称SI。说白了就是信号从发送端到接收端,波形不能变形太厉害。高速信号在PCB上走几英寸,高频分量就衰减得差不多了。

我遇到过最头疼的问题:码间干扰(ISI)。前一个比特的能量没释放完,影响了后一个比特的判断。尤其是在长走线、多过孔的场景下。

解决方案主要有:

  • 预加重/去加重:发送端主动增强高频分量
  • CTLE(连续时间线性均衡器):接收端补偿信道损耗
  • DFE(判决反馈均衡器):消除后标干扰

我曾经在一个项目中,CTLE的增益调得太大,结果把噪声也放大了。嗯,这里要注意,均衡器不是越强越好,要跟信道特性匹配。

避坑指南:我曾经在56G PAM4设计中,忽略了封装效应。仿真时信道损耗只有15dB,加上封装后变成了22dB。结果流片回来,SerDes根本锁不住。从那以后,我要求所有SI仿真必须包含封装模型。

功耗管理

SerDes是交换芯片的功耗大户。一颗56G SerDes,功耗轻松超过500mW。一个交换机芯片集成上百个SerDes,总功耗就是几十瓦。

我习惯从这几个方面入手:

  • 电源域划分:模拟电路和数字电路分开供电
  • 自适应偏置:根据信道质量动态调整驱动强度
  • 时钟门控:空闲通道关闭PLL和CDR
  • 工艺选择:先进工艺能有效降低功耗,但成本也高

记得有一次,客户要求整芯片功耗控制在15W以内。我算了一下,SerDes就占了12W。最后通过动态功耗管理,空闲时把SerDes降到低功耗模式,才勉强达标。

知识体系总览

下面这张图,是我自己总结的SerDes设计知识体系。每次带新人,我都会先让他们看这张图。

SerDes设计知识体系 发送端(TX) 接收端(RX) 时钟模块 NRZ编码(1bit/符号) PAM4编码(2bit/符号) PLL/CDR设计 核心设计挑战 信号完整性 预加重/去加重 CTLE + DFE均衡 功耗管理 电源域划分 自适应偏置 误码率控制 眼图分析 BER测试 设计目标:在满足BER ≤ 1e-12的前提下,实现最低功耗和最优SI 典型指标:56Gbps PAM4,信道损耗≤25dB,功耗≤500mW

实战要点总结

最后,我把自己这些年踩过的坑总结一下:

  1. 仿真要全面:不要只看理想信道,要包含封装、过孔、连接器
  2. 裕量要留足:PAM4的眼高裕量至少留20%,不然量产时良率堪忧
  3. 测试要闭环:每个SerDes通道都要做眼图扫描和BER测试
  4. 功耗要动态:固定功耗设计已经过时了,自适应才是王道

嗯,SerDes这部分内容确实不少。但只要你把基本原理搞懂了,再结合项目实战,慢慢就能找到感觉。我当年也是从一脸懵到逐渐上手,这个过程没有捷径。


公众号:蓝海资料掘金营,微信deep3321