尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

从LVDS到CML:手把手拆解一个8b/10b SerDes收发器的内部电路(含CDR与PLL设计要点)

从LVDS到CML:手把手拆解一个8b/10b SerDes收发器的内部电路(含CDR与PLL设计要点) 从LVDS到CML手把手拆解一个8b/10b SerDes收发器的内部电路含CDR与PLL设计要点在高速串行通信领域SerDes串行器/解串器技术如同隐形的数据高速公路默默承载着现代计算设备间海量数据的传输任务。当我们谈论PCIe、以太网或光纤通道时本质上都在讨论SerDes技术的不同实现形式。本文将带您深入一颗典型8b/10b编码SerDes芯片的晶体管级设计细节用电路工程师的视角解析那些数据手册上从不标注的实现奥秘。1. 架构概览8b/10b SerDes的模块化拼图一颗完整的SerDes芯片远不止简单的串并转换器其核心模块构成一个精密协作的系统[发送路径] 并行数据 → 8b/10b编码 → 串行化器 → 驱动器(LVDS/CML) → 传输介质 [接收路径] 传输介质 → 接收器(LVDS/CML) → CDR电路 → 8b/10b解码 → 并行数据时钟子系统作为神经中枢贯穿始终发送端PLL生成高频串行时钟接收端CDR从数据流中提取时钟全局时钟树确保各模块同步表典型1.25Gbps SerDes芯片关键参数对比参数LVDS实现CML实现摆幅350mVpp400mVpp功耗85mW110mW最大速率1.5Gbps3.2Gbps共模范围1.2V±1V1.8V±0.5V2. 时钟生成低抖动PLL的七层设计炼狱2.1 压控振荡器(VCO)的核心秘密环形振荡器与LC振荡器的抉择背后是相位噪声与面积的权衡// 典型LC-VCO的Verilog行为模型 module lc_vco( input vctrl, output reg clk_out ); real phase_noise; always #(1.0/(1.8e9 vctrl*300e6)) begin clk_out ~clk_out; phase_noise $dist_normal(0, 0.1ps); // 1σ抖动模型 end endmodule关键设计参数调谐范围需覆盖±20%工艺偏差Kvco控制在100-300MHz/V避免环路不稳定电流源匹配误差需1%防止偶次谐波2.2 锁相环的稳定性博弈三阶Type-II PLL的传递函数藏着魔鬼细节$$ H(s) \frac{K_{pd}K_{vco}(1s\tau_2)}{s^2N\tau_1(1s\tau_3)} $$设计checklist相位裕度保持在45°-60°之间阻尼系数ζ≈0.7最佳带宽设为参考时钟1/10避免参考杂散实测技巧用Tektronix RSA5000系列分析仪捕获闭环响应时注入扰动信号幅度不宜超过10mVpp3. 数据恢复CDR电路的相位狩猎游戏3.1 基于Hogge鉴相器的数字CDR经典架构在28nm工艺下的实现变种![CDR结构框图]数据缓冲三级CML放大器链增益≈6dB/stage鉴相器改进型Hogge电路消除复位竞争环路滤波器数字积分比例路径VCO控制8位DAC调节LSB≈50ps眼图调试要点采样点控制在UI的45%-55%窗口抖动传递函数带宽设为0.1UI频偏捕获范围需≥±1000ppm3.2 时钟数据对齐的硅验证手段实际流片后如何验证CDR性能分享三个实测技巧伪随机码注入法# 生成PRBS31测试序列 import numpy as np prbs np.random.randint(0, 2, 2**31-1) np.save(prbs31.npy, prbs)抖动分离分析DJ/RJ分解误码率浴盆曲线测试BER1e-124. 收发器电路LVDS与CML的晶体管级对决4.1 LVDS驱动器的对称性艺术130nm工艺下的典型实现[LVDS输出级] -- -- | | | | INP ----| |-------| |---- OUTP | | | | | | | | INN ----| |-------| |---- OUTN -- -- M1 M2关键尺寸尾电流源200μAW/L10μm/0.5μm差分对W/L5μm/0.13μmgm≈2mS负载电阻100Ω多晶硅匹配至±1%4.2 CML接口的速度密码与LVDS相比CML舍弃了电流镜负载改用电阻直接上拉* CML输出级SPICE网表示例 M1 out_n in_p vdd vdd pmos w4u l0.13u M2 out_p in_n vdd vdd pmos w4u l0.13u M3 out_n in_n tail 0 nmos w8u l0.13u M4 out_p in_p tail 0 nmos w8u l0.13u R1 vdd out_p 50 R2 vdd out_n 50 I1 tail 0 8m速度优化技巧使用薄栅氧晶体管2.5nm Tox布局时采用共中心匹配电源去耦电容50pH ESL5. 8b/10b编解码器的状态机玄机5.1 编码器的Running Disparity实现Verilog代码揭示状态维护机制module enc_8b10b ( input [7:0] din, input is_k, output reg [9:0] dout, output reg rd ); // 当前disparity计算 always (*) begin case({is_k, din}) // 具体编码表此处省略... default: begin dout 10b0; rd rd; // 保持原有disparity end endcase end // 下一周期disparity更新 always (posedge clk) begin if(reset) rd -1; else rd next_rd(dout); end endmodule5.2 解码器的逗号检测陷阱如何避免数据冒充控制字符三级校验机制比特对齐窗口检测±2UI无效码字过滤查表验证RD连续性检查历史20个字符表常见8b/10b控制字符映射K字符编码(RD-)编码(RD)K28.500111110101100000101K28.700111110001100000111K23.711101010000001010111在最近一次PCIe Gen3 IP核验证中我们发现当连续出现K28.5-K28.1-K28.5序列时某些商用PHY芯片的CDR会失锁。这提醒我们实际系统中除了关注单个模块设计还需考虑极端码型组合的影响。
返回列表