主要内容

定义测试步骤和评估

您可以通过在 Test Sequence 模块和 Test Assessment 模块中创建测试步骤动作、转移和评估来对模型仿真进行评估。

Test Sequence 模块和 Test Assessment 模块使用 MATLAB® 作为动作语言。步骤和转移可以包含字符串(包括字符串比较)以及评估语句、信号生成函数和关系运算符。有关详细信息,请参阅 Test AssessmentTest Sequence测试序列编辑器

评估语句

要验证仿真,停止仿真并返回验证结果,请使用评估语句。

关键字描述
verify

计算逻辑表达式,并返回 passfailuntested 结果。您可以使用可选参量在测试管理器和诊断查看器中标记结果,或者在 verify 语句失败时返回错误消息。

assert

计算逻辑表达式,并在表达式的计算结果为 false 时停止仿真。您可以使用可选参量在测试管理器或诊断查看器中返回错误消息。

时序运算符

要创建计算仿真时间的表达式,请使用时序运算符。信号条件中的变量必须是 Test Sequence 模块中的输入、参数或常量。您可以使用以下时序运算符:

运算符描述
et测试步骤的历时。您可以指定时间单位。如果您未指定时间单位,则历时以秒为单位返回。
t

仿真的历时。您可以指定时间单位。如果您未指定时间单位,则历时以秒为单位返回。

after

如果自当前测试步骤开始起已过指定时间,则返回 true

before

如果自当前测试步骤开始起尚未过指定时间,则返回 true

duration

返回指定条件已为 true 的历时。当重新进入测试步骤或指定条件不再为 true 时,历时被重置。

转移运算符

要创建计算信号事件的表达式,请使用转移运算符。要计算信号事件,信号必须是 Test Sequence 模块或 Test Assessment 模块中的输入。

运算符描述
hasChanged

如果自当前测试步骤开始起指定信号的值发生变化,则返回 true;否则返回 false

hasChangedFrom

如果指定信号从指定值变化为其他值,则返回 true;否则返回 false

hasChangedTo

如果指定信号变化为指定值,则返回 true;否则返回 false

信号生成函数

您可以在 Test Sequence 模块中使用以下函数来创建测试信号、随机数值和自然指数。您可以将时序运算符与部分信号生成函数结合使用。有关详细信息,请参阅时序运算符

注意

参量值的缩放、舍入和其他近似处理可能会影响函数输出。

函数描述
sin

返回输入参量的正弦值(以弧度为单位)。

cos

返回输入参量的余弦值(以弧度为单位)。

square

生成方波测试信号。

sawtooth

生成锯齿波测试信号。

triangle

生成三角波测试信号。

ramp

返回输入的值。

heaviside

在输入小于或等于 0 时,返回 0;否则返回 1

exp

返回自然指数函数 ex

rand

返回均匀分布的伪随机值。

randn

返回正态分布的伪随机数值。

latch

保存输入的值,并返回保存的值。当退出步骤时重置保存的值,并在下次步骤激活时重新计算。

逻辑运算符

您可以在动作、转移和评估中使用逻辑连接符。在以下示例中,pq 代表布尔信号或逻辑表达式。

运算语法描述示例

~p

p

verify(~p)

p && q

pq

verify(p && q)

p || q

pq

verify(p || q)

蕴含

~p || q

如果 p,则 q。逻辑上等价于蕴含式 pq

verify(~p || q)

双条件

(p && q) || (~p && ~q)

pq,或非 p 且非 q。逻辑上等价于双条件式 pq

verify((p && q) || (~p && ~q))

关系运算符

您可以在动作、转移和评估中使用关系运算符。在以下示例中,xy 代表数值型变量。

verify 语句中使用 ==~= 运算符比较浮点数据时会返回警告。实现 verify 语句时,需考虑与浮点数关联的精度限制。请参阅浮点数。如果您使用浮点数据,请考虑为评估定义容差。例如,请不要使用 verify(x == 5),而是在 0.001 的容差内验证 x

verify(abs(x-5) < 0.001)

运算符和语法描述示例
x > y大于verify(x > y)
x < y小于verify(x < y)
x >= y大于或等于verify(x >= y)
x <= y小于或等于verify(x <= y)
x == y等于verify(x == y)
x ~= y不等于verify(x ~= y)

另请参阅

主题