Cadence SiP Layout实战:从叠层约束到wire bond与flip chip设计
Cadence SIP Layout 这个工具光看名字就能劝退一批人APD、基板、wire bond、flip chip、激光埋孔……每一个词单独拿出来都够啃半天的。我写第一章的时候重点放在怎么把流程跑通也就是从建库、建基板到导网表、摆die、拉线先让完全没接触过封装设计的人知道 SIP Layout 大概长什么样。但这章要聊的事情不一样——真正投过板之后你会发现流程通只是第一步后面还有一堆规则等着你。这一章的目标是解决从能画出来到能画对之间的差距会涉及叠层设计、约束规则、wire bond 和 flip chip 两种互联方式的实操、平面分割与铜皮处理、DRC 与制造文件输出。无论你是从 PCB Layout 转过来还是学校出来直接做封装只要手里有 Cadence SiP Layout 或者 APD 这类工具这篇内容应该能帮你少走不少弯路。1. 第二章该解决什么问题从通流程到做对设计1.1 先把SIP概念说透顺便和通信SIP划清界限很多人第一次看到SiP这个词第一反应是通信协议里的 SIPSession Initiation Protocol甚至有人跑到群里问Cadence 和防火墙 SIP ALG 有什么关系。这里先明确一下咱们聊的是 System in Package系统级封装是把多个裸芯片die、无源器件、甚至 MEMS 传感器集成在同一个封装基板上通过引线键合wire bond、倒装焊flip chip等方式互联最终形成一个完整功能模块的技术。它和 SoC 最大的区别在于SoC 是把所有功能模块做进同一颗硅片里工艺制程必须统一但如果你的系统里既有射频、又有数字、还有模拟不同工艺节点之间往往互不相容——射频器件可能最优制程是 130nm 模拟工艺数字逻辑却是 7nm 数字工艺硬塞到一片晶圆上要么性能打折要么良率崩掉。SIP 的做法是各自用最优工艺做好 die再在封装级把它们拼起来。这也是 SiP 这几年在射频模组、汽车雷达、高性能计算侧越来越火的原因。从 Layout 角度看SIP 基板比普通 PCB 要细得多。普通 PCB 走线宽度是 mil 级也就是几 mil 到几十 mil过孔是机械钻孔SIP 基板的线宽线距是微米级常见 15/15μm、25/25μm过孔用激光打孔孔径百微米以下。如果你过去一直画 PCB第一次切到 SIP 设计时最直观的感受就是规则不是做不出来而是稍不注意就违反。所以在 SiP Layout 里先定规则再画图不是口号是保命用的。1.2 第一章流程回顾基础流程没做对后面全是坑第一章我展开讲过的链路是建工艺库 → 创建基板外形Package Symbol→ 导入网表 → 摆放 die 和无源器件 → 手动布线 → 简单 DRC 检查。这套链路说起来不复杂但很多人卡在第一步的库上die 的 pad 尺寸写错、bond finger 放反、assembly 层和 silkscreen 层混用后面每一步都会被连带崩掉。这一章的时间点我默认你手上已经有一个能跑通的工程有基板外形、有元件库、网表导入没问题、至少画过几根线。如果你还没到这一步建议先回去把第一章的基础流程过一遍因为第二章讲的叠层、约束、wire bond、flip chip 这些操作全都建立在一个能跑通的最小工程之上。我实际带人的时候经常碰到一种情况新手画到一半来问为什么我 DRC 报了一千多个错点开一看全是约束规则没设置、叠层物理参数是默认值导致的。这就引出第二章的核心逻辑——SIP Layout 不是画图是在规则约束下做规划和取舍。这一章我按实际项目推进顺序来讲先准备叠层和约束再做互联设计再处理平面最后检查输出。顺序对了返工就少。2. 开工前的准备工作叠层、约束和库一项都不能省2.1 叠层设计怎么做才靠谱材料、Dk/Df 与阻抗预算SIP 基板叠层不像 PCB 那样动辄十几层常见的是 26 层但每一层的材料选择和厚度直接决定电气性能。基板材料主流是 BT 树脂、ABF 载板材料高频场景会用改进型或是混压方案。反映到设计上你需要在 Setup → Cross Section 里把每一层的介质材料、厚度、铜箔厚度敲进工具这些参数从哪来不要自己拍脑袋直接找基板厂要叠层建议书或者参考你们公司量产过的同类基板。介质层厚度和介电常数 Dk 决定阻抗。举个实际例子有个项目要做 50Ω 单端参考层距离 h50μm、Dk 约 4.0、线厚 18μm用阻抗计算器Polar 或 Cadence 内建工具扫出来线宽大约在 8590μm 附近如果把介质压薄到 h35μm同样的 50Ω 线宽会收到 60μm 左右。差分 100Ω 不是简单把单端线加宽或缩窄再复制一根就行耦合关系会让线宽和线距同时影响阻抗我习惯的做法是先定线距比如 120μm再扫线宽直到目标阻抗落在容差范围内。注意一个很多人踩过的坑Cross Section 里每一层的金属厚度和介质厚度一定要按基板厂的真实叠层填不要用 Cadence 默认值。默认值有时候看起来跑得很顺但导出的阻抗和实际制造结果完全对不上等流片回来用 TDR 测试一看阻抗偏了 10% 以上这种返工非常贵。2.2 约束规则设置把该遵守的规矩写进工具里SIP 设计里约束规则的意思是让工具在布线、摆放、检查时有没有一张边界清单。我见过不少新手布线布得很欢直到 DRC 才崩溃——线间距只有 8μm而基板厂能力是 15/15μm整版报废。所以在连线之前先把约束建好最基础的三类物理约束Physical各网络的最小线宽、最大线宽。电源网络通常要给 50μm 以上信号网络 15μm 或 25μm 起步。间距约束Spacing线与线、线与 pad、pad 与 pad 之间的最小间距。这个值必须不低于基板厂的工艺能力我一般习惯取制程极限的 1.2 倍作为设计值给产线留点余量。电气约束Electrical单端阻抗、差分阻抗、等长组、最大/最小延时。Cadence 里可以在 Electrical Constraint Set 里建阻抗剖面和相对延时规则。我在 Cadence 里的常规操作是先建好几个 Constraint Set比如 SIG_25_50 PWR_50赋给对应网络再开约束管理器检查。约束设置还有一个隐蔽好处——布线时工具的实时高亮和自动避让会按你的约束来画出来的线在物理上大概率是可行的而不是等 DRC 再返工。实操感受是每换一个基板厂我就会把工艺能力表里的线宽线距、激光孔径、最小 pad 尺寸更新到自己的模板库里一劳永逸。2.3 库的规范化die 的 pad、bond finger 和 layer 管理库是 SIP 设计里第一生产力也是最容易翻车的地方。die 库最关键的是 pad 定义——pad 的开口尺寸、间距、所在层必须和晶圆厂提供的 die 文档一致。常见的错误是 pad 的 geometry 放错层铜箔层没有开阻挡层soldermask导致后面生成 wire bond 时工具根本选不到连接点。另外就是 subclass 管理。Cadence 里层很多比如 PACKAGE_GEOMETRY/ASSEMBLY、PACKAGE_GEOMETRY/SILKSCREEN、BOARD_GEOMETRY/OUTLINE各有各的用途。ASSEMBLY 是装配层指导贴片SILKSCREEN 是丝印用于目视标识。有些新手把元件位号、外形线一股脑画在同一层后面导入装配图时一团糟。我的习惯是每个层只放它该放的东西外形、腔体、散热焊盘放详细规格的专用子类位号统一放 silkscreen装配说明放 assembly。这样出图、出贴装文件、做 3D 检查的时候不用临时改层省大量时间。3. 两种互联方式的实操wire bond 与 flip chip3.1 wire bond 设计从 die pad 到 bond finger 的每一步wire bond 是目前成本最低、最成熟的裸芯片互联方式用金线、铜线或银合金线把 die 的 pad 和基板上的 bond finger 连起来。设计时最核心的几个参数线径、弧高、跨距、pad 开口尺寸和 bond finger 尺寸。常规金线线径在 2025μm线距两条相邻引线中心距不能小于线径加安全余量常见要求是相邻线芯间距不小于 5060μm具体看封装厂能力。die pad 的开口尺寸一般在 6090μm 见方bond finger 的宽度 5070μm、长度 150250μm相邻 bond finger 的间距和线距匹配。设计时不要把这些值写死成你喜欢的数字而是先跟基板厂和封测厂确认再落到库和约束里。Cadence SiP Layout 里做 wire bond 大致路径是先在 Package Symbol 里定义 bond finger引脚把 die 摆到基板对应腔体位置然后用 Wire Bond 菜单里的 Bond Wire 工具选择 die pad 和 bond finger 生成互联。工具会自动按预设的线弧参数弧高、距离生成 3D 线形你可以看 profile 是否超出模封厚度。我这几年踩过最深的坑是 die 间距。两颗 die 摆太近wire bond 工具头伸不进去打线机根本没法打或者打出来的金线跨过另一颗 die 的边角导致短路风险。封装厂一般会给一个键合工具可达距离约束比如 die 边缘到相邻键合区边界至少留 300μm 以上。所以摆放 die 的时候不要只盯着基板面积能不能放下还要确认 wire bond 的操作空间够不够。3.2 flip chip 设计bump、UBM 与扇出布线flip chip 和 wire bond 完全不同die 翻转过来通过焊料凸点bump直接和基板上对应 pad 相连优点是寄生电感小、I/O 密度高、适合高频和高速信号。代价是基板精度要求更高bump pitch凸点中心距小的只有 60130μm基板对应 pad 的精度必须在 ±10μm 以内。做 flip chip 设计时Cadence 里要定义 bump 的阵列、位置和 UBM凸点下金属层开口。很多 die 的 bump 是整体阵列工具可以一次生成一排或一个阵列的 bump再走 RDL再分布层把密集的 bump 区扇出到规则线宽线距的走线区域。这里有个关键矛盾bump 区 pitch 很小比如 80μm但基板制程线宽线距可能只有 15/15μm直接扇出会很挤这时候就要用 RDL 层做阶梯式扇出或者在基板较粗的走线层和较细的 RDL 层之间靠盲孔转换。我实际项目里最常碰到的问题是 bump 位置和 die 中心对不齐。Cadence 的 flip chip 摆放通常要以 die 中心和 bump 阵列中心为基准对齐不能只看 die 外形居中。如果发现导入网表后所有 bump net 都不匹配八成是 die 摆偏了 0.1mm 级别视觉上看不出来一检查全是错误。把 Die 的 Place 坐标精确到小数点后至少 3 位是比较稳妥的做法。3.3 混合互联与其他方向不急于一时但值得了解现在不少高端 SiP 封装是 wire bond flip chip 混用电源和地用 flip chip 降低寄生电感普通信号用 wire bond 控制成本或者主芯片用 flip chip外围小 die、无源件用 wire bond。Cadence SiP Layout 对两种模式同时存在支持得还可以前提是你把两种类型的 die 分别在库里正确标记wire bond die 和 flip chip die 不要混用同一套 pad 定义逻辑。混合键合hybrid bonding属于下一代技术密度极高目前工具支持也在成熟中如果不是做最前沿的 HBM 类封装可以先不追把工程基础打牢更重要。4. 平面处理与电源规划铜皮和 shape 的优先级4.1 为什么要做平面分割电源域、隔离与参考面SIP 基板面积小、层数少但电源域可能有好几个还有模拟、数字、射频的隔离需求。平面分割的意义在于让每个电源域有自己的低阻抗通路同时避免不同敏感电路之间通过公共回流路径互相干扰。模拟地和数字地如果没切开射频 LNA 的电源纹波可能通过地平面串到基带数字电路导致灵敏度恶化。在 Cadence 里做平面分割的核心工具是 Shape。先在对应层画一个大的 shape 覆盖整个区域指定网络为 GND再根据需要在这个大 shape 里挖掉不属于它的区域或者直接画多个各自独立的 shape模拟地和数字地就分开了。这里要注意的是同一层上同网络的多个 shape 之间不能只是看起来相连Cadence 对铜皮的连接关系会严格判断是否为同一网络如果你用两个独立 shape 放在同一层、中间隔了 5μmDRC 会认为它们没有连通处理后发现有孤岛网络未连接。4.2 在 Cadence 里做 shape 的关键操作优先级与 thermal relief铜皮优先级这个问题我在群里真的回答过好多次热度高到大家都以为 Cadence 只有 PCB 才有这个功能。实际上 SiP Layout/APD 里同样有 shape 优先级Shape Priority它的作用是在多个 shape 重叠时决定谁覆盖谁。比如你要在内层同时铺一个 3.3V 的电源 shape 和一个 GND shape两个 shape 在同一层交叉重叠就必须先给其中一个设定更高优先级否则工具不知道覆盖关系DRC 会报短路或者网络错误。实际操作路径一般是 Setup → Shapes → Shape Priority 或者 Use Priorities 选项把电源网络的 shape 优先级设成高于 GND让电源 shape 覆盖 GND shape 的区域不会贴在一起。还有一个容易被忽略的点是 thermal relief——铜皮连接到过孔或者引脚时如果直接整块连接焊接时散热快、容易虚焊所以要给电源 pin、地 pin 设置热焊盘开窗。Cadence 里可以通过设置 pad 的 thermal relief 形状来生成十字连接这直接影响封装焊接良率别省。4.3 电流密度与过孔阵列一个粗糙但实用的预估方法电源走线能过多少电流工程上有个粗算方法铜箔厚度 18μm、线宽 100μm 的走线温升 10℃ 时大约能走 0.5A 左右的电流如果需要更大的电流就加宽、加厚或者多个过孔并联。不要指望一层细线灌满 5A 电流的电源轨实际做的话我习惯至少给电源网络铺层面或双面多段并联再通过过孔阵列互联。过孔数量同样可以粗算每颗激光微孔孔径 75100μm在常规工艺条件下大约能承受 0.30.5A 电流。设计一个 2A 的电源域过孔最好不要少于 68 个而且要分散排布集中在一小块区域反而造成局部热点。这些数字只是经验参考严谨的话应该在 Layout 完成后用 Sigrity 做一次 IR Drop 和电流密度仿真Cadence 生态里通常就是 SiP Layout 出图 → Sigrity 做 PI/SI 验证这个链路配合得还不错。5. 检查与输出DRC、比对和生产文件5.1 DRC、几何检查与常见报错怎么读画完设计不等于结束投板前的检查是最容易暴露问题的环节。Cadence SiP Layout 的 DRC 分好几种经典的几何间距检查Spacing/Width、连接性检查Connectivity、以及针对封装设计的高级规则检查如 GMP 几何制造规则。我习惯先跑一次 Database CheckDB Doctor确认数据本身没坏再跑 DRC 更新最后针对报错一条条看。有个很典型的报错类型一句话大意是port 2 的引脚间距在电气上过大第一次看到的人都懵。这类报错本质是工具检测到你的引脚之间电气距离远大于约束设定或者说有信号完整性风险常见诱因是某个高速网络在布线时走了很长一段绕线或者 pin 到 pin 之间的连接没有按等长规则约束。处理方式不是直接 Waive而是回到约束管理器里检查这个网络的相对延时/等长规则是否设置合理再看走线路径有没有绕出不必要的长线。封装基板面积本来就小很难像 PCB 那样靠走线长度补偿所以更多要靠结构设计比如交换 pin 顺序、调整 die 摆放来满足时序。5.2 网表比对、BOM 和贴装文件网表比对是很多人都做得不够彻底的一步。从原理图导入网表后Layout 端可能因为人为操作增删了连接导致最终 PCB/基板文件和原理图不一致。在 Cadence 里可以通过 Design Compare 或导出网表后与原理图网表做比对确保每个网络的器件和 pin 连接完全一致。我有一个原则所有 DRC 清完以后网表比对也必须零差异这两个条件同时满足才敢投板。BOM 输出大家应该都熟Cadence 里可以直接跑 Report → Bill of Materials 生成物料清单注意别漏掉 Die 和特殊元件无源器件如果有多个封装位号一定要带位号输出。另外贴装坐标文件也很关键类似 PCB 的 pick-and-place 文件它给出每个元件在基板上的精确坐标和旋转角度。SIP 里 Die 的贴装精度要求比普通贴片高很多坐标输出我习惯保留到 0.01mm 精度方便贴片机程序直接使用。5.3 制造文件输出清单投板前最后一步别仓促SIP 基板要交出去的制造文件比普通 PCB 复杂常规清单包括基板各层图形Gerber 或 ODB、钻孔文件、防焊层、字符层/装配层、叠层说明、BOM、贴装坐标、关键尺寸标注图。Cadence 里出 Gerber 用 Manufacture → Artwork出 ODB 用相应的 Export 功能我个人的偏好是 ODB因为它包含更多制造信息和层叠逻辑现代基板厂基本都支持。出文件前有一份自检清单我贴在工位上每次投板前过一遍叠层厚度和材料说明是否更新钻孔文件是否包含所有微孔和机械孔铜皮优先级设置是否正确热焊盘是否都开了十字连接特殊区域射频走线、敏感模拟是否有明确标注BOM 里有没有料号缺失。这些项目全部打勾后我才会把文件包发出去。6. 实战问答SIP Layout 里那些常见的坑6.1 常见问题速查问题现象可能原因排查思路DRC 报线距不够约束规则没设或设得比制程能力小先看 Cross Section 和 Spacing 约束按基板厂能力更新wire bond 生成失败die pad 层定义错误或 bond finger 方向不对检查 die 库 pad 几何所在层以及 bond finger 放置方向flip chip 所有 bump 网络不匹配die 摆放位置偏移检查 die 中心与 bump 阵列中心对齐同一网络铜皮中间出现孤岛shape 优先级或 shape 边界未连接查看 shape 边界是否被挖断用 DRC 检查孤立连接阻抗测试和设计不符叠层参数与工厂实际不一致更新 Cross Section 为基板厂真实叠层重新算阻抗电源压降过大走线太细、过孔数量不足按电流密度估算加宽走线或加过孔阵列上 Sigrity 仿真确认这里说一个通用技巧遇到任何看起来不该报错但报了的情况先查约束规则再查层定义最后才怀疑工具 bug。我碰到过很多次工具出问题的误判实际都是 Cadence 某个层的开关没开、或者约束没赋给某个网络导致的灰色地带问题把层的显示和约束规则捋一遍九成都能找到原因。6.2 我踩过的坑和一些小技巧第一个坑把 PCB 的思维完全搬到 SIP。在 PCB 上我习惯把电源和地做成完整平面信号在相邻层走但 SIP 基板层少、且可能有射频/模拟敏感区完整平面往往不现实更常见的做法是局部铜皮 屏蔽过墙一群 GND 过孔围住敏感区域。所以不要执着于每层都是完整平面要学会在极小面积里做局部低阻抗回路。第二个坑die 的摆放顺序。表面看 die 摆哪里只影响布线长度实际上影响打线弧高、模封厚度、散热路径。尤其注意不要把两个有大量互联的高频 die 摆得太远否则哪怕走线等长插损和寄生也会变大。我习惯先把 I/O 互联最多的 die 放在基板中心附近其他 die 围绕它展开这样布线路径短后续优化空间大。第三个小技巧多用 3D 视图检查。Cadence SiP Layout 的 3D 浏览器可以直观看到 wire bond 弧线是否超出模封、bump 阵列是否对齐、芯片边缘是否超出基板。每次布完线我都切到 3D 转一圈比盯 2D 图容易发现空间干涉问题。最后分享一个关于模板的体会同样类型的封装尽量沉淀成模板比如叠层参数、约束规则、常用 bond finger 尺寸、DRC 断言文件。很多公司反复做同类产品却每次从零开始建规则不仅浪费时间而且容易前后不一致。我在做了几个项目以后把这些规则固化成了公司内部模板后面新项目导入时直接复用设计效率明显提升。SIP Layout 这个方向工具操作只是基本功真正值钱的是对制程、材料、封测工艺的理解。第二章内容到这里核心就是把做对设计这件事变成流程的一部分先定叠层和约束再选互联方式中途处理好平面和电源投板前做足检查和输出。接下来如果你还想往下走可以试试把 Layout 导到 Sigrity 做信号完整性和电源完整性仿真那才是真正检验设计能不能量产的一关。