12-bit 3GS/s Pipelined ADC 数字后台校准行为级仿真

复现ISSCC 2025论文,使用MATLAB搭建完整的Pipelined ADC行为级模型,实现Gated-LMS PWL后台校准算法,SFDR提升至95.81 dB,ENOB达11.56 bit。

角色: 独立完成
技术栈: MATLAB 信号处理 数值分析

12-bit 3GS/s Pipelined ADC 数字后台校准行为级仿真

复现论文:M. Gu et al., “A 12b 3GS/s Pipelined ADC with Gated-LMS-Based Piecewise-Linear Nonlinearity Calibration,” ISSCC 2025, #24.1

一、Pipelined ADC 的基本原理

1.1 为什么需要流水线架构

高速高精度 ADC 面临一个根本矛盾:速度与精度的折中。Flash ADC 可以在一个时钟周期内完成转换(最快),但每增加 1 bit 分辨力,比较器数量翻倍——12-bit Flash 需要 4095 个比较器,功耗和面积都不可接受。SAR ADC 用极少的模拟硬件(1 个比较器)通过逐次逼近完成转换,但 12 次比较必须串行完成,速度受限。

流水线 ADC 的解决思路:把 N-bit 的转换任务拆成多级。每一级做 M-bit(比如 3 bit)的粗量化,然后把”量化残差”放大后交给下一级继续。各级之间用采样保持电路隔开,让各级可以同时处理不同的采样点——就像工厂流水线,第一级在处理第 n 个样本时,第二级在处理第 n-1 个样本的残差,以此类推。

1.2 本文的三级架构

论文中的 ADC 分三级:

Stage 1:  3-bit Flash + 8-level CDAC  →  G=4 open-loop gm-R 放大器
Stage 2:  3-bit Flash + 8-level CDAC  →  G=4 open-loop gm-R 放大器  
Stage 3:  4通道时分交织 8-bit SAR ADC (Backend)

最终分辨力:12 bit(2 + 2 + 8 = 12),采样率 3 GS/s。

1.3 各级如何工作(以 Stage 1 为例)

第一步:Flash 量化。 差分输入电压 Vin_diff 送入 3-bit Flash ADC。3 个 flash bit 意味着 7 个比较器,阈值均匀分布在 ±Vref 之间(步长 Vref/4)。比较器并行输出温度计码,编码为 0~7 的 3-bit 数字码 D₁。

第二步:MDAC(乘法数模转换器)。 利用 D₁ 选通 8-level CDAC,从输入电压中减去对应 DAC 电平,产生残差电压 V_res1 = V_in − V_DAC(D₁)。

理想情况下(3-bit + 1-bit 冗余),残差范围是 ±Vref/8 = ±62.5 mV。由于后续放大器增益 G=4,这个残差被放大到 ±250 mV 送入 Stage 2,正好占满 Stage 2 输入量程的一半,留出了 ±125 mV(即 ±Vfs/8)的冗余区域。这 1-bit 冗余是关键的容错设计——当比较器因为失调或噪声做出错误决策时,只要残差还落在 ±125 mV 内,下级可以纠正。

第三步:残量放大器(RA)。 残差电压送入 open-loop gm-R 放大器,产生放大后的输出送入 Stage 2。这里的关键是”open-loop”——没有反馈环路的放大器速度极快(适合 3 GS/s),但代价是增益不可精确控制(~4 倍而非精确 4 倍),且存在非线性压缩。

1.4 级联与 1-bit 冗余的配合

在理想流水线中,最终数字输出可以直接拼码。但 1-bit 冗余的设计让 Stage 1 的有效分辨力只有 2 bit(而非 flash 的 3 bit)。冗余的做法是:D₁ 和 D₂ 各有 8 个 DAC level,但名义上 Stage 1 只贡献 2 bit(4 个理想判决区间),多余的区间作为容错余地。

在数字域重构时,Stage 1 observer 用已校准的 Stage 2 backend 重建完整的 Stage 1 残差信息,最终得到 12-bit 无符号输出。


二、Pipelined ADC 的非理想因素及其代码建模

2.1 残量放大器的非线性压缩

物理来源: Open-loop gm-R 放大器没有负反馈来线性化传输特性。当输入信号偏离零点时,跨导 gm 下降,输出电压的增长率低于理想值,表现为”软饱和”。

论文描述: 放大器特性包含三次项、五次项等奇次非线性,系数为负(压缩特性)。

代码建模: 使用 tanh 模型代替多项式,物理上更贴近 gm-R 放大器的饱和形态。tanh 的 Taylor 展开三次项符号天然为负(压缩),且在大信号下有物理自然的饱和上限,不像多项式会在信号稍大时发散。当 α₃ = −0.10、V_res/V₀ ≈ 0.22 时,残差边界处的局部增益只压缩了约 5%,与论文的实测 pre-cal THD ≈ −63 dB 落在合理区间。

2.2 比较器失调

