做电源完整性很多年板级直流压降IR Drop和电流密度仿真一直是重点项目但近几年越来越多人开始追问一个问题铜箔电阻会随温度变化温度又会反过来影响损耗和压降这个循环如果只做常温下的直流仿真还能算得准吗答案是常温仿真在低功耗场景下还能凑合但一旦电流上到十几安甚至几十安板子局部发热明显铜箔电阻率随温度升高而增大IR Drop 仿真结果可能偏差超过 15%。这时候就需要引入电热协同仿真把电学特性和热特性放进同一个求解循环里。Cadence Sigrity 套件里的 Power DC 模块恰好就是干这个的。这篇文章我会结合自己实际跑过的项目把 Power DC 做电热协同仿真的思路、设置细节、参数选择以及那些文档里不会写清楚的坑一次性讲透。如果你正准备用 Sigrity 做电源完整性仿真或者已经在用 Power DC 但还没碰过温度耦合这篇应该能帮你少走不少弯路。1. 为什么要做电热协同仿真而不是分开算1.1 电阻、温度和损耗三者是闭环关系先回到最基础的物理。铜的电阻率不是常数在 -50℃ 到 200℃ 范围内可以近似用线性关系表示ρ(T) ρ₀ × [1 α × (T - T₀)]其中 ρ₀ 是参考温度 T₀通常是 20℃ 或 25℃下的电阻率α 是铜的电阻温度系数工程上取值约为0.0039 /℃。也就是说温度每升高 100℃铜的电阻率大约增大 39%。这在低功耗板卡上可能无感但在一张 100A 供电的 GPU 主板上差异就非常可观。功率损耗和电流的关系是 P I²R而损耗又会转化为热量热量抬升板温板温反过来增大电阻电阻增大又进一步加剧损耗。这个正反馈循环如果不做耦合求解单纯用常温 R 值算出来的压降和损耗往往会偏乐观。我自己踩过的一个典型例子某 12V 转 1V 的供电链路负载电流 40A电源层走线比较长。常温仿真出来 VRM 远端到负载的直流压降是 55mV看起来还健康。加上电热耦合之后铜层局部温度从 25℃ 升到 78℃压降直接涨到 67mV整整多出 12mV。对 1V 核心电压来说这 12mV 就足以让某些敏感芯片的供电余量告急。1.2 电热协同仿真到底在解什么方程Power DC 在做电热协同仿真时本质上是把两组偏微分方程交替求解电学方程▽·(σ(T)▽φ) 0其中电导率 σ 是温度 T 的函数φ 是电势。热学方程▽·(k▽T) q 0其中 k 是热导率q 是焦耳热源项来自电流密度和电阻率的乘积。两个方程通过温度相关的电导率和焦耳热互相耦合Power DC 的策略是迭代求解先算常温电场分布 - 得到焦耳热分布 - 把热源代入热方程求温度场 - 用新温度更新电导率 - 再算电场如此循环直到温度和电阻收敛。这个迭代过程对应到软件界面上就是Electro-Thermal Co-simulation选项的开关。很多初次使用的人以为这只是多加了一个热边界条件实际上它改变了整个求解器的收敛逻辑后面我会详细说设置步骤。1.3 哪些场景必须做电热协同不是所有板卡都需要电热协同。我的判断标准是单路电流超过 10A尤其 20A 以上的 Buck 供电链路建议做。铜皮较窄或换层较多电流密度集中区域明显必须做。板子工作环境温度高或散热条件差如密闭壳体内必须做。追求高精度 IR Drop 预算分配希望在 90℃ 甚至 100℃ 结温附近评估供电链路必须做。反过来如果是一堆传感器小信号板、电流以 mA 计的模拟电路做电热协同的价值就很低常温直流仿真足够。2. 电热协同仿真前必须准备好的三样东西2.1 带叠层和铜厚信息的 PCB 版图Power DC 支持直接导入 Allegro BRD 文件也可以读入 ODB 或 Mentor 格式。这里要说一个常见误区很多人导入版图后直接开跑结果温度和压降都离谱十有八九是叠层厚度和铜箔电导率没设置对。在跑电热协同之前一定要逐层核对每一层的铜厚1oz 35μm2oz 70μm注意外层和内层电镀厚度差异。介质层材料的介电常数不用太纠结但热导率必须设置。FR4 的导热系数约 0.25~0.35 W/(m·K)如果是高速板材取值可能稍有不同但幅度不大。如果是内层电源层铜厚和实际成品板可能存在 ±10% 的偏差这个偏差对电热仿真影响较大最好和板厂确认最终铜厚。2.2 铜箔电阻率温度系数设置Power DC 默认的铜材料库里电导率是 5.8e7 S/m温度系数默认 0.0039 /℃。这里有两个隐藏设置点如果你用的不是纯铜而是某种合金或特殊表面处理比如镍金表面电导率和温度系数都要改成对应值否则热耦合结果完全不对。参考温度要和你的直流仿真设定一致。Power DC 默认参考温度是 25℃如果你在工程文件里把 ambient temperature 设为 20℃ 或 85℃要确认温度系数对应的基准一致。提示材料库里的温度系数单位是 1/K不是百分比。0.0039 就是 3900 ppm/℃别填成 0.39否则结果会飞。2.3 热边界条件的合理设定这是电热协同仿真里最容易出偏差、也最考验工程师经验的一步。Power DC 提供三种主要的热边界条件Convection对流模拟板面与空气之间的热交换需要设置对流系数单位是 W/(m²·K)。自然对流一般取 5~10强制风冷取 10~30水冷或冷板可以取更高。注意系数不能全板统一风口附近和板卡中央差别很大。Fixed Temperature固定温度把某个面或某块区域设定为恒温比如散热器安装位置固定为 70℃模拟 CPU 导热到散热器后被风扇带走热量的场景。这相当于给了热模型一个强边界。Radiation辐射高温差时需要考虑辐射散热板级仿真一般影响不大但如果你做的是户外设备或高环温场景可以勾上。实际项目中最难的就是对流系数。我给一个自己的参考值自然对流密闭壳体内取 6~8 W/(m²·K)通风孔较好的自然对流取 10~12轴流风扇直吹取 20~25。这些值不需要特别精确因为电热耦合的最终结果对边界参数敏感性是中等水平你偏差 30% 的热系数温度结果可能只差 10% 左右但如果你完全不设置热边界默认绝热条件下温度会高得离谱。3. Power DC 电热协同仿真的实操流程3.1 导入模型与电源网络设定第一步打开 Sigrity Power DC导入 BRD 或 ODB 文件。导入后通常会自动识别网络但我强烈建议你手动在PowerDC 工作区里创建电源网络分组把同一个电压域的 VRM 输出、多个磁珠、去耦电容、负载端全部归到同一个 Net Group 里。原因很简单在复杂板卡上同一条 net 可能会有噪声隔离器件或者经过多个层的平面切换Power DC 会根据 net 名称自动关联但跨层、跨器件时如果不主动分组求解器可能只计算了一段导致电流路径缺失。我习惯的分组步骤是在 Net Tree 里展开所有电源网络。把 VRM 输出端的多个同名网络合成一个 Group例如 VCC_CORE。把负载端的 Sink 器件 Pin 加入 Group。把去耦电容的电源引脚加入同一个 Group它们对直流 IR Drop 没有直接影响但会在热模型中作为铜皮连接点影响热扩散路径。注意Power DC 里的 source 和 sink 是通过器件模型指定的不是通过网络名自动识别的。如果你在 Allegro 原理图里有 VRM 符号和负载符号导入后在 Power DC 里要给这些器件设置VRM Model和Sink Model否则求解器不知道电流从哪进、往哪出。3.2 电压源和电流负载的设置细节在 Power DC 中给 VRM 指定电压源需要设置Voltage标称输出电压例如 1.8V。Output Impedance直流输出阻抗通常设 0 或极小值如 1e-6 Ω模拟理想电压源。Sense 点如果有远端采样可以指定远端反馈网络这会影响实际负载端的电压收敛目标。初学者建议先忽略用理想电压源跑通再说。负载端 Sink 的设置更关键因为电流大小直接决定整条链路的功耗和温升。这里有两个选择恒定电流源设置单个电流值如 30A。适合第一阶段初步评估。电流密度映射如果手头有芯片的 die 尺寸和功耗分布可以按热点分布设置不均匀的电流密度。这个精度更高但建模复杂。我自己的经验第一步先用均匀恒定电流跑一遍把压降瓶颈找出来需要精细评估时再按芯片功耗分布设置非均匀 sink。不要一开始就追求完美仿真设置复杂了反而容易引入人为错误。3.3 开启电热协同并设置求解参数这是整个操作里最关键的一步也是很多人用了 Power DC 很久都没碰过的角落。在 Power DC 的Simulation Options或求解设置界面里找到Electro-Thermal相关的选项勾选 Enable Electro-Thermal Co-simulation。设置Ambient Temperature环境温度。我通常设 25℃ 或 45℃取决于产品工作环境如果是车载电子可能会设 65℃。设置Initial Temperature初始温度。这个值一般和环境温度一致即可。初学者可能不明白为什么要单独设因为在非线性迭代求解里初始值给得越接近真实解收敛越快但给错了不会影响最终结果只是多迭代几轮。设置Convection Coefficient。按 2.3 节提到的场景取值可以全局统一设一个也可以分区域设。设置Convergence Criteria收敛条件。软件一般默认温度和电压的相对偏差达到 0.1% 或 1% 就算收敛。默认值就可以不建议为了加速调大否则场分布不精确。3.4 实例40A 供电链路的电热协同仿真参数表我用一个实际跑过的板卡来举例说明。背景是一颗 FPGA 核心供电1.0V / 40APCB 是 12 层板铜厚外层 1oz内层 0.5oz板子尺寸 200mm × 150mm在密闭机箱内自然对流。参数项设置值说明VRM 输出电压1.0V理想电压源Load 电流40A均匀电流负载环境温度25℃板卡表面附近空气温度初始温度25℃迭代初值对流系数8 W/(m²·K)自然对流保守值铜电导率5.8e7 S/m纯铜铜温度系数0.0039 /℃标准铜收敛阈值0.5%温度和电压相对偏差在这个设置下Power DC 的求解器会自动经历多轮迭代。第一轮电学求解得到初始焦耳热分布第二轮热求解算出温升第三轮开始更新电阻率重新算电场。我观察到的大致收敛过程是前 3~5 轮迭代温度场变化明显第 6 轮之后温度场基本趋于稳定最终在 8~12 轮达到收敛具体看网格密度和模型复杂度。最终仿真结果里我最关心的几个量Total IR DropVRM 到负载端的总压降这个要跟预算对比。我的目标是 1.0V 电源域压降不超过 3%也就是 30mV。Current Density 热点区域把结果叠加到版图上看哪些区域的电流密度超过 20A/mm²对于 1oz 外层工程经验极限在 25~30A/mm² 附近留余量为宜。Temperature 分布看铜层最高温度是否超过材料耐温或影响附近敏感器件。实测下来常温仿真的压降是 55mV电热协同仿真的压降是 67mV。差异主要来自温度上升到 78℃ 后铜电阻率增大。这个差别直接把我们的供电预算从安全推到了临界逼着改版时加宽了电源层铜皮并调整了换层过孔数量。4. 电热协同仿真的常见问题与排查技巧4.1 温度结果出现局部热点异常偏高这是最常见的现象。如果你跑完电热协同发现某个角落温度显示 200℃ 甚至更高先别急着怪散热条件。我从项目经验里总结的排查顺序检查是否有孤立铜皮岛。电源平面被过孔或缝隙切割形成孤岛电流只能从狭窄路径绕过等效于一个电阻加热器局部温度会异常高。检查过孔密度和尺寸。内层间换层只靠一两个过孔连接过孔载流能力不足时电流密度过大会形成一个高温点。遇到这种情况要么增加过孔数量要么把过孔排列成阵列。检查热边界是否设置过严。如果某块区域被设了固定温度但你实际没有装散热器会导致热量被强行导出温度反而偏低相反如果该设对流的位置没设默认绝热会让温度虚高。4.2 仿真不收敛或迭代次数过多电热协同仿真不收敛九成的根源在材料参数或边界条件的非物理设置。比如电导率的温度系数填成负值或绝对值过大导致迭代来回震荡。热边界条件互相矛盾比如同一面既设了固定温度又设了对流求解器无法同时满足。网格质量差局部单元畸变导致方程离散后病态。处理办法是先关闭电热耦合只跑常温直流确认电学部分收敛再单独跑纯热分析确认温度场合理最后才开启耦合。分步排查别想一次到位。4.3 热导率和电导率单位搞混这不是笑话实际项目里真的会遇到。热导率的单位是 W/(m·K)而电导率单位是 S/m两个值相差近 8 个数量级。Power DC 的界面里输入框会默认带单位但如果你从某个材料厂商 datasheet 里抄数值一定要看清楚是 thermal conductivity热导率 还是 electrical conductivity电导率。有一次我把铝的 thermal conductivity 237 直接填进焊接层 electrical conductivity 栏里结果仿真结果完全不可用排查了很久才发现。4.4 叠层散热铜皮厚度对温度分布的影响做电热协同之后你会对散热铜皮有更深的理解。之前传统设计里很多人为了省成本把某些非功能层的地铜挖掉只保留走线需要。从直流 IR Drop 角度挖掉可能无所谓但从热传导角度看铜的导热系数约 380 W/(m·K)而 FR4 只有 0.3 W/(m·K) 左右铜层是板内横向散热的主力。如果你把某一层大面积地铜掏空电源层上的热量无法有效横向传导出去局部温度可能上升 20~30℃。温度一高电源层铜电阻率飙升IR Drop 也跟着增大。这是一个连带反应。我在一个 48V 转 12V 的电源板上吃过这个亏。原设计去掉了一层辅助地铜以降低成本电热协同仿真显示 DC-DC 旁边的铜皮温度从 62℃ 升到 88℃12V 输出侧 IR Drop 增加了 8mV。后来加回这层地铜温升回到 70℃ 以内压降也回落了。这就是电热协同仿真带来的额外价值——它不仅帮你算压降还能帮你评估散热设计对电气性能的反作用。5. 电热协同仿真的工具选择与工作流整合5.1 Power DC 在 Sigrity 套件中的定位Cadence Sigrity 套件里有很多工具Power DC 专注于直流电源完整性与之配套的还有 Power SI 做交流电源/信号完整性以及 OptimizePI 做电源网络优化。我通常的工作流是用 Power DC 做直流 IR Drop 和电热协同评估。用 Power SI 做交流阻抗Z(f)和去耦电容优化。需要时用 OptimizePI 自动寻找电容最优 placement 和容值组合。从流程上讲Power DC 的输入要求低版图导入即可跑非常适合在 PCB 布局布线早期介入。我见过不少团队把仿真放到板子回来之后再做那时候发现问题只能等下一版周期损失巨大。正确做法是在布局中期电源层规划完成、但还没开始大面积铺铜的时候先导出版图做一次快速直流评估用最短时间把电源路径瓶颈找出来。5.2 网格设置对精度和速度的平衡Power DC 的网格控制是在Mesh Setup里做的。初学者喜欢把网格调得特别细觉得越细越准结果一个模型跑十几个小时最后发现精度提高极其有限。我的经验是分策略设置只在电流密度大、形状复杂的电源层局部细化网格比如 VRM 输出区域、过孔阵列附近、BGA 球区。大面积平板区域使用全局网格让求解器自动加密即可。在散热路径关键区域如导热垫、散热器区域适当加细网格因为这些地方温度梯度大网格太粗会忽略局部温升峰值。Power DC 支持网格局部加密区域Mesh Control Region你可以画矩形框把关键区域框住在框内指定最大网格尺寸。比如平面区域给 1mmBGA 附近给 0.25mm过孔内层给 0.1mm。这个组合方案跑出来的结果和全板 0.1mm 细网格相比精度差异不到 2%但求解时间可能只有后者的十分之一。提示如果你不确定哪些区域要细化可以先用全局粗网格跑一遍看电流密度分布图和温度分布图把热点区域挑出来再局部加密重跑。这样既不会漏热点又不至于一开始就把网格划太细。5.3 与热仿真工具如 Flotherm、Icepak的联合有些团队会问Power DC 的电热协同仿真能替代专业的 CFD 热仿真工具吗我的理解是两者定位不同。Power DC 的电热协同是电气主导的耦合分析它的热模型偏简化适合你在做电源完整性评估时顺便看温升对电气性能的影响。它不需要你建风道、建散热器翅片、建风扇特性曲线因此上手快、流程短。但如果你的核心诉求是精确预测器件结温、系统散热性能、风流场那就需要用 Flotherm 或 Icepak 这类专业热仿真工具把 Power DC 算出来的功耗分布作为热源导入。实际项目中我会这样做先用 Power DC 电热协同跑出各器件和铜皮区域的损耗分布。把损耗结果导成功耗 map。在 Flotherm 里建立完整的产品级热模型导入功耗 map做系统级温度场仿真。把 Flotherm 算出的敏感区域温度反馈回 Power DC修正热边界再迭代一轮电热协同得到更精确的 IR Drop。虽然流程长了点但对热敏感、供电裕量紧张的板卡这个闭环非常值得。6. 做之前一定要想清楚的几个现实问题6.1 数据精度仿真值 vs 实测值差多少不少工程师关心的是Power DC 电热协同仿真出来的压降和温升到底准不准我基于多次实际对比的经验是在模型准确、边界条件合理的前提下IR Drop 的仿真误差可以控制在 5% 以内温度误差通常在 ±10℃ 左右。温度误差大一些很正常因为实际板子表面的对流情况、散热片安装压力、空气流动路径仿真很难完全复现。所以做电热协同仿真时心态上要把握好不要把它当成一个绝对预测工具而是当成一个趋势评估和相对对比工具。你改变铜皮宽度、增加过孔、调整叠层温度相对下降了多少压降相对改善了多少这些相对关系是可靠的绝对数值仅供参考。6.2 仿真时间电热协同比普通直流慢多少这是很多项目排期时会遇到的实际问题。同一块板子普通 Power DC 直流仿真可能 10 分钟跑完开启电热协同后因为要迭代求解多轮时间通常增加 3~6 倍。如果网格太细或收敛阈值太严跑上几个小时也不稀奇。我的建议是日常快速迭代用粗网格 默认阈值半小时内出结果用于趋势判断。最终签核用局部细网格 严格阈值作为设计冻结的数据基线。多核并行和分布式求解功能一定要用起来Power DC 对多核支持不错跑大面积板卡时开 16 核能省大量时间。6.3 是每块板都要做还是只做关键板结合我见过的产品类型给一个简单分级手机、平板等便携设备集成度高、电流密度大建议做但叠层薄热耗散差仿真结果要重点看热点。服务器主板电流大、功耗高必须做而且是重点签核项。消费级小家电控制板电流小不做电热协同也没问题普通直流仿真加余量即可。汽车电子电源板环境温度高85℃ 甚至更高建议做而且要特别注意高温下 IR Drop 是否会超预算。电源模块产品DC-DC 模块、POL 模块因为功率密度高要么做电热协同要么做详尽的手工热校验。7. 核心经验总结与最后一个提醒前后做下来电热协同仿真给我最直接的感受是它不是锦上添花而是帮你看到常温仿真里看不见的隐患。如果你发现自己设计的板子在常温仿真里 IR Drop 余量紧张或者局部电流密度已经接近经验极限那就很有必要开启 Power DC 的电热协同。温度一上来电阻率涨压降涨热点更热这个正反馈如果你所设计的板子正好踩中了那常温仿真结果就是偏乐观甚至可能误导你做出错误的设计冻结。最后分享一个小技巧是我个人操作 Power DC 时非常依赖的跑电热协同之前先把常温直流仿真的电流密度图存一份。等电热协同跑完后把两次电流密度图叠在一起看。你会发现高温区域的电流路径往往会因为电阻率变化而发生轻微偏移电流会往温度低、电阻小的路径挤。这个现象肉眼看不明显但数值上对局部温度极值影响很大。如果你在做仿真报告把这两张对比图放进去评审专家一眼就能看出你真正理解了电热协同的价值。电热协同仿真不是万能的但面对高电流密度、高功耗密度、高温环境的板卡不做是不行的。其实用 Power DC 做这一步操作并不复杂核心还是你对模型参数的敬畏——铜厚、电导率、热导率、对流系数每一项都值得较真。把基础数据搞扎实仿真结果才能给你真正的信心。
阅读完成 · 觉得有帮助?