3. CTLE设计实战:增益、带宽、功耗的权衡与仿真

CTLE(连续时间线性均衡器)是SerDes接收端的第一道防线。说白了,它的任务就是补偿信道的高频损耗,把被信道“揉烂”的信号重新捋直了。但这里有个麻烦事——增益、带宽、功耗这三者就像跷跷板,压下去一个,另外两个就翘起来。

我刚开始做CTLE设计时,总觉得增益越高越好。结果呢?功耗爆炸,带宽还上不去。后来被老工程师点醒:CTLE不是放大器,是均衡器。它的核心是“恰到好处”,不是“越大越好”。

3.1 CTLE的核心指标:你该关注什么?

设计CTLE之前,先搞清楚三个核心指标。我个人习惯把它们写在白板上,天天盯着看。

指标 物理含义 典型范围 我的经验值
DC增益 低频信号的放大倍数 0~6 dB 通常设在2~4 dB,太高会放大低频噪声
峰值增益 高频信号的放大倍数 6~18 dB 根据信道损耗来定,我一般先扫个S参数再算
零点频率 增益开始上升的转折点 0.5~2 GHz 这个值很关键,设错了均衡效果直接打对折
功耗 每通道的功耗 5~30 mW 28nm工艺下,我一般控制在15mW以内

你想想看,这四个参数其实是互相牵制的。想要更高的峰值增益?那就得多吃电流。想要更宽的带宽?寄生电容就得往小了做,但功耗又上去了。嗯,这里要注意:CTLE的设计本质是在这三个维度上找平衡点

3.2 经典结构:源极退化差分对

最常用的CTLE结构就是源极退化差分对。为什么大家都用这个?因为它简单、可控、好调。

// CTLE核心电路结构(示意)
// M1, M2为输入差分对管
// Rs为源极退化电阻
// Cs为源极退化电容
// Rd为负载电阻
// Cl为负载电容

VDD
  |
  Rd
  |
  Vout+ ----+---- Vout-
            |
           M1  M2
            |    |
           Rs---Cs---Rs
            |    |
           Iss (尾电流源)
            |
          GND

这个电路的工作原理其实不复杂。低频时,Cs阻抗很大,等效于开路,源极退化电阻Rs起作用,增益被压低。高频时,Cs阻抗变小,把Rs短路掉,源极退化效果减弱,增益就上来了。这就是CTLE的高频提升原理。

我在项目中遇到过一个问题:某次设计时,零点频率怎么调都偏大。查了半天,发现是版图上Cs的寄生电容太大,把Cs的有效值给“稀释”了。后来我把Cs的尺寸加大了一倍,同时调整了版图布局,才把零点频率拉回来。

3.3 增益-带宽-功耗的三角博弈

这个三角关系,我画过无数遍。每次跟新人讲,我都会说:你不可能同时把三个都做到最优

核心公式(简化版):

GBW ≈ gm / (2π * Cl)

功耗 ≈ VDD * Iss

其中gm ≈ √(2 * μ * Cox * (W/L) * Iss)

看到了吗?Iss同时出现在GBW和功耗里。想提高GBW,就得加大Iss,功耗就上去了。

那怎么办?我的做法是三步走:

  1. 先定功耗预算。系统给你多少电流,你就只能在这个框框里跳舞。我一般留10%的余量给工艺角变化。
  2. 再算所需增益。根据信道S参数,算出需要补偿多少dB。这个值决定了你的gm和负载电阻。
  3. 最后优化带宽。在功耗和增益都定下来的前提下,想办法把寄生电容做小。比如用更小的管子尺寸,或者优化版图走线。

我曾经在一个项目中,功耗预算只有8mW,但信道损耗高达15dB。按常规设计根本做不出来。后来我用了电感峰化技术,在负载端串了个小电感,把带宽硬生生提了30%。当然,电感会占面积,但有时候这就是必要的取舍。

3.4 仿真设置:别让仿真骗了你

仿真CTLE,有几个坑是新人最容易踩的。我一个个说。

第一个坑:AC仿真只看幅频响应

AC仿真确实能看出增益曲线,但它看不到非线性。CTLE在大信号下会有增益压缩,AC仿真给的是小信号结果。我建议做完AC仿真后,一定要跑瞬态仿真,用PRBS信号打进去,看眼图。

// 典型的CTLE仿真脚本(Spectre)
// 1. DC仿真:检查工作点
dc simulation
  save M1:ids M1:gm M1:vdsat
  // 确保所有管子都在饱和区

