3. SIwave工程环境与数据准备

在SIwave中开始任何封装或PCB的电磁建模之前,工程环境的搭建与数据准备决定了后续仿真能否顺利收敛、结果是否可信。本节围绕工程创建、单位与材料库、叠层设置、焊盘与过孔定义,以及ECAD数据导入(ODB++/IPC-2581)的完整流程与检查要点展开,目标是让读者能够独立完成一个可仿真的SIwave工程初始化。

一、工程创建与单位约定

启动SIwave后,通过 File → New Project 创建空白工程,或直接 File → Open 导入已有 .siw 工程。新建工程时,SIwave会要求指定默认单位制。对于封装与PCB协同建模,推荐统一使用 mil 或 mm,并在整个项目周期内保持不变。单位切换虽然可以在 Home → Units 中随时修改,但混用单位极易在叠层厚度、过孔长度、焊盘尺寸等参数上引入数量级错误。一个实用的做法是:在工程创建阶段就确定单位,并在工程说明或命名中标注,例如 PKG_PCB_mil.siw。

工程创建后,SIwave的工作区分为几个关键区域:左侧为工程树(Project Tree),包含叠层、网络、元件、材料等节点;右侧为3D视图与2D布局视图;底部为消息窗口,用于显示导入日志和错误提示。建议在导入ECAD数据前,先通过 Project → Project Settings 设置工作目录和临时文件路径,避免因路径含中文或空格导致导入失败。

二、材料库与叠层设置

材料库是叠层设置的基础。SIwave内置了常见材料(如FR4、铜、 solder mask),但封装基板常用材料如BT树脂、ABF膜、Mold Compound等往往需要自定义。通过 Tools → Material Library 可以新建材料,关键参数包括:相对介电常数 Dk、损耗角正切 Df、电导率、磁导率。对于高速信号,Dk 和 Df 的频率相关性不可忽略,SIwave支持输入频率相关的材料模型。

叠层设置通过 Stackup → Layer Stackup 完成。需要逐层定义:层名、类型(信号层/平面层/介质层)、厚度、材料、铜厚。对于封装基板,典型叠层可能包含4~8层,总厚度约0.4~1.0 mm。一个常见的教学示例参数如下:

层序层名类型厚度(mil)材料
1Top信号0.7Copper
2Dielectric1介质2.0BT resin
3GND平面0.7Copper
4Dielectric2介质2.0BT resin
5Bottom信号0.7Copper

叠层设置完成后,务必检查每层的厚度累加是否与封装基板总厚度一致,并确认介质层的 Dk/Df 与材料库中定义一致。叠层错误会直接导致阻抗计算偏差,进而影响S参数和眼图结果。

三、焊盘与过孔定义

焊盘和过孔是封装与PCB互连的关键结构。在SIwave中,焊盘通常随ECAD数据导入自动生成,但过孔需要根据实际工艺定义。通过 Padstack → Via Definition 可以创建过孔类型,关键参数包括:钻孔直径(Drill)、焊盘直径(Pad)、反焊盘直径(Anti-pad)、起始层与终止层。对于盲埋孔,还需指定起始层和终止层,例如 Top → GND 的盲孔。

过孔定义时需注意:反焊盘直径通常比焊盘大4~8 mil,以避免与平面层短路;钻孔直径与焊盘直径的比例(纵横比)应满足工艺要求,一般不超过10:1。定义完成后,可通过 Tools → Via Check 检查过孔是否与叠层匹配、是否存在悬空或重叠。

四、ECAD数据导入流程与检查要点

SIwave支持多种ECAD格式导入,最常用的是ODB++和IPC-2581。导入流程如下:

  1. 准备ECAD数据:从PCB设计工具(如Allegro、Expedition)导出ODB++或IPC-2581文件。ODB++通常为 .tgz 压缩包,IPC-2581为 .xml 文件。
  2. 导入操作:在SIwave中执行 File → Import → ODB++ 或 IPC-2581,选择文件后进入导入向导。
  3. 层映射:将ECAD层映射到SIwave叠层。需特别注意:ECAD中的层名可能与SIwave叠层名不一致,必须手动对应。例如ECAD的 TOP 对应SIwave的 Top,L2_GND 对应 GND。
  4. 网络与元件映射:检查网络名称是否完整,电源网络和地网络是否正确识别。对于封装模型,还需确认Die pad和Bump是否被正确识别。
  5. 导入日志检查:导入完成后,底部消息窗口会显示日志。重点关注警告和错误,如“未找到层映射”“网络短路”“焊盘重叠”等。
检查要点:导入后务必执行 Tools → Validation Check,检查内容包括:叠层与层映射一致性、网络连通性、过孔与焊盘匹配、是否存在孤立铜皮或悬空网络。对于封装+PCB协同建模,还需确认封装基板与PCB的叠层在界面处是否连续,避免因叠层顺序颠倒导致信号回流路径断裂。

以下SVG展示了从工程创建到ECAD导入的完整数据准备流程,以及各环节的关键检查点:

SIwave工程环境与数据准备流程 ① 工程创建 New Project / 单位设定 ② 材料库 Dk / Df / 电导率 ③ 叠层设置 层序 / 厚度 / 材料 ④ 焊盘/过孔 Padstack / Via ⑤ ECAD数据导入 ODB++ (.tgz) / IPC-2581 (.xml) 层映射 ECAD层→SIwave叠层 网络/元件映射 电源/地/信号识别 导入日志检查 警告/错误定位 Validation Check 连通性/叠层一致性 关键检查点汇总 叠层总厚度与封装基板规格一致,介质Dk/Df与材料库匹配 过孔反焊盘直径比焊盘大4~8 mil,纵横比≤10:1 ECAD层名与SIwave叠层名一一对应,无遗漏或错位 电源/地网络完整,无短路或悬空网络,封装与PCB界面叠层连续

完成上述流程后,建议保存工程并执行一次 Simulation → Check Design,确认SIwave能够识别所有网络、叠层和过孔定义。若检查通过,即可进入后续的电磁建模与仿真设置阶段。数据准备阶段的严谨程度,直接决定了后续S参数提取、阻抗扫描和眼图分析的可信度,因此宁可在此阶段多花时间核对,也不要带着隐患进入仿真。