0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Saber中如何更好地提高仿真的收敛性(一)

冬至子 来源:Saber仿真 作者:Greatalent 2023-12-05 14:43 次阅读

前言

仿真过程中,由于仿真模型的不连续性,或者模型没有适当地表征/参数化,或者当求解器无法求解控制模型行为的方程时,可能就会出现仿真的收敛问题。

当然,收敛问题没有唯一的解决方案,因此应仔细研究每个设计行为,并应为该设计确定适当的解决方案。

解决仿真的收敛问题,要避免对仿真设置进行随机更改,也要注意避免更改原始设计拓扑。因此可以:

1、使用系统方法。在解决收敛问题时记录好更改。

2、在开始调查问题之前,尝试用最新的Saber 版本中运行设计。

3、对问题进行初步调查并确定攻击点。

4、仔细研读系统给出的错误信息,并参考产品帮助文档判断症结所在。

5、有效地利用调试工具。

6、确保校准分析。

初步调查

可能会出现收敛问题原因很多。因此了解调试过程的起点很重要。初步调查有助于启动调试。有时通过遵循初步调查中提到的纠正措施来解决收敛问题。

初步调查步骤如下。

1、在SaberRD中打开设计时,您是否看到有关缺少符号的任何消息?

识别设计中缺少的符号、连接或节点。在 SaberRD 中打开设计时,Netlister 会弹出一条关于缺少符号的消息(如果有),如下所示:

图片

这可能是由于模型更新、库重构或复制设计文件夹时的人为错误造成的。在这种情况下,请确保模型模板 ( .sin) 和符号 ( .ai_sym) 在工作目录或自定义库或 SaberRD 库中可用。

2、检查是否有任何浮动引脚

浮动引脚是未连接到设计中的任何组件或节点的节点。它们在网表中也被称为“freenet”。此外,某些节点可能会因人为错误而断开连接。如果存在收敛问题,建议检查这些浮动引脚并确保它们被故意遗漏。在大型设计中,很难识别freenet,您可以在Netlist 中搜索关键字“freenet”,并确保有意将它们排除在外,以避免对收敛造成任何影响。

3、检查任何具有挑战性的电路

确保设计不存在如下所示的任何电路条件。设置电感直流阻抗和电容的绝缘阻抗,使设计更加真实。避免电容器电感器的初始条件冲突,如下所示,并为隔离电路提供适当的参考。下面给出了具有挑战性的电路的示例。

  • 无法解决的配置 违反能量守恒定律的电路条件。

图片

  • **人为错误 **对于理想的并联电容器和串联的理想电感器,初始条件应该相同。初始条件的错误使用会导致数值振荡。

图片

  • **隔离地 ** 如果有变压器之类的电气隔离,则应提供适当的接地参考。

图片

  • 同步数字事件 两个数字事件之间应该有有限的延迟。

图片

4、删除临时文件并创建新的网表文件。

SaberRD 在工作目录(保存设计文件的位置)中写出许多与 Netlister 和 Simulator 相关的支持文件。这些文件具有*.ai_tdb、 .ai_ns、 .ai_str、 .ai_grm、 .ai_out、 .ai_compiled、work.ai_vfs、 .ai_vhddsn、*.ai_vhdgrm 等扩展名,并包括等网表文件。sin和.vhd。由于不受支持的 GUI 操作、版本更改或数据损坏,这些支持文件可能会损坏。建议在清除这些支持文件后重新网表设计。

注意:不要删除扩展名为*.ai_sch、 .ai_dsn、 .ai_sym、 .sin(仅适用于模型)的文件和来自模型架构工具的文件(如 .ai_dp、 .ai_mosfet .ai_mct、 . ai_igbt1、 .ai_ams.ai_scan .ai_tlu等)。在删除任何这些文件之前进行备份是个不错的习惯。

5、设计之前是否进行过仿真? 如果是这样,那么发生了什么变化并导致了错误?

如果收敛问题刚好在一些设计修改之后发生,那么这个问题可能是在修改过程中引起的。了解修改的效果以及修改是否是收敛错误的原因。如果修改是将设计的一小部分集成到更大的设计中,请确保小部分经过验证并且电路行为符合预期。此外,确保在集成后,设计行为符合预期,并且电路遵循基尔霍夫电压和电流定律。

6、直流工作点或瞬态分析时是否显示收敛错误?

当出现收敛问题时,仿真器会显示错误消息。错误消息包含指向提供有关错误信息的产品帮助文档的链接。错误中的消息可能是调试的起点。有关产品帮助文档的更多详细信息,将在以下部分中详细说明,遵循错误消息。

有关错误及其发生的知识有助于确定调试过程的起点。有关错误发生的信息至关重要,因为它有助于追踪设计中的任何事件或切换,并从那时起继续调查。对于 DC 工作点,可以使用调试、holdnodes、SDB 命令等仿真器选项进行调试。对于瞬态分析,可以利用监控进度和 ASP(仿真解决方案点)代码进行调试。这也将在本文后面详细介绍。

