news 2026/9/29 5:15:52

SIP Layout设计实战:Die摆放与Wire Bond核心要点解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SIP Layout设计实战:Die摆放与Wire Bond核心要点解析

1. 先聊点实际的:SIP Layout 到底是什么,第二章你该学什么

如果你是从第一章一路点进来的,那应该还记得,SIP 的全称是 System in Package,直接翻译就是“系统级封装”。但很多同学做完几单 PCB 再回头学这个,最先被绕晕的往往不是工具,而是脑子里的整个设计框架还没切过来——你不再是“板级设计”,也不再是“芯片内部设计”,你站在两者之间的那道窄桥上。Cadence 的 SIP Layout(一般是我们在 Allegro 基础上加载的 SiP 模式,也有独立运行的 Package Designer)就是干这个的:把多颗 Die、无源器件、基板、引线键合、可能还有腔体、焊球,全都放进同一个封装里,还要保证它能仿真、能出制造文件、能过 DRC。

第二章我会默认你已经能打开工具、建好项目、至少看过一块基板的叠层长什么样。这章的核心就一句话:从“知道这是什么”走向“知道怎么摆、怎么连、怎么查”。我会把重点放在 Die 的摆放与叠层、Wire Bond(引线键合)的处理、布线时和 PCB 完全不同的约束逻辑,以及我在实际项目里踩过的那些坑。

无论你未来做射频前端模组、传感器 SIP、存储类堆叠封装,还是异构集成,只要你需要在三维空间里把多颗芯片塞进一个封装还能正常出件,这套思路都跑不掉。这一章不教你那种花里胡哨的“功能演示”,我尽量按一条真实的项目流来写:先是准备数据,然后是放 Die,再画 Bonding 图,接着布线铺铜,最后过规则检查。写完之后你会发现,SIP 并没有你想象的那么神秘,它只是把“系统设计”的空间维度从二维板卡延展到了三维封装。

2. 动手前先把三件事想清楚:Die、封装基板、以及它们之间的连接桥梁

2.1 先分清你手上拿的是哪一类数据

做 SIP Layout 的人,通常会从三种人手里拿到三组完全不同的数据。第一组来自芯片设计团队,他们会给你 Die 的贴装坐标、Pad 坐标、尺寸厚度,当然,规范一点的公司还会给你 GDSII 或者更多工艺文件;第二组来自封装设计团队,他们会给你基板的层叠结构、BGA 球阵列、外层丝印和铜厚要求;第三组来自系统电路团队,他们会给你整机的原理图、关键信号清单、功耗和热要求。这三组数据在你进工具之前就应该全部对齐,否则画到一半再改 Die 的坐标,工具里牵一发动全身,你会想哭。

很多新人犯的第一个错误,是拿到 GDSII 就急着往 Layout 里倒,倒完发现 Die 尺寸和基板外形完全对不上,或者 Pad 坐标经过了镜像和旋转但自己没意识到。这里有个必须养成的习惯:无论 Die 是从哪个工具导出的,进入 PCB/SiP 环境前,都要先确认坐标原点和单位。Die 文件常常使用微米(micron)做单位,而基板层叠图可能是 mil 或毫米,一定要在导入前统一,否则你就等着小数点错位之后在 DRV(Dynamic Revision View)里看满屏飞线吧。

2.2 在开始绘制 Die Stack 前,你的封装基板叠层应该先搭好

SIP 的核心魅力在三维,但所有三维结构最终都要在一个二维的基板叠层上表达出来。我的建议是,先建一个简单的基板叠层,再回来倒 Die。比如你现在做的是一个 5 层基板、带一个腔体、底部 BGA 的射频模组,你可以在工具里先建好 5 个 Routing 层、2 个 Die Attach 层,以及对应 daisy 链路的通孔规则。基板材料一般是 BT 树脂或者类 ABF 膜,介电常数、损耗角正切这些参数直接决定了后续传输线仿真是否能靠得住,别随便拿 PCB 默认值硬套。

你可能会问,为什么不先用 EDA 里的自动叠层向导?这个工具当然有,但自动向导给的默认层是绝对不够的。SIP 里层与层之间的功能划分和 PCB 差异非常大,比如有些层只用于 Die Attach Paddle(DAP),有些层要走高精度阻抗线,有些层甚至要做成腔体的底面。如果你没有在叠层里把这些角色定义清楚,后面画 Wire Bond 时连键合手指放在哪一层都找不到。所以把叠层当成整个 SIP 的空间地图,越早完善越好。

