ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ADS与Sigrity协同:电源完整性仿真从PDN阻抗到芯片供电

ADS与Sigrity协同:电源完整性仿真从PDN阻抗到芯片供电 干了十几年硬件设计我最怕听到的一句话是“理论我都懂就是不知道从哪下手”。电源完整性尤其如此PDN阻抗、目标阻抗、去耦电容、芯片供电噪声这些概念翻来覆去就那些可真到了项目要做板级验证、要给方案填仿真结果的时候不少人还是拿不出一套能跑的流程。ADS和Sigrity这两套工具正好对应了PDN设计里的两条最关键路径一条是在原理图/版图层面把阻抗曲线仿出来、把电容方案调出来另一条是结合电磁场求解把TDR、去耦优化、芯片供电完整跑通。这篇内容就是我这些年用这两套工具做电源完整性设计的一点实战沉淀从PDN阻抗优化讲到芯片供电仿真的完整流程适合正在做高速数字电路、FPGA供电、DDR电源设计被“知道要仿真但不知道怎么下手”卡住的硬件工程师和仿真工程师。1. 推开电源完整性这扇门为什么PDN阻抗是芯片供电的命脉1.1 目标阻抗不是拍脑门算出来的PDNPower Distribution Network从电源到芯片引脚一堆过孔、平面、电容走起来本质就是一个复杂网络芯片内部的晶体管在该网络取电只要这个网络的阻抗偏高电流瞬变就能在芯片端砸出明显的电压纹波。具体点说芯片开关时电流变化率非常大比如一个DDR5颗粒突发读写的电流瞬变速率常常超过0.5A/ns对应在整个PDN路径上产生了一个高频扰动的源。根据VZ×I的关系PDN阻抗越大芯片引脚上测到的电压波动就越大。而芯片正常工作对电压范围要求非常严格比如1.1V供电的器件允许波动可能只有±3%算下来就是66mV想靠稳压器先顶上稳压器响应速度根本跟不上最终还是落在PDN上。目标阻抗的标准算法其实不复杂Z_target (VDD × ripple_allowance) / I_transient。比如VDD为1.0V允许5%的纹波瞬态电流变化峰峰值为2A算出来的目标阻抗就是1.0 × 0.05 / 2 25mΩ。但这里面的门道在于目标阻抗不是一条平线而是分频段的。低频段主要由VRM输出电容和反馈回路扛电源模块的带宽往往在几kHz到几十kHz中频段由板级Bulk电容和陶瓷电容扛高频段由封装电容和die上电容扛。你如果拿一条固定的目标阻抗去卡所有频段设计要么过度、要么欠压这也是为什么我建议大家在仿真之前先把频段划分清楚。1.2 电容网络的三两事ESR、ESL与并联谐振做PDN仿真遇到最多的元件就是去耦电容。一个电容的等效电路是RLC串联其阻抗曲线是V字形低于自谐振频率时呈容性高于自谐振频率时呈感性自谐振点上阻抗等于ESR。很多工程师选电容只盯着容值却忽略了这颗电容的封装、介质、ESR这在PDN仿真里会栽跟头。举个例子一颗0402封装的100nF陶瓷电容自谐振频率通常落在20MHz左右超过这个频率电容是电感性阻抗随频率上升。如果你想覆盖100MHz以上的高频噪声靠100nF的电容已经没有效果反而要用100pF级别的电容搭配封装很小的布局。注意这里说的是总的等效电感包括电容本身的ESL、焊盘、过孔、以及连接平面层的loop电感。实打实做仿真时这些寄生参数都会影响谐振峰的位置。还有一点容易忽略不同容值电容并联时会在两者自谐振频率之间产生反谐振峰。反谐振点上的阻抗可能非常高直接击穿你的目标阻抗曲线。所以合理做法是选择容值比不超过10:1的电容组合并辅以仿真验证而不是拿起BOM里一堆杂牌电容贴上去。ADS和Sigrity处理这些问题的逻辑差异也正好体现在它们是如何建模这个并联网络的。2. ADS手记PDN阻抗仿真落地的那些细节2.1 用ADS搭PDN模型先从叠层和材料参数下手很多朋友第一次用ADS做PDN直接从库里面拖电容和电源模型原理图搭得很飘逸仿真结果却一塌糊涂。原因大多出在板材参数和过孔模型上。ADS里做PDN仿真我最常用的方式是先建一个叠层模板把层数、介质厚度、介电常数、铜箔粗糙度都定义好后面的平面层、走线、过孔才能被准确描述。叠层信息对PDN的影响在于电源层与地层之间的平板电容决定了高频段的基线阻抗介电常数决定了平面谐振频率的位置铜箔粗糙度则影响高频趋肤效应损耗。我一般这样设置叠层参数介质材料选择FR4时Dk按4.2~4.4取Df按0.018~0.022取频率越高损耗越明显铜箔粗糙度在ADS里会转换成表面电阻模型若做的是GHz级别PDN粗糙度的影响不能忽略建议至少按0.5μm RMS设定电源平面到地平面的间距越小平板电容越大但也会降低阻抗、提高谐振频率所以叠层设计阶段尽可能让电源层与地层紧耦合。叠层模板设好之后再叠上下电容模型、VRM模型、负载模型原理图里搭出从VRM到SoC引脚的网络之后设定仿真频段是10kHz到1GHz。频率范围不能只设到几十MHz因为高频段的谐振特性虽然多由封装的寄生主导但在板级仿真里还是能看到平面谐振的影响。2.2 emmodel与emcosim联合仿真把电磁场搬进原理图ADS里处理PDN不只有纯电路仿真emmodel与emcosim联合仿真模式是很多人没真正用起来的大招。简单说emmodel是把复杂的版图结构转化为电磁模型但只做一次频域EM求解之后将这个电磁行为以模型形式嵌入原理图做电路协同仿真emcosim则是更进一步允许你在协同仿真环境中同时求解电磁结构与集总元件构成的混合网络。这个联合仿真模式在PDN设计里非常实用场景是你有一个包含了电源平面的版图上面分布了几十个去耦电容位置还想要评估不同的布放方案。如果每次调整电容位置都重新完整跑一遍EM求解效率极低。emmodel的思路是先把版图的电磁响应抽出来变成S参数或者等效电路模型再去原理图里电容随便改、位置随便挪重算的只是电路级联合仿真速度快了一个数量级。实际操作步骤可以这样理解在ADS Layout/Momentum里建立PDN版图包含电源平面、地平面、过孔阵列和电容焊盘对版图生成emmodel模型求解频段设为10kHz~1GHz扫频点按对数间隔50个点以上将emmodel符号放入Schematic和VRM模型、芯片功耗模型、去耦电容模型一起构成emcosim协同仿真环境在原理图中改变电容的容值、ESR、ESL或所在位置连接关系重新协同仿真查看Z11或Z21阻抗曲线。我在实际项目中用这个流程做过一个16层FPGA板卡的设计。第一次全频段EM求解大概耗时40分钟但一旦emmodel生成后续调整去耦电容方案时每次协同仿真都在2分钟以内。2.3 ADS仿真后的优化闭环怎么调整电容布局仿真跑通之后下一步就是优化。用ADS看PDN阻抗曲线我关注的核心指标是目标阻抗线上是否穿出尖峰以及哪些频段的裕量不足。如果我面对一个2.5V供电轨、目标阻抗20mΩ在70MHz附近看到了阻抗峰接近30mΩ。最先做的不是加电容而是判断这个峰是怎么产生的。使用ADS的Z参数曲线和电流分布图定位到峰值频段的谐振中心位置然后查看这个谐振是否由某个电源平面区域导致。若是两个电源岛交界处的缝隙辐射出的平面谐振加电容的效果有限调整平面分割或加桥接电容才有用。如果是电容网络的反谐振峰处理方式完全不同在谐振频率附近补一个处于低阻抗状态的小容值电容把峰压下去。调完之后再次跑emcosim协同仿真验证直到曲线完整包络在目标阻抗线以下。还要提一下ADS里的ADS版图优化也能做PDN相关的自动化优化。将电容容值、位置设为变量设置目标阻抗约束让它自动寻优。但我个人经验是这类几何位置优化很容易收敛到局部最优而且优化出来的布局会打破PCB布线区域的分割反而不利于后续其他信号布线。我更推荐人机协作先靠仿真找到问题频段自己决定加什么电容、加在哪里再来一次仿真验证。设计者的经验判断比盲目优化靠谱得多。3. Sigrity实操从TDR测试到去耦电容优化的协同3.1 Sigrity里TDR仿真怎么做结果怎么解读Sigrity最让人舒服的一点是它的电磁场求解引擎和信号完整性/电源完整性流程整合得非常好尤其是PowerSI这个工具可以直接做PDN阻抗分析。不过很多人第一个接触Sigrity的入口是TDR仿真这里的TDR仿真不只是测量单端或差分线的特征阻抗还能用于PDN过孔位置阻抗突变定位。Sigrity里仿真TDR通常操作路径是导入板卡的ODB或BRD文件在PowerSI中指定激励端口然后选择TDR仿真模式。激励源是一个阶跃信号上升时间可自定义比如35ps、100ps或200ps。上升时间越小分辨阻抗突变点的空间分辨率越高但往往受制于模型网格和求解精度。TDR曲线解读有两点经验和大家分享。第一看整体趋势不要盯局部毛刺比如某段走线整体阻抗是50Ω左右连续3个过孔导致的阻抗跌到40Ω又恢复这是正常的只要回波损耗能满足要求不必刻意优化。第二看PDN相关仿真时重点观察过孔换层位置是否有大范围阻抗跌落或者抬升这说明电流回路路径不连续容易激发共模噪声。3.2 去耦电容自动优化别完全交给工具Sigrity PowerSI里有一个去耦电容优化Decap Optimization功能使用起来比手动调节省力得多这个功能会根据目标阻抗曲线自动从库中选择电容容值和放置位置。期间工具会计算每种电容放置方案的阻抗影响选出满足目标阻抗的最小数量组合。但这个功能有个陷阱它假设电容位置是固定的只优化选择哪些容值/型号。如果你的电容库没有准确描述各型号的寄生参数优化结果就会失真。所以用这个功能之前务必核对电容库里的ESR和ESL参数与你的采购清单一致不要用工具默认的“理想电容”去跑优化。我在某次DDR5 VDDQ电源优化中对比过工具自动优化和我手动选择的结果。工具选出了12颗不同容值的组合覆盖了很宽的频段但也选了3颗超小封装电容放在BGA背面布线空间根本不够。后来我在库里去掉了不可用的封装选项并加上了最大数量限制再让工具选这次给出的方案才基本可落地。这里也想多说一句去耦电容优化好看的曲线不等于实际测试好看。电容位置距离负载引脚太远时走线/过孔引入的电感会让高频去耦效果大打折扣。所以我看仿真结果时会对远处的电容频段自动打折只信任放在芯片背面或靠近电源引脚的电容方案。3.3 PowerSI频域结果怎么读Z参数、回波损耗与谐振工作做PDN阻抗优化在Sigrity里常看的输出是Z11或Z22曲线的扫描结果。Z11指端口1的输入阻抗适合评估从电源模块看进去的PDN阻抗Z21则是从电源到负载的传输阻抗更贴近“负载端实际看到的电源噪声源阻抗”。很多工程师只盯着Z11忽视了Z21。对芯片供电问题来说真正影响你芯片电压的是电源到芯片引脚之间的传输阻抗因为VRM端的噪声传到芯片端会有衰减板级平面之间有耦合。所以我的习惯是两块都看Z11超标问题出在VRM端或输入端滤波Z21超标问题更接近负载端去耦不足。除此之外PowerSI的平面谐振模式分析也很关键。电源平面和地平面在特定频率下会形成驻波也就是平面谐振。PDN曲线中的毛刺峰很多就是平面谐振叠加去耦电容后形成的在收敛板上特别明显。如果选定频段内有强平面谐振单单加去耦电容是不够的最好在谐振中心附近放一些高Q值的低ESR电容把谐振能量吸收掉。4. 从PDN阻抗到芯片供电仿真全流程4.1 芯片侧模型如何处理前面说了大量的PDN阻抗优化但在实际交付中下游最关心的是“芯片供电是否满足要求”。这就是从PDN阻抗优化延伸到芯片供电仿真的原因PDN阻抗只是一个中间指标芯片供电才是最终目标。芯片侧模型通常来自硅片供应商常见的有两种芯片引脚处的等效电路模型包括die电容、封装电感、功耗电流源更复杂的IBIS模型里含电源相关信息的模型。如果拿不到芯片的详细模型退而求其次可以用目标阻抗对应的最大允许噪声来反推电流激励。在Sigrity的PowerDC或SystemSI环境下把芯片模型挂到板级PDN模型引脚上再叠加上动态电流波形就可以仿真芯片引脚处的电压随时间的变化曲线。做这个仿真时我对电流源的波形很挑剔不搞理想方波。实际芯片电流唤醒、刷新、读写交替时波形是脉动且随机的如果有实测电流波形直接导入如果没有至少要按实际最大瞬态电流的1.3倍余量来设定这样抓出来的电压跌落才有工程意义。4.2 全链路压降与噪声预算分解芯片供电仿真里有个很核心的概念电压预算分解。一颗芯片对供电的要求是一个允许的电压范围比如0.8V±40mV。这40mV是怎么花掉的需要分解清楚。通常分为三部分直流压降IR Drop来自PDN导体的直流电阻和电流分布不均这个量可以用PowerDC做静态IR Drop仿真获得不随频率变化低频纹波来自VRM的开关纹波和负载调整率一般是几十kHz到几MHz的低频量和VRM的环路参数相关高频瞬态噪声来自高速开关电流在PDN阻抗上产生的压降和PDN阻抗曲线、去耦电容布置强相关。这三部分不是简单加起来因为相位不一致但做预算时可以按绝对值做加法这样留了裕量。我实际在Sigrity里做供电仿真时会先把直流IR Drop跑出来观察芯片电源引脚处的分布图。如果发现某个BGA区域的电压已经到了下限附近就说明该区域附近过孔不够或电源层太薄需要加过孔或者调整电源分割。之后再切换到交流噪声仿真看高频噪声幅度是否超预算。两次结果都通过PDN设计基本可以走评审。4.3 收敛判断与设计迭代芯片供电仿真的收敛判断不是简单看最终电压是否落在规格内而是看哪一部分裕量被消耗得最多各部分裕量之间是否留有安全间隔。我的经验是这样分档判定直流IR Drop占预算的40%以下合格超过60%需要修改叠层或过孔方案低频纹波占预算的10%以下合格10%~20%之间检查VRM反馈补偿高频瞬态噪声占预算的30%以下合格超过50%需要调整去耦电容方案或电源平面布局总预算使用小于85%可以安全发布剩余15%作为温度和老化余量。这个85%阈值是我个人的经验值很多大厂甚至要求70%以内。如果照这个标准去卡大多数PDN设计在仿真阶段就要迭代2~3轮。我做过一个12核SoC供电项目第一轮仿真总预算用到92%最后查明是VSENSE采样点远离VRM反馈端导致低频补偿误判。调整了反馈取样点到负载端后预算降到78%一次通过。5. 串联我的个人经验常用参数配置与踩坑记录5.1 仿真精度与时间成本的权衡这两套工具做PDN仿真最容易产生分歧的就是网格和频段设置。网格太细、频段太宽EM求解跑一天很正常网格太粗结果误差大又丢失了谐振细节。我的经验是做PDN仿真时网格密度不需要像SerDes通道仿真那样苛刻因为PDN更关注整体谐振和阻抗趋势。针对ADS我一般把网格设定为最小特征尺寸的1/20频率扫描采用对数分布每十倍频程20个点左右就够太多点既耗时对曲线也没有实质改善。针对SigrityPowerSI里我会关掉那些离关注频段太远的网格细化选项只对电源平面层和相邻信号层细化。另外仿真时间的长短还和频段上限强相关。上限设为1GHz和5GHz求解时间可能相差4~5倍。如果一个PDN风险点集中在100MHz以下那我就只取20kHz到200MHz做频域仿真完全够用。5.2 常见报错和解决办法这两个工具用久了遇到最多的报错有以下几类列出来给大家避坑。模型端口缺失搭建PDN仿真原理图时端口设置位置不对或端口参考地选择错误会直接导致阻抗曲线飞掉。解决办法是每一个端口都必须明确指定参考网络最好是一个全局地网络。叠层导入失败Sigrity导入BRD时叠层结构识别不全这时输出的TDR结果完全没有参考意义。解决办法是先在CAD工具中导出一份完整的Stackup文件再手动对齐每一个层名。电容库参数异常ADS和Sigrity都容易在导入供应商电容模型时出现ESR/ESL数值精度溢出导致仿真高频段出现负阻抗这种荒谬结果。解决办法是检查模型格式确认单位是毫欧还是欧姆以及容值是nF还是pF。emmodel生成失败多半是版图里有过孔未指定所属网络或者某块平面被切割成多个无网络碎片。处理办法是回到Layout里整理好网络分配再重新生成。5.3 一套稳妥的PDN优化流程个人总结最后把我现在做PDN仿真的一套流程整理出来供大家参考确认供电树需求拿到每个电源轨的电压、电流、瞬态变化率、允许纹波确定目标阻抗曲线叠层与版图检查和Layout工程师确认电源层地层位置、介质厚度、主要负载位置ADS中建立初步模型用理想电容和理想平面先快速跑一版Z曲线判断是否存在明显的谐振问题基于初步结果调整去耦方案换电容组合、改位置、增加高频小容值电容版图就绪后使用emmodel/emcosim联合仿真精确验证或直接导入Sigrity PowerSI做全波求解PowerSI中做TDR仿真校准模型做去耦电容优化得到最终电容BOM和放置位置做好直流IR Drop和瞬态供电仿真确认芯片引脚电压满足规格输出报告保留仿真数据存档方便后续改板时对比。这套流程里面ADS和Sigrity不是二选一的关系而是一个配合关系。ADS在前期原理图级探索时非常灵活适合快速验证方案Sigrity在板级全波求解和芯片供电仿真环节更贴近实际物理适合最终验证与报告。两者交叉使用既保证了迭代速度又保证了精度。6. 最后再说两句自己的体会玩转PDN设计这么多年我最大的感受是工具只是帮你把电磁场问题变成一个可视化的曲线真正决定设计成败的还是你对物理原理的理解和对工艺参数的敬畏。ADS和Sigrity谁更好用这种问题其实没有标准答案关键看你想在哪个设计阶段拿它解决什么问题。另外如果时间允建议一定要把仿真结果和实测做一次闭环对比尤其是TDR阻抗和电源纹波数据。你会发现仿真模型再精细也不如一次真实的示波器测试来得直观。用测试数据反过来校正你的模型和电容库下一次仿真的可信度会大幅提升。
返回列表