晶体管制造过程中的随机掺杂波动导致每对差分对的阈值偏离设计值。代码中为 7 个比较器各取独立失调(5 mV 标准差,28nm CMOS 典型值)。比较器失调的作用不是纯粹加噪声——它会让某些样本”误入”相邻比较器的阈值区间,把残差推到冗余区域,这也为 PWL 的外侧 slice 获得 LMS 训练样本提供了机制。

2.3 放大器输入参考噪声

gm-R 放大器的热噪声(沟道热噪声 + 负载电阻热噪声),在输入端等效为宽带白噪声。30 μV RMS 的输入参考噪声相对 ±62.5 mV 的残差信号来说非常小(SNR ≈ 66 dB),实验证实噪声对最终 SNDR 的贡献远不及非线性失真和增益误差。

2.4 级间增益误差(Aerr)

放大器偏置电流、负载电阻、晶体管跨导都存在 PVT 漂移,使实际增益偏离名义值 4。实验中仅 0.2% 的增益偏差(Aerr = 0.998),看似不起眼,却是隐藏的最大单一限制项。实验在纯线性条件下对比了 Aerr=1.000 与 Aerr=0.998 的差异:仅这一项就把 SFDR 从 98 dB 砸到 80 dB(损 18 dB)。原因是级间增益误差在两级流水线中通过 Stage 1 observer 的系数 128 放大——Stage 1 的一个 LSB 对应 Stage 2 backend 的 128 个 code,0.2% 的增益误差经此系数放大后就是不可忽略的非线性。

2.5 放大器建立时间

RA 的输出在半个时钟周期(~166 ps @ 3 GHz)内必须建立到最终值的足够精度。有限带宽意味着无法完全建立。实验中建立误差仅 4.5×10⁻⁵,可以忽略。这个参数主要作为保留的调试开关,对应论文中”放大器带宽足够”的假设。

2.6 Timing Skew(sub-ADC 与 MDAC 之间的时序失配)

在 3 GS/s 采样率下,一个时钟周期仅 333 ps。Flash 比较器锁存 Vin 的时刻与 CDAC 开关电容实际采样的时刻之间存在 5–10 ps 的 skew。在 28 nm CMOS 的时钟分布网络中,这是完全正常的值。

skew 在残差上叠加了一个与输入信号导数成正比的扰动。输入频率越高,skew 的影响越大;且 skew 对所有样本都产生影响(不像比较器失调只影响阈值附近的样本)。论文 §II.C 明确写了”考虑到 timing skew 等非理想,残差电压摆幅增加到 ±100 mV”。这个 ±100 mV 是 PWL 校准中 slice 4 能被激活的物理前提——只有残差摆到足够远,LMS 才有机会更新 k₄。

2.7 TI-SAR Backend 通道失配

4 路时分交织 SAR ADC 之间存在增益失配和失调失配,产生固定频率的杂散。代码中按 0.5% 增益失配标准差和 1 mV 失调失配标准差建模。


三、Gated-LMS PWL 后台校准:从原理到代码

这是论文的核心创新。

3.1 为什么需要校准

Pipelined ADC 的精度瓶颈在残量放大器。open-loop 放大器带来了速度优势,但三个问题随之而来:增益不精确、非线性压缩、级间耦合。如果直接拼码,每个残差在被放大时都会被增益误差和非线性”污染”,最终 12-bit 输出中的低位完全不可信。

校准的目标: 在数字域补偿模拟前端的非理想。既然我们不能改变模拟电路,就在数字后端用 PWL 函数修正每个 backend 码段。

3.2 PWL 分段的思想

把 backend 观察量(Stage 1 backend 是 10-bit 有符号码,范围 ±512)按绝对值划分为 4 段:

  • Slice 1: 中心区域,跟踪整体增益
  • Slice 2: 过渡区
  • Slice 3: 非线性补偿
  • Slice 4: 大信号饱和修正

每一段配一个独立的斜率系数 kᵢ。校准后的码值由当前 slice 内的 LSB 修正加上前面所有 slice 的累计 offset 组成,保证 PWL 曲线连续。

3.3 LMS 如何提取 kᵢ

核心公式:经典的 LMS 更新 —— kᵢ ← kᵢ − μ · e · sign(D_d)

D_d ∈ {−1, +1} 是注入到残差节点的 1-bit 伪随机 dither。dither 在 MDAC 输出后、RA 输入前的残差节点注入,经过 RA(增益 G)和 backend(ADC)后在数字域映射为 ±128 codes(Stage 1, 10-bit)。

误差信号 e 定义为:当前 PWL 校正后的 backend 码值与已知 dither 分量的理论预期值之间的差。当 PWL 系数完美时,残差被线性化、dither 贡献精确可知,e → 0。

3.4 Gated-LMS:门控机制

原始 LMS 会用所有样本来更新所有 kᵢ。但在 PWL 的结构下,k₃ 只应该由落在 slice 3 的样本更新——让 slice 1 的样本去更新 k₃ 只会注入噪声。