3. Die 摆放:这是芯片和封装之间第一道真正的空间博弈

3.1 先把 Die 当成一个“特殊器件”装进来

在 Cadence SIP Layout 里,Die 不是纯粹的一块矩形铜皮,它是一个带几何、带 pad、带特殊属性的实体。放置 Die 之前,你首先要确认 Die Attach 的方式:是用导电银胶贴,还是用覆晶(Flip Chip)的工艺,这决定了你和焊盘之间的相对位置关系。对于多数引线键合工艺来说,Die 的正面朝上,Pad 朝上,然后通过 Bond Wire 连到基板上的手指;如果是薄膜倒装,那就是 Die 正面朝下,通过凸点直接贴在基板的焊盘区。

很多人做第一次 SiP 时总习惯把 Die 当作一个“高度抽象的黑箱子”,只关心坐标和框体,后来一检查发现 Pad 坐标全是错的。准确的做法是,导入 Die 数据后,打开编辑器里的 Property 面板,确认 Die 的旋转角度、镜像方向和坐标原点。比如你希望这颗 Die 旋转 90 度后放在腔体左下角,那么你在 “Place Die” 的命令里不只输入 x y 坐标,还要显式定义 rotation。我一般会把 Die 的导入模块单独存成一个 sub-drawing,便于后面重新 Place 到不同位置时能统一修改。

3.2 叠 Die 和侧贴 Die:不是把 Die 堆起来就完事

很多高性能 SIP 会做叠 Die(Stacked Die)。这时候你的视野中会出现“Die 1”和“Die 2”两层,Die 2 通过一层很薄的 Die Attach Film(DAF)贴在 Die 1 上。从 Layout 的角度看,平白多了一个 Z 轴的概念,但工具里你怎么表达?一般是在 Substrate 的 Drawing 区域单独画出一个 Die 的区域,并给两块 Die 设置不同的 Height 属性,同时必须记住:Z 方向的高度不仅仅影响 DRC 检查,更直接影响 Wire Bond 的弧高(Loop Height)。如果你把两颗 Die 叠放又没做高度差异,那么后面自动生成 Bond Wire 时,工具会在同一高度上直接短路。

侧贴(Side-by-Side)看似简单,但也有讲究。基板上的热通道、芯片之间的耦合、甚至 Die 间距,都要结合回流焊时应力分布来考虑。我的一个习惯做法是:不管客户给没给约束,先把关键高速 Die 之间的距离在 3D 视图里检查一遍,尤其是射频链路里输入输出之间的隔离,如果两颗 Die 靠得太近,后面你在 Wire Bond 阶段再想调整位置就要拆掉一堆走线,非常痛苦。

4. Wire Bond 和 Bonding Diagram:从原理逻辑到物理实现的关键跃迁

4.1 为什么 Wire Bond 是 SIP 最容易出错的一环

如果说 PCB Layout 里大家最怕的是阻抗不连续,那么 SIP Layout 里最怕的就是 Bonding 关系错乱。一根金线或铜线的两端,一端连接在 Die 的 Pad 上,另一端连接在基板的手指(Finger)上,中间还要考虑弧高、跨距、线径、最大电流承载。在 Cadence SIP 中,你通常需要先做一张 Bonding Diagram,简要来说就是把原理图中的每个网络节点对应成一组 Pad 到 Finger 的连接。

这一步必须先于布线完成。很多新人以为 Bond Wire 就是“画几条线”,于是拉完线才想起来 Die 的 Pad 没有分配网络,结果一切重来。正确顺序是:先建立一个 Die Symbol / Package Symbol 的映射,把 Die Pad 与基板 Finger 之间的连接关系在原理图或 CCT 表里定义好,再导入到 Layout 环境,这样工具才知道哪根线应该连哪里。

4.2 弧高(Loop Height)、跨距和线径的实操讲究

Bond Wire 不是简单的直线,它在真实工艺中是有“拱形”的。你在 Layout 里看到的 Bond Wire,如果不额外做 3D 检查,往往会给人造成一种平面直线的错觉。我建议你打开 Bond 编辑工具,把 Wire 的模型切换到 3D 视角,尤其是高密度叠 Die 场合,你会看见第一层 Die 和第二层 Die 之间的线在空中交叠,稍微不注意就会短路。

