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 瞬态仿真校准关键参数。
LVDS IP 整体架构与数据流 发送器(TX) 并行输入缓冲 并串转换器 预驱动级 差分输出驱动器 TX 状态机与控制逻辑 接收器(RX) 差分输入缓冲 CDR 串并转换器 去偏移弹性缓冲 RX 状态机与错误检测 PLL 与时钟树 PFD CP+LF VCO 分频器链 → 多相时钟(0°/90°/180°/270°) H-Tree 时钟分布 差分传输线(out_p/out_n ↔ in_p/in_n,100Ω 终端匹配) 并行数据输入 并行数据输出 控制接口:tx_en / rx_en / power_down / sync_pattern / lock_det / err_flag PLL 内部结构与多相时钟生成 PLL 核心环路 PFD CP + LF VCO 分频器链 多相生成 H-Tree 分布 反馈时钟(分频后) ref_clk 多相时钟输出:CLK0(0°) | CLK90(90°) | CLK180(180°) | CLK270(270°) → 供给 TX 并串转换(双沿采样)与 RX CDR(多相采样) PLL 控制:pll_en / pll_bypass / bandwidth_sel / lock_det

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 协调时序,可覆盖上电序列、数据吞吐、频率偏移、电源噪声等场景。