112G SerDes的发送端基本都配了一个DAC,而且规格书上会明确标注这个DAC是6-bit、7-bit还是8-bit。这个分辨率数字看起来像是拍脑袋定的,实际上背后有一套完整的权衡逻辑。

112Gbps PAM4跑在56GBaud,奈奎斯特频率28GHz。这个频率下,PCB走线、连接器、背板加起来的损耗能到30dB甚至更高。信号到接收端基本糊成一团,眼图都睁不开。
信道会优先吃掉高频分量 。结果就是码间串扰ISI满天飞,前后几个UI的数据互相打架,接收端CDR想锁都锁不住。
这时候只能在发送端做预加重,也就是FFE(Feed-Forward Equalization)。FFE的本质是个FIR滤波器,给当前bit加主幅度C0,前一个bit加预失真系数C-1,后一个bit加C+1,几个tap组合起来让波形提前畸变,正好抵消信道的损耗特性。
但这里有个问题: FFE是数字域运算,最后得输出到模拟域去驱动差分对 。这个转换的活儿就落在DAC头上。
DAC分辨率怎么定FFE每个tap的系数需要可调,C-1可能是-0.15,C0是0.8,C+1是-0.05,这些系数加权叠加之后得到一个幅度值,然后DAC把它转成对应的电流或电压。
DAC的bit数直接决定了FFE系数的调节精度 。6-bit DAC能提供64个离散电平,7-bit是128个,8-bit是256个。
分辨率不够会怎么样?假设你算出来的最佳系数是0.763,但6-bit DAC只能给你0.75或0.78,量化误差直接体现在眼图上,该补偿的地方补不到位,眼高眼宽都会受影响。在link training过程中,自适应算法可能因为步进太粗根本收敛不到最优点。
但也不是bit数越高越好。 每多一bit,DAC的面积、功耗、INL/DNL都会恶化 。8-bit DAC在56GBaud下要保证单调性和线性度,电流源阵列的匹配要求极高,版图一个不小心就是几个mV的offset,还得额外加校准电路。功耗也是线性增长,对于一个4-lane的112G SerDes来说,发送端功耗本来就是大头。
行业的选择主流112G SerDes的DAC分辨率集中在6-7bit 。
6-bit够用的逻辑是:112G的FFE tap数一般是3-5个,系数调节范围有限(C0一般不会低于0.6),64级量化对于常见的FR4背板和铜缆已经能覆盖大部分case。Cadence和Credo的一些设计就用6-bit,把省下来的功耗和面积投到CTLE和DFE上,整体BER表现并不差。
7-bit是个更保险的选择。对于超长背板或者插损更恶劣的应用场景,FFE需要更激进的预加重,这时候量化精度的提升能带来可见的眼图改善。有些设计还会根据速率档位动态切换DAC的有效位数,56G用6-bit,112G切到7-bit。
DAC分辨率不是孤立指标,它被整个链路的误差预算卡着 。
接收端的ADC噪声、时钟jitter、CDR的tracking range、FEC的纠错能力,这些因素共同决定了系统能容忍多大的发送端量化误差。
所以DAC分辨率是在link budget的大框架下反推出来的:先定好目标BER(比如1e-6 pre-FEC),再分配各个模块的误差容限,发送端量化噪声分到多少,然后倒推出实际需要的DAC位数,再加1-bit的余量作为最终规格。
这个数字看起来简单,背后是从信道仿真、眼图预算到电路实现的完整链条。所以下次看到datasheet上写着"7-bit segmented current-steering DAC",别觉得这只是个参数——这是系统工程师、算法团队和电路设计师拉锯了几轮之后妥协出来的结果。