怎么定弧高?常用逻辑是:基板到低 Die 顶面的净空足够避开第二层 Die。比如 Die1 厚度 100µm,Die2 厚度 75µm,Die Attach 厚度 25µm,那么 Die 2 顶面的高度大约是 200µm,你的第一层 Bond Wire 的弧高最好低于这个高度太多,否则后面塑封料都填不进去。线径方面,常规金线 1 mil~1.5 mil,大电流的功率线径可能做到 3 mil 或者更粗,线径增加之后,不仅最小弯曲半径要变大,而且 Pad 的尺寸和 Finger 的宽度也都要跟着变。所以,不要把 Bonding Diagram 当摆设,它就是你这颗封装里面“隐形的布线图”,得和走线同等重视。

5. 布线、铺铜和电源地:SIP Layout 的同与不同

5.1 布线的第一原则:先分清楚哪些线走“面上”,哪些线走“里子”

SIP 基板的布线总体逻辑跟 PCB 类似,但它的空间极其有限,而且表面层常常被 Die、被动器件、手指占满,不太可能像 PCB 那样把所有关键信号都放在表层。所以你首先得明确:这是表层走线,还是内层走线。一般建议是:射频关键线、高速串行线走在特定参考层明确的内层或专用表层微带线上;电源地领域用大面积铺铜;控制信号可以相对自由一点。

我在实际项目里一个常用的顺序是:先布电源和地的主要通道,再布关键差分对或射频线,最后再把低速控制线塞进空余处。很多人习惯仿照 PCB 的做法先布敏路线,结果电源地没有通道,后来只能在基板中间扎一堆过孔,反而把完整参考平面切得支离破碎。这个顺序颠倒一下,效果完全不同。

5.2 铺铜不是越多越好,参考平面连续性才是王道

PCB 里我们常说铺铜能降低地阻抗,SIP 里也一样,但 SIG 的空间限制导致铺铜的复杂度倍增。在 SiP 基板中,Die 正下方的区域通常是 DAP,用来散热和接地;但大范围铺铜会改变阻抗线的场分布,也会增加基板翘曲风险。因此,我强烈建议在 Class/SubClass 里把电源和地平面做成独立的 Etch 层,而不要省空间把所有铺铜都堆在一层里。

做射频 SIP 时,地平面的连续性是命根子。如果一层地平面在 Die 附近被布线打断,隔离度立马掉一截,你可能根本不知道问题出在封装哪里。我的自查方法是:画完地平面后,用 3D 视图把所有参考平面 snap 到当前层,检查有没有长条的空洞横穿关键走线的回流路径。很多时候实际测试结果差几个 dB,罪魁祸首根本不是芯片,而是参考平面被撕裂了。

5.3 约束管理器里那点事:线宽、间距与区域规则

Cadence 的约束管理器在 PCB 里已经很强大,到了 SIP 里它同样重要,但你要记得它的对象不只是网络,还包括 Die 的 Pad、Bond Wire、Finger。特别是针对 Bond Wire,你需要建立一套 Wire Bond 的 spacing 约束,而不是只在 Physical Constraint 里设置线宽。举个例子,一根 1 mil 直径的 Bond Wire 从 Die 的 Pad 出来,如果它要走一个极小的拐角来到 Finger,那么它在平面上可能占用 2~3 mil 的走线空间,再加上出去的角度,你如果不把这条“导线”放进约束空间,DRC 根本不会察觉到它有侵入其他网络的风险。

我在布大 pitch 的 BGA 板时经常用规则区域(Region)去限定布线密度。在 SIP 中,这个需求更强烈:Die 边缘往往有很多 Pad 同时出线,如果不用 region 把每条 Bond Finger 的布线区间提前框好,布出来就像一团蜘蛛网。SIP Layout 的 DRC 不是不查间距,是它查的是工程上合理间距,你得把区域规则告诉它,它才知道该按什么标准去查。

6. 常见问题与排查技巧:那些你迟早会踩的坑

6.1 Die 导进来之后,Pad 坐标和原理图对不上

