Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

verify ステートメントを使用したモデルのシミュレーションの評価

モデルまたはテスト ハーネスに Test Assessment ブロックを含め、Test Assessment ブロックで verify ステートメントを作成することで、モデルのシミュレーションを検証できます。verify ステートメントは、シミュレーション全体と個々のタイム ステップの両方について、passfail、または untested の結果を返します。結果はテスト マネージャーに表示されます。

Test Assessment ブロックの verify ステートメントの有効化

Test Assessment には When 構造シーケンスが含まれています。When 構造シーケンスは、それぞれの verify ステートメントを有効にするシミュレーション条件を明確に定義するのに役立ちます。

  1. モデルで Test Sequence ブロックをソースとして使用する場合、それぞれの verify ステートメントを Test Sequence ブロックのアクティブなステップを使用して有効にすることを検討します。

  2. モデルで Test Sequence ブロックをソースとして使用しない場合、またはテスト シーケンス ステップが検証する条件と対応しない場合は、それぞれの verify ステートメントを信号条件を使用して有効にします。

テスト シーケンス ステップによる verify ステートメントの有効化

Test Sequence ブロックと Test Assessment ブロックを Test Sequence ブロックからのアクティブなステップ信号で接続します。それぞれの verify ステートメントをアクティブなステップで有効にします。

たとえば、次のテスト ハーネスには Test Sequence ブロックと Test Assessment ブロックが含まれています。ブロックは Active_Step 信号で接続されています。

Test Assessment ブロックに 4 つのサブステップをもつ when 構造シーケンスが含まれています。それぞれに verify ステートメントがあり、Test Sequence ブロックの異なるステップで有効化されます。

この例の Else ステップにはアクションはなく、前の when 条件のいずれにも一致しないシミュレーション条件を処理します。このようなステップの名前は、Else のほか、他の任意の望ましい名前にすることができます。このステップに when 条件を含めることはできません。

Test Sequence block steps, transitions, and next steps, and Test Assessment block steps

Test Assessmentverify ステートメントを Test Sequence ブロックのアクティブなステップで有効にするには、次のようにします。

  1. Test Sequence ブロックのアクティブなステップのデータ出力を作成します。

    1. Test Sequence ブロックを選択します。

      新しい列挙データ出力を作成します。プロパティ インスペクターで、[アクティブなステップの監視用データを作成] を選択し、[データ型][Enum] に設定します。

    2. [Enum 名] に名前を入力します。

      Property Inspector for Test Sequence block

  2. Test Assessment ブロックのデータ入力を作成します。

    1. Test Assessment ブロックを開きます。

    2. [シンボル] ペインで、[入力] の横にカーソルを合わせ、[データの追加] Add datat icon をクリックします。

    3. 入力に名前を付けます。

  3. ブロック線図で、Test Sequence ブロックの出力を Test Assessment ブロックの入力に接続します。

  4. Test Assessment ブロックで When 構造シーケンスを作成します。

    1. Test Assessment ブロックでは、既定で When 構造シーケンスが構成されています。標準のシーケンスと When 構造シーケンスで切り替えるには、親ステップを右クリックして [when 構造] を選択します。

    2. それぞれの When 構造ステップについて、そのステップがアクティブなステップの列挙データを使用してアクティブになるタイミングを定義します。以下に例を示します。

      VerifyBoth when TSActiveStepIN == ...
         Test_Sequence_Active_Step_Enum.PressBothButtons

    3. verify ステートメントを各評価ステップに追加します。

信号条件による verify ステートメントの有効化

モデルで Test Sequence ブロックをソースとして使用しない場合、またはテスト シーケンス ステップが検証する条件と対応しない場合は、一意の信号条件を使用して verify ステートメントを有効にします。verify ステートメントを When 構造シーケンスに配置し、When 条件で条件ステートメントを使用します。

たとえば、次のテスト ハーネスでは Signal Editor ブロックの入力を使用しています。

Test harness with a Test Assessment block and inputs from a Signal Editor block

Test Assessment ブロックに When 構造シーケンスが含まれています。各サブステップに verify ステートメントがあります。各サブステップが一意の信号条件で有効化されます。

Plot of when decomposition sequence and associated Test Assessment verify statements

verify ステートメントの作成

verify ステートメントは論理式を評価します。オプションの引数を使用して、テスト マネージャーの結果にラベルを付けることができます。

verify ステートメントは、各タイム ステップとシミュレーション全体について、passfail、または untested の結果を返します。いずれかのタイム ステップで fail になると全体が fail になります。失敗になる結果が 1 つもない場合、いずれかのタイム ステップで pass になると全体が pass になります。それ以外の場合、全体の結果は untested になります。結果はテスト結果の [verify ステートメント] セクションに表示されます。verify の構文の詳細と使用する際の考慮事項については、verify のリファレンス ページを参照してください。

この 2 つの値の比較では、親ステップで verify ステートメントを使用して、シミュレーション中に 2 つのローカル変数 xy を評価します。

  • verify(x >= y) は、テスト シーケンス全体について true になるため全体にパスします。

  • verify(x == y)verify(x ~= y) は、それぞれ step_1_2step_1_1 で失敗になるため失敗します。

Verify statements that compare two values

テスト マネージャーに次の結果が表示されます。

Plot of results of when x is not equal to y

参考

| | | | | |

関連するトピック