检测非有限、NaN 和次正常浮点值
要检测模型中非有限、NaN 和次正常浮点值的出现情况,请执行以下操作:
在 Design Verifier 选项卡的 模式 部分中,选择 设计错误检测 。
点击 Error Detection Settings 。
在配置参数对话框的设计错误检测窗格中:
选中 非有限和 NaN 浮点值 的复选框。
选中 低于正常值的浮点值 的复选框。
要应用这些设置,点击“OK”并关闭“配置参数”对话框。
点击 检测设计错误 。
Simulink® Design Verifier™ 分析模型以检测非有限、NaN 和次正常浮点值的出现。
分析完成后:
该软件通过分析结果突出显示模型。
结果摘要窗口显示分析的摘要。
假设和限制
当您分析模型时,软件会假定浮点输入值和可调参数值是有限的。
当您分析模型并选择低于正常值的浮点值时,软件会假定浮点输入值和可调参数值是正常的。
使用双精度浮点信号的模型比使用单精度浮点信号的类似模型需要更多的时间来分析。因此,使用双精度浮点信号的模型可能会超时,而使用单精度浮点信号的类似模型则可以完成分析。为了提高分析性能,请考虑指定模拟根级 Inport 模块的环境约束的最小值和最大值。
如果模型包含浮点信号和多字定点信号之间的强制转换运算,则分析可能无法确定所有目标。
运行设计错误检测分析来检测浮点错误
此示例展示如何在 sldvexFloatingPointErrorChecks
示例模型中检测非有限、NaN 和次正常浮点值。该模型由导致错误的浮点算术运算组成。执行设计错误检测分析来检测模型中的这些错误。
1.打开模型
该示例模型由处理浮点计算的 Add 和 Divide 模块组成。设计错误检测分析检测模型中浮点错误的发生并报告结果。
open_system('sldvexFloatingPointErrorChecks');
2.执行设计错误检测分析
该模型已预先配置非有限和 NaN 浮点值和亚正常浮点值选项,并将其设置为开。更多信息请参阅设计验证器窗格:设计错误检测。
要执行设计错误检测分析,请在Design Verifier选项卡的模式部分中选择设计错误检测。单击检测设计错误。
该软件分析模型中的浮点误差并在结果摘要窗口中显示结果。结果表明,6
个目标中的 4
个是伪造的。
3.查看分析结果
a.点击突出显示模型上的分析结果。导致浮点错误的模型模块以红色突出显示。
b.单击以红色突出显示的添加模块。结果检查器显示浮点误差目标的摘要。
c.单击以红色突出显示的Division模块。结果检查器显示浮点误差目标的摘要。
4.查看详细分析报告
要查看详细的分析报告,请在“结果摘要”窗口中点击“HTML”。该报告显示模型中所有浮点错误发生的摘要。
5.清理
为了完成此示例,请关闭模型。
close_system('sldvexFloatingPointErrorChecks', 0);