按照错误信息判断

当出现收敛问题时,SaberRD 会显示错误消息,帮助调试问题并解决问题。收敛问题期间的一些常见错误消息如下所示:

图片

在 SaberRD 中,当显示错误消息时,该工具会指出问题中最可能的部分。受影响的组件/节点将以红色突出显示。当鼠标悬停在突出显示的部分时,紧凑的错误消息显示如下。

图片

脚本窗口中的错误消息将包含一个链接,您可以单击该链接并重定向到产品帮助文档。SaberRD 产品帮助文档简要说明了错误以及解决这些错误的技巧。可以使用产品帮助文档中的链接访问每条错误消息的详细信息。产品帮助文档的快照如下所示。

图片使用调试工具

SaberRD 提供调试工具,用于监控仿真器性能和诊断收敛问题的可能原因。可用的不同调试工具包括调试选项、Holdnodes、SDB 命令和监控进度。

调试选项

调试选项仅在直流工作点分析中可用,可以通过高级仿真设置访问。调试选项是一个切换开关,当设置为“Yes”时,仿真器转录窗口将显示仿真器变量,如行列式符号、函数值、变量的相对变化、牛顿步长限制和超出区域的变量数,如下所示。

图片

如上图,当找到解决方案时:

  • 雅可比行列式的符号通常保持相同的符号 (+)
  • 函数值(通常)首先增加,然后减少(通常是非单调的)直到接近零
  • 变量的相对变化趋近于小值
  • 牛顿步长变量在迭代结束时为零
  • 没有发现区域外的变量,或者只是偶尔发现一些变量

但是当没有找到解决方案时,仿真器将显示如下信息:

图片

观察到行列式的不同符号。

  • 可以看到非常高的功能值
  • 变量的相对变化值高
  • 可以看到更多的牛顿步长变量
  • 发现某些变量超出区域

仔细研究仿真器参数的变化有助于确定收敛问题的原因和解决方案。例如,让我们看一个随附的案例研究。

在下面给出的仿真器报告截图中,可以看出,

  • 行列式变化广泛
  • 函数值和相对变化过,然后急剧增加到NaN,
  • 大量变量受牛顿步长限制
  • 突然变量超出区域

图片

这种行为的原因可能是由于牛顿步长限制不足。要了解有关牛顿步长限制的更多信息,请参阅产品帮助文档(The Designer’s Guide to Analog & Mixed-Signal Modeling> Simulator Convergence>NumericalOscillation and Divergence)。在这种情况下,推荐的解决方案是增加牛顿阶跃密度。将操作点高级仿真设置中的 Newton Step Density 从 3(默认)增加到 5,可以看到仿真收敛并找到了解决方案。

图片

保持节点

对于具有多个稳定工作点(例如锁存器、触发器和计数器)的系统,无偏直流工作点分析可能会在工作点之间“卡住”,而不是找到一个。另一方面,根据设计,DC 分析可能可以轻松找到工作点,但它找到的可能不是您最感兴趣的。使用Holdnodes,可以将指定节点保持在指定值,而运行工作点分析。Holdnodes 可用于将系统偏向特定的解决方案。要将节点保持在特定值,请输入节点名称及其路径和值,以空格分隔,如下所示。

语法->::.:

**释放保持节点 **

此选项指定是否应分两步找到解决方案,首先保留节点,然后释放。设置为 Yes 时,操作点分析分两步运行。在第一步中,节点保持在指定的值,然后在第二步中,节点被释放并使用第一步的结果作为输入。当设置为 No 时,不使用 Holdnodes 的操作点分析(第二步)不会在使用 Holdnodes 的分析之后运行。您还可以同时持有多个节点。每个节点及其各自的值应由空格分隔,如下面的界面所示。

图片

注意:不支持信号名称中的通配符。您必须指定要保持的信号名称。

在上面的例子中,模型 boostavg 的顶级节点“v_battery”和内部节点“il”分别保持在值 1 和 0。当释放保持节点处于活动状态时,这些节点保持在指定的值,然后运行操作点分析,然后释放它们并使用在第一部分中获得的值作为初始点运行操作点的第二部分。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电容器
    +关注

    关注

    63

    文章

    5813

    浏览量

    96771
  • 电感器
    +关注

    关注

    20

    文章

    2197

    浏览量

    69554
  • 仿真器
    +关注

    关注

    14

    文章

    988

    浏览量

    82993
  • 隔离电路
    +关注

    关注

    8

    文章

    64

    浏览量

    36842
  • 变压器
    +关注

    关注

    0

    文章

    886

    浏览量

    4010
