时钟与电源这些地基件定了,本节看数据进出芯片的大动脉:高速串行接口。上一节处理的锁相环是"给全芯片打拍子",本节的串行化电路是"把一位位数据挤进一条细通道再完整还原"。它是外购 IP 里单价最高、规格书最厚的一类,也是数字集成者最容易只看速率数字、忽略链路概念的一类。读完本节,你应当能画出一条串行链路的完整剖面,读懂眼图与误码率这两个验收口径,并为 CK770 的上行接口做出一次有依据的通道规划。
先回答一个为什么。板级老接口(那些几十根数据线并排的总线)死于一个物理事实:同一时刻发出的几十根线,走不到同一个终点。线长差、拐弯差、材质差让各根数据线到达时间有先有后,频率越高,这个先后错位占用的时钟窗口比例越大——并行度越高、跑得越快,对齐越是一场噩梦。串行化的解法釜底抽薪:既然对不齐,就别并排走,把数据逐位排成一列走一根差分线,接收端凭数据流本身把节拍恢复出来。线少了,对齐问题不存在了,速率上限反而高出一个量级。
代价是电路复杂度全体升级。发送端要把并行数据转成串行位流(串行器),还要在位流里嵌入足够的规律供对方找回节拍;接收端要从一个裸的位流里把时钟"抽"出来(时钟数据恢复),再把位流还原成并行字(解串器)。中间那段物理通道还会欺负信号:高频成分衰减得比低频快,波形跑到对面就"糊"了,接收端得用均衡电路把糊掉的部分修回来。SerDes 这个词就是串行器与解串器的合写,但工程里它代指整条链路的全部这些本事。

串行位流不能是任意数据:如果数据里出现长串连续相同的位,接收端就长时间看不到边沿,恢复出的时钟会"漂"。所以串行链路都要过一道编码——把数据字映射成保证跳变密度、且保持直流平衡的传输码。老一代用八位转十位这类比例编码,代价是两成的带宽税;新一代改用加扰加定长块的方案,税降到百分之几,代价是失锁后要靠块头重新对齐。选 IP 时编码方案直接决定"标称速率"里有多少是真带宽:八十亿位每秒的链路走老编码,实际只有六十四亿位可用——2.3 节的带宽预算表里,填的必须是扣税后的数字。
链路训练是现代 SerDes 的第二项自我修养。链路建立时,两端会自动互相摸索:发送端试不同的预加重强度,接收端试不同的均衡设置,边试边量眼图,收敛到当前通道条件下的最优组合。这相当于链路每次上电都做一次自动微调,也意味着调试期的许多"参数"其实是训练结果,不能手改——改了会与训练逻辑打架。
集成侧的三个衔接点要写进接口文档:参考时钟(通常复用 3.1 节的主锁相环或专用时钟,抖动要求最严)、与片上互连的弹性缓冲(对端时钟与本域时钟有微小频差,缓冲负责吸收,溢出即丢字,2.3 节的流量控制在这里有了物理意义)、复位与训练状态的对外交互(软件要能读训练结果、能触发重训练)。
背景:CK770 的上行接口要求很直白——把汇聚后的数据流以足够余量送出,链路介质是一段普通印刷电路板走线加一个连接器,板上空间紧张。市场给的速率目标来自竞品宣传页,架构侧需要把它翻译成通道条件。
操作。 团队按链路剖面做预算:先按 2.3 节的流量表确定真带宽需求,扣掉编码税与协议开销,倒推线路速率,发现比宣传页数字低一档即可满足,还多出约三成余量;再请硬件同事提供通道的插入损耗曲线,对照候选 IP 规格书里"支持的无中继损耗上限"复核,留出温度与老化的余量;最后与第六章的布图同事约定走线规则——差分对内等长、参考平面完整、换层过孔数量上限。三个数字(速率、损耗、走线规则)写进采购需求。
结果。 选定的 IP 以低一档速率稳定通过验收:误码率达到合同口径,眼图在样板模板内有余量。中途有过一次虚惊——早期测试误码偶发超标,排查两天发现是评估板的连接器批次问题,换批次后消失。这次虚惊后来成了第五章排错方法论的反面教材:先查物理层最容易的变量,再怀疑电路本身。
解读。 这单案例的普适结论有两条。第一,宣传页速率与需求速率之间要过三笔税:编码税、协议开销税、余量税,三笔扣完往往能省下一个档位的采购成本。第二,串行链路是"全链路工程"——芯片内外的通道条件共同决定成败,选料阶段就把走线规则谈定,比流片后再发现损耗超标要便宜百倍。
变式。 若链路要走更长的背板或多级连接器,损耗超出一档 IP 的均衡能力,此时该谈的是带重定时器的中继方案或者改用有源线缆;若需求只是几十兆位每秒的普通通信,本节整套机制都嫌重,直接用 3.3 节的普通外设接口即可——高速接口方案对"速率档位"极其敏感,小速率用大链路是常见的过度设计。
串行链路普遍采用差分传输,这也值得一句原理性交代:两根线走互补信号,接收端取两者的差值——外界的共模噪声(电源波动、邻近开关的耦合)同时叠加在两根线上,相减后互相抵消,有效信号却因互补而翻倍保留。抗噪能力换来的布线纪律是"对内等长、对外远离":两根线必须贴着走、长度一致,否则差分的抵消魔法失效。3.2 节案例里的走线规则,物理根源都在这组对称性上。
两端时钟名义同频、实则有百万分之几的偏差,缓冲靠周期性插入或删除空字符来吸收累积的频差——这是它的本职。溢出通常发生在偏差超预算(参考时钟不达标)或流量控制失灵(对端不理会暂停请求)两种情形,前者查时钟方案,后者查协议配置。偶尔一次可纠正的插入删除不是故障,是机制在工作;真正要追责的是不可恢复的溢出告警。
按出现频率排:通道质量不达标(损耗、反射、串扰超标,多数是电路板走线与连接器问题)居首;参考时钟抖动超标次之——它会让训练采样的判据本身不稳;第三是复位与训练触发的时序配合错误(软件太早发训练、或重训练期间又动了复位);最后才是器件本身的问题。这个排序的实用价值在于排查顺序:先查通道与时钟这些"板级变量",再怀疑硅,与第五章"先物理层后电路"的经验一致。
直接测确实测不过来——按要求的统计口径,跑满需要的数据量超出任何合理的测试周期。工程做法是统计外推:在刻意加压的条件下(加噪声、加损耗、加抖动)测出错率随压力的曲线,再按模型外推回正常工况的概率值,同时辅以长时间正常条件下的零误码记录作旁证。验收合同里要把测试条件与外推方法写清楚,否则两家对"达标"的理解可能差出一个数量级。
不是看物理长度本身,而是看损耗预算:通道的插入损耗(连接器、走线、背板逐段累加)对照所选档位的均衡能力上限,留出温度老化余量后仍有富余,直连;超了,就上重定时器或改有源线缆。判断的依据全部来自通道的损耗曲线——一条实测曲线胜过任何"几厘米之内没问题"的经验之谈,因为同样的厘米数,走内层还是外层、过几个换层孔,损耗能差出一倍。
大动脉讲完,下一节回到贴地的手脚:存储接口与通用外设的组合取舍,以及引脚打架时的裁断规则。