3. 芯片封装板几何建模与导入
芯片—封装—PCB 协同仿真的第一步,是把三个来源不同、格式不同、精度不同的几何数据统一到同一个可求解的模型里。这一步做不好,后面无论网格多细、求解器设置多合理,结果都不可信。本节围绕三类数据源展开:芯片侧的 GDSII/LEF/DEF,封装侧的 APD/BRD,PCB 侧的 ODB++/IPC-2581,讲清楚它们各自携带什么信息、导入 SIwave 时会发生什么、以及如何做简化与修复。
三类数据源各自携带什么
GDSII 是版图数据,描述的是芯片金属层、通孔、钝化层开口等二维多边形,本质上是"层 + 多边形"的集合,没有电气网络信息。LEF 提供的是抽象视图:单元(macro)的尺寸、引脚位置、阻塞层、布线层方向与间距规则,它不描述内部晶体管,只描述"这个单元对外长什么样"。DEF 则是设计实现结果,包含实例(component)放置坐标、方向、以及网表连接关系(net 与 pin 的对应)。三者配合,才能还原出芯片或 interposer 的物理与连接结构。
封装侧的 APD 是 Cadence 的封装设计工具,其原生数据通常以 .brd 或 .mcm 形式保存,包含基板叠层、走线、过孔、焊球阵列(BGA ball map)、die 与 substrate 的键合线或倒装焊点。BRD 文件在 SIwave 中可通过专用接口读入,重点是把叠层(cross-section)和网络名完整带过来。
PCB 侧的 ODB++ 与 IPC-2581 都是"制造级"数据格式。ODB++ 以文件夹结构组织,包含层定义、钻孔表、网络表、元件表;IPC-2581 是单一 XML 文件,语义更规范,层与网络的对应关系更明确。两者都比早期的 Gerber+钻孔文件更适合仿真导入,因为它们自带网络信息,能直接生成 SIwave 需要的 net 与 pad 关联。
导入顺序与坐标对齐
推荐按"PCB → 封装 → 芯片"的顺序导入,因为 PCB 通常是尺寸最大、坐标原点最稳定的参考。具体做法是:先导入 ODB++ 或 IPC-2581,确认叠层厚度、铜箔粗糙度、介质 Dk/Df 与设计文件一致;再导入封装 BRD,用 BGA 焊球阵列与 PCB 上的对应焊盘做对齐;最后导入芯片的 GDSII/LEF/DEF,用 die 的 bump 位置与封装基板上的焊盘对齐。
坐标对齐的关键是找到一组"公共基准点"。例如 PCB 上某个 BGA 的 1 号球中心,在封装 BRD 中同样存在,在芯片 DEF 中对应的 bump 也有坐标。把这三者的坐标统一到同一原点后,再检查整体尺寸偏差。若偏差超过 5 μm,说明单位或原点定义不一致,需要回到导入设置中检查单位(mm/mil/μm)和原点偏移量。
模型简化:删什么、留什么
导入后的几何往往包含大量对电磁场没有贡献的图形。丝印层、阻焊层、装配层、尺寸标注、文字、边框,这些都应删除。判断标准很简单:该图形是否参与电流传导或电场分布。不参与的一律删除。
对于铜箔,需要保留的是信号走线、电源平面、地平面、焊盘、过孔。对于介质,保留叠层中每一层的厚度和材料参数。对于芯片,保留金属层中的电源网格和关键信号线,内部标准单元可以简化为等效块或直接省略,只保留引脚和 bump。
一个常见的简化操作是"合并共面多边形"。当同一层上有多个相邻的铜皮时,如果它们之间没有间隙或间隙小于制造精度,可以合并为一个多边形,减少后续网格划分的复杂度。另一个操作是"删除悬边"——那些只连接一个端点、不构成回路的线段,它们对仿真没有意义,反而会导致网格失败。
修复:让几何可网格化
修复的目标是让几何满足网格划分器的要求:封闭、无自交、无重复顶点、无零面积面。SIwave 提供了几何检查工具,可以自动识别这些问题。常见的修复动作包括:
- 缝合间隙:两个本应相连的多边形之间存在微小间隙(例如 0.1 μm),用"缝合"命令把它们合并。
- 删除重复顶点:同一位置存在多个顶点,会导致网格退化,用"清理"命令去除。
- 修复自交:多边形边界自己与自己相交,需要重新划分边界或拆分多边形。
- 重建网络连通性:导入后某些焊盘与走线之间的连接丢失,需要手动指定或重新提取网络。
一个可参考的导入检查清单
| 检查项 | 判断依据 | 处理方式 |
|---|---|---|
| 叠层厚度与材料 | 与 PCB 设计文件一致 | 手动修正 cross-section |
| 单位与原点 | 整体尺寸偏差 < 5 μm | 重新设置单位/原点 |
| 网络数量 | 与网表一致 | 重新提取或手动指定 |
| 焊盘与过孔 | 位置与数量正确 | 删除多余图形,缝合间隙 |
| 非电气层 | 已全部删除 | 按层删除丝印/阻焊/装配 |
| 几何自交/悬边 | 检查工具无报错 | 清理顶点,修复自交 |
完成上述步骤后,模型就可以进入网格划分与求解阶段。需要强调的是,几何导入与修复不是一次性的工作,而是一个迭代过程:每次修改几何后,都要重新检查网络连通性和叠层定义,确保模型始终与设计意图一致。