Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

カバレッジの対象となるモデル オブジェクト

一部の Simulink® オブジェクトは、どの種類のモデル カバレッジにも対応します。その他の Simulink オブジェクトは、次の表のとおり、特定のカバレッジのみ対象になります。最初の列のリンクをクリックすると、特定のモデル オブジェクトのカバレッジの詳細情報を参照できます。

モデル カバレッジでインストルメント化されていないブロックを除き、すべての Simulink オブジェクトは実行カバレッジの対象になります。

  • Merge ブロック

  • Scope ブロック

  • Outport ブロック

  • Inport ブロック

  • Width ブロック

  • Display ブロック

Stateflow® ステート、イベントおよびステート時相論理判定については、モデル カバレッジでは判定カバレッジのみが行われます。Stateflow 遷移については、モデル カバレッジでは判定カバレッジ、条件カバレッジ、MCDC カバレッジが行われます。ステートおよび遷移の代入ステートメントの論理式については、モデル カバレッジでは条件カバレッジおよび MCDC カバレッジが行われます。詳細については、Stateflow チャートのモデル カバレッジを参照してください。

モデル オブジェクト

判定

条件

MCDC

Lookup Table

Simulink Design Verifier™

整数オーバーフローで飽和

関係演算子の境界

Abs

    

Bias

      

Combinatorial Logic

     

Compare To Constant

     

Compare To Zero

     

Data Type Conversion

      

Dead Zone

    

Direct Lookup Table (n-D)

      

Discrete Filter

      

Discrete FIR Filter

      

Discrete-Time Integrator (飽和制限が有効になっているか、リセットされている場合)

     

Discrete Transfer Fcn

      

Dot Product

      

Enabled Subsystem

    

Enabled and Triggered Subsystem

    

Fcn

    

For Iterator、For Iterator Subsystem

      

Gain

      

If、If Action Subsystem

   
Index Vector     

Interpolation Using Prelookup

     

ライブラリにリンクされたオブジェクト

  

Logical Operator

     

1-D Lookup Table

     

2-D Lookup Table

     

n-D Lookup Table

     

Math Function

      

MATLAB Function

   

MATLAB System

    

MinMax

     

Model

Triggered Modelsも参照してください。

Multiport Switch

     

PID Controller、PID Controller (2 DOF)

      

Product

      

Proof Assumption

      

Proof Objective

      

Rate Limiter

(スルー レートに対して)

     

Relational Operator

     

Relay

     

C/C++ S-Function

    

Saturation

     

Saturation Dynamic

      

MATLAB Function ブロックの Simulink Design Verifier 関数

      

Stateflow チャート

   

Stateflow 状態遷移表

   

Sqrt, Signed Sqrt, Reciprocal Sqrt

      

Sum, Add, Subtract, Sum of Elements

      

Switch

    

SwitchCase、SwitchCase Action Subsystem

      

Test Condition

      

Test Objective

      

Triggered Models

    

Triggered Subsystem

    

Truth Table

    

Unary Minus

      

Weighted Sample Time Math

      

While Iterator、While Iterator Subsystem

      

Abs

Abs ブロックは判定カバレッジの対象となります。判定カバレッジは以下に基づいています。

  • 0 未満となるブロックへの入力

  • 入力信号のデータ型

ブロックへの 0 未満の入力については、判定カバレッジにより次が測定されます。

  • ブロック入力が 0 未満であるタイム ステップの数 (真判定を表す)

  • ブロック入力が 0 未満でないタイム ステップの数 (偽判定を表す)

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Abs ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Abs ブロックへの入力データのデータ型が uint8uint16uint32 のいずれかである場合、Simulink Coverage™ ではブロックのカバレッジのレポートは生成されません。ブロック出力はブロック入力と同じ値に設定され、判定は行われません。Abs ブロックへの入力データのデータ型が boolean の場合、エラーが発生します。

Abs ブロックには、入力とゼロの暗黙的な比較が含まれます。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、Abs ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

Bias

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Bias ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Combinatorial Logic

Combinatorial Logic ブロックは判定カバレッジと条件カバレッジの対象となります。判定カバレッジは、真理値表の各出力行に基づいて行われます。判定カバレッジでは、真理値表の各出力行がブロック出力に設定されているタイム ステップの数を測定します。

条件カバレッジでは、各入力が偽 (0) であるタイム ステップの数と、各入力が真 (0 以外) であるタイム ステップの数を測定します。Combinatorial Logic ブロックの入力要素が 1 つの場合、判定カバレッジと条件カバレッジは等しくなるため、Simulink Coverage ソフトウェアによって判定カバレッジのレポートのみが生成されます。

少なくとも 1 つのタイム ステップで真理値表の値がすべてブロック出力に設定されている場合、判定カバレッジは 100% となります。それ以外の場合は、カバレッジは少なくとも 1 つのタイム ステップで出力された真理値表の値の数を、真理値表の値の総数で除算した値となります。このブロックには少なくとも 1 つの出力値が真理値表にあるため、レポートに表示されるカバレッジの最小値は、1 を真理値表の値の総数で除算した値です。

少なくとも 1 つのタイム ステップですべてのブロック入力が偽となり、かつ少なくとも 1 つのタイム ステップですべてのブロック入力が真となる場合、条件カバレッジは 100% となります。それ以外の場合、少なくとも 1 つのタイム ステップで偽の値になったカバレッジと、少なくとも 1 つのタイム ステップで真の値になったカバレッジを加算します。その値は、2 を合計入力数で累乗した値 (2^number_of_inputs) によって除算されます。レポートに表示されるカバレッジの最小値は、2 を合計入力数で累乗した値で除算した値です。

Compare To Constant

Compare to Constant ブロックは条件カバレッジの対象となります。

条件カバレッジでは次が測定されます。

  • 入力と特定の定数の比較が真であった回数

  • 入力と特定の定数の比較が偽であった回数

Compare to Constant ブロックには、入力と定数との比較が含まれます。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、Compare to Constant ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