收藏 人收藏

    评论

    相关推荐

    Saber中如何更好提高仿真的收敛性(二)

    SDB 命令用于监控无法通过任何其他调试工具直接监控的仿真器事件。SDB 命令在 SaberRD 命令行中用于查看仿真器事件,例如牛顿步长限制、阈值和调度事件。
    的头像 发表于 12-05 14:46 485次阅读
    <b class='flag-5'>Saber</b>中如何<b class='flag-5'>更好</b>地<b class='flag-5'>提高</b><b class='flag-5'>仿真的</b><b class='flag-5'>收敛性</b>(二)

    请教saber仿真mosfet的问题

    我使用saber仿真mosfet的时候,感觉输出电压跟输入电压关系不大,好像跟门控电压关系更大,这样不合理,所以弄了个最简单的电路试下,真的很奇怪,求教,谢谢。
    发表于 12-12 12:12

    FEM电磁仿真的一致性收敛问题

    形状(在基板定义中考虑)不在第象限(正x,积极的y)布局编辑器窗口的笛卡尔坐标系。不知道它是否是FEM模拟器的错误。如果不是这种情况,那么我建议您FEM电磁仿真一致性收敛问题在布
    发表于 12-29 16:45

    实现Saber电源仿真的方法

    替代大量的实际调试工作,节约可观的人力和物力投入,极大的提高开发效率。Saber仿真软件是个功能非常强大的电路仿真软件,尤其适合应用在开关
    发表于 10-29 06:27

    决定仿真精度的主要因素

    ),SABER能提供的与精度相关的参数远比PSPICE多,所以提高精度的空间很大。对于仿真算法,SABER使用的是专利算法,可以大幅度地提高
    发表于 11-11 09:07

    B值独立同分布随机变元序列矩完全收敛性

    讨论了B值独立同分布随机变元的矩完全收敛性,在一定矩条件下得到了B值同分布随机变元的矩完全收敛性。将相关的B值独立同分布随机变元的完全收敛的结果推广到了B值独立同
    发表于 12-10 17:23 6次下载

    B值同分布鞅随机列矩完全收敛性的注记

    讨论了B值同分布鞅随机变量的矩完全收敛性,在一定矩条件下,利用切尾法和下鞅的极大值不等式等分析技巧,得到了同分布鞅随机变量的矩完全收敛性,将Chow实值独立同分布随
    发表于 12-10 17:24 4次下载

    基于量子粒子群算法的收敛性研究

    对基于量子行为的粒子群算法(QPSO)的收敛性进行分析。 QPSO 算法不仅参数个数少,随机性强, 并且能覆盖所有解空间, 保证算法的全局收敛性。通过四个经典的基准函数对算法进行
    发表于 12-18 16:18 15次下载

    Saber Simulink协同仿真方法

    Saber可以和Simulink实现协同仿真(Co-Sim),仿真时以Saber为主机,调用Simulink,两个软件以固定时间步长交换数据.运用S
    发表于 06-18 15:37 68次下载

    如何解决Saber收敛性问题

    网友的问题如下: domono老师,saber仿真中遇到最多,最复杂的一个问题--- 不收敛.这是对我们初学者最大的困难.今天又遇到,做DC分析出现如下错误: *** ERROR "ALG_SINGULAR_JACOBIAN"
    发表于 06-19 15:56 2315次阅读

    板级模拟电路仿真收敛性技术研究

    电路仿真不仅应用于电路设计阶段,也用于电路故障诊断中。电路仿真结果能够为建立电路测试诊断知识库提供重要的参考信息。本文简要介绍了电路仿真收敛性的相关理论,分析了板
    发表于 05-27 16:30 27次下载
    板级模拟电路<b class='flag-5'>仿真</b><b class='flag-5'>收敛性</b>技术研究

    saber2011仿真的uc3842

    saber2011仿真的uc3842,模型简单,希望能帮助刚使用saber的你
    发表于 08-23 16:46 104次下载

    关系模型的进化算法收敛性对比的详细资料说明

    研究建立了一种等态等价关系与强/弱态偏序关系模型,用于分析进化算法在收敛性上的等价性与可比性.基于吸收态Markov(马尔可夫)性,满足等态关系的进化算法具有等价的收敛性,从而在收敛性意义上实现
    发表于 12-03 14:15 6次下载

    Saber Pspice simulink电源仿真软件的区别

    等),SABER能提供的与精度相关的参数远比PSPICE多,所以提高精度的空间很大。对于仿真算法,SABER使用的是专利算法,可以大幅度地提高
    发表于 11-06 14:21 33次下载
    <b class='flag-5'>Saber</b> Pspice simulink电源<b class='flag-5'>仿真</b>软件的区别

    一文解读PSpice中的收敛性问题及其相关因素

    前言:耀创科技U-Creative|CadenceChannelPartner在帮助客户解答PSpice软件使用问题超过15年,客户经常会提到仿真收敛性问题,因此,通过发表此文详解PSpice
    的头像 发表于 04-13 08:12 180次阅读
    一文解读PSpice中的<b class='flag-5'>收敛性</b>问题及其相关因素