为接收覆盖的对象建模
特定的模型金宝app®对象可以接收任何类型的模型覆盖。其他Simu金宝applink对象只能接收某些类型的覆盖,如下表所示。单击第一列中的链接,以获得关于特定模型对象的覆盖率的更详细的信息。
所有Si金宝appmulink对象都可以接收执行覆盖,除了虚拟块和:
合并块
范围块
宽度块
显示块
到工作空间块
有关虚拟块的列表,请参见非虚拟块和虚拟块。
有关未获得覆盖的Simulink对象的金宝app完整列表,请参见为没有得到覆盖的对象建模。
对于Stateflow®状态、事件和状态时态逻辑决策,模型覆盖提供决策覆盖。对于状态流转换,模型覆盖提供了决策、条件和MCDC覆盖。模型覆盖为状态和转换中的赋值语句中的逻辑表达式提供条件和MCDC覆盖。有关更多信息,请参见状态流程图的模型覆盖率报告。
模型对象 |
决定 |
条件 |
MCDC |
查找表 |
金宝appSimulink Design Verifier™ |
使整数溢出饱和 |
关系边界 |
---|---|---|---|---|---|---|---|
延迟和可复位延迟 | |||||||
离散时间积分器(当饱和度限制启用或重置时) |
|||||||
索引向量 | |||||||
消息发送 | |||||||
另请参阅触发模式。 |
|||||||
(相对于回转率) |
|||||||
变体子系统,变体模型,变体源,变体汇 | |||||||
腹肌
Abs块接收决策覆盖。决策覆盖范围基于:
块的输入小于零。
输入信号的数据类型。
当块输入小于零时,决策覆盖度量为:
块输入的时间步数小于零,表明一个正确的决定。
块输入的时间步数不小于零,表示错误判断。
如果选择使整数溢出饱和覆盖度量,即腹肌块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
如果输入数据类型为腹肌块uint8
,uint16
,或uint32
,金宝app仿真软件覆盖™软件没有报告块的覆盖率。软件设置块输出等于块输入,而不做决定。如果输入数据类型为腹肌块为布尔值,则发生错误。
的腹肌块包含输入与零的隐式比较。因此,如果选择关系边界覆盖度量,即腹肌块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
偏见
如果选择使整数溢出饱和覆盖度量,即偏见块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
组合逻辑
组合逻辑块接收决策和条件覆盖。决策覆盖是基于实现真值表的每个输出行。决策覆盖率度量的是将真值表的每个输出行设置为块输出的时间步数。
条件覆盖率测量每个输入为假(等于零)和每个输入为真(不等于零)的时间步数。如果组合逻辑块只有一个输入元素,则金宝app仿真软件覆盖软件只报告决策覆盖,因为决策和条件覆盖是等价的。
如果将所有真值表值设置为块输出至少一个时间步,则决策覆盖率为100%。否则,软件将覆盖率报告为在至少一个时间步期间输出的真值表值的数量除以真值表值的总数。因为这个块在真值表中总是至少有一个值作为输出,所以报告的最小覆盖率是1除以真值表值的总数。
如果所有块输入至少有一个时间步长为假,至少有一个时间步长为真,则条件覆盖率为100%。否则,软件报告覆盖率为在至少一个时间步长每个输入处达到假值,加上在至少一个时间步长达到真值,除以2的输入总数的幂(即2^)number_of_inputs)。报告的最小覆盖率是总输入数除以2,再乘以总输入数的幂。
与常量比较
的与常量比较块接收条件覆盖。
条件覆盖措施:
输入与指定常数之间的比较为真的次数。
输入与指定常数之间的比较为假的次数。
的与常量比较块包含输入与常量的比较。因此,如果选择关系边界覆盖度量,即与常量比较块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
与零比较
的与零比较块接收条件覆盖。
条件覆盖措施:
输入和0之间的比较为真的次数。
输入与零之间的比较为假的次数。
的与零比较块包含输入与零的比较。因此,如果选择关系边界覆盖度量,即与零比较块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
数据类型转换
如果选择使整数溢出饱和覆盖度量,即数据类型转换块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
死区
死区块接收决策覆盖。的金宝app仿真软件覆盖软件报告这些参数的决策覆盖率:
死区开始
死区结束
的死区开始死区下限。为死区开始参数、决策覆盖措施:
块输入大于或等于下限的时间步数,表示正确的决策。
块输入的时间步数小于下限,表示错误的判定。
的死区结束死区上限。为死区结束、决策覆盖措施:
块输入的时间步数大于上限,表明一个正确的决定。
块输入的时间步数小于或等于上限,表示错误的判定。
当上限为真时,软件不测量死区开始该时间步骤的覆盖率。因此,总数死区开始决策等于时间步数死区结束是假的。
如果选择使整数溢出饱和覆盖度量,即死区块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
的死区块包含输入与上限和下限的隐式比较。因此,如果选择关系边界覆盖度量,即死区块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
延迟和可复位延迟
的延迟和复位延迟块接收决策覆盖,如果设置外部复位块参数设置为任何选项,除了没有一个
,或者选择显示启用端口块参数。
为外部复位块参数,决策覆盖测量块重置的时间步骤的真实结果和块未重置的时间步骤的假结果。为了获得100%的决策覆盖率,该块必须至少重置一个时间步,并且至少不重置一个时间步。
为显示启用端口块参数,决策覆盖测量启用块的时间步长的真结果,而未启用块的时间步长的假结果。为了获得100%的决策覆盖率,该块必须至少在一个时间步骤中启用,并且至少在一个时间步骤中不启用。
直接查表(n-D)
直接查找表(n-D)块接收查找表覆盖。对于一个n-维查找表时,输出断点的数目是每个表维的所有断点数目的乘积。
查找表覆盖措施:
在模拟过程中,维度输入值的每个组合在每个断点之间的次数。
在模拟过程中,维度输入值的每个组合低于每个表维度的最低断点而高于最高断点的次数。
覆盖点的总数n-维查找表是每个表维中的断点数加1的乘积。在覆盖率报告中,增加的白色到绿色的颜色比例,以及从0开始的六个均匀间隔的数据范围,表示软件测量每个插值或外推点的时间步数。
该软件通过测量总插值和外推点来确定总覆盖的百分比,该插值和外推点在模拟期间在断点之间或超越终点之间实现至少一个时间步的测量。
离散滤波器
的离散滤波器块接收决策覆盖,如果您设置外部复位块参数设置为任何选项,除了没有一个
。决策覆盖测量块重置的时间步骤的真实结果,以及块未重置的时间步骤的假结果。为了获得100%的决策覆盖率,该块必须至少重置一个时间步,并且至少不重置一个时间步。
如果选择使整数溢出饱和参数,即离散滤波器块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
离散FIR滤波器
的离散FIR滤波器块接收决策覆盖,如果您设置外部复位块参数设置为任何选项,除了没有一个
,或者选择显示启用端口块参数。
为外部复位块参数,决策覆盖测量块重置的时间步骤的真实结果和块未重置的时间步骤的假结果。为了获得100%的决策覆盖率,该块必须至少重置一个时间步,并且至少不重置一个时间步。
为显示启用端口块参数,决策覆盖测量启用块的时间步长的真结果,而未启用块的时间步长的假结果。为了获得100%的决策覆盖率,该块必须至少在一个时间步骤中启用,并且至少在一个时间步骤中不启用。
如果选择使整数溢出饱和覆盖度量,即离散FIR滤波器块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
离散时间积分器
离散时间积分器块接收决策覆盖。金宝app仿真软件覆盖报告这些参数的决策覆盖率:
外部复位
限制输出
如果你设置外部复位来没有一个
,金宝app仿真软件覆盖不报告重置决策的决策覆盖率。否则,决策覆盖度量:
块输出被重置的时间步数,指示一个真实的决定。
块输出未重置的时间步数,表示错误的决定。
如果不选择限制输出,软件不报告该决策的决策覆盖率。否则,软件将报告决策覆盖饱和下限和饱和上限。
为饱和上限、决策覆盖措施:
积分结果大于或等于上限的时间步数,表示正确的决策。
积分结果的时间步数小于上限,表示错误决策。
为饱和下限、决策覆盖措施
积分结果的时间步数小于或等于下限,表明一个正确的决策。
积分结果的时间步数大于下限,表示错误决策。
对于上限为真的时间步长,软件不测量饱和下限报道。因此,下限决策的总数等于上限为假的时间步数。
如果选择使整数溢出饱和覆盖度量,即离散时间积分器块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
离散传输Fcn
的离散传输Fcn块接收决策覆盖,如果您设置外部复位块参数设置为任何选项,除了没有一个
。决策覆盖测量块重置的时间步骤的真实结果,以及块未重置的时间步骤的假结果。为了获得100%的决策覆盖率,该块必须至少重置一个时间步,并且至少不重置一个时间步。
如果选择使整数溢出饱和参数,即离散传输Fcn块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
点积
如果选择使整数溢出饱和覆盖度量,即点积块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
启用子系统
Enabled子系统块接收决策、条件和MCDC覆盖。
决策覆盖措施:
启用块的时间步数,指示一个真正的决策。
块被禁用的时间步数,表示错误的决定。
如果至少有一个时间步骤为真,至少有一个时间步骤为假,则决策覆盖率为100%。如果没有时间步骤为真,或者没有时间步骤为假,则决策覆盖率为50%。
的金宝app仿真软件覆盖只有当使能输入是一个向量时,软件才测量使能输入的条件覆盖率。对于启用输入,条件覆盖度量启用输入的每个元素的时间步数为真,而启用输入的每个元素的时间步数为假。该软件根据可能条件的总数以及在至少一个时间步中有多少为真以及在至少一个时间步中有多少为假来报告条件覆盖率。
只有当使能输入是矢量时,软件才测量使能输入的MCDC覆盖率。因为子系统的启用是一个或
对于矢量输入,如果在至少一个时间步长内,每个矢量使能输入都为纯真,并且在至少一个时间步长内,所有矢量使能输入都为假,则MCDC覆盖率为100%。对于MCDC覆盖测量,软件将向量的每个元素视为单独的条件。
启用和触发子系统
Enabled和Triggered Subsystem块接收决策、条件和MCDC覆盖。决策覆盖措施:
当块启用时触发边缘发生的时间步数,指示一个真实的决定。
当块启用或块禁用时,触发边缘未发生的时间步数,表示错误的决定。
如果至少有一个时间步骤为真,至少有一个时间步骤为假,则决策覆盖率为100%。如果没有时间步骤为真,或者没有时间步骤为假,则决策覆盖率为50%。
软件分别测量使能输入和触发输入的条件覆盖率:
对于启用输入,条件覆盖率测量启用输入为真和启用输入为假的时间步数。
对于触发输入,条件覆盖率测量触发边缘发生的时间步长,表示为真,而触发边缘未发生的时间步长,表示为假。
该软件根据可能条件的总数以及在至少一个时间步中有多少条件为真以及在至少一个时间步中有多少条件为假来报告条件覆盖率。该软件将向量的每个元素视为单独的条件覆盖测量。
软件测量使能输入和触发输入组合的MCDC覆盖率。因为子系统的启用输入是和
这两种输入中,如果出现以下所有情况,MCDC覆盖率为100%:
在至少一个时间步长期间,两个输入都为真。
在至少一个时间步长期间,使能输入为真并且触发边缘为假。
在一个时间步长期间,使能输入为假,触发边缘为真。
该软件将每个向量元素视为单独的MCDC覆盖测量。它根据每个使能输入元素测量每个触发边缘元素。但是,如果触发器和使能输入中的元素数量都超过12,则软件不会报告MCDC覆盖率。
Fcn
的Fcn块接收条件和MCDC覆盖。的金宝app仿真软件覆盖软件报告条件或MCDC覆盖Fcn仅当顶级操作符为布尔(& &
,||
,或!
)。
条件覆盖基于输入值或算术表达式,它们是块中布尔运算符的输入。条件覆盖度量:
布尔运算符的每个输入的时间步数为真(不等于零)。
布尔运算符的每个输入的时间步数为假(等于零)。
如果所有布尔运算符输入至少有一个时间步为假,至少有一个时间步为真,则条件覆盖率为100%。否则,软件根据可能条件的总数以及在至少一个时间步中有多少为真以及在至少一个时间步中有多少为假来报告条件覆盖率。
中的布尔表达式的MCDC覆盖率Fcn块。如果在至少一个时间步长期间,每个条件独立地将表达式的输出设置为true,如果在至少一个时间步长期间,每个条件独立地将表达式的输出设置为false,则MCDC覆盖率为100%。否则,软件根据可能条件的总数和每个条件在至少一个时间步长期间独立地将输出设置为true的次数以及在至少一个时间步长期间独立地将输出设置为false的条件的次数报告MCDC覆盖率。
如果Fcn块包含一个关系操作,然后选择关系边界覆盖度量,即Fcn块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
For Iterator, For Iterator子系统
For迭代器块和For迭代器子系统接收决策覆盖。的金宝app仿真软件覆盖软件测量循环条件值的决策覆盖率,由下列条件之一决定:
迭代值等于或低于迭代限制,表示为true。
迭代值超过迭代限制,表示为false。
软件报告每个循环条件计算为真和假的总次数。如果循环条件至少一次为真,至少一次为假,则决策覆盖率为100%。如果没有循环条件为真,或者没有循环条件为假,则决策覆盖率为50%。
获得
如果选择使整数溢出饱和覆盖度量,即获得块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
如果,如果动作子系统
的如果导致If动作子系统执行的块接收条件、决策和MCDC覆盖:
软件测量决策覆盖范围
如果
条件和所有elseif
中定义的条件如果块。如果
如果
条件或任何elseif
条件包含一个包含多个条件的逻辑表达式,例如U1 u2 u3
,该软件还测量表达式中每个条件的条件和MCDC覆盖率,u1
,u2
,u3
在前面的示例中。
该软件不直接测量其他的
条件。当没有elseif
条件下,其他的
条件的直接补如果
条件,或其他的
条件是最后一个条件的直接补语elseif
条件。
该软件报告每个人的总时间步数如果
和elseif
条件求值为true和false。如果如果
或elseif
条件至少一次为真,并且至少一次为假,则决策覆盖率为100%。如果没有如果
或elseif
条件为真,否则为假如果
或elseif
条件为假,决策覆盖率为50%。如果是前一个如果
或elseif
条件永远不会被计算为falseelseif
条件可以有0%的决策覆盖率。
的如果块包含其输入之间的比较。因此,如果选择关系边界覆盖度量,即如果块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
索引向量
的索引向量基于将矢量信号输入的每个元素传递到块的输出,块接收决策覆盖。
如果将每个向量索引传递到块输出至少一个时间步,则决策覆盖率为100%。否则,Simulink金宝app Coverage将覆盖率报告为通过输出的输入信号中矢量指数总数的百分比。
如果选择使整数溢出饱和覆盖度量,即索引向量块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。
使用预查找的插值
的使用预查找的插值块接收查找表覆盖。对于一个n-D查找表时,输出断点的数量等于每个表维度的所有断点数量的乘积。查找表覆盖度量:
在模拟过程中,维度输入值的每个组合在每个断点之间的次数。
在模拟过程中,维度输入值的每个组合低于每个表维度的最低断点而高于最高断点的次数。
覆盖点的总数n-维查找表是每个表维中的断点数加1的乘积。在覆盖率报告中,增加的白色到绿色的颜色比例,以及从0开始的六个均匀间隔的数据范围,表示软件测量每个插值或外推点的时间步数。
该软件通过测量总插值和外推点来确定总覆盖的百分比,该插值和外推点在模拟期间在断点之间或超越终点之间实现至少一个时间步的测量。
如果选择使整数溢出饱和,使用预查找的插值块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
Library-Linked对象
金宝app链接到库对象的Simulink块和状态流图获得的覆盖率与没有链接到库对象时相同。的金宝app仿真软件覆盖软件为模型中的每个库对象单独记录覆盖率。如果您的模型包含相同库对象的多个实例,则每个实例接收其自己的覆盖率数据。
逻辑运算符
逻辑运算符块接收条件和MCDC覆盖。的金宝app仿真软件覆盖测量每个块输入的条件覆盖率。条件覆盖度量:
每个输入为真(不等于零)的时间步数。
每个输入为假(等于零)的时间步数。
如果所有块输入至少在一个时间步长为假,至少在一个时间步长为真,则条件覆盖率为100%。否则,条件覆盖率将基于可能条件的总数,以及在至少一个时间步骤中有多少为真,有多少为假。
金宝app仿真软件覆盖测量MCDC对块的所有输入的覆盖。如果在至少一个时间步内,每个条件独立地将块的输出设置为true,如果在至少一个时间步内,每个条件独立地将块的输出设置为false,则MCDC覆盖率为100%。否则,金宝app仿真软件覆盖根据可能条件的总数以及每个条件在至少一个时间步中独立地将输出设置为true的次数以及在至少一个时间步中独立地将输出设置为false的次数来报告MCDC覆盖率。
对于一个逻辑运算符块接收MCDC作为逻辑级联的一部分,必须满足以下所有条件:
块输入和输出信号都是标量
逻辑块操作不是XOR/NXOR
逻辑块有多个输入信号(除非它的操作是NOT)
有关逻辑级联的详细信息,请参见逻辑运算符级联模式。
一维查找表
1-D查找表块接收查找表覆盖;对于一维查找表,输入和输出断点的数量是相等的。查找表覆盖措施:
在模拟过程中,输入和输出值位于每个断点之间的次数。
模拟过程中输入和输出值低于最低断点而高于最高断点的次数。
一维查找表的覆盖点总数等于表中的断点数加1。在覆盖率报告中,增加的白色到绿色的颜色比例,以及从0开始的六个均匀间隔的数据范围,表示软件测量每个插值或外推点的时间步数。
该软件通过测量总插值和外推点来确定总覆盖的百分比,该插值和外推点在模拟期间在断点之间或超越终点之间实现至少一个时间步的测量。
如果选择使整数溢出饱和覆盖度量,即一维查找表块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
二维查找表
的二维查找表块接收查找表覆盖。对于二维查找表,输出断点的数量等于行断点的数量乘以列输入的数量。查找表覆盖措施:
在模拟过程中,行输入值和列输入值的每个组合在每个断点之间的次数。
在模拟过程中,行输入和列输入值的每个组合低于每一行和每一列的最低断点,高于最高断点的次数。
二维查找表的覆盖点的总数等于表中的行断点的数目加上1,乘以表中的列断点的数目加上1。在覆盖率报告中,增加的白色到绿色的颜色比例,以及从0开始的六个均匀间隔的数据范围,表示软件测量每个插值或外推点的时间步数。
如果选择使整数溢出饱和覆盖度量,即二维查找表块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
n-D查找表
的n-D查找表块接收查找表覆盖。对于一个n-维查找表时,输出断点的数目等于每个表维的所有断点数目的乘积。查找表覆盖措施:
在模拟过程中,维度输入值的每个组合在每个断点之间的次数。
在模拟过程中,维度输出值的每个组合低于每个表维度的最低断点而高于最高断点的次数。
覆盖点的总数n-维查找表是每个表维中的断点数加1的乘积。在覆盖率报告中,增加的白色到绿色的颜色比例,以及从0开始的六个均匀间隔的数据范围,表示软件测量每个插值或外推点的时间步数。
该软件通过测量总插值和外推点来确定总覆盖的百分比,该插值和外推点在模拟期间在断点之间或超越终点之间实现至少一个时间步的测量。
如果选择使整数溢出饱和覆盖度量,即n-D查找表块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
数学函数
如果选择使整数溢出饱和覆盖度量,即数学函数块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
MATLAB函数
有关承保范围类型的信息金宝app仿真软件覆盖软件报表为MATLAB编写®函数块,看MATLAB函数的模型覆盖。
MATLAB系统
金宝app仿真软件覆盖只记录MATLAB的Decision, Condition和MCDC覆盖系统块。
消息发送
的消息发送块接收决策覆盖,如果您选择显示启用端口块参数。决策覆盖测量启用块的时间步长的真实结果,以及未启用块的时间步长的假结果。为了获得100%的决策覆盖率,该块必须至少在一个时间步骤中启用,并且至少在一个时间步骤中不启用。
极大极小
的极大极小基于将每个输入传递到块的输出,块接收决策覆盖。
对于基于将每个输入传递到块的输出的决策覆盖率,覆盖率度量模拟将每个输入传递到块输出的时间步数。决策点的数量取决于块的输入数量,以及它们是标量、向量还是矩阵。
如果将所有输入传递给块输出至少一个时间步,则金宝app仿真软件覆盖软件报告决策覆盖率为100%。否则,软件将覆盖率报告为在至少一个时间步期间传递到输出的输入数除以输入总数。
如果选择使整数溢出饱和覆盖度量,即极大极小块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
模型
的模型Block不直接接收覆盖;块引用的模型得到覆盖。如果参考模型的仿真模式设置为正常的
,金宝app仿真软件覆盖软件报告在被引用的模型中接受覆盖的所有对象的覆盖率。如果参考模型的仿真模式设置为银
或公益诉讼
还有嵌入式编码器®安装,金宝app仿真软件覆盖如果模拟模式设置为其他值,则软件将报告从您的模型生成的代码的覆盖率正常的
,银
,或公益诉讼
,软件不能测量参考模型的覆盖率。
在报道窗格中,选择您想要报告覆盖率的引用模型。软件为您选择的每个参考模型生成一个覆盖率报告。
如果您的模型包含相同引用模型的多个实例,则软件将记录该模型的所有实例的覆盖范围模型块设置为正常的
。该引用模型的覆盖率报告结合了该模型的所有普通模式实例的覆盖率数据。
模型参考层次结构中所有分析模型的覆盖率报告都是从摘要报告中链接出来的。
请注意
有关如何选择引用模型来报告覆盖率的详细信息,请参见引用模型。
多端口切换
的多端口切换块根据将每个输入(不包括第一个控制输入)传递到块的输出来接收决策覆盖。
对于基于将每个输入(不包括第一个控制输入)传递到块的输出的决策覆盖率,覆盖率度量每个输入传递到块输出的时间步数。决策点的数量是基于块输入的数量以及控制输入是标量还是矢量。
如果所有输入(不包括第一个控制输入)被传递到块输出至少一个时间步,则决策覆盖率为100%。否则,金宝app仿真软件覆盖软件将覆盖率报告为在至少一个时间步内传递到输出的输入数除以输入总数减去1。
如果选择使整数溢出饱和覆盖度量,即多端口切换块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
观察者模式
的观察者参考Block不直接接收覆盖;块引用的观察者模型接收该模型中块的覆盖率指标。只有观察者模型正常的
模式的覆盖率分析。
您可以像选择引用模型一样选择覆盖的观察者模型。有关选择模型进行分析的更多信息,请参见引用模型。
只有您从顶级模型中引用的Observer模型在模拟期间是活动的,并且可以接收覆盖。终止函数位于Observer模型内的块不会得到覆盖。
每个Observer模型的覆盖率结果是单独捕获的cvdata
对象。从Observer模型引用的每个模型都被视为Observer模型,并且有自己的模型cvdata
对象。如果您在模型引用层次结构中记录多个模型的覆盖率,那么结果将被收集到cv.cvdatagroup
对象。摘要报告链接到层次结构中所有分析模型的覆盖率报告。
PID控制器,PID控制器(2自由度)
如果选择使整数溢出饱和覆盖度量,即PID控制器和PID控制器(2自由度)块在整数溢出覆盖上接收饱和。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
产品
如果选择使整数溢出饱和覆盖度量,即产品块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
证明假设
证明假设块接收金宝appSimulink设计验证器报道。金宝appSimulink设计验证器覆盖是基于在块对话框中定义的点和间隔。金宝appSimulink设计验证器覆盖率度量块中定义的每个点或间隔所满足的时间步数。客观结果的总数是基于在证明假设块中定义的点或间隔的数量。
如果块中定义的所有点和区间至少满足一个时间步长,金宝appSimulink设计验证器覆盖率100%。否则,金宝app仿真软件覆盖软件将覆盖率报告为至少在一个时间步骤中满足的点和间隔的数量,除以为块定义的点和间隔的总数。
客观的证据
证明目标块接收金宝appSimulink设计验证器报道。金宝appSimulink设计验证器覆盖是基于在块对话框中定义的点和间隔。金宝appSimulink设计验证器覆盖率度量块中定义的每个点或间隔所满足的时间步数。客观结果的总数是基于证明目标块中定义的点数或间隔的数量。
如果块中定义的所有点和区间至少满足一个时间步长,金宝appSimulink设计验证器覆盖率100%。否则,金宝app仿真软件覆盖软件将覆盖率报告为至少在一个时间步骤中满足的点和间隔的数量,除以为块定义的点和间隔的总数。
速度限制器
速率限制器块接收决策覆盖。的金宝app仿真软件覆盖软件报告决策覆盖回转速度上升和降回转率参数。
为回转速度上升、决策覆盖措施:
块输入变化的时间步数大于或等于上升速率,表明一个真实的决定。
块输入变化的时间步数小于上升速率,表示错误的决定。
为降回转率、决策覆盖措施:
块输入变化的时间步数小于或等于下降速率,表明一个真实的决定。
块输入变化的时间步数大于下降速率,表示错误的决定。
软件无法测量降回转率覆盖的时间步长回转速度上升是真的。因此,总数降回转率决策等于时间步数回转速度上升是假的。
如果至少有一个时间步骤为真,并且至少有一个时间步骤为假,则该块的两个单独决策的决策覆盖率为100%。如果没有时间步骤为真,或者没有时间步骤为假,则决策覆盖率为50%。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
的速度限制器Block隐式地比较输入信号的导数与上限值和下限值。因此,如果选择关系边界覆盖度量,即速度限制器块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
关系操作符
的关系操作符块接收条件覆盖。
条件覆盖措施:
指定的关系操作为真的次数。
指定的关系操作为假的次数。
的关系操作符块包含其输入之间的比较。因此,如果选择关系边界覆盖度量,即关系操作符块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
继电器
中继块接收决策覆盖。金宝app仿真软件覆盖报告决策覆盖范围接通点和切断点参数。
为接通点、决策覆盖措施:
块输入大于或等于的连续时间步数接通点表明了一个真正的决定。
块输入的连续时间步数小于接通点表示错误的决定。
为切断点、决策覆盖措施:
块输入小于或等于的连续时间步数切断点表明了一个真正的决定。
块输入的连续时间步长大于切断点表示错误的决定。
软件无法测量切断点当开关开启阈值为真时,时间步长的覆盖率。因此,总数切断点决策等于时间步数接通点是假的。
如果至少有一个时间步骤为真,并且至少有一个时间步骤为假,则该块的两个单独决策的决策覆盖率为100%。如果没有时间步骤为真,或者没有时间步骤为假,则决策覆盖率为50%。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
的继电器块包含其第二个输入与阈值的隐式比较。因此,如果选择关系边界覆盖度量,即继电器块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
需求表
的需求表中的逻辑接收决策、条件、MCDC、关系边界和整数溢出覆盖的饱和先决条件中每个需求的列需求表选项卡。的后置条件列和假设表TAB没有得到保险。
金宝app仿真软件覆盖报告的覆盖范围先决条件列,类似于状态流图或MATLAB函数块。例如,如果一个前提条件指定后置条件必须满足A < c1 && b ~= c2
,金宝app仿真软件覆盖能够分析和报告该报表的覆盖率结果。
C / c++函数
C/ c++ S-Functions金宝app支持模型覆盖。模型的覆盖率报告包含每个实例的结果功能块在模型中。的结果功能块链接到块中C/ c++代码的单独覆盖报告。
生成S-Functions的覆盖率报告:
在创建S-Functions时,启用对覆盖的支持。金宝app有关更多信息,请参见使S-Function与型号覆盖率兼容。
在生成覆盖率报告时,启用对S-Functions的支持。金宝app有关更多信息,请参见为S-Function生成覆盖率报告。
S-Functions报告了以下覆盖类型:
涵盖的报表百分比
S-Function块的覆盖数据通过以下方式获得:
块的覆盖率结果是块中所有文件结果的加权平均值。
例如,一个S-Function块有两个文件,
file1.c
和file2.c
。决策覆盖范围file1.c
75%(3/4的结果)是覆盖的吗file2.c
为50%(涵盖10/20个结果)。该区块的决策覆盖率为13/24≈54%。对于每个文件,覆盖率结果是对文件中所有功能的结果的加权平均值。
对于每个函数,覆盖率结果是接收该覆盖率的函数中所有语句的结果的加权平均值。
请注意
S-Functions的模型覆盖范围有以下限制:
仅支持覆盖2级C/ c++ s函数。金宝app有关二级C - s函数的示例,请参见创建一个基本的C - MEX函数。
c++类模板没有用于覆盖。
饱和
金宝app仿真软件覆盖报告决策覆盖范围上限和下限的参数饱和的块和关系边界覆盖饱和块。
为上限、决策覆盖措施:
块输入的时间步数大于上限,表明决策结果为真,块输出在上限处饱和。
块输入的时间步数小于或等于上限,表示错误的决策结果。
为下限、决策覆盖措施:
块输入大于或等于下限的时间步数,表示真正的决策结果。
块输入的时间步数小于下限,这表明一个错误的决策结果,并且块输出在下限达到饱和。
金宝app仿真软件覆盖不衡量覆盖率为下限当上限为真时,在一个时间步长作出决定。因此,总数下限决策评估等于时间步数上限是假的。金宝app仿真软件覆盖报告0%的覆盖率下限决定是否上限决策在每一步都是正确的。
对于每个决定,金宝app仿真软件覆盖如果决策至少在一个时间步骤中返回真结果而至少在一个时间步骤中返回假结果,则报告100%覆盖率。如果一个决定没有正确的结果或错误的结果,金宝app仿真软件覆盖报告该决定的50%覆盖率。决策覆盖范围为饱和块是覆盖范围的总和上限和下限决策。例如,如果a饱和块获得100%的覆盖率上限决定,50%的覆盖率为下限决定了,然后饱和Block总共获得75%的决策覆盖率,4个决策结果中有3个满意。
如果输入信号到饱和块是一个矢量或矩阵,每个元素是一个单独的覆盖度量。例如,一个包含两个元素向量的输入信号会在集合中产生总共8个决策结果饱和方块而不是四个。
的饱和块包含输入与上限和下限的隐式比较。因此,如果选择关系边界的覆盖率度量报道“配置参数”窗口的饱和块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
饱和动态
如果选择使整数溢出饱和覆盖度量,即饱和动态块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
金宝app设计验证器函数MATLAB函数块
下面是MATLAB中的函数函数块接收金宝appSimulink设计验证器覆盖范围:
sldv.condition
(金宝appSimulink设计验证器)sldv.test
(金宝appSimulink设计验证器)sldv.assume
(金宝appSimulink设计验证器)sldv.prove
(金宝appSimulink设计验证器)
这些函数中的每一个都计算一个表达式expr
例如,sldv.test (
,在那里expr
)expr
是任何有效的布尔MATLAB表达式。金宝appSimulink设计验证器覆盖率度量表达式的时间步数expr
计算结果为true。
如果expr
至少在一个时间步上为真,金宝appSimulink设计验证器该功能的覆盖率是100%。否则,金宝app仿真软件覆盖软件报告该功能的覆盖率为0%。
根号,带符号根号,倒数根号
如果选择使整数溢出饱和覆盖度量,即√6,签署√6,互惠√6块在整数溢出覆盖上接收饱和。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
和,加,减,元素的总和
如果选择使整数溢出饱和覆盖度量,即总和,添加,减去,元素和块在整数溢出覆盖上接收饱和。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
开关
Switch块根据对块的控制输入接收决策覆盖。决策覆盖措施:
控制输入计算为true的时间步数。
控制输入计算为false的时间步数。
决策点的数量取决于控制输入是标量还是矢量。
如果选择使整数溢出饱和覆盖度量,即开关块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
的开关块包含其第二个输入与阈值的隐式比较。因此,如果选择关系边界覆盖度量,即开关块接收关系边界覆盖。有关更多信息,请参见关系边界覆盖。
SwitchCase,SwitchCase行动子系统
的SwitchCase块和SwitchCase动作子系统接收决策覆盖。的金宝app仿真软件覆盖软件分别为块中定义的每个开关情况和默认情况测量决策覆盖率。决策结果的数量等于情况条件的数量加上默认的
情况,如果有定义的话。
该软件报告每种情况计算为真的总时间步数。如果每种情况(包括默认情况)至少一次求值为true,则决策覆盖率为100%。该软件通过在至少一个时间步内评估为真的案例数除以案例总数来确定决策覆盖率。
如果SwitchCase块中不包含默认的
在这种情况下,软件测量决策覆盖的时间步数,其中没有一个情况评估为真。在覆盖率报告中,此覆盖率报告为隐性违约。
测试条件
测试条件块接收金宝appSimulink设计验证器报道。金宝appSimulink设计验证器覆盖是基于在块对话框中定义的点和间隔。金宝appSimulink设计验证器覆盖率度量块中定义的每个点或间隔所满足的时间步数。客观结果的总数是基于测试条件块中定义的点数或间隔的数量。
如果块中定义的所有点和区间至少满足一个时间步长,金宝appSimulink设计验证器覆盖率100%。否则,金宝app仿真软件覆盖软件将覆盖率报告为至少在一个时间步骤中满足的点和间隔的数量,除以为块定义的点和间隔的总数。
测试的目标
测试目标块接收金宝appSimulink设计验证器报道。金宝appSimulink设计验证器覆盖是基于在块对话框中定义的点和间隔。金宝appSimulink设计验证器覆盖率度量块中定义的每个点或间隔所满足的时间步数。客观结果的总数是基于测试目标块中定义的点数或间隔的数量。
如果块中定义的所有点和区间至少满足一个时间步长,金宝appSimulink设计验证器覆盖率100%。否则,金宝app仿真软件覆盖软件将覆盖率报告为至少在一个时间步骤中满足的点和间隔的数量,除以为块定义的点和间隔的总数。
触发模式
一个模型块可以引用在模型的根级别包含基于边缘的触发端口的模型。被触发的模型接收决策、条件和MCDC覆盖。
决策覆盖措施:
被引用的模型被触发的时间步数,指示一个真正的决策。
引用模型未触发的时间步数,表示错误的决策。
如果至少有一个时间步骤为真,并且至少有一个时间步骤为假,则决策覆盖范围为模型引用被触发模型的块是100%。如果没有时间步骤为真,或者没有时间步骤为假,则决策覆盖率为50%。
只有当触发输入是矢量时金宝app仿真软件覆盖软件测量参考模型中触发端口的条件覆盖率。对于触发端口,条件覆盖措施:
触发端口的每个元素的时间步数为真。
触发端口的每个元素的时间步数为假。
该软件根据可能条件的总数以及在至少一个时间步中有多少为真以及在至少一个时间步中有多少为假来报告条件覆盖率。
如果触发端口是矢量,则软件仅测量触发端口的MCDC覆盖。因为所引用模型的触发器端口是或
的矢量输入,如果在至少一个时间步长内,每个矢量触发端口都为独占真,如果在至少一个时间步长内,所有矢量触发端口输入都为假,则MCDC覆盖率为100%。该软件将向量的每个元素作为MCDC覆盖测量的单独条件。
触发子系统
触发子系统块接收决策、条件和MCDC覆盖。
决策覆盖措施:
块被触发的时间步数,指示一个真正的决策。
块未触发的时间步数,表示错误的决策。
如果至少有一个时间步骤为真,至少有一个时间步骤为假,则决策覆盖率为100%。如果没有时间步骤为真,或者没有时间步骤为假,则决策覆盖率为50%。
的金宝app仿真软件覆盖只有当触发输入是矢量时,软件才测量触发输入的条件覆盖率。对于触发输入,条件覆盖度量:
触发边缘的每个元素为真的时间步数。
触发边缘的每个元素的时间步数为假。
该软件根据可能条件的总数以及在至少一个时间步中有多少为真以及在至少一个时间步中有多少为假来报告条件覆盖率。
如果触发输入是矢量,则软件仅测量触发输入的MCDC覆盖率。因为子系统的触发边缘是或
对于矢量输入,如果在至少一个时间步长内,每个矢量触发边缘输入都为纯真,如果在至少一个时间步长内,所有矢量触发边缘输入都为假,则MCDC覆盖率为100%。该软件将向量的每个元素作为MCDC覆盖测量的单独条件。
真值表
真值表块是一个状态流块,它使您能够直接在Simulink模型中使用真值表逻辑。金宝app真值表块接收条件、决策和MCDC覆盖。有关使用状态流真值表的模型覆盖的更多信息,请参见状态流真值表的模型覆盖率。
一元-
如果选择使整数溢出饱和覆盖度量,即一元-块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
加权样本时间数学
如果选择使整数溢出饱和覆盖度量,即加权样本时间数学块接收饱和的整数溢出覆盖。有关更多信息,请参见使整数溢出覆盖饱和。该软件将向量或矩阵的每个元素视为单独的覆盖度量。
While迭代器,While迭代器子系统
While迭代器块和While迭代器子系统接收决策覆盖。决策覆盖范围是为而
条件值,该值由而
条件被满足(true),或者而
条件不满足(false)。金宝app仿真软件覆盖软件报告的总次数,每个而
条件求值为true和false。如果而
条件至少一次求值为真,并且至少一次求值为假,则而
状态为100%。如果没有而
条件为真,否则为假而
条件为假,决策覆盖率为50%。
如果超过了迭代限制(true)或者没有超过(false),软件将独立地度量决策覆盖率。如果迭代限制至少一次为真,至少一次为假,则迭代限制的决策覆盖率为100%。如果没有迭代限制为真,或者没有迭代限制为假,则决策覆盖率为50%。如果你设置最大迭代次数来-1
(无限制),迭代限制的决策覆盖率对于所有迭代为真,对于零迭代为假,决策覆盖率为50%。