Compare To Zero

Compare to Zero ブロックは条件カバレッジの対象となります。

条件カバレッジでは次が測定されます。

  • 入力と 0 の比較が真であった回数

  • 入力と 0 の比較が偽であった回数

Compare to Zero ブロックには、入力とゼロとの比較が含まれます。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、Compare to Zero ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

Data Type Conversion

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Data Type Conversion ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Dead Zone

Dead Zone ブロックは判定カバレッジの対象となります。Simulink Coverage ソフトウェアでは、以下のパラメーターの判定カバレッジがレポートされます。

  • 不感帯の下限

  • 不感帯の上限

[不感帯の下限] パラメーターは不感帯の下限を指定します。[不感帯の下限] パラメーターの判定カバレッジでは、以下の内容が測定されます。

  • ブロック入力が下限以上であるタイム ステップの数 (真判定を表す)

  • ブロック入力が下限未満であるタイム ステップの数 (偽判定を表す)

[不感帯の上限] パラメーターは不感帯の上限を指定します。[不感帯の上限] パラメーターの判定カバレッジでは、以下の内容が測定されます。

  • ブロック入力が上限を超えるタイム ステップの数 (真判定を表す)

  • ブロック入力が上限以下であるタイム ステップの数 (偽判定を表す)

上限が真である場合、そのタイム ステップの [不感帯の下限] カバレッジは測定されません。そのため、[不感帯の下限] 判定の総数は、[不感帯の上限] が偽であるタイム ステップの数と等しくなります。

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Dead Zone ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Dead Zone ブロックには、入力と上限値および下限値との暗黙的な比較が含まれます。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、Dead Zone ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

Direct Lookup Table (n-D)

Direct Lookup Table (n-D) ブロックはルックアップ テーブル カバレッジの対象となります。n 次元ルックアップ テーブルでは、出力ブレークポイントの数は、テーブルの各次元のブレークポイント数の積です。

ルックアップ テーブル カバレッジでは以下の内容が測定されます。

  • シミュレーション時に、次元の入力値のそれぞれの組み合わせが各ブレークポイントの間であった回数。

  • シミュレーション時に、次元の入力値のそれぞれの組み合わせが、テーブルの各次元の最低のブレークポイントを下回った回数と最高のブレークポイントを上回った回数。

n 次元ルックアップ テーブルのカバレッジ ポイントの総数は、テーブルの各次元のブレークポイントの数の積に 1 を加算した値です。カバレッジ レポート内の白から緑に変化するカラー スケールには、0 から始まり 6 等分されているデータ範囲が設定されており、それぞれ内挿点または外挿点が測定されるタイム ステップの数を示しています。

ソフトウェアで全体のカバレッジ率を判定するには、1 つのブレーク ポイントまたは終点を超えたシミュレーション中に、少なくとも 1 つのタイム ステップで計測された内挿点および外挿点の合計を測定します。

Discrete Filter

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Discrete Filter ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Discrete FIR Filter

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Discrete FIR Filter ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Discrete-Time Integrator

Discrete-Time Integrator ブロックは判定カバレッジの対象となります。Simulink Coverage ソフトウェアでは、以下のパラメーターの判定カバレッジがレポートされます。

  • 外部リセット

  • 出力を制限する

[外部リセット][なし] に設定した場合、Simulink Coverage ではリセットされた判定の判定カバレッジのレポートは生成されません。それ以外の場合、判定カバレッジでは以下の内容が測定されます。

  • ブロック出力がリセットされたタイム ステップの数 (真判定を表す)

  • ブロック出力がリセットされていないタイム ステップの数 (偽判定を表す)

[出力を制限する] が選択されていない場合、その判定の判定カバレッジのレポートは生成されません。それ以外の場合、[飽和の下限][飽和の上限] の判定カバレッジのレポートが生成されます。

[飽和の上限] の判定カバレッジでは、以下の内容が測定されます。

  • 積分結果が上限以上であるタイム ステップの数 (真判定を表す)

  • 積分結果が上限未満であるタイム ステップの数 (偽判定を表す)

[飽和の下限] の判定カバレッジでは、以下の内容が測定されます。

  • 積分結果が下限以下であるタイム ステップの数 (真判定を表す)

  • 積分結果が下限を超えるタイム ステップの数 (偽判定を表す)

上限が真であるタイム ステップについては、[飽和の下限] カバレッジは測定されません。そのため、下限判定の総数は、上限が偽であるタイム ステップの数と等しくなります。

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Discrete-Time Integrator ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Discrete Transfer Fcn

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Discrete Transfer Fcn ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Dot Product

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Dot Product ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Enabled Subsystem

Enabled Subsystem ブロックは判定カバレッジ、条件カバレッジ、MCDC カバレッジの対象となります。

判定カバレッジでは以下の内容が測定されます。

  • ブロック出力がイネーブルであるタイム ステップの数 (真判定を表す)

  • ブロック出力がディセーブルであるタイム ステップの数 (偽判定を表す)

少なくとも 1 つのタイム ステップが真で、かつ少なくとも 1 つのタイム ステップが偽の場合、判定カバレッジは 100% となります。どのタイム ステップも真ではない場合や、どのタイム ステップも偽ではない場合には、判定カバレッジは 50% となります。

Simulink Coverage ソフトウェアによるイネーブル入力の条件カバレッジの測定は、イネーブル入力がベクトルの場合のみ行われます。イネーブル入力について条件カバレッジで測定されるのは、イネーブル入力の各要素が真であるタイム ステップの数と、イネーブル入力の各要素が偽であるタイム ステップの数です。条件カバレッジは想定される条件の総数と、そのうち少なくとも 1 つのタイム ステップで真である条件の数および少なくとも 1 つのタイム ステップで偽である条件の数に基づいて計算されます。

