主要内容

使用模型切片器调试整数溢出设计错误检测

这个例子展示了如何使用模型切片器在Simulink模型中调试整数溢出设计错误。万博1manbetx

先决条件

此示例使用以下产品演示调试设计错误检测违规:s manbetx 845

  • 万博1manbetx仿真软件设计验证器

  • 万博1manbetxSimulink检查(模型切片器)

例子

1.开放模式sldvdemo_design_error_detection

open_system (“sldvdemo_design_error_detection”);

2.开放万博1manbetx仿真软件设计验证器通过点击应用程序>设计验证器

3.在Design Verifier选项卡中,单击检测设计错误.万博1manbetxSimulink设计验证器分析模型并显示结果结果总结窗口。

模型突出显示了失败目标所在的子系统。

4.开放控制器并选择其中一个用红色突出显示的块。

5.在“结果”窗口中单击调试使用模型切片器调试违规。或者,在Design Verifier选项卡中单击审查结果>调试使用切片机使用模型切片器调试违规。

单击任何一个用于调试的入口点,将在模型上完成以下设置:

  • 带有失败目标的选定块被添加为Model Slicer的起点。

  • 模型用负责失败目标的部分突出显示。

  • 对设计模型进行模拟,并在违规时暂停。

6.通过检查端口标签来调试和分析模型。

提示:单击Sum块的输出信号线,启用该块的端口值标签。

您可以观察到,输入变量的和应该是一个非零的数字。

7.研究sum块的输入和输出数据类型。

Sum块的输出值大于输出数据类型可以存储的最大值。因此,这种情况会导致整数溢出。

验证

要确认整数溢出错误已解决,请在设计验证器选项卡上,单击检测设计错误.在分析完成后,软件报告所有的目标都是有效的。

额外的功能

您可以使用本例中演示的工作流来使用modelslicer调试其他设计错误检测违规。以下是支持的设计错误:万博1manbetx

  • 除零

  • 整数溢出

  • 非终结和NaN(非数字)浮点值

  • 指定的最小值和最大值违反

  • 数据存储访问违规

  • 指定的块输入范围违规