3. PCB数据导入与预处理

SIwave 的仿真精度并不只取决于求解器设置,更取决于导入的 PCB 数据是否“干净、完整、可映射”。导入阶段的目标可以概括为一句话:把 EDA 工具中的物理版图,转换成 SIwave 能正确识别的导体几何 + 层叠介质 + 网络连接 + 器件模型四要素。本节围绕支持格式、层叠映射、网络与器件识别,以及导入常见错误的修复方法展开。

一、支持格式与选择原则

SIwave 通过 ANSYS Electronics Desktop 的导入接口读取多种 PCB 数据格式,工程中常用的有:

  • ODB++:跨工具的中性格式,包含层叠、网络、器件、钻孔与铜箔信息,是 SIwave 最推荐的交换格式之一,兼容性好、信息损失小。
  • IPC-2581:新一代开放格式,语义比 Gerber 更完整,适合需要保留网络与层叠语义的场合。
  • Allegro(.brd):Cadence 原生格式,可直接导入,但需注意版本匹配与 SIwave 支持的 Allegro 版本范围。
  • Altium(.PcbDoc):Altium Designer 原生格式,导入时对层叠与器件属性的解析依赖导出设置。
  • Gerber + 钻孔文件:仅含几何,不含网络与器件语义,导入后需手工补网络,一般不作为首选。

选择原则是:优先使用能同时携带层叠、网络、器件信息的格式。若原始设计来自 Allegro 或 Altium,优先直接导入原生格式;若跨工具协作或原生格式版本不兼容,则导出 ODB++ 或 IPC-2581。Gerber 只在没有其他数据源时使用。

二、层叠映射:导入成败的关键

层叠映射决定 SIwave 如何把版图中的铜层、介质层、阻焊层与叠层结构对应起来。导入时 SIwave 会读取文件中的层名,并尝试自动匹配到内部的信号层、电源/地平面层、介质层。常见问题包括:层名不规范(如“L1”“Top”“SIG1”混用)、介质厚度缺失、铜厚未定义、负片层与正片层识别错误。

实际操作中,导入后应打开 Layer Stackup 面板逐层核对:

  • 确认每个信号层、平面层的顺序与物理叠层一致;
  • 核对介质厚度(如 3.5 mil、4 mil)与铜厚(如 1 oz = 1.37 mil);
  • 检查是否有层被误判为“未使用”或“忽略”;
  • 对负片平面层,确认其被识别为平面而非信号层。

若自动映射错误,可手工指定层类型与厚度。层叠映射一旦错误,后续的阻抗、串扰与电源噪声结果都会失真,因此这一步必须逐层确认。

三、网络与器件识别

网络识别决定 SIwave 能否正确建立电气连接。导入后应检查:网络数量是否与原始设计一致、电源/地网络是否被正确识别、差分对是否成对、是否有网络被合并或丢失。器件识别则关注器件是否被正确放置、引脚是否与网络连接、器件模型(IBIS、SPICE、S 参数)是否已关联。

对于高速信号,建议在导入后立即建立网络分类:把差分对、时钟、电源、地、低速控制信号分组,便于后续设置端口与扫描。器件方面,若某些器件未识别,通常是封装信息缺失或器件属性未导出,需要在原始工具中补全后重新导出。

四、导入常见错误与修复方法

以下是工程中最常见的几类导入问题及处理思路:

现象可能原因修复方法
层叠缺失或层数不对导出时未包含叠层信息在原始工具中导出完整叠层,或手工在 SIwave 中补建
网络全部丢失使用 Gerber 导入改用 ODB++/IPC-2581,或手工重建网络
平面层被识别为信号层负片层语义未传递在 Layer Stackup 中手工改为平面层
器件引脚未连接封装或引脚映射缺失检查器件属性,补全封装后重新导入
铜箔出现碎片/孤岛几何精度或单位不一致统一单位,清理孤岛铜,必要时修复几何
导入报错“unsupported version”原生格式版本过高导出为 ODB++ 或降低版本后重试
导入完成后,建议先做一次“连通性检查”:确认电源与地网络连通、关键信号网络完整、没有悬空网络。这一步比直接开始仿真更能节省后期排错时间。

五、导入流程与判断依据

把上述内容串起来,导入与预处理可以按以下顺序推进:选择格式 → 导入 → 核对层叠 → 核对网络 → 核对器件 → 清理几何 → 保存工程。每一步都有明确的判断依据:层叠看层数与厚度是否与设计一致;网络看数量与命名是否完整;器件看引脚与网络是否对应;几何看是否有碎片、重叠或缺失铜箔。

下面用一张图概括导入与预处理的数据流与关键检查点:

PCB 数据导入与预处理数据流 数据源格式 ODB++ / IPC-2581 Allegro / Altium Gerber + 钻孔 (优先带语义格式) 导入 SIwave 读取几何 读取层叠 读取网络/器件 (版本兼容性检查) 层叠映射 信号层/平面层 介质厚度/铜厚 负片层识别 (逐层核对) 网络与器件识别 网络数量/命名/差分对 电源/地网络连通性 器件封装与引脚映射 (模型关联检查) 关键检查点(导入后必须确认) 层数/厚度一致 网络完整无丢失 器件引脚对应 无碎片/孤岛铜 常见错误修复 • 层叠缺失 → 补建/重新导出叠层 • 网络丢失 → 改用 ODB++/IPC-2581 • 平面误判 → 手工指定层类型 • 引脚未连 → 补全封装后重导 预处理输出 • 干净的导体几何 • 正确的层叠介质参数 • 完整网络与器件模型 • 可仿真的 SIwave 工程

导入与预处理不是一次性的“点一下按钮”,而是一个需要逐项核对、必要时反复修正的过程。把层叠、网络、器件、几何四件事确认清楚,后续的端口设置、扫描与结果判读才有可靠基础。