// 2. AC仿真:看增益曲线
ac simulation
  sweep frequency from 10k to 20G
  plot VF("/voutp") - VF("/voutn")
  // 检查峰值增益和零点频率

// 3. 瞬态仿真:看眼图
tran simulation
  stop time 1u
  // 输入PRBS7信号,速率10Gbps
  // 观察眼高、眼宽、抖动

第二个坑:忽略工艺角

TT工艺角下仿真通过,不代表FF和SS也能过。我见过最惨的一次,SS角下CTLE的峰值增益掉了4dB,眼图直接闭上了。从那以后,我每次仿真都跑五个工艺角:TT、FF、SS、FS、SF。

第三个坑:负载电容估计不准

CTLE后面接的是DFE或者直接接采样器。这个负载电容是多少?很多人随便估个100fF就完事了。实际上,DFE的输入电容、走线寄生、ESD保护,加起来可能到200~300fF。我建议在版图完成后,提个寄生参数再仿一遍,前后对比一下。

我的小技巧:

仿真时,在CTLE输出端加一个理想buffer(增益=1,输入电容=0),然后看buffer的输出。这样可以把CTLE本身的性能和负载效应分开评估。如果CTLE输出眼图很好,但加上负载后变差了,那就是驱动能力不够,需要加大尾电流。

3.5 实战案例:一个10Gbps CTLE的设计过程

拿我最近做的一个项目举例。信道是30cm的PCB走线,损耗在5GHz处约12dB。目标速率10Gbps,功耗预算12mW。

第一步:确定零点频率

信道损耗的-3dB点在2.5GHz左右。我把零点频率设在1.5GHz,这样在2.5GHz处能有约8dB的提升。剩下的4dB留给DFE去处理。

第二步:计算器件参数

根据零点频率公式:fz = 1 / (2π * Rs * Cs),我选了Rs=200Ω,Cs=0.53pF。尾电流Iss设为2mA,VDD=1.0V,功耗2mW——嗯,预算还剩10mW给后面的DFE和CDR。

第三步:仿真验证

AC仿真显示峰值增益在4.5GHz处达到9.2dB,零点频率1.4GHz,基本符合预期。瞬态仿真用PRBS7码型,眼高320mV,眼宽0.85UI,抖动12ps。嗯,这个结果可以交差了。

注意: 这个设计在TT角下没问题,但SS角下峰值增益只有7.1dB,眼高降到240mV。我不得不把Iss从2mA调到2.5mA,功耗多了0.5mW,但换来了SS角下眼高280mV的余量。有时候,多花0.5mW买一个工艺角余量,是值得的。

3.6 知识体系:CTLE设计的全局视图

下面这张图是我自己总结的CTLE设计流程。每次做新项目,我都会按这个框架走一遍,基本不会漏掉关键步骤。

CTLE设计知识体系 信道特性分析 增益规划 带宽设计 功耗预算 确定峰值增益 & DC增益 计算gm、Rd、Rs 设置零点频率 & 极点频率 计算Rs、Cs、负载电容 确定Iss VDD选择 仿真验证(AC + 瞬态 + 工艺角) 眼图达标?→ 交付

这张图把CTLE设计分成了五个层次。从信道分析开始,到增益、带宽、功耗三个分支并行设计,最后汇聚到仿真验证。我个人习惯在每个分支上都留10%的余量,这样在仿真阶段发现问题时,还有调整空间。

3.7 避坑指南:我踩过的那些坑

做CTLE设计这些年,踩过的坑不少。挑几个典型的说说。

  • 坑一:零点频率设得太高。我曾经把零点频率设在3GHz,结果低频增益太大,把低频噪声也放大了。眼图虽然张开,但抖动很大。后来把零点频率降到1.5GHz,抖动降了一半。
  • 坑二:忽略电源噪声。CTLE对电源噪声很敏感。有一次仿真结果很好,但测试时眼图一直有周期性抖动。查了半天,发现是电源上有100mV的纹波。后来在CTLE的电源引脚上加了个RC滤波,问题解决。
  • 坑三:负载电容估计不足。这个前面说过了。我再强调一次:提参后一定要重新仿。版图寄生电容很容易让CTLE的带宽掉20%~30%。

最后一个小建议:

CTLE设计不要追求完美。信道损耗是固定的,你不需要把信号完全恢复成发射端的模样。只要眼图能打开到DFE能处理的程度就够了。多出来的增益、带宽,都是浪费功耗。记住:够用就好,多一分是浪费,少一分是缺陷


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