イネーブル入力の MCDC カバレッジの測定は、イネーブル入力がベクトルの場合のみ行われます。サブシステムの Enable はベクトル入力の OR なので、少なくとも 1 つのタイム ステップの間で各ベクトル イネーブル入力が完全に真であり、さらに少なくとも 1 つのタイム ステップの間ですべてのイネーブル入力が偽である場合、MCDC カバレッジは 100% となります。MCDC カバレッジ測定では、ベクトルの各要素が独立した条件として扱われます。

Enabled and Triggered Subsystem

Enabled and Triggered Subsystem ブロックは判定カバレッジ、条件カバレッジ、MCDC カバレッジの対象となります。判定カバレッジでは以下の内容が測定されます。

  • ブロックがイネーブルである状態でトリガー エッジが発生したタイム ステップの数 (真判定を表す)

  • ブロックがイネーブルである状態でトリガー エッジが発生していないか、ブロックがディセーブルになっているタイム ステップの数 (偽判定を表す)

少なくとも 1 つのタイム ステップが真で、かつ少なくとも 1 つのタイム ステップが偽の場合、判定カバレッジは 100% となります。どのタイム ステップも真ではない場合や、どのタイム ステップも偽ではない場合には、判定カバレッジは 50% となります。

イネーブル入力の条件カバレッジとトリガー入力の条件カバレッジは個別に測定されます。

  • イネーブル入力について条件カバレッジで測定されるのは、イネーブル入力が真であるタイム ステップの数と、イネーブル入力が偽であるタイム ステップの数です。

  • トリガー入力について条件カバレッジで測定されるのは、トリガー エッジが発生するタイム ステップの数 (真を表します) と、トリガー エッジが発生しないタイム ステップの数 (偽を表します) です。

条件カバレッジは想定される条件の総数と、そのうち少なくとも 1 つのタイム ステップで真である条件の数および少なくとも 1 つのタイム ステップで偽である条件の数に基づいて計算されます。各ベクトル要素は、それぞれ独立した条件カバレッジ測定として処理されます。

イネーブル入力の MCDC カバレッジとトリガー入力の MCDC カバレッジは組み合わせて測定されます。サブシステムのイネーブル入力は 2 つの入力の AND なので、次のすべての条件を満たした場合に MCDC カバレッジは 100% となります。

  • 少なくとも 1 つのタイム ステップで、両方の入力が真となる。

  • 少なくとも 1 つのタイム ステップで、イネーブル入力が真となり、かつトリガー エッジが偽となる。

  • 少なくとも 1 つのタイム ステップで、イネーブル入力が偽となり、かつトリガー エッジが真となる。

各ベクトル要素は、それぞれ独立した MCDC カバレッジ測定として処理されます。各トリガー エッジ要素は各イネーブル入力要素と比較して測定されます。ただし、トリガー入力とイネーブル入力の両方の要素の数が 12 を超える場合、MCDC カバレッジのレポートは生成されません。

Fcn

Fcn ブロックは条件カバレッジと MCDC カバレッジの対象となります。Simulink Coverage ソフトウェアが Fcn ブロックの条件カバレッジや MCDC カバレッジのレポートを生成するのは、最上位演算子が論理演算子 (&&||! のいずれか) である場合に限られます。

条件カバレッジは、ブロック内の論理演算子への入力である入力値または演算式に基づいています。条件カバレッジでは以下の内容が測定されます。

  • 論理演算子への各入力が真である (0 でない) タイム ステップの数

  • 論理演算子への各入力が偽である (0 である) タイム ステップの数

少なくとも 1 つのタイム ステップですべての論理演算子入力が偽となり、かつ少なくとも 1 つのタイム ステップですべての論理演算子入力が真となる場合、条件カバレッジは 100% となります。それ以外の場合は、条件カバレッジは想定される条件の総数と、そのうち少なくとも 1 つのタイム ステップで真である条件の数および少なくとも 1 つのタイム ステップで偽である条件の数に基づいて計算されます。

このソフトウェアでは、Fcn ブロック内の論理式の MCDC カバレッジが測定されます。少なくとも 1 つのタイム ステップで各条件がそれぞれ独立して式の出力を真に設定し、かつ少なくとも 1 つのタイム ステップで各条件がそれぞれ独立して式の出力を偽に設定した場合、MCDC カバレッジは 100% になります。それ以外の場合は、MCDC カバレッジは想定される条件の総数と、少なくとも 1 つのタイム ステップで各条件がそれぞれ独立して出力を真に設定した回数および少なくとも 1 つのタイム ステップで各条件がそれぞれ独立して出力を偽に設定した回数に基づいて計算されます。

Fcn ブロックに関係演算が含まれ、[関係演算子の境界] カバレッジ メトリクスを選択している場合、Fcn ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

For Iterator、For Iterator Subsystem

For Iterator ブロックと For Iterator Subsystem は判定カバレッジの対象となります。Simulink Coverage ソフトウェアではループ条件値の判定カバレッジが測定されます。この条件値は次のいずれかにより決定されます。

  • 反復制限以下の反復値 (真を示す)。

  • 反復制限を超える反復値 (偽を示す)。

各ループ条件が真または偽として評価された回数の合計がレポートされます。ループ条件が少なくとも 1 回真として評価され、かつ少なくとも 1 回偽として評価されていれば、判定カバレッジは 100% になります。どのループ条件も真ではない場合や、どのループ条件も偽ではない場合には、判定カバレッジは 50% となります。

Gain

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Gain ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

If、If Action Subsystem

If Action Subsystem を実行させる If ブロックは条件カバレッジ、判定カバレッジ、MCDC カバレッジの対象となります。

  • このソフトウェアでは、If ブロックで定義された if 条件とすべての elseif 条件の判定カバレッジが測定されます。

  • if 条件またはいずれかの elseif 条件に、複数の条件がある論理式 (u1 & u2 & u3 など) がある場合、式の各条件 (この例では u1u2u3) の条件カバレッジと MCDC カバレッジも測定されます。

