4、芯片级SI设计流程:设计输入、预布局分析、详细仿真、后仿真验证、测试验证

各位工程师朋友,咱们今天聊聊芯片级信号完整性的设计流程。说实话,这个流程我摸索了好几年才真正吃透。刚开始做光通信芯片那会儿,我总觉得SI就是跑跑仿真,后来吃过几次亏才明白——这玩意儿得从头到尾贯穿整个设计周期。

整个流程我习惯分成五个阶段:设计输入、预布局分析、详细仿真、后仿真验证、测试验证。每一步都有它的门道,咱们一个一个说。

4.1 设计输入:别急着动手,先搞清楚要什么

设计输入这一步,说白了就是收集需求。但我见过太多人上来就开干,结果做到一半发现指标定错了,那叫一个痛苦。

我个人习惯,先拉一张表,把关键参数列清楚:

参数项 典型值(25Gbps NRZ) 典型值(112Gbps PAM4) 说明
数据速率 25.78125 Gbps 112 Gbps 含FEC开销
信道损耗预算 ≤ 15 dB @ 12.89 GHz ≤ 30 dB @ 28 GHz 包含PCB+封装+芯片
回波损耗 ≤ -12 dB ≤ -10 dB 差分模式
串扰预算 ≤ -35 dB ≤ -40 dB 近端+远端
眼图模板 符合IEEE 802.3ba 符合IEEE 802.3ck 垂直/水平余量

嗯,这里要注意——光通信芯片的速率越来越高,112Gbps PAM4的信号,对信道的要求比25Gbps严苛得多。我在项目中遇到过,有人拿着25G的指标去设计112G的芯片,结果流片回来眼图根本睁不开。

我的小技巧:设计输入阶段,一定要和系统工程师、封装工程师坐在一起过一遍。别只看数据手册,要问清楚实际应用场景。比如,芯片是放在线卡上还是背板上?中间有没有连接器?这些细节直接影响你的SI设计目标。

4.2 预布局分析:先搭个框架,别急着画细节

预布局分析,我理解就是「纸上谈兵」的阶段。这时候芯片的floorplan还没定死,你有机会做大的调整。一旦布局定下来,后面改起来就费劲了。

这个阶段我主要做三件事:

  • IO口规划——高速SerDes放在哪?时钟走哪边?电源域怎么划分?
  • 关键路径识别——哪些信号对时序最敏感?哪些容易受串扰?
  • 粗略的损耗估算——用简单的公式算一下,从PAD到接收器的总损耗大概多少。

举个例子,我曾经做过一个56Gbps PAM4的芯片。预布局时我发现,如果SerDes放在芯片左上角,而时钟源在右下角,时钟走线要横穿整个芯片。你想想看,这得引入多少抖动?后来我建议把时钟源挪到SerDes附近,虽然floorplan调整了一版,但后面的仿真验证顺利多了。

预布局阶段的核心原则:

  • 高速信号走线尽量短,尽量直
  • 敏感信号和干扰源保持距离(至少3倍线宽)
  • 电源和地要成对出现,形成回流路径
  • 不同电压域的IO口要分开区域

4.3 详细仿真:该较真的时候了

到了详细仿真阶段,就要动真格的了。这时候芯片的版图已经有个大概样子,我们可以提取寄生参数,跑精确的仿真。

我个人习惯的仿真流程是这样的:

  1. 提取S参数——用电磁仿真工具提取关键路径的S参数,频率范围要到信号的三次谐波以上。比如25Gbps的信号,至少要跑到37.5GHz。
  2. 时域仿真——把S参数导入通道仿真器,跑眼图、抖动、BER。
  3. 串扰分析——把相邻通道的耦合效应加进去,看看最差情况。
  4. 电源完整性——PDN的阻抗曲线,确保在目标频率范围内低于目标值。

这里我特别想说一下串扰分析。很多人只做单通道仿真,觉得眼图还行就过了。但实际芯片里,十几个通道同时工作,串扰会叠加。我曾经遇到过一个案例,单通道仿真眼图余量有20%,但8个通道同时跑的时候,眼图直接闭合了。原因就是远端串扰在特定频率下谐振了。

避坑指南:详细仿真时,别忘了考虑工艺角(Process Corner)。我在项目中吃过亏——TT corner仿真全过,但SS corner下眼图余量只剩5%。后来我学乖了,至少跑TT、FF、SS三个corner,取最差情况作为设计目标。

4.4 后仿真验证:版图出来了,再查一遍

后仿真验证,说白了就是「版图出来后的复查」。这时候芯片的物理设计已经完成,寄生参数更准确了。但很多人觉得前仿真都过了,后仿真就是走个形式。我告诉你,千万别这么想。

后仿真和前面仿真的区别在于:

对比项 前仿真(预布局/详细仿真) 后仿真(版图完成后)
寄生参数精度 估算值/预估值 实际提取值
走线拓扑 理想化 实际版图
耦合效应 粗略估计 精确提取
电源网络 理想电源 实际PDN

我记得有一次,前仿真时一条高速走线的眼图余量有30%,但后仿真发现只有8%。查了半天,原来是版图工程师在绕线时,为了避开一个block,把走线绕了个弯,引入了额外的阻抗不连续。这种问题,前仿真根本发现不了。

后仿真验证我一般会做两轮:

  • 第一轮:快速检查——挑最关键的几条路径,跑一下眼图和抖动,看看有没有明显问题。
  • 第二轮:全面验证——所有高速通道、时钟路径、关键控制信号,全部跑一遍。串扰、电源噪声、工艺角都要覆盖。

4.5 测试验证:流片回来,是骡子是马牵出来遛遛

测试验证是最后一道关。说实话,这一步最考验心态。流片花了那么多钱,万一测试结果不好,那真是欲哭无泪。

测试验证我一般分三步走:

  1. 基本功能测试——芯片能不能正常工作?PLL锁定没有?SerDes能不能跑起来?
  2. SI性能测试——用示波器看眼图,用BERT测误码率,用VNA测S参数。
  3. 系统级测试——把芯片放到实际系统中,跑业务流量,看看有没有误码。

这里我想分享一个经验。测试时,别只看「通过/不通过」,要关注余量。比如眼图模板测试,如果眼图刚好擦着模板边,那说明设计余量不够。量产时温度一变、电压一波动,可能就挂了。

我的测试小窍门:测试前先做一遍仿真和测试的对比校准。用同一个激励,看看仿真结果和测试结果差多少。如果偏差在10%以内,说明你的仿真模型是准的。如果偏差很大,那就要回头检查模型或者测试设置。

好了,芯片级SI设计流程就聊到这儿。总结一下:设计输入定目标,预布局搭框架,详细仿真较真,后仿真查漏补缺,测试验证见真章。每一步都别偷懒,否则流片回来哭都来不及。

下一章咱们聊聊具体的仿真工具和建模方法,到时候见。