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 几何导入与修复链路 芯片侧数据 GDSII:金属层/通孔多边形 LEF:macro 尺寸/引脚/阻塞 DEF:实例坐标/网表连接 封装侧数据 APD / BRD:叠层与走线 BGA ball map / 焊球阵列 键合线 / 倒装焊点 PCB 侧数据 ODB++:层/钻孔/网络表 IPC-2581:XML 语义层网 叠层 cross-section 定义 SIwave 统一几何模型 叠层 + 网络 + 焊点 + 走线/过孔 模型简化与修复 删除非电气图形 丝印/阻焊/装配层 缝合微小间隙 合并共面多边形 修复自交/悬边 重建网络连通性 迭代检查

导入顺序与坐标对齐

推荐按"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),用"缝合"命令把它们合并。
  • 删除重复顶点:同一位置存在多个顶点,会导致网格退化,用"清理"命令去除。
  • 修复自交:多边形边界自己与自己相交,需要重新划分边界或拆分多边形。
  • 重建网络连通性:导入后某些焊盘与走线之间的连接丢失,需要手动指定或重新提取网络。
修复完成后,建议做一次"网络连通性检查":在 SIwave 中查看每个网络的端点数量是否与设计一致。例如一个电源网络应该有多个焊盘和过孔,如果数量明显偏少,说明有连接丢失,需要回到几何修复步骤重新处理。

一个可参考的导入检查清单

检查项判断依据处理方式
叠层厚度与材料与 PCB 设计文件一致手动修正 cross-section
单位与原点整体尺寸偏差 < 5 μm重新设置单位/原点
网络数量与网表一致重新提取或手动指定
焊盘与过孔位置与数量正确删除多余图形,缝合间隙
非电气层已全部删除按层删除丝印/阻焊/装配
几何自交/悬边检查工具无报错清理顶点,修复自交

完成上述步骤后,模型就可以进入网格划分与求解阶段。需要强调的是,几何导入与修复不是一次性的工作,而是一个迭代过程:每次修改几何后,都要重新检查网络连通性和叠层定义,确保模型始终与设计意图一致。