else 条件は直接には測定されません。elseif 条件がない場合、else 条件が if 条件を直接補完するか、else 条件が最後の elseif 条件を直接補完します。

if 条件および elseif 条件が真および偽として評価されたタイム ステップの合計数がレポートされます。if 条件または elseif 条件が少なくとも 1 回真として評価され、かつ少なくとも 1 回偽として評価されていれば、判定カバレッジは 100% になります。どの if 条件や elseif 条件も真ではない場合や、どの if 条件や elseif 条件も偽ではない場合には、判定カバレッジは 50% となります。前にある if 条件や elseif 条件が偽として評価されない場合、elseif 条件の判定カバレッジは 0% になることがあります。

If ブロックには、その入力間の比較が含まれます。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、If ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

Index Vector

Index Vector ブロックは、ベクトルの信号入力の各要素がブロックの出力に渡されることで、判定カバレッジを取得します。

各ベクトル インデックスが少なくとも 1 タイム ステップでブロック出力に渡されると、判定カバレッジは 100% となります。それ以外の場合、Simulink Coverage は、出力に渡された入力信号でベクトル インデックスの合計数の割合としてカバレッジをレポートします。

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Index Vector ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。

Interpolation Using Prelookup

Interpolation Using Prelookup ブロックはルックアップ テーブル カバレッジの対象となります。n 次元ルックアップ テーブルでは、出力ブレークポイントの数は、テーブルの各次元のブレークポイント数の積です。ルックアップ テーブル カバレッジでは以下の内容が測定されます。

  • シミュレーション時に、次元の入力値のそれぞれの組み合わせが各ブレークポイントの間であった回数。

  • シミュレーション時に、次元の入力値のそれぞれの組み合わせが、テーブルの各次元の最低のブレークポイントを下回った回数と最高のブレークポイントを上回った回数。

n 次元ルックアップ テーブルのカバレッジ ポイントの総数は、テーブルの各次元のブレークポイントの数の積に 1 を加算した値です。カバレッジ レポート内の白から緑に変化するカラー スケールには、0 から始まり 6 等分されているデータ範囲が設定されており、それぞれ内挿点または外挿点が測定されるタイム ステップの数を示しています。

ソフトウェアで全体のカバレッジ率を判定するには、1 つのブレーク ポイントまたは終点を超えたシミュレーション中に、少なくとも 1 つのタイム ステップで計測された内挿点および外挿点の合計を測定します。

[整数オーバーフローで飽和] を選択すると、Interpolation Using Prelookup ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

ライブラリにリンクされたオブジェクト

ライブラリ オブジェクトにリンクしている Simulink ブロックと Stateflow チャートに対して計算されるカバレッジは、ライブラリ オブジェクトにリンクしていない場合と同じです。Simulink Coverage ソフトウェアでは、モデルのライブラリ オブジェクトごとに個別にカバレッジが記録されます。モデルに同じライブラリ オブジェクトのインスタンスが複数ある場合は、各インスタンスに対して個別のカバレッジ データが生成されます。

Logical Operator

Logical Operator ブロックは条件カバレッジと MCDC カバレッジの対象となります。Simulink Coverage ソフトウェアでは、ブロックへの入力ごとに条件カバレッジが測定されます。条件カバレッジでは以下の内容が測定されます。

  • 各入力が真である (0 でない) タイム ステップの数

  • 各入力が偽である (0 である) タイム ステップの数

少なくとも 1 つのタイム ステップですべてのブロック入力が偽となり、かつ少なくとも 1 つのタイム ステップですべてのブロック入力が真となる場合、ソフトウェアの条件カバレッジは 100% となります。それ以外の場合は、条件カバレッジは想定される条件の総数と、そのうち少なくとも 1 つのタイム ステップで真である条件の数および少なくとも 1 つのタイム ステップで偽である条件の数に基づいて計算されます。

このソフトウェアでは、ブロックへのすべての入力の MCDC カバレッジが測定されます。少なくとも 1 つのタイム ステップで各条件がそれぞれ独立してブロックの出力を真に設定し、かつ少なくとも 1 つのタイム ステップで各条件がそれぞれ独立してブロックの出力を偽に設定した場合、MCDC カバレッジは 100% になります。それ以外の場合は、MCDC カバレッジは想定される条件の総数と、少なくとも 1 つのタイム ステップで各条件がそれぞれ独立して出力を真に設定した回数および少なくとも 1 つのタイム ステップで各条件がそれぞれ独立して出力を偽に設定した回数に基づいて計算されます。

1-D Lookup Table

1-D Lookup Table ブロックはルックアップ テーブル カバレッジの対象となります。1 次元ルックアップ テーブルの場合、入力ブレークポイントと出力ブレークポイントの数は等しくなります。ルックアップ テーブル カバレッジでは以下の内容が測定されます。

  • シミュレーション時に、入力値と出力値が各ブレークポイントの間であった回数

  • シミュレーション時に、入力値と出力値が最低のブレークポイントを下回った回数と最高のブレークポイントを上回った回数

1 次元ルックアップ テーブルのカバレッジ ポイントの合計は、テーブル内のブレークポイントの数に 1 を加算した値です。カバレッジ レポート内の白から緑に変化するカラー スケールには、0 から始まり 6 等分されているデータ範囲が設定されており、それぞれ内挿点または外挿点が測定されるタイム ステップの数を示しています。

ソフトウェアで全体のカバレッジ率を判定するには、1 つのブレーク ポイントまたは終点を超えたシミュレーション中に、少なくとも 1 つのタイム ステップで計測された内挿点および外挿点の合計を測定します。

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、1-D Lookup Table ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

2-D Lookup Table

2-D Lookup Table ブロックはルックアップ テーブル カバレッジの対象となります。2 次元ルックアップ テーブルでは、出力ブレークポイントの数は、行のブレークポイントの数に列の入力の数を乗算した値です。ルックアップ テーブル カバレッジでは以下の内容が測定されます。

  • シミュレーション時に、行の入力値と列の入力値のそれぞれの組み合わせが各ブレークポイントの間であった回数

  • シミュレーション時に、行の入力値と列の入力値のそれぞれの組み合わせが、各行および列の最低のブレークポイントを下回った回数と最高のブレークポイントを上回った回数

