4. LVDS IP 架构解析:发送器、接收器与时钟树
LVDS(Low-Voltage Differential Signaling)IP 核在 T22ULP 工艺下,通常由发送器(TX)、接收器(RX)和 PLL 时钟树三大核心模块构成。本章从数字 IC 设计验证视角,逐层拆解各模块的内部划分、数据流与接口协议,为后续搭建仿真环境和编写测试用例奠定架构基础。
4.1 发送器(TX)内部模块划分
LVDS 发送器负责将并行数据转换为串行差分信号,经外部 100Ω 终端电阻驱动至接收端。典型 TX 内部包含以下子模块:
| 子模块 | 功能描述 | 关键信号/参数 |
|---|---|---|
| 并行输入缓冲 | 接收来自核心逻辑的并行数据,完成电平转换与同步 | data_in[7:0] / [15:0],clk_in |
| 并串转换器(Serializer) | 使用多级移位寄存器或双沿采样结构,将并行数据转为串行比特流 | load_en, shift_en, ser_data |
| 预驱动级(Pre-Driver) | 对串行数据进行预加重(Pre-Emphasis)或摆率控制,补偿信道损耗 | pre_emphasis_sel[1:0], slew_ctrl |
| 差分输出驱动器 | 产生符合 LVDS 标准的 350mV 摆幅、1.2V 共模电压的差分对 | out_p, out_n, vcm_ref |
| TX 状态机与控制逻辑 | 管理初始化、同步模式、数据模式、低功耗模式切换 | tx_en, sync_pattern, power_down |
设计验证要点: 并串转换器的 load_en 与 shift_en 时序是 TX 验证的核心——必须确保在 PLL 多相时钟下,数据加载与移位不发生重叠或丢失。建议在 UVM 环境中使用断言(assertion)检查 load_en 高电平期间 data_in 的建立/保持时间。
4.2 接收器(RX)内部模块划分
接收器从差分线上恢复串行数据,完成串并转换、时钟数据恢复(CDR)和去偏移处理。典型 RX 内部模块如下:
| 子模块 | 功能描述 | 关键信号/参数 |
|---|---|---|
| 差分输入缓冲 | 将差分信号转换为单端 CMOS 电平,提供 100Ω 片内终端匹配 | in_p, in_n, term_en |
| 时钟数据恢复(CDR) | 基于 PLL 或 DLL 结构,从数据边沿提取恢复时钟与重定时数据 | clk_rec, data_rec, lock_det |
| 串并转换器(Deserializer) | 将串行比特流按字边界对齐,转换为并行数据 | word_align, frame_sync |
| 去偏移与弹性缓冲 | 补偿多通道间的 skew,使用 FIFO 或延迟链对齐输出 | skew_adj[2:0], fifo_wr/rd |
| RX 状态机与错误检测 | 管理同步锁定、数据有效、错误标志(如失锁、位错误) | rx_lock, sync_done, err_flag |
CDR 锁定时间验证: 在仿真中需注入频率偏移(±500ppm)和相位跳变,测量从 reset 释放到 lock_det 拉高的时钟周期数。T22ULP 工艺下,典型锁定时间应小于 50μs,否则需调整 PLL 带宽或 CDR 环路参数。
4.3 PLL 与时钟树
LVDS IP 的时钟树以 PLL 为核心,为 TX 和 RX 提供多相、低抖动的时钟源。时钟树结构直接影响数据眼图质量和 CDR 抖动容限。
4.3.1 PLL 内部架构
| 子模块 | 功能描述 | 典型参数(T22ULP) |
|---|---|---|
| 鉴频鉴相器(PFD) | 比较参考时钟与反馈时钟的相位/频率差,输出 UP/DN 脉冲 | 死区 < 50ps |
| 电荷泵(CP) | 将 UP/DN 脉冲转换为电流,驱动环路滤波器 | 电流 50~200μA,可编程 |
| 环路滤波器(LF) | 二阶 RC 滤波器,抑制高频噪声,稳定控制电压 | 带宽 1~5MHz,相位裕度 > 60° |
| 压控振荡器(VCO) | 产生高频振荡,频率由控制电压调节 | 中心频率 1.6GHz,调谐范围 ±20% |
| 分频器链 | 将 VCO 输出分频为 TX/RX 所需的多相时钟(0°/90°/180°/270°) | 分频比 2/4/8,占空比 50% |
4.3.2 时钟树分布与多相生成
PLL 输出的高频时钟经分频器链产生四相时钟(CLK0/90/180/270),分别供给 TX 的并串转换和 RX 的 CDR 采样。时钟树采用 H-Tree 拓扑,确保各相位到达 TX/RX 模块的延迟偏差小于 20ps。
时钟树仿真陷阱: 在门级仿真中,必须包含 PLL 的模拟行为模型(Verilog-AMS 或 Real Number Model),否则无法准确模拟 VCO 抖动和锁定过程。建议使用 T22ULP PDK 提供的 PLL 行为级模型,并配合 SPICE 瞬态仿真校准关键参数。
4.4 模块间接口与数据流总结
TX、RX 与 PLL 时钟树通过以下关键接口协同工作:
- 数据路径: 并行数据 → TX 并串转换 → 差分线 → RX CDR → 串并转换 → 并行数据
- 时钟路径: PLL VCO → 分频器 → 多相时钟 → TX/RX 各采样级
- 控制路径: 顶层状态机通过 tx_en/rx_en/pll_en 控制各模块上电顺序与低功耗模式
- 状态反馈: lock_det(PLL 锁定)、rx_lock(CDR 锁定)、err_flag(位错误/失锁)
验证环境接口映射: 在 UVM 验证环境中,建议将上述接口封装为三个独立的 agent:TX Agent、RX Agent、PLL Agent。PLL Agent 使用 real number model 模拟模拟行为,TX/RX Agent 处理数字协议。三个 agent 通过 virtual sequencer 协调时序,可覆盖上电序列、数据吞吐、频率偏移、电源噪声等场景。