我见过最多的问题,就是 Die 导入之后 Pad 坐标与原理图里的宏模型对不上。常见原因有三个:一是坐标系原点不一致;二是旋转方向逆时针和顺时针搞反了;三是 GDS 的层号对应关系没映射好。解决思路并不复杂:先把 Die 和基板外形同时显示出来,选几个角落处的 Pad 与原理图里的坐标表逐点比对,确认至少 3 个点完全对应,再继续后面操作。这个过程虽然慢,但值得。

还有一个比较阴间的错误是 Die 导入后自动生成了一个“No Connect” Pin,导致你的网络表里总有悬空网络。有些工程师为了跑 DRC 会直接删掉这些 Pin,结果想出网表时又发现 Die 缺失引脚。正确的做法是检查每个 No Connect 引脚是否真的在 Die 上不存在,如果存在只是没连接,建议保留并在逻辑上打上 NC 标记,而不是暴力删除。

6.2 Wire Bond 总会“凭空消失”或乱跳

有同学在编辑 Bond Wire 时,发现一移动 Die,之前画的 Bond Wire 就消失了。这基本是网络分配出了问题:Wire 必须和 Die Pad 网络关联,而 Die 又是一个动态放置的对象,当你把 Die 移动或旋转时,如果没有开启“Connectivity”和“Symbol/Die 同步”属性,工具可能会认为旧的 wire 已经失效。解决办法是养成做完图就保存版本的坏习惯的反面——好习惯:移动 Die 前先全局刷新 Connectivity,并在移动后重新生成 Bond Wire。如果 Wire 数量特别多,考虑从 Schematic/Netlist 重新导入一次,保证逻辑关系全部恢复。

另一个常见状况是 Bond Wire 在 DRC 里报间距违规,但你在平面视图里看它们明明离得很远。这通常是因为两条 wire 的“弧高”叠加之后在三维空间里靠得太近。你要么调整其中一个 Bond 的顶点位置,要么修改 Wire Bond 参数里的 Profile,让它绕开其他线。这个坑在叠 Die 和交叉出线的高密度封装里尤其常见。

常见现象排查顺序处理建议
Die 坐标和基板不匹配1. 单位 2. 原点 3. 旋转/镜像统一使用 mil 或 µm,导图前校准
Wire Bond 消失1. 网络关联 2. 动态移动 3. 版本移动 Die 前刷新连接,更新网表
DRC 报 Wire 间距违规1. 平面距离 2. 弧高 3. profile打开 3D 视图确认空间间距
铺铜导致阻抗异常1. 参考层完整性 2. 过孔密度分净空区域或换层走线
出 Gerber/BOM 缺 Die 数据1. 层映射 2. 文件格式提前导出 Die 的层映射清单

6.3 铜皮优先级和热焊盘处理

SIP 里经常会遇到多块铜皮叠在一起,比如 Die Attach Paddle 的铜皮和底层散热过孔的大片铜皮,如果工具里“铜皮优先级”(Shape Priority)设得不对,你看到的可能是满屏飞线或者短路。Allegro 系列铜皮的优先级规则在“负面铺铜”环境下尤其重要。你需要先确认哪些形状是 Dynamic Shape,哪些是 Static Shape,然后把大片的 GND 网络铜皮优先级调高,把热焊盘的铜皮优先级降低,防止它吞掉键合手指之间的空隙。

我还想特别提一下热焊盘。基板底部的热焊盘在制造时需要开窗和镀层,但如果你在 Layout 里简单地把它设置为整片铜皮,后续 DRC 可能会和周围走线间距不够。所以我一般会在热焊盘周围加一个安全间距区域(Keepout),并设置较宽的 Shape-to-Line 间距。这样既保证了散热性能,也给制造厂留出了必要的工艺余量。

7. 从 Layout 到制造交付:你不该忽视的“最后一公里”

7.1 输出文件的完整清单

很多东西画完了,但最后交付时的文件缺东少西,导致工厂来来回回问。SIP 的制造输出和 PCB 不太一样,除了普通的 GERBER/ODB++ 之外,你通常还需要提供 Die 的贴装图、Wire Bond 图、BOM、叠层图、钻孔图,以及封装外形图。如果你还做了腔体,还要出腔体的机械图。

