主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

使用 When 分解验证模型仿真

Test Assessment 模块中,您可以使用 when 分解序列定义激活包含 verify 语句的步骤的仿真条件。在 When 分解序列中,步骤根据您定义的仿真条件激活。有关 When 分解序列的更多信息,请参阅 测试序列基础知识

verify 语句评估逻辑表达式并为每个时间步骤和整体仿真返回 passfailuntested 结果。任何时间步骤的 fail 结果都会导致整体仿真的 fail 结果。如果没有出现失败的结果,则任何时间步骤中的 pass 都会导致整个仿真的 pass 结果。否则,总体结果是 untested。然后,如果您在没有测试用例的情况下运行仿真,则可以在测试管理器或仿真数据检查器中查看测试结果。您可以选择通过仅记录经过测试的 verify 语句结果来仅显示 passfail 语句。有关创作 verify 语句的更多信息,请参阅 verify

您可以以 When 分解的形式编写 verify 语句:

  • 如果您的模型不使用 Test Sequence 模块作为源,或者您的测试序列步骤与要验证的条件不符。在这种情况下,您可以使用信号条件激活每个 verify 语句。

  • 如果您的模型使用 Test Sequence 模块作为源。在这种情况下,您可以使用活动 Test Sequence 模块步骤来激活 Test Assessment 模块中的 verify 语句。请参阅使用活动步进输出作为另一个模块的输入

使用信号条件激活 verify 语句

此示例显示如何在 Test Assessment 模块中的 When 分解中使用 verify 语句来在测试框架中编写评估。

该模型实现了一个简单的信号跟踪器,以三种模式运行:关闭、慢速和快速。

为了观察输出和误差信号,仿真模型。

打开测试框架

SimpleTracker 子系统包含一个包含 Test Assessment 模块的测试框架。

Test Assessment 模块通过使用 When 分解中的 verify 语句来评估 SimpleTracker 子系统的行为。

CheckError 步骤具有 When 分解,其中包含三个子步骤:

  • mode 的值为 0 时,OffMode 处于活动状态。

  • mode 的值为 1 时,SlowMode 处于活动状态。

  • QuickMode 对于 mode 的所有其他值均活动。

运行模型评估

要运行评估,仿真测试框架。打开仿真数据检查器来检查结果。

仅记录测试过的 verify 结果

要仅记录和显示 passfail 结果,请在 框架选项卡中点击 Suppress Untested Results。仿真测试框架并打开仿真数据检查器。仿真数据检查器不显示 untested 结果。

使用测试序列步骤激活 verify 语句

如果您的模型使用测试序列作为模块源,则可以使用来自 Test Sequence 模块的活动步进信号连接测试序列和 Test Assessment 模块。您可以在 Test Assessment 模块中创建 When 分解并定义 verify 语句来评估模型仿真。

例如,Harness1_TestSeqAndTestAssessment 框架包含一个 Test Sequence 和 Test Assessment 模块。Active_Step 信号连接各个模块。

Test Assessment 模块包含一个具有四个子步骤的 When 分解序列。每个子步骤包含一个 verify 语句,并使用不同的 Test Sequence 模块步骤激活。

本例中的 Else 步骤没有任何操作,处理与前面的任何 when 条件都不匹配的仿真条件。此步骤不能包含 when 条件。

A test harness with a Test Sequence and Test Assessment block connected by a signal.

要使用 Test Sequence 模块中的活动步骤激活测试评估中的 verify 语句,请为 Test Sequence 模块创建活动步骤数据输出。选择 Test Sequence 模块,然后在属性检查器中选择创建数据以监视活动步骤,并将数据类型设置为 Enum。在枚举名称中输入名称。

Property Inspector for the Test Sequence block

然后,为 Test Assessment 模块创建输入数据。打开 Test Assessment 模块,在符号窗格中,指向输入,点击添加数据 ,然后命名输入。将 Test Sequence 模块输出连接到 Test Assessment 模块输入。

在 Test Assessment 模块中创建 When 分解。默认情况下,Test Assessment 模块具有 When 分解序列。要在标准序列和 When 分解序列之间切换,请右键点击父步骤并选择分解时。对于每个 When 分解步骤,使用活动步骤枚举数据定义该步骤何时处于活动。

VerifyBoth when TSActiveStepIN == ...
    TSActiveStepEnum.PressBothButtons

另请参阅

| | | | | |

主题