主要内容

检测非有限值、NaN 和次正规浮点值

要检测模型中非有限值、NaN 和次正规浮点值的出现情况,请执行以下操作:

  1. Design Verifier 选项卡的模式部分中,选择设计错误检测

  2. 点击错误检测设置

  3. 在“配置参数”对话框的设计错误检测窗格中:

    1. 选中非有限值和 NaN 浮点值复选框。

    2. 选中次正规浮点值复选框。

    3. 要应用这些设置,请点击确定并关闭“配置参数”对话框。

  4. 点击检测设计错误

Simulink® Design Verifier™ 会分析模型以检测非有限值、NaN 和次正规浮点值的出现情况。

分析完成后:

  • 软件会根据分析结果突出显示模型。

  • “结果摘要”窗口会显示分析的摘要。

假设和限制

当您分析模型时,软件会假设浮点输入值和可调参数值是有限值。

当您分析模型并选择次正规浮点值时,软件会假设浮点输入值和可调参数值是正规值。

使用双精度浮点信号的模型比使用单精度浮点信号的类似模型需要更长的分析时间。因此,使用双精度浮点信号的模型可能会超时,而使用单精度浮点信号的类似模型则可以完成分析。为了提高分析性能,请考虑指定模拟根级 Inport 模块环境约束的最小值和最大值。

如果模型包含浮点信号与多字定点信号之间的类型转换运算,则分析可能无法确定所有目标。

运行设计错误检测分析以检测浮点错误

此示例说明如何检测 sldvexFloatingPointErrorChecks 示例模型中的非有限值、NaN 和次正规浮点值。该模型由导致错误的浮点算术运算组成。执行设计错误检测分析以检测模型中的这些错误。

1.打开模型

此示例模型由处理浮点计算的 Add 和 Divide 模块组成。设计错误检测分析会检测该模型中浮点错误的发生情况并报告结果。

open_system('sldvexFloatingPointErrorChecks');

2.执行设计错误检测分析

该模型已预配置为非有限值和 NaN 浮点值次正规浮点值选项设置为 On。有关详细信息,请参阅Design Verifier 窗格:设计错误检测

要执行设计错误检测分析,请在 Design Verifier 选项卡的模式部分中,选择设计错误检测。点击检测设计错误

软件会分析模型以检测浮点错误,并在“结果摘要”窗口中显示结果。结果表明,6 个目标中有 4 个被证伪。

3.查看分析结果

a.点击在模型上突出显示分析结果。导致浮点错误的模型模块会以红色突出显示。

b.点击以红色突出显示的 Add 模块。结果检查器会显示浮点错误目标的摘要。

c.点击以红色突出显示的 Division 模块。结果检查器会显示浮点错误目标的摘要。

4.查看详细分析报告

要查看详细的分析报告,请在“结果摘要”窗口中点击 HTML。报告会显示模型中所有浮点错误发生情况的摘要。

5.清理

要完成此示例,请关闭模型。

close_system('sldvexFloatingPointErrorChecks', 0);

另请参阅

主题