门控条件:对 slice i,只有当 |e| > b_{i−1}(即误差幅度超过前面所有 slice 的累计阈值)时才更新 kᵢ。更新顺序从上到下(slice 4 → 3 → 2 → 1),因为如果先更新 k₁ 改了误差 e,后续 slice 的更新条件就会变。

为什么门控用 |e| 而不是 |D_be|? 用后端码幅度 |D_be| 做门控会让 LMS 直接发散(k 撞 clip 边界,SNDR 砸到 31 dB)。原因是 PWL 上层 slice 的累计偏置已经在吸收部分误差,使得 |e| 变小但 |D_be| 仍然很大。门控用 |D_be| 会把”不在这个 slice 的样本”错误导入更新,梯度方向反了。|e| 同时编码了”样本有多大”和”当前 PWL 离正确解有多远”——在 LMS 的不动点附近,|e| 的分布自然沿 bᵢ 分层,与 PWL 分段边界对齐。

3.5 自适应阈值

门控阈值不是固定值——它们随 k 的收敛而自适应调整。当 k₁=1.003、k₂=1.010、k₃=1.028、b₀=128 时:b₁=128.4(几乎不动),b₂=257.7,b₃=389.2。阈值随着 k 增长而向外推——当 RA 非线性被更多补偿后,slice 边界会自动调整以匹配校正后的残差分布。

3.6 级联校准:Stage 1 用已校准的 Stage 2

这是论文中最精妙的部分。Stage 1 的 LMS 不直接使用原始 D₃,而是使用已经过 Stage 2 PWL 校正并去除 dither 后的净 backend 信号。这样 Stage 1 的 LMS 梯度不受 Stage 2 残余非线性的干扰。

另有两阶段训练保护:训练的前 20% 样本只更新 Stage 2 的 k(Stage 1 的 LMS 不触发),让 Stage 2 先收敛到准稳态。之后两阶段同时更新。

3.7 LMS μ 衰减策略

LMS 的收敛面临 classic trade-off:大步长收敛快但稳态方差大,小步长收敛慢但稳态精度高。代码采用了分段衰减:前 50% 训练样本用大步长(μ = 1×10⁻⁷)快速收敛,后 50% 用衰减步长(μ = 1×10⁻⁸)锁定精度。实验发现 MU_DECAY_FACTOR=0.02 反而不如 0.10——太紧的衰减在 5M 样本内达不到稳态。

3.8 Dither 在测量阶段的抵消

训练阶段 dither 作为 LMS 的”参考信号”存在。测量阶段同样注入 dither(保证测量条件与训练一致),但可以用已知的伪随机序列在 PWL 校正输出端精确减去。实验验证了这条抵消链路:在纯线性 RA + 无噪声 + 无失调的理想条件下,dither 被减去后,SFDR 达到 98.05 dB(触及 12-bit 理想极限),证明代码实现没有 bug。


四、校准效果的量化(v6 冠军版)

指标Pre-calPost-cal提升
SNDR56.05 dB71.36 dB+15.31 dB
SFDR68.63 dB95.81 dB+27.19 dB
SNR57.06 dB71.70 dB+14.64 dB
THD−62.88 dB−82.66 dB−19.77 dB
ENOB9.02 bit11.56 bit+2.54 bit

SFDR 离理想 12-bit 极限 98 dB 仅 2.2 dB,11.56 ENOB 意味着有效比特数几乎达到分辨力上限。


五、对论文校准策略的整体评价

精妙之处:

  1. 用 digital dither 作为 reference,完全不需要精确模拟参考信号——±1 的离散序列即可
  2. PWL 4 段用 2-MSB 硬件分片,无需额外比较器或参考电平
  3. 自适应阈值让 LMS 门控与 k 收敛同步演化,不动点自洽
  4. 级联校准设计用已校准的后级修正前级观察量,消除了跨级耦合

局限性(也是我们从仿真中发现的可改进点):

  1. Slice 4 的训练依赖物理残差摆幅——论文假设 ±100 mV 的残差(来自 timing skew + PVT 的综合效应),但单一 timing skew 在 5 ps 时无法让 Slice 4 被充分训练
  2. 低频测量掩盖了部分问题——120 MHz 近 DC 输入下残差摆幅小,但论文在 1.5 GHz Nyquist 输入下外侧 slice 是关键
  3. 0.2% 级间增益误差影响远大于直觉——18 dB SFDR 的损失说明设计中需要显式校准级间增益误

六、总结

这篇论文的核心贡献是在纯数字域用极简的硬件代价(2 MSB 分片 + 1-bit dither + LMS 自适应)完成了 open-loop pipelined ADC 的非线性校准。我们从 MATLAB 行为级仿真中完整复现了这一链条,量化了每一步的贡献,并发现了 dither 作为 LMS 参考 SNR 的关键角色——把 dither 加大到 1/8 后端满量程(而非论文的 1/16)是当前模型下 SFDR 突破 95 dB 的决定性因素。