1、SIwave 电源完整性仿真教程V1.0目 录1 软件介绍22.1 功能概述22.2 操作界面32.3 常用热键42 仿真的前期准备52.1 软件的准备52.2 PCB 文件导入52.2.1 Launch SIwave 方式52.2.1 ANF+CMP 方式62.3 PCB 的 Validation Check82.4 PCB 叠层结构设置112.5 仿真参数设置122.6 RLC 参数修正132.6.1 RLC 的自动导入132.6.2 检视自动导入的RLC 默认值152.6.3 批量修改RLC 值182.6.4 套用大厂的RLC 参数193 SIwave 仿真模式203.1 谐振模式203
2、.2 激励源模式253.3 S 参数分析304 实例仿真分析324.1 从 Allegro 中导入 SIwave324.2 Validation Check334.3 叠层结构设置344.4 无源参数RLC 修正344.5 平面谐振分析374.6 目标阻抗( Z 参数)分析404.7 选取退耦电容并添加444.8 再次运行仿真查看结果455 问题总结475.1 PCB 谐振的概念475.2 为何频率会有实部和虚部485.3 电容的非理想特性影响485.4 地平面完整与回流路径连续495.5 电源目标阻抗491 软件介绍2.1 功能概述Ansoft SIwave 主要用于解决电源完整性问题, 采
3、用全波有限元算法, 只能进行无源的仿真分析。 Ansoft SIwave 虽然功能强大,但并非把 PCB 导入,就能算出整块板子的问题在哪里。 还需要有经验的工程设计人员, 以系统化的设计步骤导入此软件检查PCB 设计。主要功能如下:1.计算共振模式在 PDS 电源地系统结构(层结构、材料、形状)的 LAYOUT 之前,我们可以计算出 PDS 电源地系统的共有的、内在的共振模式。可以计算在目标阻抗要求的带宽或更高的带宽范围内共振频率点。2. 查看共振模式下的电压分布图避免把大电流的 IC 芯片放置于共振频率的电压的峰值点和电压谷点。原因是当把这些源放在共振频率的电压的峰值点和电压谷点的时候很容
4、易引起共振。3.侦测电压利用电流源代替 IC 芯片放置于它们可能的 LAYOUT placement 位置的周围、同时放置电压探头于理想 IC 芯片的位置侦测该位置的电压频率相应。在电压的频率相应的曲线中,峰值电压所对应的频率点就是共振频率的发生点。4.表面电压基于电压峰值频率,查看这些频率点的表面电压的分布情况,把退耦电容放置于电压峰值和谷点的位置处。 (这就是如何放置退耦电容的根据)5.单端口的 Z 参数计算计算单端口的( IC 位置)的 Z 参数(通常使用 log log 标尺, Hz)。通过 Z 参数的频率相应曲线,我们可以计算出我们需要的 “电容大小、 ESL 大小、 ESR 大小
5、”。(从中我们可以知道我们需要什么样规格的退耦电容) 。6.侦测实际退耦电容影响使用内置的 ANSOFT FULL WAVE SPICE 来侦测实际退耦电容影响 (包括:共振、 ESL、ESR、 Parrallel skew等)。7.选取电容通过实际的 AC 扫描响应来选择需要的电容,包括电容的RL C 值。8.侦测回路电感影响在不同的位置放置电容来侦测路径的自感的影响。 (这将决定退耦电容放置的位置)。9.检测传输阻抗使用多端口的 Z 参数来检测传输阻抗。2.2 操作界面SIwave v3.5软件刚安装完的画面如图1- 1 所示,配置如下:1.View Windows: Circuit El
6、ementsLayersNets Window2.View Toolbars: Coordinate Entry and Draw3.View Windows: Message Window图 1- 1SIwave 界面1. View Windows : Circuit ElementsLayersNets Window每一行代表每一层layer 的堆栈 (stack) ,叉叉符号表示该层各元素是否全显示。 如果想显示第一层的 traces 但不想看 circuit elements 就选第二个勾勾,但不选第四个勾勾,如图 1- 2 所示。小圆圈的核选按钮,代表目前选定的编辑层,这一层要选对,
7、才可以正确的选定该层对象 (traceviaelementplane ) 做编辑。,有颜色的长方框,代表该层的 copper 有没有要填满显示如果直接在 METAL-1 文字上点鼠标右键,会跳出快捷选单 EditLayer Properties. 。图1- 2 Layers2.View Toolbars:Draw左边部份是主功能选单内的Draw Circle, ., Trace, Via,用来放置circuit element。选定要放置的对象后,记得还要选择Drawing Mode。右边部份是选择对象。可以用光标选定或是拉方框范围选定。对象前,记得要选择正确的对象属性,否则无法选到该对象。例
8、如: via=Geometry, port=Circuit Element选定View Toolbars: CoordinateEntry左边显示目前坐标;右边设定刻度单位,可以从mm 改成mils3.View Windows: Message Window在程序执行的过程中,Message还有旁边的Warnings/Errors会显示相关信息2.3 常用热键Shift + 左键拖曳:整个图像在画面区域内搬移( View Pan )Shift + Alt +左键上拖曳:Shift + Alt +左键下拖曳:Alt +拖曳: 3D 旋转Alt +左键双击:于上区域Zoom inZoom out-
9、 正视位于下区域-背视位于左右区域- 侧视位Ctrl + D : Fit All2 仿真的前期准备2.1 软件的准备本教程中软件使用的版本分别是Cadence 15.7和 SIwave V3.5。SIwave 软件的安装与破解都比较简单,这里不做叙述。另外,为方便 Allegro 文件的导入,安装 Cadence软件之后,可以安装 AnsoftLinks 的 Cadence 集成工具 (int_cadence_Allegro.exe)。安装成功之后,会有一个Ansoft 的工具条,如图2- 1 所示:图 2- 1 Ansoft 的安装工具条2.2 PCB 文件导入以 Cadence Alleg
10、ro的导入为例,介绍PCB 文件的导入过程,有两种方式。2.2.1 Launch SIwave 方式运行 Allegro 的 AnsoftLaunch SIwave菜单,如图2- 2 所示:图 2- 2 Launch SIwave弹出如图2- 3 框图:图 2- 3 Start SIwave点击 OK ,弹出如图2- 4,图 2- 5 所示框图:图 2- 4 PCB 文件导入过程中图 2- 5 PCB 文件导入完成后即完成 Allegro 到 SIwave 的转换。2.2.1 ANF+CMP 方式1.运行 Allegro 的 AnsoftWrite Ansoft Neutral File V2
11、 或 V4 菜单,如图 2- 6 所示:图 2- 6 Write Ansoft Neutral File弹出如图2- 7 所示窗口:图 2- 7 Export ANF点击 OK ,即导出 “*_v2.anf文”件。2.运行 Allegro 的 AnsoftWrite SIwave Component File菜单,如图2- 8 所示:图 2- 8 Export Component File点击 OK ,即可导出 “*.cmp文”件。3.打开 SIwave3.5a.运行 SIwave 的 FileImportANF菜单,如图2- 9 所示:图 2- 9 Import ANF选择刚才从 Alleg
12、ro 中导出来的 “*_v2.anf文”件,弹出图2- 10 所示的窗口:图 2- 10 导入 ANF 文件之后b.然后,运行 SIwave的 FileImportComponent File 菜单,选择刚才从 Allegro 中导出来的 “*_v2.cmp文”件,调入元器件,弹出图 2- 11 所示的窗口:图 2- 11 导入 cmp 文件之后至此,元器件的信息才被导入,即完成了Allegro 到 SIwave 的转换。2.3 PCB 的 Validation Check首先进行 PCB 的 Validation Check(有效性检查),如果 Validation Check 的结果有错误
13、,要处理。运行 SIwave的 EditValidation Check 菜单,弹出如图2- 12 所示的对话框:图 2- 12 Validation Check点击 Start,如果 Validation Check 的结果没有错误,会出现以下结果,如图 2-13 所示:图 2- 13 Validation Check 执行后的结果如果 Validation Check 有错误,则要分别处理。a. Self-intersecting Polygons Error ,指的是 PCB Tool 自动铺铜后,有些地方会有铺铜不完整的情况,如所图 2- 14 示。从 Error message 所显
14、示的坐标double-click 即会跳到 layout 错误处,使用 Draw Rectangle 在 merge mode把缝隙补齐就可以,如所图 2- 15 示。注意:请选择 Rectangle补铺铜,不要选 trace 补,因为 Ansoft 视两者的属性是不同的,前者才是 plane。图 2- 14 覆铜不完全的地方图 2- 15 选择 Rectangle 和 Mergeb. Disjoint Nets Error运行 Nets Misalignment Select and view 后,选 Correct 即可更正。c. Overlapping Nets,可能是有些 Net 沒拉
15、好,出现了重叠,如图2- 16 所示。修正或删除即可。图 2- 16 走线重叠d. Overlapping Vias,如图2- 17 所示,把重叠的via 删除即可。图 2- 17 过孔重叠注意:Validation Check 的 Error message,有两点需要注意的:1. 其所显示错误位置处的坐标,是采用使用者在做 Validation Check 当下的系统单位设定,所以要 double-click 让软件能正确指到 layout 错误处,必须把单位设定正确才可以;2. SIwave v3.5 的 Validation Check 后面两项的 item,只显示 Error,而不提
16、供错误位置坐标的连结;而 SIwave v4.0 则全部 check item 都可提供错误位置的坐标连结,并且还提供 Auto Fix 功能。2.4 PCB 叠层结构设置导入 SIwave 后的 PCB 会按照 Allegro 当中设置的安排叠层,而 FR4 的介电常数默认值是 4.25,如果和生产所有的不一致,请进行更改,过程如下:新增介质材料,并设定介电常数,即运行 Editmaterial - Dielectrics -Add 添加新的FR4 介质材料,如图2- 18 所示,增加了一个介电常数为4.0 的 FR4 介质:注意:介电系数是一个会随频率微量变化的参数,但在SIwave 内都
17、是把它定义成 constant。然后,修改 Layer Stack,运行 Edit Layer Stack ( 或按图 2- 19 所示,选择好新增的介质材料以及其他设置完成后,点击OK),如即可完成。132图 2- 18 新增介质材料132图 2- 19 修改 Layer Stack2.5 仿真参数设置仿真的参数可以全部用默认设定不改,或是修改一下个别设定。运行 Simulation Options ,如图 2- 20 所示:图 2- 20 仿真参数设置Min. Coupled Trace Length :越高速的信号(上升时间Tr 越小 ) ,长度越要设小。Boundary Conditi
18、on To Use :设 Radiation Boundary 比较符合实际情况,高速信号走板边时会有辐射损失。2.6 RLC 参数修正2.6.1 RLC 的自动导入在 PCB 导入 SIwave 完成后,注意一下 message window最下方是否有显示已经成功汇入的 RLC 总数量,如图 2- 21 所示。若有很多的 RLC 没有抓到 (没有被 tool 识别出来 ),则需要查找原因。图 2- 21 message window如果发现只能看到R、L 而看不到 C,那是因为 SIwave 默认只会识别组件名称 Rx、Lx 、Cx,无法识别 命名为 BCx、ECx.等的电容。所以电路图与
19、 PCB 如果对 RLC 组件的命名非 AnsoftLink 所预期的那样,就会看不到正确的 RLC 信息。注:所有未定义的电阻默认50欧姆,未定义的电容值默认,未定义0.1uF的电感值默认 1nH。在 集 成 工 具 (int_cadence_Allegro.exe) 的 安 装 目 录 下 即 可 看到 .integrate4PartMap.dat,如图2- 22 所示,可自行编辑此文档。图 2- 22 元器件映射表依据使用者 PCB 上电容 footprint 的名称去对应,比方某个电路图上编号 BC6 的电容,采用的 footprint 名称是 C-0603,那就编辑图 2- 23 中
20、以红框圈中的一行文字,将其指定为 0.1uF 电容。图 2- 23 编辑理想电容映射图如果要考虑非理想的元件特性, 如电容的寄生电感、 串联等效电阻效应, 则以图 2- 24 方式表示:图 2- 24 编辑非理想电容映射图2.6.2 检视自动导入的RLC 默认值1. 检视电阻在 Component window 中,展开 Resistors Local ,如所示,可见此设计案中各种封装 size 的电阻,此时将鼠标光标靠近 R2_1206_33的电阻,会自动出33Ohms字样,显示了该电阻值,如图 2- 25 左侧所示。若进一步展开 R2_1206_33,可以看到所有电阻编号,任意挑一个电阻以
21、鼠标右键单击选定FitCircuitElement,如图 2- 25 右侧所示, SIwave v3.5 就会自动跳到该电阻位置 Room-In 显示,如图 2- 26 所示。图 2- 25 检视电阻图 2- 26 某电阻的 Room-In 显示若进一步选定电阻按鼠标右键, 选择 Edit Circuit Element ,则会出现如图2-27 的参数信息框。如果想要修改电阻参数,可先重命名 Part Number,会发现之前的 Resistance框由灰色变亮,然后即可进行修改,如图 2- 28 所示。 Reference Designator指的是电容流水编号。安装以上方式自行定义的 mo
22、del 可供其它地方引用。注意:只要在 Part Number 输入新的名称,那么所有的参数就可自行定义。图 2- 27 电阻参数属性框图 2- 28 电阻参数修改2. 检视电容同理,在 Component window 中,展开 Capacitors Local ,如图 2- 29 所示,可见此设计案中各种封装 size 的电容,但此处我们还看到了很多其它大厂的电容 model,如 AVX 、Panasonic、Samsung.等。电容的修改方法同电阻。图 2- 29 检视电容2. 检视电感(方法同上)2.6.3 批量修改 RLC 值个别修改 RLC 值在上一小节已经有了说明,如果所有同一类
23、型的电容有许多颗,可以通过以下方式一次更改所有同一类型的电容值。如图2- 30 所示,右键点击 Edit Component Properties 之后,修改图 2- 31 中的值即可。电感电阻的修改方式相同。图 2- 30 批量编辑电容属性图 2- 31 修改电容参数2.6.4 套用大厂的 RLC 参数如果新增电容,可以通过以下方式套用大厂的model。新增一个电容前,先把某大厂(如 AVX )的电容展开,选定想要的电容规格,按鼠标右键选择 Place Component ,即可开始摆放该电容于想要的位置,如图 2- 32 所示。图 2- 32 套用大厂电容的model3 SIwave 仿真
24、模式注意:从 Allegro 中导入 SIwave 中的 PCB、需要设置叠层结构、 选择介质材料(见 2.4 PCB 叠层结构设置 )以及设置电容的相关参数 (见 2.6 RLC 参数修正 )。SIwave 主要有 3 种仿真模式:谐振模式、激励源模式和S 参数。3.1 谐振模式PCB 结构中电源和地平面之间构成谐振腔,因此存在谐振。SIwave 通过求解齐次 Maxwells Equations 得到 2D 谐振模式。实际上,走线和平面之间也会构成腔,也会有谐振。但在 SIwave 里面只能直接计算属性是 Plane(平面)的结构的谐振,不能直接计算属性为 Trace(走线)的谐振。 RL
25、C 参数会严重影响谐振分布,在 SIwave 里面都可以考虑在内。当走线通过谐振较强的区域,信号相当于是走在一个浮动的参考平面上, SI 会变差;若走线在此区域过孔,且该过孔形成的有效长度正好是谐振频点的 1/4 波长,则容易形成天线在近场带出该谐振频点。四层板及多层板才适合做此分析,因为需要两个相邻的平面区域。谐振区的改善方法:整合平面完整,或添加去耦电容。以下是 PCB 板谐振模式分析的详细步骤。1.选择菜单 “Computer Resonant Modes”,弹出如图3- 1 所示窗口:图 3- 1 谐振模式参数设置选择要仿真的谐振频率范围,以及仿真的谐振点数。注:最大频率可以参考0.3
26、5 / Tr 设定, Tr 为最小的上升沿时间。2. 点击 OK 后,弹出如图 3- 2 所示运行窗口:图 3- 2 运行窗口运行结束后,弹出如图3- 3 所示的窗口:图 3- 3 运行结束后的窗口3.拉开两个 “-NULL- ”指示条,选择要分析谐振的两个平面。 如图 3- 4所示:图 3- 4 选择谐振的电源平面选择完成后,点击 Compute 键,运行结束后,下半部分的窗口出现谐振平面列表,如图 3- 5 所示:图 3- 5 谐振平面列表4.从谐振平面列表里选择其中一行,点击 “Phase Animation ”,弹出如 图 3- 6 所示窗口:图 3- 6 Phase Animatio
27、n点击 “Generate Frames”,在 Frames 栏出现从 0360 度的相位值,同时在 SIwave 主窗口的出现谐振的幅度和位置,在窗口的左边还有谐振幅度的比例,如图 3- 7 所示。注意:右侧的两个图标要处于选中状态 ()。图 3- 7 谐振模式图SIwave 是通过色彩的变化来表示谐振幅度的大小的,当局部的颜色变红或蓝色时,表示谐振的幅度达到设定的谐振幅度的最大值。 颜色表示的幅度范围是可以修改的。注:在颜色最红或最蓝的地方表示谐振幅度最高,可以根据谐振频率添加电容。左键单击左边的颜色值条,弹出如图 3- 8 所示窗口,最大缺省值是 1V,最小缺省值为 -1V,选择 “Us
28、er Defined,”输入最大最小值即可。图 3- 8 编辑颜色条点击图3- 9 中的三角框运行,可以看到电源平面谐振的动态变化三维图,如图3- 10 所示。图 3- 9 动态运行图 3- 10 动态三维谐振图3.2 激励源模式通过定义频变源或者恒定源 (Fourier transformation)来看激励源的作用: 传导和辐射效应。用这种模式时,在激励源处放置电压源, 在需要探测处放电压探针。选择不同的地方放置电压源和电压探针,便可以测量各处的电压波动。具体步骤如下:1.添加电压源和端口首先添加电压源,单击按钮,然后把鼠标移到要添加源的位置双击,出现如图3- 11 所示的对话框:图 3-
29、 11 添加电压源选择要放置的层(例如分别选择 SURFACE 层和 GND1 层),然后点击 OK 。弹出图 3- 12 所示的 Set Voltage 对话框,可以重命名电压源, 并将电压改成实际的电压值,如 3.3V。然后点击 OK ,电压源就添加好了。图 3- 12 设置电压源属性然后再添加端口( Port),先单击按钮 ,然后把鼠标移到要探测的位置双击,出现图 3- 13 所示对话框:图 3- 13 添加端口选择要放置的层后,点击 OK ,弹出如图3- 14 所示的 Port Properties对话框,可以重命名端口,并可以更改端口的特性阻抗,一般默认为 50Ohms。然后点击OK
30、,端口就添加好了。图 3- 14 设置端口属性添加电压源和端口后的情况如图3- 15 所示:端口电压源图 3- 15 电压源和端口添加完成运行CircuitElementParameters (或按图标)可以查看所有无源器件及探针的信息,如图3- 16 所示:选择菜单 “ComputerFrequency Sweep ”弹出如图3- 17 所示窗口:选择扫描频率的范围及计算的点数,以及仿真层面,按始自动运行,如图 3- 18 所示。OK ,仿真就会开图 3- 16 查看元件属性图 3- 17 频率扫描参数设置图 3- 18 仿真运行中仿真结束后,弹出如图 3- 19 所示窗口:图 3- 19 频率扫描结果同