在 Cadence 里,你可以用 Manufacturing 菜单里的 Artwork 和 NC Drill 导出一组标准文件。但要注意:默认生成的 Artwork 不一定包含 Die 层和 Bond Wire 层,需要提前在 Film Control 里把 Die 相关 Subclass 勾选进去。我建议你建一个站点统一的导出模板,把 Die_Bound、Die_Pad、Wire_Bond、Finger_Top 等层都固定加进去,以后每个项目一步步导出,省时又能防止漏层。

7.2 和封装厂沟通时最容易被问到的三个参数

第一个是 Bond Wire 的线弧类型和弧高,因为你画出来的线在厂里可能无法完全按 3D 模型加工,他们需要知道实际允许的跨距和拱高范围。第二个是 Die Attach 的厚度和胶水扩展范围,这直接影响热阻和可靠性。第三个是基板的表面处理方式,OSP、ENIG、银钯金等不同工艺对最小线宽线距和手指宽度要求不同,一定要在 Layout 阶段就咨询工厂。

我在第一版图纸时常犯的错误就是把 Finger 宽度画得太窄,结果选完表面处理工艺后,成品阻抗偏高,最后只能重新微调 Finger 尺寸。提前把三个参数写进设计评审表,能少走不少弯路。

8. 给你一套我常用的“SIP Layout 自查清单”

耗费十几年,我总结了一套自用检查顺序,不一定适合所有人,但给新手当兜底绝对够用:

  1. 检查单位、原点和叠层命名是否统一。
  2. 检查 Die 的 pad 方向与 netlist 是否一致。
  3. 检查 Bond Wire 的 3D 空间,尤其是叠 Die 区域的交叉。
  4. 检查基板表层 Finger 区域是否被铜皮或丝印覆盖。
  5. 检查电源地平面的连续性和热焊盘安全间距。
  6. 检查关键射频/高速信号的参考层和阻抗线宽。
  7. 检查约束管理器有没有把所有网络和 Bond 都纳入管理。
  8. 检查出图文件是否包含 Die 层和 Bond Wire 层。
  9. 检查 3D 视图中封装整体厚度是否符合目标。
  10. 检查与工厂沟通的制造说明文件是否齐全。

每次按这套走一遍,基本能避免九成以上的低级返工。

就我个人的体会,SIP Layout 最大的门槛不在工具,而在于设计师愿不愿意建立一种“空间思维”。它不像 PCB 那样只要管好二维平面上的线和器件,也不像模拟版图那样自由到几乎全是晶体管形状,它要在有限封装尺寸里同时照顾到芯片、基板、键合线、散热、电磁隔离和可制造性。你越早习惯用 3D 视角去审视每一根 Bond Wire、每一片铺铜,就越不容易在后期被制造和测试环节反复打脸。如果你也正好卡在 Die 摆放或者 Bonding 处理上,希望这篇笔记能给你一点方向,下一章我可以继续聊聊仿真和实测对标的事。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 5:12:32

OPNET仿真802.11 MAC协议源码:从编译到退避流程实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 5:10:44

OpenEuler上iSulad轻量容器引擎部署与调优实战

1. 为什么是iSulad:OpenEuler原生轻量容器引擎的选型逻辑我最早接触iSulad,是因为在一批ARM架构的边缘网关设备上需要跑容器化应用。当时手头只有几百MB的内存余量,装Docker一套下来,守护进程常驻内存就要吃掉一两百MB&#xff0c…

作者头像 李华
网站建设 2026/9/29 5:09:56

CRC8与E2E通信保护:车载总线数据完整性的实战解析

说个真事儿。有一年我在现场调一个CAN节点,从机上报的扭矩值每隔几分钟就会从稳定的读数突变成离谱数值,然后又自己恢复。用示波器抓了好几天都没抓到,最后锁定了问题:不是某个元器件坏了,而是总线上一阵电磁干扰把报文…

作者头像 李华
网站建设 2026/9/29 5:09:49

嵌入式烧录下载与仿真调试实战指南:从工具选型到故障排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 5:09:49

算法测试方法论:性质断言、对拍与量化指标的实战指南

接到一个算法模块要测,很多测试同学第一反应是头疼。普通功能测试还能对着需求文档一条一条验,算法这玩意儿连“正确答案”长什么样都得想半天。排序结果对不对你扫一眼能看出来,但一个路径规划算法返回的路线到底是不是最优?一个…

作者头像 李华