收集整数溢出覆盖率
此示例显示如何配置模型来收集整数溢出饱和覆盖率。
slvnvdemo_saturation_on_overflow_coverage
模型包含三个 Sum 模块,配置为整数溢出时饱和。该模型使用一个测试框架,为 Test Unit
子系统提供一组输入,导致一个 Sum 模块上的整数溢出覆盖率完全饱和,而另外两个模块上的覆盖率不完整。
在模型上启用整数溢出覆盖饱和
在建模选项卡上,点击模型设置。在配置参数窗口的左侧窗格中,点击覆盖率。要启用整数溢出覆盖率饱和功能,请在覆盖率度量下点击其他度量以展开列表。选择整数溢出饱和度度量。该模型已配置为收集整数溢出覆盖率的饱和度。
启用模块上的整数溢出饱和
为了使模块在整数溢出覆盖率时达到饱和状态,您必须将该模块配置为在整数溢出时达到饱和状态。如果不选择模块参数,则整数溢出覆盖率分析的饱和度不会报告该模块。
例如,在示例模型中,双击 Test Unit
子系统,然后双击 Controller 子系统。双击其中一个 Sum 模块以打开其模块参数窗口。请注意,在信号属性选项卡中,选择了整数溢出饱和模块参数。
仿真模型并检查覆盖率结果
在模型中,点击运行(覆盖率)按钮。仿真完成后,覆盖率详细信息窗格将打开并显示覆盖率报告。
点击绿色的“总计”模块。从报告中,您可以看到饱和度目标在两个时间步内为 true,在一个时间步内为 false。真实结果表明该模块达到了其整数溢出阈值并且饱和。
点击其中一个红色“总和”模块。该模块永远不会达到整数溢出阈值,因此永远不会饱和,因为所有 3 个时间步的饱和结果是 false。这导致报告的整数溢出覆盖率饱和度达到 50%。