ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

高速SerDes接收端DFE均衡器:从原理到电路实现与调试

高速SerDes接收端DFE均衡器:从原理到电路实现与调试 1. 从眼图闭合到DFE登场SerDes接收端到底在跟什么较劲高速SerDes链路跑到25Gbps、56Gbps甚至112Gbps这个量级接收端工程师最怕看到的画面是什么不是完全没信号而是眼图半睁半闭——眼高被压缩、眼宽被吃掉误码率卡在1E-8下不去链路余量怎么调都差那么一口气。这时候如果只盯着发送端FFE预加重去调往往会发现已经调到极限了接收端的信号质量还是上不来。问题出在哪出在信道的频率选择性损耗上。PCB走线、连接器、过孔、封装打线这些无源通道对高频分量的衰减远大于低频分量一个典型的背板信道在14GHz处可能有20dB到30dB的插入损耗。信号经过这样的信道之后高频成分被严重削弱时域上表现为码间干扰——前一个bit的能量拖尾糊到了当前bit的判决时刻上。发送端FFE能做一些预补偿但FFE有个致命短板它只能处理因果信号也就是只能利用当前和过去的bit来预失真而且预加重会放大高频噪声发送端幅度又不能无限加大。所以到了接收端必须有一个能事后算账的均衡器来收拾残局这就是DFE——判决反馈均衡器。DFE的核心思路其实非常朴素既然我已经判决出了前面的bit是什么那我完全可以根据这些已知的bit和信道的脉冲响应估算出它们对当前bit时刻造成的干扰量然后从接收信号里把这个干扰减掉再做当前bit的判决。这是一个非线性均衡器因为它依赖已经判决输出的离散值而不是简单的线性滤波。相比CTLE这种线性均衡DFE不会放大高频噪声因为它做的是减法而不是加法——这是它在高速SerDes接收端不可替代的根本原因。这篇文章面向的是正在做SerDes接收端设计、或者正在学习高速接口电路的工程师和学生。我会从DFE要解决的核心问题讲起把工作原理拆透然后深入到电路实现层面——包括加法器、判决器、反馈DAC、时钟恢复这些关键模块怎么配合最后聊一聊实际调试中会遇到的坑和取舍。你不需要有射频背景只要懂基本的信号与系统、了解MOS管开关行为就能跟下来。2. 信道把信号怎么了理解DFE之前必须先搞清楚的ISI机制2.1 一个bit的拖尾如何污染下一个bit的判决先建立一个最简模型。假设信道是一个低通系统冲激响应为h(t)。发送端发出一个理想方波序列每个bit周期为UI。当信道带宽不足时一个bit的脉冲响应不会在一个UI内衰减到零而是会拖出几个UI的尾巴。在接收端采样时刻tnT接收到的信号y[n]等于当前bit a[n]乘以主光标h[0]加上前面若干个bit的拖尾贡献y[n] h[0]·a[n] Σ(h[k]·a[n-k]) 噪声其中Σ部分就是ISI。如果h[1]、h[2]这些后光标系数不为零那么前面bit的残留就会叠加到当前bit上。当多个bit的拖尾随机叠加时眼图就被糊上了。这里有个关键认知ISI是确定性的它由信道特性和已知的发送bit序列决定。只要我知道前面的bit是什么我就能算出它们对当前时刻的干扰是多少。这正是DFE能够工作的物理基础。与之对比噪声是随机的无法预测所以DFE对噪声无能为力——它只治ISI不治噪声。这个边界一定要清楚否则你会对DFE产生不切实际的期望。2.2 为什么线性均衡CTLE/FFE在高端链路里不够用CTLE是连续时间线性均衡器本质是一个高通滤波器在频域上把高频抬起来补偿信道损耗。它的优点是简单、无时钟依赖、不引入判决延迟。但问题在于CTLE在抬高频的同时也把高频噪声一起抬起来了。当信道损耗很大时CTLE需要提供很高的高频增益噪声放大效应就变得不可接受。FFE是前馈均衡在发送端或接收端用延迟线加权求和实现。它的问题是如果放在发送端预加重会降低发送信号的幅度裕量如果放在接收端线性FFE同样会放大噪声而且需要多个高功耗的延迟单元和乘法器。DFE的独特之处在于它的非线性。它不试图在频域上拉平信道而是在时域上减掉已知的干扰。因为减法是针对确定性ISI的不会放大随机噪声。这就是为什么在56G/112G PAM4 SerDes中DFE几乎是标配——CTLE做粗均衡DFE做精细的ISI消除两者配合才能把眼图打开。2.3 DFE的数学本质从最小均方误差到迫零从数学角度看DFE的反馈系数可以通过多种准则来确定。最常用的是迫零准则让反馈系数直接等于信道的后光标系数h[1]、h[2]……这样理论上可以完全消除ISI。但迫零有个问题如果信道在某些频率上有深度衰落迫零会过度放大噪声。另一种准则是最小均方误差它在消除ISI和抑制噪声之间做权衡实际工程中更常用。在自适应DFE中反馈系数通过LMS算法迭代更新每次判决后用误差信号接收信号减去判决值来微调系数。这样即使信道特性随温度、电压漂移DFE也能跟踪上。不过自适应需要收敛时间在突发模式接收中要特别注意。3. DFE内部到底怎么运转从加法器到反馈DAC的信号流3.1 一个tap的完整判决周期拆解先看最简单的1-tap DFE。它的工作流程可以拆成四个阶段第一阶段接收信号y[n]进入加法器此时加法器的另一个输入是反馈DAC输出的补偿量。对于1-tap DFE补偿量等于h[1]乘以a[n-1]其中a[n-1]是上一个bit的判决结果。第二阶段加法器输出e[n] y[n] - h[1]·a[n-1]这个e[n]就是消除了前一个bit拖尾后的信号。第三阶段e[n]送入判决器通常是一个强正反馈的锁存器或比较器在采样时钟的有效沿到来时判决出a[n]是0还是1。第四阶段a[n]被锁存并在下一个UI周期作为反馈输入乘以h[1]后送到加法器参与下一个bit的均衡。这个循环每个UI重复一次所以DFE的反馈环路必须在1个UI内完成建立。对于25Gbps1UI40ps对于56Gbps PAM41UI约等于17.8ps。这个时间约束是DFE电路设计中最核心的挑战。3.2 反馈DAC的电流舵结构为什么是主流反馈DAC的作用是把数字判决结果转换成模拟补偿量。在高速DFE中最常用的是电流舵结构一组差分对管尾电流由系数控制差分对的开关由判决结果a[n-k]控制。当a[n-k]1时一对管子导通把电流注入到加法器的负载电阻上产生电压补偿当a[n-k]0时另一对管子导通产生反向补偿。为什么用电流舵而不是电阻分压或电容切换因为电流舵的建立速度快。电流开关的切换时间可以做到几个ps而且输出是电流形式可以直接在加法器的低阻节点上做电流求和避免了电压摆幅带来的RC延迟。另外电流舵的系数可以通过调整尾电流源的电流值来编程方便自适应控制。一个典型的4-tap DFE会有4组电流舵DAC每组对应一个后光标系数。它们的输出全部汇到同一个加法器节点上实现多tap的ISI消除。这里要注意多组DAC同时切换时会在电源和地线上产生很大的di/dt噪声需要在版图上做好去耦和对称布局。3.3 加法器与判决器的协同为什么说半个UI是生死线加法器和判决器是DFE环路中最关键的两个模块。加法器通常是一个差分放大器输入是接收信号和反馈DAC电流输出是均衡后的电压。判决器是一个锁存器在时钟沿到来时把加法器输出放大到满摆幅并锁存。问题在于加法器有增益带宽积限制判决器有建立时间要求反馈DAC有开关延迟这三者加起来必须小于1个UI。更严格地说反馈路径必须在采样时钟沿到来之前稳定下来否则判决器采到的是错误的补偿量会导致误判传播。实际设计中通常把加法器和判决器合并成一个求和-判决模块用电流积分的方式在时钟沿前完成求和时钟沿到来时直接触发锁存。这样可以把反馈延迟压缩到最小。有些设计甚至采用半速率架构用两个DFE交织工作每个工作在半个UI的周期内这样反馈环路的时序压力减半。半速率架构的代价是面积和功耗翻倍但在56Gbps以上几乎是必须的。4. 电路实现里的硬骨头时序、噪声与自适应4.1 反馈环路的时序预算怎么算假设一个56Gbps PAM4 SerDes1UI17.8ps。DFE反馈环路的时序预算大致如下模块典型延迟说明判决器锁存输出3-5ps从时钟沿到输出稳定反馈DAC开关2-4ps从数字输入到电流稳定加法器建立4-6ps从电流注入到电压稳定判决器采样窗口2-3ps建立保持时间裕量2-4ps留给PVT波动加起来大约13-22ps已经逼近甚至超过1UI。所以全速率DFE在56Gbps以上非常吃力必须用半速率或四分之一速率架构。半速率架构下每个DFE有2个UI的时间完成反馈时序压力大大缓解。但半速率需要精确的时钟相位分配两个交织路径之间的失配会引入额外的确定性抖动。4.2 判决器亚稳态与误判传播DFE最怕的连锁反应DFE有一个其他均衡器没有的风险误判传播。如果某个bit判错了这个错误会通过反馈路径影响下一个bit的均衡可能导致下一个bit也判错形成连锁反应。虽然信道编码和交织可以打散这种传播但在DFE设计本身必须尽量降低单次误判的概率。判决器的亚稳态是误判的主要来源之一。当采样时刻的信号恰好落在判决阈值附近时锁存器可能进入亚稳态输出在0和1之间振荡需要额外的时间才能稳定。如果这个不稳定输出被反馈到下一个UI就会产生错误的补偿量。解决办法包括增加锁存器的正反馈强度、优化采样时钟的相位、在判决器后加一级重定时锁存器。另一个措施是限制反馈系数的大小。如果h[1]过大一次误判造成的补偿误差就很大传播风险高。实际中通常会对反馈系数做限幅牺牲一点ISI消除能力来换取稳定性。4.3 自适应引擎LMS算法在DFE里怎么落地自适应DFE的核心是一个LMS引擎它根据误差信号e[n]和判决结果a[n-k]来更新系数h[k]h[k] ← h[k] μ · e[n] · a[n-k]其中μ是步长。这个公式的直观含义是如果误差和某个bit的相关性为正说明该bit的拖尾被低估了需要增大系数反之则减小。在电路实现上LMS引擎通常是一个数字模块它接收判决器的输出和误差比较器的输出做乘加运算然后通过DAC调整反馈DAC的尾电流。这里有个关键问题误差信号e[n]怎么获得在DFE中e[n]是加法器输出与判决阈值之间的差值需要一个额外的比较器来提取。这个比较器的精度直接影响自适应收敛的质量。实际调试中LMS的步长μ需要仔细选择。μ太大系数会在最优值附近振荡甚至发散μ太小收敛太慢跟不上信道变化。通常先用较大的μ快速收敛然后切换到较小的μ做精细跟踪。有些设计还会在收敛后冻结系数避免稳态下的抖动。5. 从仿真到硅验证DFE调试中那些文档不会写的事5.1 眼图仿真里看不到的DFE行为做系统仿真时很多人用理想DFE模型反馈系数直接设成信道后光标系数仿真出来的眼图非常漂亮。但到了硅上眼图往往差很多。原因有几个一是理想模型没有考虑反馈DAC的有限建立精度实际DAC输出有毛刺和过冲二是理想模型没有考虑判决器的亚稳态和时钟抖动三是理想模型没有考虑电源噪声对反馈系数的影响。我的经验是在仿真阶段就要加入非理想因素。反馈DAC用行为级模型加入建立时间、毛刺和随机失配判决器加入亚稳态模型和时钟抖动电源用真实的PDN阻抗模型。这样仿真结果才有参考价值。另外一定要做误判传播的蒙特卡洛仿真统计误码率时不能只看单次判决要看连续多个bit的联合错误概率。5.2 反馈系数调优的实操顺序在硅上调试DFE时不要一上来就开自适应。正确的顺序是先关掉DFE只开CTLE调CTLE的峰值增益和带宽让眼图尽量张开。打开DFE手动设置反馈系数从1-tap开始逐步增加tap数。每个tap的系数从小到大扫观察眼高和误码率的变化。找到手动最优系数后再打开自适应让LMS在最优值附近微调。最后做PVT corner测试确认自适应在全温度、全电压范围内都能收敛。这个顺序的原因是如果CTLE没调好DFE要处理的ISI太大反馈系数会很大误判传播风险高。先让CTLE把ISI压到DFE能处理的范围内DFE才能稳定工作。5.3 电源噪声与版图对称性DFE性能的隐形杀手DFE对电源噪声非常敏感因为反馈DAC的尾电流直接决定了补偿量。如果电源上有波动补偿量就会抖动等效于ISI消除不干净。在版图上反馈DAC的电源和地必须单独走线用深N井隔离并且要加足够的去耦电容。另一个容易被忽视的是版图对称性。多tap DFE的多个DAC之间如果不对称会导致不同tap的系数失配自适应引擎会试图补偿这种失配但补偿能力有限。所以从版图阶段就要保证每个DAC的电流源、开关管、连线电阻都尽量一致。差分对要交叉对称电流源要共质心布局。还有一个坑是加法器节点的寄生电容。多组DAC汇到同一个节点寄生电容会累加限制加法器的带宽。在版图上要尽量减小这个节点的面积用高层金属走线降低电阻但要注意高层金属的耦合噪声。6. 不同速率下的DFE架构取舍从1-tap到多tap的工程决策6.1 什么情况下1-tap就够用不是所有链路都需要多tap DFE。如果信道损耗不大比如短距离背板或芯片间互连后光标主要集中在h[1]h[2]以后的系数很小那么1-tap DFE就能把眼图打开。1-tap DFE的优点是电路简单、功耗低、反馈时序容易满足。在10Gbps到25Gbps的很多应用中1-tap DFE加上CTLE就足够了。判断标准是看信道的脉冲响应如果h[1]占主导h[2]/h[1]小于0.3那么1-tap的残余ISI对眼图的压缩在可接受范围内。如果h[2]/h[1]超过0.5就需要考虑2-tap或更多。6.2 多tap DFE的功耗与面积代价每增加一个tap就需要一组反馈DAC、一个锁存器、一套LMS更新逻辑。功耗大致线性增加面积也线性增加。在56Gbps PAM4中一个4-tap DFE的功耗可能占到接收端总功耗的30%到40%。所以tap数不是越多越好要根据信道特性做取舍。另一个代价是时序。多tap DFE的反馈路径更长因为需要把多个历史判决结果锁存并分配到各个DAC。这增加了时钟树和布线的复杂度。在半速率架构下多tap的时序压力更大因为两个交织路径需要共享历史判决。6.3 PAM4对DFE提出的新要求PAM4信号有四个电平每个UI携带2个bit。这给DFE带来了新挑战判决器需要三个阈值比较器反馈DAC需要处理四电平的补偿量。更麻烦的是PAM4的ISI不仅来自前一个符号的拖尾还来自电平转换的不对称性。比如从最高电平跳到最低电平的拖尾和从中间电平跳到另一个中间电平的拖尾形状可能不同。所以PAM4 DFE通常需要更多的tap而且反馈系数可能需要对不同的电平转换分别优化。有些设计采用符号判决反馈而不是bit判决反馈直接对PAM4符号做反馈这样可以更精确地补偿ISI。但符号判决的电路更复杂功耗更高。7. 写在最后一些个人体会DFE是SerDes接收端最精妙也最磨人的模块之一。它的原理不复杂但工程实现里的细节极多每一个细节都可能成为性能瓶颈。我个人的体会是不要迷信仿真一定要在硅上实测不要一上来就追求多tap先把1-tap调稳不要忽视电源和版图它们往往是压垮性能的最后一根稻草。另外DFE和CTLE是搭档不是替代关系。CTLE负责粗调DFE负责精修两者的增益分配需要仔细优化。在实际项目中我通常会花大量时间在CTLE和DFE的联合调优上而不是单独调某一个。这个联合调优的过程往往比任何仿真都更能揭示链路的真实瓶颈。最后分享一个小技巧在调试DFE时可以先把自适应关掉手动扫描反馈系数同时用误码仪统计误码率。把误码率对系数的曲线画出来找到最低点这个点就是手动最优系数。然后再打开自适应观察它是否收敛到这个点附近。如果自适应收敛到别的地方说明LMS的步长或误差提取有问题。这个方法虽然笨但非常有效能帮你快速定位是DFE本身的问题还是自适应引擎的问题。
返回列表