信道损耗导致高频分量衰减,产生ISI(码间干扰)。均衡技术通过在TX和RX端补偿信道特性来消除ISI,是高速IO设计的核心技术。
┌──────────────────────────────────────────────────┐
│ 均衡技术架构 │
│ │
│ TX端: │
│ ┌────────┐ │
│ │FIR预加重│ → 提升高频分量 │
│ │(Feed- │ 补偿信道高频衰减 │
│ │ Forward)│ │
│ └────────┘ │
│ │ │
│ ▼ 信道 │
│ │ │
│ RX端: │
│ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │ CTLE │→│ DFE │→│ 判决 │ │
│ │(线性均衡)│ │(非线性)│ │ (1-bit)│ │
│ │高频提升 │ │消除后 │ │ │ │
│ │ │ │游标ISI │ │ │ │
│ └────────┘ └────────┘ └────────┘ │
└──────────────────────────────────────────────────┘
现代SERDES TX支持多达5-7个FIR抽头:
* 5-tap FIR预加重
* y[n] = c-2×x[n-2] + c-1×x[n-1] + c0×x[n] + c+1×x[n+1] + c+2×x[n+2]
*
* 抽头作用:
* c0: 主抽头(信号本身)
* c-1: 后游标1(消除前一个符号ISI)
* c-2: 后游标2(消除前两个符号ISI)
* c+1: 前游标1(预补偿下一个符号ISI)
* c+2: 前游标2(预补偿更远的ISI)
*
* 约束: Σ|ci| ≤ 1 (总电流受限)
* 典型值: c0=0.7, c-1=-0.2, c-2=-0.05, c+1=-0.03, c+2=-0.02
DFE是RX端最强大的均衡器,通过将已判决的位反馈回来消除后游标ISI。与CTLE不同,DFE是非线性的——它不会放大噪声。
接收信号
│
▼
┌──────────┐
│ 求和节点 │ ←── 反馈ISI抵消
└─────┬────┘
│
▼
┌──────────┐
│ 判决器 │ → 输出数据
│(Slicer) │
└─────┬────┘
│
▼
┌──────────┐
│ 反馈滤波 │
│ h1 h2 h3 │ → 抽头系数乘以已判决位
└──────────┘
DFE输出 = 输入 - Σ(hk × d[n-k])
其中d[n-k]是已判决的历史位,hk是DFE抽头系数
关键特性:
1. 不放大噪声(非线性)
2. 只能消除后游标ISI
3. 错误传播:如果判决错误,反馈也会错误
4. 需要快速反馈路径(1 UI内完成)
DFE第一抽头(h1)的反馈必须在1个UI内完成:
解决方案:
* 1-tap Unrolled DFE
* 预先计算d[n-1]=0和d[n-1]=1两种情况
接收信号 ──→ ┌──────────┐ ──→ Slicer_0 ──→ d0 (如果前一位=0)
│ 偏移+ΔV │
└──────────┘
接收信号 ──→ ┌──────────┐ ──→ Slicer_1 ──→ d1 (如果前一位=1)
│ 偏移-ΔV │
└──────────┘
选择:MUX(d[n-1], d0, d1)
* 2-tap Unrolled DFE需要4个Slicer
* 3-tap需要8个Slicer → 面积指数增长!
* 通常1-2 tap用Unrolled,更多tap用传统反馈
信道特性随温度、工艺和板级变化,需要自适应算法实时调整均衡参数。
* LMS自适应算法
*
* 误差信号: e[n] = d[n] - y[n]
* d[n]: 期望输出(判决后数据)
* y[n]: 均衡器输出(判决前数据)
*
* 系数更新: c_k[n+1] = c_k[n] + μ × e[n] × x[n-k]
* μ: 步长(收敛速度vs稳态误差的trade-off)
* x[n-k]: 对应抽头的输入数据
*
* 收敛条件: 0 < μ < 2/λ_max (λ_max为输入自相关矩阵最大特征值)
*
* 典型步长: μ = 2^(-N),N=8~12(2的幂次,简化乘法)
实际硬件中使用符号函数简化乘法:
c_k[n+1] = c_k[n] + μ × sign(e[n]) × sign(x[n-k])
只需要比较器(sign函数)和加法器,不需要乘法器。
* 20-equalization-combined.sp
* TX预加重 + CTLE + DFE联合仿真
* 信道模型(简化RC低通)
* 损耗约10dB @5GHz (Nyquist of 10Gbps)
Rch1 in_p ch_p 25
Lch1 ch_p mid_p 1n
Cch1 mid_p 0 1p
Rch2 mid_p out_p 25
Rch3 in_n ch_n 25
Lch2 ch_n mid_n 1n
Cch2 mid_n 0 1p
Rch4 mid_n out_n 25
* TX预加重信号(3-tap简化)
* c0=0.8, c-1=-0.2 (12dB去加重)
Vtx_p tx_p 0 pwl 0 0.8 0.05n 0.8 0.05n -0.2 0.10n -0.2
+ 0.15n 0.8 0.20n 0.8 0.20n -0.2 0.25n -0.2
+ 0.30n 0.8
* CTLE(简化为增益+零点)
ECTLE_p rx_p 0 VALUE={V(out_p)*1.5 + 0.001*ddt(V(out_p))}
ECTLE_n rx_n 0 VALUE={V(out_n)*1.5 + 0.001*ddt(V(out_n))}
* DFE(1-tap,简化)
* h1 = 0.05
EDFE_p eq_p 0 VALUE={V(rx_p) - 0.05*V(data_delayed)}
EDFE_n eq_n 0 VALUE={V(rx_n) + 0.05*V(data_delayed)}
.tran 0.001n 0.5n
.measure tran eye_open PP V(eq_p,eq_n) FROM=0.2n TO=0.4n
.print tran V(tx_p) V(out_p) V(rx_p) V(eq_p)
.end
均衡联合仿真关键发现:
信道的脉冲响应后游标为h1=0.15, h2=0.05, h3=0.02。设计3-tap DFE的系数值。DFE后残余ISI是多少?
DFE系数等于信道后游标(符号相反):
c1 = -h1 = -0.15
c2 = -h2 = -0.05
c3 = -h3 = -0.02
DFE后残余ISI = h4+h5+... ≈ 可忽略(如果h3后已衰减足够)
验证:DFE输出 = 输入 - c1×d1 - c2×d2 - c3×d3
= 输入 + 0.15d1 + 0.05d2 + 0.02d3
恰好抵消信道的后游标ISI ✅
完成本课学习,你已经完成了高速IO阶段!掌握了均衡技术的全部核心!
✅ 已掌握 FIR预加重 ✅ 已掌握 CTLE ✅ 已掌握 DFE ✅ 已掌握 自适应算法
TX预加重、CTLE和DFE需要联合优化,而非独立设计。
最优的均衡参数分配取决于信道特性:
| 参数 | 维度 | 搜索空间 |
|---|---|---|
| TX预加重系数 | 3(预/主/后) | 6×8×8=384种 |
| CTLE增益/零点 | 2 | 12×10=120种 |
| DFE系数 | 3-5 | 8^5=32768种 |
| 总计 | 8-10 | >10亿种组合! |
如此大的搜索空间需要智能搜索算法(如SSN、梯度下降)或分步优化。
| 模块 | 功耗(mW) | 占比 |
|---|---|---|
| CTLE | 2-5 | 10-20% |
| 采样器 | 1-3 | 5-15% |
| DFE | 3-8 | 15-30% |
| CDR | 5-10 | 25-40% |
| 解串器 | 2-5 | 10-20% |
| 总计 | 15-30 | 100% |
现代SERDES的均衡越来越多地采用数字实现,提高灵活性和可配置性。
数字DFE在ADC之后进行判决反馈,避免了模拟DFE的时序约束:
| 特性 | 模拟均衡 | 数字均衡 |
|---|---|---|
| 速度 | 极高(>50Gbps) | 受ADC限制(~30Gbps) |
| 灵活性 | 有限 | 高度可编程 |
| 功耗 | 低-中 | 中-高(ADC功耗) |
| 面积 | 中等 | 较大(ADC+DSP) |
| 自适应 | 困难 | 容易(软件算法) |
| 参数 | 符号 | 典型值 | 单位 |
|---|---|---|---|
| IO电压(3.3V) | VDDIO | 3.0-3.6 | V |
| IO电压(1.8V) | VDDIO | 1.62-1.98 | V |
| 核心电压 | VDD | 0.9-1.2 | V |
| ESD二极管Vf | Vf | 0.6-0.8 | V |
| GGNMOS Vt1 | Vt1 | 6-10 | V |
| GGNMOS Vh | Vh | 3-5 | V |
| GGNMOS It2 | It2 | 8-15 | mA/μm |
| SCR Vh | Vh | 1-2 | V |
| SCR It2 | It2 | 50-80 | mA/μm |
| RC钳位时间常数 | τ | 0.5-2 | μs |
| 施密特Vt+ | Vt+ | 2.0 | V |
| 施密特Vt- | Vt- | 1.3 | V |
| 焊盘电容 | Cpad | 2-5 | pF |
| 焊线电感 | Lwire | 1-5 | nH |
| CML驱动电流 | Itail | 4-16 | mA |
| 差分阻抗 | Zdiff | 85-100 | Ω |
| HBM 2kV峰值电流 | Ipeak | 1.33 | A |
| HBM 4kV峰值电流 | Ipeak | 2.67 | A |
| CDM 500V峰值电流 | Ipeak | 5-15 | A |
| LVTTL VIH(min) | VIH | 2.0 | V |
| LVTTL VIL(max) | VIL | 0.8 | V |
I_HBM = V_HBM / R_HBM = V_HBM / 1500ΩV_clamp = Vf + VDD + I×Rbus + V_clamp_internalRC时间常数: τ = R × C谐振频率: f0 = 1/(2π√(LC))差分摆幅: Vdiff = Itail × Rload × 2SSO噪声: V_noise = L × di/dtESD窗口: Window = BVox - margin - (VDD + margin)环路带宽: fBW ≈ fref / (2×N×M)