SIwave第六部分 SIwave之电源完整性分析
电源完整性本质
试想,VRM(Voltage Regulator Module,电压调节模块)距离芯片有一段距离,当芯片工作突然需要很大功率时,因为走线等效成电感,电流不能突变,功率不能瞬间提高——即”远水解不了近渴”。
所以电源完整性的核心本质就是快速且及时的功率供给

- 快速:放电速度要快,能提供快速的电流响应
- 及时:放电回路要短,尽可能早地提供电流响应
实现原理:以
PDN网络充/放电本质
听到PDN网络,读者是否耳熟?没错,我们在SIwave第二部分中就介绍了PDN设计——PI仿真必要考虑的事情,读者可以戳链接进行复习,这里我们将更深入的了解其本质。
面对走线的电感特性,电流想要快速的响应,成了问题,就像出水口就是涓涓细流,我们对水的需求出现高峰时,必然供给不足,不过聪明的我们想到了蓄水池, 电容将电能存储,待到芯片用电高峰,它能够第一时间供给上,如此就成功的解决了电流响应不及时的情况。
不过我们还要强调一个概念——电流响应频率
试想,小区某栋楼用户用水,想要打开水龙头就可以流出水,肯定不会是直接从水厂送水,而是来自楼顶水箱,而楼顶水箱的水来自楼栋蓄水池,楼栋蓄水池的水来自小区蓄水池,小区蓄水池的水来自城市蓄水池,城市蓄水池的水来自水厂涓涓流淌的净化水。
这和电流响应频率有什么关系呢?
我们不妨思考,用户用水的频率非常快,但凡某级的蓄水池坏掉,那么用户就要花时间等待。那么我们回到芯片,芯片用电,也是如此,VRM电流响应频率低,芯片需要的响应速度几乎是ps(皮秒)级别的,因此需要储能电容,而且还是分级的储能电容:

现在带着例子,去理解上图,我们就能够明白多级电容的意义了——提升电流响应频率。
VRM———————水厂(小时级)
VRM体电容————城市级大蓄水池(小时级)
PCB去耦电容———小区级蓄水池(分钟级)
封装去耦电容———楼栋级蓄水池(秒级)
片上去耦电容———楼顶水箱(秒级)
芯片———————用户
当芯片用电时, 分级调度让响应变快的同时,各级电容受到的干扰降到了最低。
分级供电机制:
- 低频给高频充电,高频给更高频充电(慢慢充)
- 有电流需求就放电,只有速度匹配发电才有效(快速放)
基于目标阻抗法的PI设计
(阻抗目标值)会在一些优秀的IC厂商提供Datasheet中出现,而且是各个频段对应不同的目标值,通常低频要求目标值较低,随着频率增高,这个值会逐渐增加(并不是说高频要求降低了,只是把这个任务的很大部分交给了片上电容来完成),对于没有给出这些信息的IC厂商,我们就可以考虑目标阻值法了。 ——来自微信公众号电子设计联盟的《电源分配网络(PDN)与目标阻抗计算方法》一文。
目标阻抗法这一部分,我在SIwave第二部分也介绍过,我们再来复习一下:
目标阻抗法是频域设计方法,旨在提供快速电流时,尽量减小引起电压的波动
不同电容提供不同频段的低阻抗路径,同时,多个电容并联,其ESR也会减小
电压噪声计算公式:

我们对PDN网络进行阻抗仿真,获得PDN阻抗频域图,随后,我们将
深入PI设计
我们在PDN网络充/电本质小结中,分析了为什么要使用分级供电。如果某个级别的电容值不对,那么就相当于一个蓄水池能力不足or故障,对整条PDN网络而言,会出现电源压降异常的情况。对此我们就要使用IR Drop仿真,找出电源压降从哪里开始出现问题。
我们在基于目标阻抗法的PI设计小结中,知道了如何获取目标阻抗,通过PDN阻抗仿真,获得PDN阻抗频域图,随后,我们将
除此之外,我们还需要平面谐振特征分析,比如我们在反激开关电源中,会遇到漏感振铃情况,我们就可以使用平面谐振特性分析,找到谐振频率,然后进行整改。
推荐大家看B站up亿道电子的【Ansys】 SIwave第五章:Ansys Slave 电源完整性介绍
DC IR Drop仿真
IR Drop仿真推荐读者阅读《仿真技巧揭秘:Ansys SIwave的IR Drop仿真方法》
DC IR Drop即直流压降,是指PCB上电源网络的金属电阻不可忽略造成的分压,远端看起来发生了压降。对于大型复杂的高速PCB,因为走线较长电阻较大,这个问题更加明显,所以为了确保板子在正常的电压范围工作,在进行信号完整性分析前,要先做IR Drop仿真。
仿真前,我们还是要导入PCB,然后完成仿真前的向导配置的,我在SIwave第四部分的仿真前处理-设置与检查小结已经介绍过,这里不再赘述。
我们需要查看芯片的Datasheet,确认好,哪些芯片是电压源和电流源,以及哪些芯片需要消耗多少电流。

