ARTICLE DETAIL

资讯详情

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

ADS EM仿真:Momentum/FEM与EM-Cosim实战避坑

ADS EM仿真:Momentum/FEM与EM-Cosim实战避坑 仿真跑了两个小时回来一看 S21 比电路仿真高了 1.8 dB把频率范围放宽一点又冒出一串非无源non-passive的警告——这种时候最想做的事就是把电脑关了。这句话我跟不少同行都聊过最后的结论几乎都一样是德科技 ADS 里的 EM 仿真难点从来不在点那个运行按钮而在跑之前能不能判断清楚这次到底在算什么参数该给多少结果能信到什么程度。我把近两年在项目和调试里踩过的坑整理了一遍从 Momentum 和 FEM 的分工到 EM Model 与 EM-Cosim 两种联合仿真模式怎么选再到网格、频率计划、端口参考面、层叠材料这些一眼看不出问题的参数最后落到差分线、Doherty 功放输出网络、工艺库层映射这些具体场景里的处理方式。刚把版图画完、第一次点 EM 仿真的新手能照着搭跑过几十次但总觉得结果差一点点的老手也能从里面找到几条能直接改的细节。1. 先把EM 仿真这四个字拆开ADS 里到底有几种算法在等你1.1 Momentum、FEM 与 RFPro 的真实分工ADS 的 EM 仿真在界面上是一套底下跑的求解器其实是好几个。这层不搞清楚后面所有结果不对都无从查起因为你连该怀疑谁都不知道。Momentum 是平面矩量法MoM求解器本质是 2.5D介质是分层的用分层格林函数描述金属被当成薄片只在导体表面划网格不往介质里划体网格。它天生适合微带线、带状线、耦合线、螺旋电感、平面滤波器、共面波导以及带有限接地板的天线。Momentum 内部还有两种模式Microwave 是全波会把辐射和表面波算进去RF 模式偏准静态忽略辐射速度快很多。软件会按你的网格频率和结构尺寸自动选但手动指定往往更稳。FEM 是三维有限元用四面体网格把整个求解区域切开金属、介质、空气都是体网格。它的强项是过孔阵列、连接器、封装、倒装焊、波导、厚金属结构以及任何在垂直方向上有真实三维形状的东西。FEM 需要辐射边界或者吸收边界把求解域封住还带自适应网格加密能按 S 参数的收敛情况自己细化。代价就是内存和时间结构一大就容易爆。RFPro 严格讲不是第三个求解器它是 ADS 里的一层工作流外壳把 Momentum/FEM 和电路仿真器缝在一起统一了版图导入、层叠映射、端口定义、数据缓存和结果回灌并且对外只暴露两种模式EM Model 和 Co-simulation。你后面遇到的绝大多数联合仿真问题其实都是这一层的问题。求解器适合的结构网格方式相对耗时最容易出的问题Momentum平面传输线、滤波器、耦合结构、片上电感导体表面 2D 网格中网格过粗导致谐振偏移FEM过孔、封装、连接器、波导、3D 过渡四面体 3D 网格高内存爆掉、收敛慢RFPro上述两者的调度层继承底层取决于模式数据缓存与参数网格不匹配1.2 什么时候必须上 EM什么时候电路模型就够了判断标准说到底就两条电尺寸和耦合强度。走线长度小于 λ/10、周围没有明显的邻近结构、也没有刻意设计的耦合那传输线模型加上集总元件完全能顶没必要花两小时跑 EM。一旦进入下面这几种情况电路模型就开始骗人了。第一类是有意耦合的结构耦合器、定向耦合器、多阶滤波器、变压器、Doherty 的输出合成网络。这些结构的全部功能都建立在两条线之间的耦合系数上而耦合系数对线间距、介质厚度、边缘场的敏感程度恰恰是理想传输线模型完全丢掉的。第二类是电尺寸大单段走线超过 λ/10或者长距离的馈电网络。这时候相位误差会累积用理想传输线算出来的相位斜率跟实际情况差得越来越远。第三类是垂直结构过孔、倒装焊球、封装引线。这些是三维的平面求解器要么处理不了要么需要额外近似。我自己的习惯是分层建模动手之前先在纸上把电路分成三堆——必须 EM 的、可以用传输线或集总模型代替的、必须用厂商实测数据的。分完再动手能省掉一大半的仿真时间。很多人一上来就把整个版图丢进 EM结果又慢又不准其实是把不需要 EM 的部分也一起算了。2. EM Model 与 EM-Cosim两种联合仿真模式的选择逻辑2.1 EM Model 模式一次提取反复复用EM Model 的思路很直白版图交给 EM 引擎算一次吐出来一个带端口的 S 参数模型电路仿真器后面直接调用这个模型。如果模型是参数化的比如线宽、长度作为变量RFPro 会生成一个多维的数据网格调谐时通过插值取点速度非常快。这套机制的价值在于批量工作。做参数扫描、优化、蒙特卡洛、良率分析动辄几百上千个点如果每个点都真跑一遍 EM时间上是不可接受的。EM Model 把 EM 的开销摊销到一次提取上剩下的交给插值。但它有个前提必须想清楚插值的精度取决于采样网格和结构的非线性程度。线宽在 0.2 mm 到 0.3 mm 之间变化时阻抗基本是线性的稀疏采样没问题但如果结构里存在强谐振或者模式切换插值出来的结果会在两个采样点之间编出一个不存在的峰。这个坑我踩过一次某个窄带滤波器在 5.75 GHz 附近有个尖锐的传输零点我用五点采样做 EM Model优化器把所有点都优化得很好实际加工出来零点位置偏了 60 MHz回头一看是插值把零点位置平滑掉了。提示用 EM Model 做优化之前先手动在变量空间的几个中间点验证插值误差误差超过你能接受的门限就加密采样别指望优化器帮你发现这个问题。2.2 EM-Cosim 模式电路求解器驱动的迭代Co-simulation 是反过来的逻辑电路仿真器在跑的时候遇到 EM 部分就向 EM 引擎要数据。如果缓存里有当前参数组合的结果就复用没有就现场算一个。整个过程由电路求解器驱动所以你调谐时改一个尺寸它会把受影响的 EM 数据重新算一遍结果永远跟当前版图一致。这种一致性正是它最大的价值。设计早期结构还没定型交互式调优的频率很高每次改尺寸都手动重新提取一次 EM人会疯掉。Co-sim 让你像调理想电路一样调真实版图代价就是慢尤其是每次触及缓存里没有的参数点。需要说明的是这两个模式的名称、触发方式、缓存管理策略在不同 ADS 版本里差别不小。我手上用的是 ADS 2023更早的版本里这套东西可能叫别的名字界面入口也不一样。你只需要记住背后的逻辑一个是先算后用一个是边用边算名字怎么变都不影响判断。2.3 两种模式的取舍对照表对比维度EM ModelEM-Cosim单点速度首次提取慢后续极快每点都要算慢结果一致性依赖插值网格外需重新提取始终与当前版图一致参数扫描强项适合几百点以上不适合大范围扫描交互调优网格内很快网格外会卡强项改哪算哪内存占用取决于数据网格规模取决于缓存规模适用阶段拓扑确定后的批量优化、良率分析设计前期结构探索、版图定稿前复核我自己的用法是设计前期全部用 Co-sim 做交互式调整把拓扑和大致尺寸敲定结构稳定之后切成 EM Model用稀疏采样加验证点的方式做批量优化和良率分析版图送出去之前再用 Co-sim 在最终尺寸上复核一遍确认插值没有骗我。这个流程听上去多花了一轮时间但比起流片回来发现偏差成本可以忽略。3. 让仿真跑得动、跑得准网格、频率、端口、层叠3.1 网格密度不是越密越好Momentum 的网格密度由几个参数共同决定网格频率Mesh Frequency、每波长网格数Cells per Wavelength、是否开启边缘网格Edge Mesh、网格缩减系数Mesh Reduction。新手最常见的两种极端一种是全用默认值不管结构另一种是盲目把网格密度拉到最高。正确的做法是做一次收敛性测试。以目标频段的中心频率为网格频率先用默认的每波长 20 到 30 个网格跑一次然后把网格密度提高 30% 再跑一次比较两次的 S 参数。如果幅度差小于 0.1 dB、相位差小于 1 度说明当前的网格已经足够如果差得更多就继续加密直到收敛。高 Q 结构要特别小心。窄带滤波器、谐振器、高 Q 电感这类结构S 参数的峰谷形状对微小的损耗和网格误差极其敏感网格差一点Q 值就能差出百分之十几。这类结构的收敛性测试要比普通传输线严格得多我一般要求幅度差小于 0.05 dB 才算过。3.2 频率计划离散、自适应还是插值频率扫描方式的选择直接决定了你拿到的是真数据还是编出来的数据。单点或离散扫频适合确认某个特定频点的行为比如只看 5.8 GHz 的插损。缺点是你看不到频响的整体形状中间冒出个谐振你也不知道。自适应扫频Adaptive是目前最常用的方式你给它一个误差容限比如最大 |ΔS| 不超过 0.02它自己决定在哪些频率点加密用插值补全中间的值最后给出一条满足容限的曲线。用得好非常省时间用得不好会在窄带谐振附近漏采样。所以自适应的容限要结合结构的 Q 值来定高 Q 结构建议收紧到 0.005 甚至更低。这里有一个几乎每个人都会踩的坑跟包络仿真有关。EM 提取出来的 S 参数模型最后是要被电路仿真器调用的而电路仿真器需要哪个频段的数据取决于你在做什么分析。做小信号 S 参数分析覆盖 f0 附近就够了做谐波平衡或者包络仿真求解器会用到谐波频率上的数据。如果你给功放做包络信号仿真而 EM 数据只覆盖了 f0±200 MHz求解器跑到三次谐波时会拿着一个外推出来的值去算结果自然不可信。注意EM 频率计划必须覆盖后续所有分析需要用到的频段包括谐波和调制边带。我一般对功放类的电路直接开到 DC 到 3f0调制带宽宽的话再往外扩一点宁可多算几个频点。还有低频稳定性这件事。矩量法在很低的频率下矩阵条件数会变差提取出来的实部和虚部容易带上数值噪声直接表现为 S 参数在低频端出现非无源或者非因果的行为。遇到这种情况可以只从一定频率开始提取低频段用外推或者在电路里补一段理想传输线但外推一定要保守。3.3 端口与参考面绝大部分结果不对出在这里端口的类型先要对应上。边缘端口Edge Port用于走线端面的馈电过孔端口Via Port用于信号从一层穿到另一层再接到地的情形内部端口Internal Port用于给结构内部的某个位置加激励。类型选错激励方式就错了后面所有结果都没有意义。地回路的问题同样致命。两端口结构必须有明确定义的参考地否则端口电压这个量本身就没有定义。在共面波导或者带地的微带结构上端口的地端必须真的接到地上的导体浮空的地不会自动帮你构成回路只会让 solver 给你一个莫名其妙的结果。校准De-embedding是另一个高频出错点。Momentum 提供 TML 校准和 Delta 校准作用是把馈线本身的效应从结果里剥掉让参考面落在你指定的位置。如果你打算把 EM 结果接回原理图那么 EM 的参考面必须和原理图里元件的接入点严格对齐。差半个毫米相位在 5.8 GHz 上就能差出十几度。我的做法是在版图上专门预留一段长度已知的馈线用 TML 校准把参考面推到馈线末端然后在原理图里从同一个位置接出去。差分结构的端口设置后面在第 6 节单独说。3.4 层叠和材料别复制粘贴别人的参数层叠定义是 EM 仿真里最不起眼、也最容易致命的地方。每一层需要给出的东西包括厚度、相对介电常数、损耗角正切、导体厚度、导体电导率以及是否考虑表面粗糙度。这些参数里任何一个填错结果就会整体偏移。介电常数和损耗角正切应该按工作频率取值很多板材的数据手册给的是 1 MHz 和 10 GHz 两个值中间频段是要你自己插值的。损耗角正切对插入损耗的影响非常直接如果实际板材的损耗角正切是 0.0037你填了 0.002插损算出来会偏乐观一大截。导体厚度和表面粗糙度经常被忽略。薄铜和厚铜在毫米波频段的差别相当明显表面粗糙度则会让高频段的导体损耗增加百分之几十。这些参数在板材手册和铜箔规格书里都能查到填进去的成本很低不填的代价很高。单位问题我必须单独提一句。用厂商 PDK 或者别人的工程文件时层厚单位可能是微米、密尔或者毫米。我自己踩过一次把 0.5 密尔当成 0.5 毫米填进去谐振频率直接偏了三成多排查了半天才发现是单位。4. 结果不对怎么查一份来自实际项目的排查记录4.1 从跑不起来到跑得动最常见的报错是内存不足。矩量法的矩阵是稠密矩阵内存占用大致随未知量数量的平方增长求解时间随三次方增长。遇到内存报错可选的应对手法按优先级排先降网格密度前提是做过收敛性测试知道能降到哪再开启网格缩减然后把大结构拆成几个子块分别提取用电路把子块连起来最后才是减少频率点数。端口没接上Port not connected通常不是软件的问题是版图的问题。端口必须落在导体上并且要跟地构成完整回路。检查方法很简单在版图里把网表连通性检查Connectivity Check跑一遍让工具告诉你哪些网络是浮空的。FEM 报收敛失败时先别急着骂求解器。自适应网格加密跑了很多轮还在震荡往往是几何里有非常尖锐的边角或者极薄的缝隙网格再怎么加密也抓不住。这时候应该回头修几何把不必要的尖角倒圆、把重叠的层合并比调参数有效得多。提示版本管理也值得说一句。ADS 的界面和默认参数在大版本之间会变工程文件向上兼容但向下不兼容。我自己的做法是同时保留一个稳定的工作版本升级之前把 workspace 整个备份一份确认新版本跑通了再切过去。这个习惯帮我省过好几次返工。4.2 S 参数反常的五种典型情况谐振频率整体偏移八成是材料参数或者物理尺寸的问题。先核对介电常数、介质厚度、线宽再核对单位。Q 值比预期低先看导体损耗是否开启、粗糙度是否设置再看有没有把辐射算进去。平面结构在介质较薄时辐射损耗很小但如果接地板不完整或者边缘开放辐射会在高频段明显拉低 Q。频响上出现不该有的尖刺通常是两个原因一是端口激励不纯比如差分结构用单端端口激励共模分量在结构里来回反射二是结构本身的内部谐振尤其是接地板不完整的时候。把端口类型改对或者调整接地板的过孔排布尖刺往往就消失了。结果被判为非无源或非因果这一般跟提取方式和插值有关。窄带提取出来的数据外推到宽带、自适应扫频在谐振附近采样不足、低频段数值噪声都会触发这个警告。处理办法是扩大提取带宽、加密谐振附近的采样、从较高频率开始提取。结果整体漂移幅度和相位同时偏基本可以锁定端口参考面不一致。这种情况我一般会在版图上量一遍从端口到第一个不连续点的距离跟原理图里的对应长度逐一对齐。4.3 版图与 EM 提取不一致的定位方法EM 提取的范围和原理图上的元件划分必须严格对应。最常见的错误是双重计算电路原理图里已经放了某个元件的模型EM 又把这块金属结构算了一遍两边的效应叠加在一起。排错的办法是把 EM 的端口在版图上标出来逐个对照原理图里的连接点确保每个物理结构只被计算一次。另一类是漏算版图上画了某块金属但 EM 的层映射里没有定义这一层求解器就把它当成了空气。表现出来就是电气连接断了、或者某些耦合莫名其妙地消失了。这类问题在导入外部工艺库的时候特别容易出现因为层号、层名和 EM 的层叠定义是两套东西需要手工对应。连通性检查之后还有一步是覆层对齐Overlay。版图上的各层如果存在微小的偏移或者重叠表面上看不出来但网格会把重叠区域处理成异常厚的金属或者把本该连通的地方切成两段。导入 GDS 之后的坐标精度问题也属于这一类。4.4 常见问题速查表现象最可能的原因优先排查动作求解器报内存不足网格过密、结构过大降低网格密度、启用网格缩减、拆分子块端口无激励端口不在导体上、地回路缺失跑连通性检查核对端口位置FEM 网格加密不收敛几何有尖角或极薄缝隙修几何倒圆、合并重叠层谐振频率整体偏移材料参数或单位错误核对介电常数、厚度、单位制插入损耗偏乐观损耗角正切或粗糙度未设按手册补齐损耗参数频响出现异常尖刺端口类型错、内部谐振改端口类型、加接地过孔非无源警告窄带提取加外推扩带宽、加密谐振点采样结果整体漂移参考面不一致对齐版图与原理图的接入点某些耦合消失金属层未映射到 EM 层叠核对工艺库层号与层叠定义5. 完整实操一条 5.8 GHz 微带线的 EM-Cosim 记录下面这条流程我用了很多次结构简单但把关键环节都覆盖到了适合拿来当模板。5.1 建模与层叠设置介质选典型的射频板材相对介电常数 3.48损耗角正切 0.0037厚度 0.508 毫米20 密尔铜厚 35 微米铜电导率按 5.8e7 S/m 填表面粗糙度按常规铜箔的量级设置。按这些参数算5.8 GHz 处 50 欧姆微带线的线宽大约在 1.1 毫米左右有效介电常数约 3.2对应波导波长约 28.9 毫米四分之一波长约 7.2 毫米。这几个数字在设置网格频率和扫描范围时会用到。层叠定义里需要注意的有两点一是介质层只能是介质不能和空气层重叠重叠的层会被当成异常厚的介质二是接地板要作为独立的一层金属定义电导率和厚度跟信号层一致。如果接地板上有开槽或者过孔阵列必须在版图上如实画出EM 提取的是几何不是你的意图。5.2 端口与网格参数的具体取值线长取两个四分之一波长约 14.4 毫米两端各设一个边缘端口。端口的地端接到接地板上确保回路闭合。网格频率设为 5.8 GHz每波长网格数先用 25开启边缘网格。先跑一次基准再按前面说的收敛性测试加密一次对比。频率计划选择自适应扫频范围从 4 GHz 到 8 GHz误差容限设 0.01。这个结构没有尖锐谐振容限可以放宽一点如果是窄带滤波器我会收到 0.005 以下。设置好之后先跑一次单点的 S 参数确认回波损耗在 5.8 GHz 附近落在合理的量级插损在每波长零点几个 dB 的量级。如果第一次跑出来就是几十 dB 的插损不用怀疑肯定是参数填错了。5.3 联合仿真配置与结果比对把提取好的 EM 结构拖进原理图两端接上 50 欧姆端口做一个标准的 S 参数扫描。然后用同样的线宽和长度搭一条理想传输线两者对比。对比的时候不要只看插损相位才是更敏感的指标。理想传输线的相速度是频率的线性函数而实际微带线存在色散相位斜率会随频率变化。差异主要体现在高频端这本身就是 EM 仿真应该体现出来的物理效应也是理想模型永远给不出的东西。如果你在原理图里还接了匹配网络或者偏置电路那 EM 的参考面就必须落在这些电路的接入点上否则匹配效果会整体偏移。5.4 用收敛性测试给结果上保险我给自己定的规矩是任何 EM 结果送出去之前必须做三件事。第一件是网格收敛性测试网格密度提高 30%幅度变化小于 0.05 dB、相位变化小于 1 度。第二件是频率采样加密测试把自适应容限收紧一半看 S 参数曲线的形状有没有变化尤其是峰谷位置。如果位置动了说明之前的采样不够。第三件是参考面移动测试把端口位置沿走线移动一小段距离用传输线的相位关系反推看反推出来的相速是否和理论值一致。这一步能同时验证端口设置和材料参数。这三件事做完基本上可以把结果不对是因为设置不对这个可能性排除掉剩下的偏差就都可以归因到真实的物理效应上了。6. 复杂场景的补充经验差分线、Doherty 与工艺库6.1 差分线做 EM 仿真的端口与去嵌处理差分结构最容易犯的错是用单端端口激励然后自己脑补差分响应。正确做法是在端口设置里直接定义差分端口把两条线作为一对来激励。拿到单端四端口的结果之后需要转换成混合模式参数才能看差分行为。差分端口对端口 1 为正、端口 2 为负的差模回波损耗可以按下面的关系算Sdd11 (S11 - S12 - S21 S22) / 2 Scc11 (S11 S12 S21 S22) / 2 Scd11 (S11 S12 - S21 - S22) / 2 Sdc11 (S11 - S12 S21 - S22) / 2其中 Sdd 是差模响应Scc 是共模响应Scd 和 Sdc 是模式转换。Sdc 这个量特别值得看它直接反映了两条线的不对称程度。理想对称的差分对模式转换应该很小如果 Sdc 明显偏大说明两路线长不等、参考地不对称、或者有单边的不连续结构。去嵌方面差分结构要同时对齐两条线的参考面。如果两条线的馈线长度不一样转换出来的混合模式参数里会混进额外的相位差看起来像是模式转换其实只是几何不对称。把两条馈线做成等长或者分别单独去嵌都能解决。6.2 Doherty 放大器输出网络的 EM 处理要点Doherty 的输出合成网络是典型必须上 EM的结构。载波路和峰值路之间通过四分之一波长阻抗变换线耦合两路之间的相互作用、合成节点处的不连续性、偏置馈电网络的寄生都会显著影响回退功率点的效率。提取范围要划清楚。我一般把载波路和峰值路的主传输线、合成节点、以及阻抗变换线一起放进 EM因为它们之间的耦合正是这个结构的工作机理。偏置馈电网络里的去耦电容不要放进 EM那些是集总元件模型本身已经包含寄生放进 EM 等于算两次。正确做法是在版图上把焊盘留出来作为 EM 的端口接到原理图在原理图里连到元件的模型上。频率范围要覆盖到三次谐波。Doherty 的效率对二次、三次谐波的终端阻抗很敏感如果 EM 数据只到基波附近谐波频段的寄生完全看不出来仿出来的效率曲线会很乐观。做包络信号仿真的时候更要留意调制带宽加上谐波范围才是真正需要覆盖的频段。最后是相位精度。Doherty 两路之间的相位关系决定了合成效率而相位对版图长度极其敏感。EM 的参考面设置必须非常清楚两路的参考面要对齐到同一个位置否则相位误差会直接体现在效率上。6.3 工艺库层映射与元件模型混用的注意点用 CMOS 工艺库做片上结构时层映射是绕不开的一步。工艺库里的层定义是按设计规则给的跟 EM 求解器需要的层叠定义不是一回事需要手工对应。要核对的东西包括每一层的厚度、电导率、介电常数顶层厚金属和下层薄金属的区别过孔的电阻和尺寸以及钝化层的存在与否。尺寸单位在工艺库里通常是微米转换到 EM 的时候要注意和毫米、密尔之间的换算。工艺库提供的层叠信息里有些数值是针对设计规则检查用的不能直接拿来做 EM最好从工艺的器件手册里取电气参数。元件库混用的问题也很常见。厂商提供的元件模型包括常见的片式元件库给出的 S 参数模型本身就包含了元件内部的寄生和封装效应。如果你在 EM 里把这块元件也建了模两边的寄生就叠加了。正确做法是 EM 只管版图上的互连和焊盘元件按端口接出来在原理图里连接。另外元件模型的频率范围也要注意。厂商给的 S 参数模型通常覆盖一定的频率区间超出这个区间软件会做外推。如果你的工作频率落在区间边缘或者外面结果就会失真。遇到这种情况要么换一个覆盖范围更宽的模型要么回到 EM 里把这块元件按物理结构建模但那样就需要准确的内部几何信息。最后再提一个小细节跟结果查看有关。EM 仿真出的曲线经常需要截取某一段来看改横轴范围最直接的办法是双击坐标轴打开轴设置在 Min 和 Max 里填你要的区间或者右键选轴属性。这个操作看着简单但不少人会去改数据本身结果把原始数据弄丢了。改显示范围永远只改显示不要动数据。我在实际项目里的体会是ADS 的 EM 仿真真正吃经验的地方不在于会不会点按钮而在于每次跑之前能不能说清楚三件事这次要算的物理对象是哪一个、参数取值的依据是什么、结果出来之后用什么标准判断它可信。这三件事想明白了仿真时间通常能砍掉一半送出去的版图返工率也会明显下降。
返回列表