2 次元ルックアップ テーブルのカバレッジ ポイントの合計は (テーブル内の行のブレークポイント数 + 1) × (テーブル内の列のブレークポイント数 + 1) です。カバレッジ レポート内の白から緑に変化するカラー スケールには、0 から始まり 6 等分されているデータ範囲が設定されており、それぞれ内挿点または外挿点が測定されるタイム ステップの数を示しています。

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、2-D Lookup Table ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

n-D Lookup Table

n-D Lookup Table ブロックはルックアップ テーブル カバレッジの対象となります。n 次元ルックアップ テーブルでは、出力ブレークポイントの数は、テーブルの各次元のブレークポイント数の積です。ルックアップ テーブル カバレッジでは以下の内容が測定されます。

  • シミュレーション時に、次元の入力値のそれぞれの組み合わせが各ブレークポイントの間であった回数。

  • シミュレーション時に、次元の出力値のそれぞれの組み合わせが、テーブルの各次元の最低のブレークポイントを下回った回数と最高のブレークポイントを上回った回数。

n 次元ルックアップ テーブルのカバレッジ ポイントの総数は、テーブルの各次元のブレークポイントの数の積に 1 を加算した値です。カバレッジ レポート内の白から緑に変化するカラー スケールには、0 から始まり 6 等分されているデータ範囲が設定されており、それぞれ内挿点または外挿点が測定されるタイム ステップの数を示しています。

ソフトウェアで全体のカバレッジ率を判定するには、1 つのブレーク ポイントまたは終点を超えたシミュレーション中に、少なくとも 1 つのタイム ステップで計測された内挿点および外挿点の合計を測定します。

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、n-D Lookup Table ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Math Function

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Math Function ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

MATLAB Function

Simulink Coverage ソフトウェアで MATLAB Function ブロックに対してレポートできるカバレッジの種類の詳細については、MATLAB 関数のモデル カバレッジを参照してください。

MATLAB System

Simulink Coverage は、MATLAB System ブロックの判定カバレッジ、条件カバレッジ、MCDC カバレッジのみを記録します。

MinMax

MinMax ブロックは、ブロックの各入力が出力に渡されることで、判定カバレッジを取得します。

各入力をブロックの出力に渡すことにより計算される判定カバレッジでは、シミュレーションにより各入力がブロックの出力に渡されているタイム ステップの数が測定されます。判定点の数は、ブロックへの入力の数と、入力の種類 (スカラー、ベクトル、行列) によって決まります。

少なくとも 1 つのタイム ステップですべての入力がブロックの出力に渡されている場合、Simulink Coverage ソフトウェアでは判定カバレッジが 100% であるとレポートされます。それ以外の場合は、カバレッジは少なくとも 1 つのタイム ステップで出力に渡された入力の数を、入力の総数で除算した値となります。

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、MinMax ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Model

Model ブロックは直接にはカバレッジの対象とはなりませんが、このブロックが参照するモデルはカバレッジの対象となります。参照モデルのシミュレーション モードが [ノーマル] に設定されている場合、Simulink Coverage ソフトウェアは参照モデル内のオブジェクトのうちカバレッジの対象となるすべてのオブジェクトについてカバレッジをレポートします。参照モデルのシミュレーション モードが [SIL] または [PIL] に設定されていて、Embedded Coder® をインストールしている場合、Simulink Coverage ソフトウェアはモデルから生成されたコードのカバレッジをレポートします。シミュレーション モードが [ノーマル][SIL][PIL] 以外の値に設定されている場合、参照モデルのカバレッジは測定できません。

[コンフィギュレーション パラメーター] ダイアログ ボックスの [カバレッジ] ペインで、カバレッジ レポートの対象となる参照モデルを選択します。カバレッジ レポートは選択した参照モデルごとに生成されます。

モデルに同じ参照モデルのインスタンスが複数ある場合、Model ブロックのシミュレーション モードが [ノーマル] に設定されていれば、そのモデルのすべてのインスタンスのカバレッジが記録されます。その参照モデルのカバレッジ レポートでは、そのモデルにあるノーマル モードのすべてのインスタンスのカバレッジ データが結合されます。

参照モデルのカバレッジ レポートは、親モデルの概要レポートからリンクされています。

メモ

カバレッジのレポートを生成するために参照モデルを選択する方法については、参照モデルを参照してください。

Multiport Switch

Multiport Switch ブロックは、ブロックの最初の制御入力を除外した各入力が、出力に渡されたかどうかに基づいて判定カバレッジの対象になります。

各入力 (最初の制御入力を除く) をブロックの出力に渡すことにより計算される判定カバレッジでは、各入力がブロックの出力に渡されているタイム ステップの数が測定されます。判定点の数は、ブロックへの入力の数と、制御入力の種類 (スカラー、ベクトル) によって決まります。

最初の制御入力を除くすべての入力が少なくとも 1 つのタイム ステップでブロック出力に渡されている場合、判定カバレッジは 100% となります。それ以外の場合は、Simulink Coverage ソフトウェアでレポートされるカバレッジは、少なくとも 1 つのタイム ステップで出力に渡された入力の数を、入力の総数から 1 を引いた数で除算した値となります。

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Multiport Switch ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

PID Controller、PID Controller (2 DOF)

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、PID Controller および PID Controller (2 DOF) ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Product

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Product ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Proof Assumption

Proof Assumption ブロックは Simulink Design Verifier カバレッジの対象になります。Simulink Design Verifier カバレッジは、ブロックのダイアログ ボックスで定義されている点と間隔に基づいています。Simulink Design Verifier カバレッジでは、ブロック内で定義されている各点または間隔が満たされるタイム ステップの数が測定されます。オブジェクティブの結果の合計値は、Proof Assumption ブロックで定義された点や間隔の数に基づいています。