上图中,确认红色芯片为LDO,提供3.3V电压;U2A5、U4B1、U25、J2L1皆为用电芯片
那么我们确定好电源走线的名称,可以在SIwave的仿真向导中找到 “Configure DC IR Drop Analysis”
打开后,左侧勾选需要分析的网络,相连的器件会显示在右侧,勾选Hide RLC Components,就可以隐藏不需要设置的RLC器件啦。
以V3P3_S5网络为例,它连接了J2L1芯片、U2A5芯片和U4B1这些用电芯片,我们将它们的Source/Probe栏配置为 电流源(因为芯片需要恒定的电流) ,Type栏中配置为 Constant Voltage,最后在Magnitude栏中输入恒定的电流值;
它也连接了U3A1供电芯片,Source/Probe栏中配置为 电压源 ,在Magnitude栏中输入电压值;
其他的走线,我们都可以忽略,我们选择None即可.

确定好所有网络后,我们就可以戳 “Configure Simulation” 创建仿真,然后点击 “Validate” ,启动 “Validata Check” ,检查电路及仿真是否有错误。

检查完成出现如下界面。若提示有错则需要修改之后重新检查,点击Auto Fix或手动修改,完成后进入下一步
打开Simulate…后,会有
仿真温度一般为20cel(20℃),在”other solver options”中,配置核心和HPC,最后Lauch即可!
仿真结束后查看结果:可在Result窗口中选择仿真名称,右键选择仿真结果,或者点击顶部的DC IR Drop按钮,选择需要查看的仿真结果。
查看Current/Voltage Plot:可在左侧勾选需要查看的网络,右侧勾选需要查看的层和参数。然后点击Apply应用设置。

如果要查看详细的器件数据,可选择Display Element Data:

如果要导出仿真结果,点击Export Report:
系统级PDN阻抗仿真
仿真前,我们还是要导入PCB,然后完成仿真前的向导配置的,我在SIwave第四部分的仿真前处理-设置与检查小结已经介绍过,这里不再赘述。
当验证完成后,我们就可以选择”Configure PI Analysis”
我们先前已经验证好了电源网络和GND网络,那么点开后,就会出现电源网络

以+1.2V网络为例,其从VRM1出发,到达CPU1的引脚,因此上图 CPU1 、 VRM1 的Port栏设置为了Prot,同时,参考阻抗也配置为了0.1ohm(则是统一规定的,阻值越小精度越高)。
随后, configure Simulation ,SIwave会为我们自动创建端口,然后 Validate 进行检查,最终 Simulate… 就可以得到网络的Z参数数据了。
不过这里自动创建的是忽略LC的端口。如果我们需要考虑走线的LC,我们就需要手动创建合适的端口(手动创建端口就要用到——
)
我们先打开
来新建Group,方便后续的手动创建选中端口.
Part Name为VRM,因为是1.2V是从VRM到CPU1的;勾选+1.2V和GND,然后”Create Pin Group(s)”即可创建。
现在打开我们的
,选择仿真引脚和参考引脚,选择生产端口的种类。

生成端口,我们可以在PCB展示图中看到,具有感抗参数的电感类型端口
随后,我们就开始 Compute SYZ Parameter 仿真,在 Z-Parameter Plot 界面可以查看结果。
在上图,我添加了两根红色的直线,在 Magnitude 较低处,我们需要注意它们对应的频率,因为该频率极有可能是板件谐振频率。我们就需要使用谐振特征仿真来结合去分析。
谐振特征仿真
推荐大家去看B站UP主这EMC想仿到哪就仿到哪的基于SIwave的PCB电源完整性仿真之谐振分析视频
在谐振仿真前,我们依旧需要验证,我在SIwave第四部分的仿真前处理-设置与检查小结已经介绍过,这里不再赘述。
在Z-Parameter Plot当中,标记了三处低谷处,我们可以在图中的左上角List看到,m1处为0.0015GHz,m2处为0.0052GHz,m3处为0.0209GHz;我们使用谐振分析(
)时,选择最小频率、最大频率,要记得将三处低谷处的频率包含进去。
仿真结束后,我们在Result栏中找到结果,双击打开
对于谐振仿真,我们一般只关注GND和PWR,选择后点击Compute就会计算出对于Mode

选择对应的Mode,就可以在PCB板上查看哪些位置的谐振比较严重。
我们也可以选择”Phase Animation”,形成谐振情况动图:
去耦电容优化
我们找到了谐振位置,一般的,我们处理谐振,就会用到去耦电容。处理起来,有两种方法,第一种就是我们手动在那个位置添加一个电容。第二种办法就是使用PI Advisor(
)进行去耦电容优化。
在simulation菜单下点击PI Advisor,设置阻抗优化后的目标值

我们要导入对应的目标阻抗参数(它们一般由芯片厂商提供或者芯片厂商的Datasheet中给出),随后勾选需要分析的Port
然后选择需要分析和优化的电容
在如下的对话框中选定需优化的电容
最后的,仿真结束,在Result栏中可以找到结果。它会为我们提供几种方案:

方案中,我们可以看到有些电容的Value值为(empty),这意味着,在这个方案中,不需要这个电容位。

