SerDes关键指标:数据速率、抖动、误码率(BER)、功耗、通道数

做SerDes设计这么多年,我经常被问到同一个问题:「怎么判断一个SerDes好不好?」

说实话,这个问题没有标准答案。不同的应用场景,关注点完全不一样。但有一点是确定的——五个核心指标,你绕不开。

今天我就把这五个指标掰开揉碎了讲。数据速率、抖动、误码率、功耗、通道数。嗯,一个一个来。

1. 数据速率:跑多快才算快?

数据速率,说白了就是SerDes每秒能传多少比特。单位是Gbps(吉比特每秒)。

我个人习惯把数据速率分成三个档次:

  • 低速(< 10Gbps):比如PCIe Gen3、SATA。设计相对简单,PCB走线要求不高。
  • 中速(10Gbps - 28Gbps):比如PCIe Gen4、25G以太网。这时候信号完整性开始头疼了。
  • 高速(> 28Gbps):比如PCIe Gen5、112G PAM4。嗯,这个领域,每一步都是坑。

重要概念:数据速率 ≠ 有效吞吐量。别忘了协议开销、编码开销(比如8b/10b编码会损失20%的效率)。

我在项目中遇到过一件事。有个客户说他们的SerDes标称25Gbps,但实际测下来只有20Gbps的有效速率。后来一查,原来是用了64b/66b编码,再加上前向纠错(FEC)的开销。所以你看,标称速率和实际速率,是两码事。

2. 抖动:信号在「抖」什么?

抖动,就是信号边沿偏离理想位置的程度。单位是ps(皮秒)或者UI(单位间隔)。

你想想看,一个理想的时钟信号,边沿应该精确地出现在每个周期相同的位置。但现实世界不是这样的——噪声、串扰、电源纹波,都会让边沿「晃来晃去」。

抖动主要分两类:

  • 随机抖动(RJ):高斯分布,无法消除。只能靠设计裕量来容忍。
  • 确定性抖动(DJ):有规律可循,比如码间干扰(ISI)、串扰。这部分可以优化。

我的经验:调试抖动问题时,先看确定性抖动。因为随机抖动你改不了,但确定性抖动往往能找到根因。我曾经花了两周时间,最后发现抖动来源是隔壁电源模块的开关噪声——换个布局就解决了。

为什么会这样?因为SerDes接收端有一个时钟数据恢复(CDR)电路,它有一定的抖动容忍能力。但如果抖动太大,CDR就锁不住了,误码率直接飙升。

3. 误码率(BER):数据传错了怎么办?

误码率,就是传错的比特数占总比特数的比例。单位通常用科学计数法,比如10^-12。

说白了,BER就是SerDes的「信用评分」。BER越低,说明传输越可靠。

应用场景 典型BER要求 说明
消费电子(USB、HDMI) 10^-12 偶尔错一两个比特,人眼/人耳感觉不到
数据中心(以太网) 10^-15 要求更高,通常需要FEC辅助
通信基站(CPRI) 10^-18 极其严格,几乎不允许出错

注意:BER测试需要跑足够多的比特数。比如要验证BER < 10^-12,至少需要传输10^12个比特。按25Gbps算,大概需要40秒。很多人只跑几秒钟就下结论,这是不对的。

我曾经在调试一个112G PAM4链路时,BER始终在10^-9左右徘徊,死活下不去。后来发现是接收端的均衡器参数没调对——均衡器不是越强越好,过均衡反而会放大噪声。

4. 功耗:发热是最大的敌人

SerDes的功耗,通常用mW/Gbps来衡量。比如一个SerDes跑25Gbps,功耗是250mW,那它的能效就是10mW/Gbps。

你想想看,现在一个芯片上可能有几十甚至上百个SerDes通道。如果每个通道功耗高10mW,那整体就是几百毫瓦甚至几瓦的差距。散热问题一下子就来了。

功耗主要来自三个部分:

  • 发送端(TX):驱动电流、预加重电路
  • 接收端(RX):均衡器、CDR、判决电路
  • 时钟电路(PLL):高频振荡器、分频器

关键趋势:先进工艺(7nm、5nm)能显著降低功耗。但代价是设计复杂度增加,漏电流也更大。所以低功耗设计不是单纯的工艺选择,而是一个系统工程。

我个人习惯在项目初期就做功耗预算。每个模块分配多少mA,心里要有数。否则等到芯片流片回来,发现功耗超标,那就只能降频或者加散热片了——都是成本。

5. 通道数:一根线不够,那就多来几根

通道数,就是SerDes IP支持多少个独立的收发通道。比如一个x4的SerDes,就是4个发送通道和4个接收通道。

通道数越多,总带宽越大。但代价也很明显:

  • 面积增加:每个通道都需要独立的模拟电路
  • 串扰加剧:通道之间会互相干扰
  • 功耗线性增长:每个通道都在耗电

这里有个常见的误区:通道数越多,设计难度不是线性增长,而是指数级增长。为什么?因为你要考虑通道间的skew(时滞)、crosstalk(串扰)、以及同步问题。

我的建议:如果总带宽需求是100Gbps,你是选1个100Gbps通道,还是4个25Gbps通道?我个人倾向于后者。因为100Gbps的模拟设计难度太高,而4个25Gbps通道,每个都是成熟技术,风险低得多。

我曾经在一个项目中,客户非要做一个16通道的SerDes。结果调试的时候,通道0和通道15之间的skew差了将近1ns,CDR根本锁不住。最后只能降速到一半的速率才勉强工作。所以你看,通道数不是越多越好,够用就行。

核心逻辑:五个指标怎么权衡?

这五个指标不是孤立的。它们之间互相影响:

  • 数据速率越高 → 抖动越难控制 → BER越差
  • 功耗越低 → 驱动能力越弱 → 抖动越大
  • 通道数越多 → 串扰越大 → BER越差

说白了,SerDes设计就是一个在五个指标之间找平衡的过程。没有完美的方案,只有最适合你应用场景的方案。

SerDes 关键指标 数据速率 Gbps 抖动 ps / UI 误码率 BER 功耗 mW/Gbps 通道数 x1 / x4 / x8 速率↑ → 抖动↑ 抖动↑ → BER↑ 功耗↓ → 抖动↑ 通道↑ → 串扰↑ 五个指标相互制约,设计就是找平衡

嗯,这五个指标,每一个单独拿出来都能讲一整天。但今天我们先搭个框架,后面每个指标我都会单独展开讲。你先把这张图记在脑子里,以后看SerDes datasheet的时候,就知道该看什么了。

一句话总结:数据速率决定上限,抖动决定质量,BER决定可靠性,功耗决定可行性,通道数决定扩展性。五个指标,一个都不能少。

可可精品资料库