2. SIwave工程环境与项目初始化
SIwave 的工程环境可以理解为一个“容器 + 数据源 + 求解配置”的三层结构:容器是 .siw 工程文件,数据源是导入的 PCB/封装几何与叠层材料信息,求解配置则包括单位、叠层、材料库、网络与器件识别等。很多项目后期出现“结果不可信、仿真跑不动、模型对不上”的问题,根源往往不在求解器,而在初始化阶段没有把工程结构和叠层材料定义清楚。本节以一个 16 层高速背板项目为例,说明如何从零搭建一个可交付的初始工程。
一、界面与工程结构
启动 SIwave 后,主界面由菜单栏、工具栏、工程树(Project Tree)、3D 视图区和消息/进度窗口组成。工程树是操作的核心入口,典型节点包括:Project(工程名与路径)、Circuit(电路/网络与器件)、Layout(几何与叠层)、Materials(材料库)、Simulation(求解配置与结果)。所有设置最终都落在工程树上,因此建议在导入后先展开工程树逐项核对,而不是直接点“Solve”。
工程初始化推荐按以下顺序推进:新建工程 → 导入设计(ODB++/BRD/ANF 等)→ 校验单位 → 检查叠层 → 绑定材料 → 网络与器件识别 → 保存为基线工程。这个顺序的原因是:单位决定几何尺寸,叠层决定传输线截面,材料决定损耗与阻抗,三者错一个,后续所有结果都会系统性偏移。
二、单位与叠层设置
SIwave 内部计算使用统一单位,但界面显示单位可切换。导入 ODB++ 时最常见的坑是“导入单位”与“设计单位”不一致,导致走线宽度被放大或缩小 25.4 倍。判断方法:导入后测量一条已知线宽的走线,例如设计值为 5 mil,若显示为 0.127 mm 则正确,若显示为 3.2258 mm 则说明单位被按英寸误读。此时应在导入设置中重新指定单位,而不是在几何里手动缩放。
叠层设置需要逐层确认:层名、类型(信号/平面/介质)、厚度、铜厚、介电常数 Dk、损耗因子 Df。以本项目为例,顶层到第三层为高速信号层,中间包含多个 GND 平面,典型叠层参数如下表(示例参数,实际以板厂叠层报告为准):
| 层序 | 层名 | 类型 | 厚度 | 铜厚 | Dk | Df |
|---|---|---|---|---|---|---|
| L1 | TOP | 信号 | — | 0.5 oz | — | — |
| 介质 | PP | 介质 | 3.0 mil | — | 4.2 | 0.020 |
| L2 | GND02 | 平面 | — | 1 oz | — | — |
| 介质 | Core | 介质 | 5.0 mil | — | 4.4 | 0.018 |
| L3 | SIG03 | 信号 | — | 0.5 oz | — | — |
叠层设置完成后,应使用 Layout → Layer Stackup 检查每层厚度累加是否等于板厚。若总厚度与板厂报告偏差超过 5%,需回查介质厚度或铜厚是否漏填。叠层错误会直接导致阻抗计算偏差,例如 50 Ω 单端线在 Dk 从 4.2 误设为 4.6 时,特征阻抗可能偏移 3~5 Ω。
三、材料库管理
SIwave 自带材料库包含常见 FR4、 Rogers、铜、 solder mask 等,但实际项目往往需要自定义。材料库管理的关键是“一次定义、全工程复用”。建议在项目初期建立项目专用材料库,命名规则采用“供应商_型号_状态”,例如 Panasonic_M6_Dk4.2。材料参数至少包含:Dk(介电常数)、Df(损耗因子)、体电导率(铜为 5.8e7 S/m)、磁导率(通常为 1)。
对于高速信号,Df 的频率相关性不可忽略。若材料库只填单一 Df 值,宽带仿真(如 0~20 GHz)会出现高频损耗偏低。此时应使用宽频模型或分段 Df 表。示例:某低损耗材料在 1 GHz 时 Df=0.002,在 10 GHz 时 Df=0.004,若只填 0.002,10 GHz 插损可能被低估约 1~2 dB。
Materials → Update All,否则已导入的叠层仍引用旧参数。建议在工程树中右键材料节点查看“被引用次数”,确认无孤立材料。四、网络与器件识别
导入后需要检查网络分类:电源网络(如 VCC_1V0、VDDQ)、地网络(GND、PGND)、高速信号网络(如 PCIe_TX0_P/N、DDR_DQ0)。SIwave 可自动识别,但命名不规范时需手动归类。器件识别重点检查:电容、电感、电阻的封装与引脚映射是否正确,尤其是去耦电容的电源/地引脚是否接反。若电容引脚接反,PDN 阻抗曲线会在谐振点出现异常尖峰。
完成上述步骤后,保存为基线工程 Project_Init_Base.siw,并记录以下检查项:单位一致、叠层总厚匹配、材料 Dk/Df 已确认、网络分类完整、器件引脚映射正确。这五项通过后,工程才具备进入下一步仿真配置的条件。
五、常见初始化问题与处理
问题一:导入后 3D 视图空白。原因通常是 ODB++ 中缺少叠层定义或单位错误导致几何被缩放到不可见范围。处理:检查导入日志中的单位与层数,重新导入并指定正确单位。
问题二:叠层总厚与板厂报告不符。常见原因是介质层厚度填的是“芯板+半固化片”合并值,而实际应分层填写。处理:按板厂叠层报告逐层拆分,确保每层厚度独立。
问题三:材料库修改后仿真结果不变。原因是叠层仍引用旧材料。处理:在叠层设置中重新选择新材料,或执行 Update All 强制刷新。
问题四:电源网络被误判为信号网络。处理:在 Circuit → Nets 中手动修改网络类型,并检查是否有网络名包含“VCC”“VDD”等前缀未被识别。
完成以上步骤后,工程已具备进入叠层阻抗计算、PDN 阻抗扫描或 S 参数提取的条件。初始化的质量直接决定后续仿真的可信度,建议将本节流程固化为项目检查表,在每次新项目启动时逐项执行。