少なくとも 1 つのタイム ステップで、ブロックで定義されたすべての点と間隔が満たされている場合、Simulink Design Verifier カバレッジは 100% になります。それ以外の場合、Simulink Coverage ソフトウェアでレポートされるカバレッジは、少なくとも 1 つのタイム ステップで満たされた点および間隔の数を、ブロックで定義された点と間隔の総数で除算した値となります。

Proof Objective

Proof Objective ブロックは Simulink Design Verifier カバレッジの対象になります。Simulink Design Verifier カバレッジは、ブロック ダイアログ ボックスで定義されている点と間隔に基づいています。Simulink Design Verifier カバレッジでは、ブロック内で定義されている各点または間隔が満たされるタイム ステップの数が測定されます。オブジェクティブの結果の合計値は、Proof Objective ブロックで定義された点や間隔の数に基づいています。

少なくとも 1 つのタイム ステップで、ブロックで定義されたすべての点と間隔が満たされている場合、Simulink Design Verifier カバレッジは 100% になります。それ以外の場合、Simulink Coverage ソフトウェアでレポートされるカバレッジは、少なくとも 1 つのタイム ステップで満たされた点および間隔の数を、ブロックで定義された点と間隔の総数で除算した値となります。

Rate Limiter

Rate Limiter ブロックは判定カバレッジの対象となります。Simulink Coverage ソフトウェアでは、[スルーレートの立ち上がり] および [スルーレートの立ち下り] パラメーターの判定カバレッジがレポートされます。

[スルーレートの立ち上がり] の判定カバレッジでは、以下の内容が測定されます。

  • ブロック入力の変化が立ち上がり速度以上であるタイム ステップの数 (真判定を表す)

  • ブロック入力の変化が立ち上がり速度未満であるタイム ステップの数 (偽判定を表す)

[スルーレートの立ち下り] の判定カバレッジでは、以下の内容が測定されます。

  • ブロック入力の変化が立ち下り速度以下であるタイム ステップの数 (真判定を表す)

  • ブロック入力の変化が立ち下り速度を超えるタイム ステップの数 (偽判定を表す)

[スルーレートの立ち上がり] が真である場合、タイム ステップの [スルーレートの立ち下り] のカバレッジは測定されません。そのため、[スルーレートの立ち下り] 判定の総数は、[スルーレートの立ち上がり] が偽であるタイム ステップの数と等しくなります。

少なくとも 1 つのタイム ステップが真で、かつ少なくとも 1 つのタイム ステップが偽の場合、ブロックの 2 つの判定のそれぞれで判定カバレッジは 100% となります。どのタイム ステップも真ではない場合や、どのタイム ステップも偽ではない場合には、判定カバレッジは 50% となります。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Rate Limiter ブロックは、入力信号の導関数を上限値および下限値と暗黙的に比較します。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、Rate Limiter ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

Relational Operator

Relational Operator ブロックは条件カバレッジの対象となります。

条件カバレッジでは次が測定されます。

  • 指定された関係演算が真だった回数

  • 指定された関係演算が偽だった回数

Relational Operator ブロックには、その入力間の比較が含まれます。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、Relational Operator ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

Relay

Relay ブロックは判定カバレッジの対象となります。Simulink Coverage ソフトウェアでは、[スイッチオン ポイント] パラメーターと [スイッチオフ ポイント] パラメーターの判定カバレッジがレポートされます。

[スイッチオン ポイント] の判定カバレッジでは、以下の内容が測定されます。

  • ブロック入力が [スイッチオン ポイント] 以上である連続タイム ステップの数 (真判定を表す)

  • ブロック入力が [スイッチオン ポイント] 未満である連続タイム ステップの数 (偽判定を表す)

[スイッチオフ ポイント] の判定カバレッジでは、以下の内容が測定されます。

  • ブロック入力が [スイッチオフ ポイント] 以下である連続タイム ステップの数 (真判定を表す)

  • ブロック入力が [スイッチオフ ポイント] を超える連続タイム ステップの数 (偽判定を表す)

スイッチ オンのしきい値が真である場合、タイム ステップの [スイッチオフ ポイント] のカバレッジは測定されません。そのため、[スイッチオフ ポイント] 判定の総数は、[スイッチオン ポイント] が偽であるタイム ステップの数と等しくなります。

少なくとも 1 つのタイム ステップが真で、かつ少なくとも 1 つのタイム ステップが偽の場合、ブロックの 2 つの判定のそれぞれで判定カバレッジは 100% となります。どのタイム ステップも真ではない場合や、どのタイム ステップも偽ではない場合には、判定カバレッジは 50% となります。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Relay ブロックには、2 つ目の入力としきい値との暗黙的な比較が含まれます。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、Relay ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

C/C++ S-Function

C/C++ S-Function にはモデル カバレッジがサポートされています。モデルのカバレッジ レポートには、モデル内の S-Function ブロックの各インスタンスについての結果が記載されます。S-Function ブロックの結果は、ブロック内の C/C++ コードに関する別のカバレッジ レポートにリンクされます。

S-Function のカバレッジ レポートを生成するには、次の手順に従います。

  1. S-Function を作成する際は、カバレッジのサポートを有効にします。詳細については、S-Function をモデル カバレッジ互換にするを参照してください。

  2. カバレッジ レポートを生成する際は、S-Function のサポートを有効にします。詳細については、S-Function のカバレッジ レポートの生成を参照してください。

S-Function について、以下のカバレッジ タイプがレポートされます。

