万博1manbetx优化和模型覆盖
在“配置参数”对话框中,有3个Simulink万博1manbetx®可能影响模型覆盖率数据的优化参数:
内联参数
若要将可调模型参数转换为用于代码生成的常量值,请在“配置参数”对话框中数学和数据类型窗格中,设置默认参数行为来内联
.
当参数转换为常数时,Simulink可能会消除模型中的某些决策。万博1manbetx您无法实现已消除决策的覆盖率,因此将显示覆盖率报告0/0
为了那些决定。
块减少
要在模型模拟期间和生成的代码中实现更快的执行,请在“配置参数”对话框中选择块减少参数。Simu万博1manbetxlink软件可以将特定组的块分解成一个更有效的块,或者将它们完全移除。
其中一个模型覆盖选项,强制压块复位,允许您忽略块减少参数时收集模型覆盖率。
如果不选择块减少参数,或者根据您的选择强制压块复位,万博1manbetx仿真软件覆盖™软件为模型中收集覆盖率的每个块提供覆盖率数据。
如果您选择块减少参数,不设置强制压块复位,覆盖率报告列出了将收集覆盖率的减少的块。
条件输入分支执行
的条件输入分支执行参数可能导致低于预期万博1manbetx仿真软件覆盖结果。
案例1:上游开关块完全优化
一个常数块设置为假
连接到控制输入上C_Switch2导致真正的
的情况下C_Switch2不发生条件输入分支执行优化C_Switch1结果出局了。万博1manbetx仿真软件覆盖报告0%的覆盖率C_Switch1.
因为C_Switch1块是死逻辑,覆盖率报告生成一个从覆盖率分析中消除的块。
案例2:上游交换机块部分优化失效
一个一步块转换为布尔数据类型输出假
而且真正的
分别为步进时间的前后。
禁用条件输入分支执行提供全面的覆盖。启用条件输入分支执行提供部分保险A_Switch1因为A_Switch1不同时看到一个假案吗A_Switch2看到一个真实的案例。换句话说,两者皆有开关块为真,或者两个都为假。错误的情况A_Switch1不影响模型。覆盖率报告正确地报告50%的覆盖率A_Swtch1.
解决覆盖不全问题
您可以在模型中解决不完整的覆盖条件输入分支执行参数由:
修改模型设计。由于不完整的覆盖条件输入分支执行可能是模型设计的缺陷。
如果模型中不可访问的逻辑是故意的,则说明缺失的覆盖。
提供一个可以访问所有交换机决策的更健壮的测试用例。
清算条件输入分支执行.这消除了不完整的问题开关覆盖,但没有处理不可访问的逻辑。
使用方法请参见条件输入分支执行.
限制
条件输入分支执行不适用于状态流®图表。