S-Function ブロックのカバレッジ データは以下の方法で取得されます。

  • ブロックのカバレッジ結果は、ブロック内のすべてのファイルに対する結果の加重平均となります。

    たとえば、S-Function ブロックに file1.cfile2.c という 2 つのファイルがあるとします。file1.c の判定カバレッジが 75% (3/4 の結果がカバー) で、file2.c の判定カバレッジが 50% (10/20 の結果がカバー) である場合、ブロックの判定カバレッジは、13/24 ≈ 54 % となります。

  • 各ファイルのカバレッジ結果は、ファイル内のすべての関数に対する結果の加重平均となります。

  • 各関数のカバレッジ結果は、そのカバレッジの対象となる関数内のすべてのステートメントに対する結果の加重平均となります。

メモ

S-Function のモデル カバレッジには以下の制限があります。

  • レベル-2 の C/C++ S-Function のカバレッジのみサポートされます。レベル-2 の C S-Function の例は、Create a Basic C MEX S-Functionを参照してください。

  • C++ クラスのテンプレートはカバレッジ用にインストルメント化されていません。

Saturation

Saturation ブロックは判定カバレッジの対象となります。Simulink Coverage ソフトウェアでは、[下限] パラメーターと [上限] パラメーターの判定カバレッジがレポートされます。

[上限] の判定カバレッジでは、以下の内容が測定されます。

  • ブロック入力が上限以上であるタイム ステップの数 (真判定を表す)

  • ブロック入力が上限未満であるタイム ステップの数 (偽判定を表す)

[下限] の判定カバレッジでは、以下の内容が測定されます。

  • ブロック入力が下限を超えるタイム ステップの数 (真判定を表す)

  • ブロック入力が下限以下であるタイム ステップの数 (偽判定を表す)

上限が真である場合、タイム ステップの [下限] のカバレッジは測定されません。そのため、[下限] 判定の総数は、[上限] が偽であるタイム ステップの数と等しくなります。

少なくとも 1 つのタイム ステップが真で、かつ少なくとも 1 つのタイム ステップが偽の場合、Saturation ブロックの 2 つの判定のそれぞれで判定カバレッジは 100% となります。どのタイム ステップも真ではない場合や、どのタイム ステップも偽ではない場合には、判定カバレッジは 50% となります。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Saturation ブロックには、入力と上限値および下限値との暗黙的な比較が含まれます。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、Saturation ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

Saturation Dynamic

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Saturation Dynamic ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

MATLAB Function ブロックの Simulink Design Verifier 関数

MATLAB Function ブロックでは、以下の関数は Simulink Design Verifier カバレッジの対象となります。

これらの関数は、いずれも式 expr (sldv.test(expr) など) を評価します。expr は有効な MATLAB® 論理式です。Simulink Design Verifier カバレッジでは、式 expr が真と評価されるタイム ステップの数が測定されます。

少なくとも 1 つのタイム ステップで expr が真であれば、その関数の Simulink Design Verifier カバレッジは 100% になります。それ以外の場合、Simulink Coverage ソフトウェアではその関数のカバレッジが 0% としてレポートされます。

Sqrt, Signed Sqrt, Reciprocal Sqrt

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、SqrtSigned Sqrt および Reciprocal Sqrt ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Sum, Add, Subtract, Sum of Elements

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、SumAddSubtract および Sum of Elements ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Switch

Switch ブロックは、ブロックへの制御入力に基づく判定カバレッジの対象になります。判定カバレッジでは以下の内容が測定されます。

  • 制御入力が真と評価されるタイム ステップの数

  • 制御入力が偽と評価されるタイム ステップの数

判定点の数は、制御入力がスカラーかベクトルかに基づいています。

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Switch ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Switch ブロックには、2 つ目の入力としきい値との暗黙的な比較が含まれます。したがって、[関係演算子の境界] カバレッジ メトリクスを選択すると、Switch ブロックは関係演算子の境界カバレッジの対象になります。詳細については、関係演算子の境界カバレッジを参照してください。

SwitchCase、SwitchCase Action Subsystem

SwitchCase ブロックと SwitchCase Action Subsystem は判定カバレッジの対象となります。Simulink Coverage ソフトウェアでは、ブロック内で定義された switch ケースごとに個別に判定カバレッジが測定され、さらに default ケースについても測定されます。判定結果の数は、Case 条件の数に、default ケースの条件 (定義されている場合) の数を加算した値です。

各ケースが真と評価されたタイム ステップの総数がレポートされます。default ケースを含む各ケースが少なくとも 1 回真と評価されると、判定カバレッジは 100% になります。判定カバレッジは、少なくとも 1 つのタイム ステップで真と評価されたケースの数をケースの総数で除算して計算されます。

SwitchCase ブロックに default ケースがない場合、どのケースも真と評価されていないタイム ステップの数に対する判定カバレッジが測定されます。カバレッジ レポートでは、このカバレッジは implicit-default と表記されます。

Test Condition

Test Condition ブロックは Simulink Design Verifier カバレッジの対象になります。Simulink Design Verifier カバレッジは、ブロック ダイアログ ボックスで定義されている点と間隔に基づいています。Simulink Design Verifier カバレッジでは、ブロック内で定義されている各点または間隔が満たされるタイム ステップの数が測定されます。オブジェクティブの結果の合計値は、Test Condition ブロックで定義された点や間隔の数に基づいています。

少なくとも 1 つのタイム ステップで、ブロックで定義されたすべての点と間隔が満たされている場合、Simulink Design Verifier カバレッジは 100% になります。それ以外の場合、Simulink Coverage ソフトウェアでレポートされるカバレッジは、少なくとも 1 つのタイム ステップで満たされた点および間隔の数を、ブロックで定義された点と間隔の総数で除算した値となります。

Test Objective

Test Objective ブロックは Simulink Design Verifier カバレッジの対象になります。Simulink Design Verifier カバレッジは、ブロック ダイアログ ボックスで定義されている点と間隔に基づいています。Simulink Design Verifier カバレッジでは、ブロック内で定義されている各点または間隔が満たされるタイム ステップの数が測定されます。オブジェクティブの結果の合計値は、Test Objective ブロックで定義された点や間隔の数に基づいています。

少なくとも 1 つのタイム ステップで、ブロックで定義されたすべての点と間隔が満たされている場合、Simulink Design Verifier カバレッジは 100% になります。それ以外の場合、Simulink Coverage ソフトウェアでレポートされるカバレッジは、少なくとも 1 つのタイム ステップで満たされた点および間隔の数を、ブロックで定義された点と間隔の総数で除算した値となります。

Triggered Models

Model ブロックは、ルート レベルにエッジベースのトリガー端子があるモデルを参照することができます。トリガー モデルは判定カバレッジ、条件カバレッジ、MCDC カバレッジの対象となります。

判定カバレッジでは以下の内容が測定されます。

  • 参照モデルがトリガーされたタイム ステップの数 (真判定を表す)

  • 参照モデルがトリガーされていないタイム ステップの数 (偽判定を表す)

少なくとも 1 つのタイム ステップが真で、かつ少なくとも 1 つのタイム ステップが偽の場合、トリガー モデルを参照している Model ブロックの判定カバレッジは 100% となります。どのタイム ステップも真ではない場合や、どのタイム ステップも偽ではない場合には、判定カバレッジは 50% となります。

トリガー入力がベクトルである場合に限り、Simulink Coverage ソフトウェアは参照モデルのトリガー端子の条件カバレッジを測定します。トリガー端子の条件カバレッジでは、以下の内容が測定されます。

  • トリガー端子の各要素が真であるタイム ステップの数

  • トリガー端子の各要素が偽であるタイム ステップの数

条件カバレッジは想定される条件の総数と、そのうち少なくとも 1 つのタイム ステップで真である条件の数および少なくとも 1 つのタイム ステップで偽である条件の数に基づいて計算されます。

トリガー端子がベクトルの場合、トリガー端子の MCDC カバレッジのみが測定されます。参照モデルのトリガー端子はベクトル入力の OR なので、少なくとも 1 つのタイム ステップの間で各ベクトル トリガー端子が完全に真であり、さらに少なくとも 1 つのタイム ステップの間ですべてのベクトル トリガー端子入力が偽である場合、MCDC カバレッジは 100% となります。各ベクトル要素は、MCDC カバレッジ測定の独立した条件として処理されます。

Triggered Subsystem

Triggered Subsystem ブロックは判定カバレッジ、条件カバレッジ、MCDC カバレッジの対象となります。

判定カバレッジでは以下の内容が測定されます。

  • ブロックがトリガーされたタイム ステップの数 (真判定を表す)

  • ブロックがトリガーされていないタイム ステップの数 (偽判定を表す)

少なくとも 1 つのタイム ステップが真で、かつ少なくとも 1 つのタイム ステップが偽の場合、判定カバレッジは 100% となります。どのタイム ステップも真ではない場合や、どのタイム ステップも偽ではない場合には、判定カバレッジは 50% となります。

Simulink Coverage ソフトウェアによるトリガー入力の条件カバレッジの測定は、トリガー入力がベクトルの場合のみ行われます。トリガー入力の条件カバレッジでは、以下の内容が測定されます。

  • トリガー エッジの各要素が真であるタイム ステップの数

  • トリガー エッジの各要素が偽であるタイム ステップの数

条件カバレッジは想定される条件の総数と、そのうち少なくとも 1 つのタイム ステップで真である条件の数および少なくとも 1 つのタイム ステップで偽である条件の数に基づいて計算されます。

トリガー入力がベクトルの場合、トリガー入力の MCDC カバレッジのみが測定されます。サブシステムのトリガー エッジはベクトル入力の OR なので、少なくとも 1 つのタイム ステップの間で各ベクトル トリガー エッジ入力が完全に真であり、さらに少なくとも 1 つのタイム ステップの間ですべてのベクトル トリガー エッジ入力が偽である場合、MCDC カバレッジは 100% となります。各ベクトル要素は、MCDC カバレッジ測定の独立した条件として処理されます。

Truth Table

Truth Table ブロックは、Simulink モデルで直接真理値表のロジックを使用できるようにするための Stateflow ブロックです。Truth Table ブロックは条件カバレッジ、判定カバレッジ、MCDC カバレッジの対象となります。Stateflow 真理値表を使用するモデル カバレッジの詳細については、Stateflow 真理値表のモデル カバレッジを参照してください。

Unary Minus

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Unary Minus ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

Weighted Sample Time Math

[整数オーバーフローで飽和] カバレッジ メトリクスを選択すると、Weighted Sample Time Math ブロックは整数オーバーフローで飽和カバレッジの対象になります。詳細については、整数オーバーフローで飽和カバレッジを参照してください。ベクトルまたは行列の各要素は、それぞれ独立したカバレッジ測定として処理されます。

While Iterator、While Iterator Subsystem

While Iterator ブロックおよび While Iterator Subsystem は判定カバレッジの対象となります。判定カバレッジは while 条件値に対して測定されるもので、while 条件が満たされているか (真)、while 条件が満たされていないか (偽) に基づいています。Simulink Coverage ソフトウェアでは、各 while 条件の評価結果が真となる回数と偽となる回数の合計がレポートされます。while 条件が少なくとも 1 回真として評価され、かつ少なくとも 1 回偽として評価されていれば、while 条件の判定カバレッジは 100% になります。どの while 条件も真ではない場合や、どの while 条件も偽ではない場合には、判定カバレッジは 50% となります。

反復制限を超過している (真である) 場合や超過していない (偽である) 場合には、判定カバレッジは独立して測定されます。反復制限が少なくとも 1 回真として評価され、かつ少なくとも 1 回偽として評価されていれば、反復制限の判定カバレッジは 100% になります。どの反復制限も真ではない場合や、どの反復制限も偽ではない場合には、判定カバレッジは 50% となります。[最大反復回数]-1 (無制限) に設定されている場合、反復制限の判定カバレッジはすべての反復に対して真となり、反復回数が 0 の場合は偽となります。この場合、判定カバレッジは 50% となります。