メインコンテンツ

ソフトウェアインザループ (SIL) モードおよびプロセッサインザループ (PIL) モードでのモデルのコード カバレッジ

Embedded Coder® および Simulink® Coverage™ をお持ちの場合は、ソフトウェアインザループ (SIL) シミュレーションまたはプロセッサインザループ (PIL) シミュレーション中に生成されたコードのカバレッジを解析できます。

モデルの SIL または PIL コード カバレッジの有効化

モデルの SIL または PIL コード カバレッジを記録するには、次のようにします。

  1. サポートされているコンパイラがインストールされていることを確認します。サポートされているコンパイラの一覧については、Supported and Compatible Compilers に記載されている、Embedded Coder でサポートされているコンパイラを参照してください。

  2. [コンフィギュレーション パラメーター] ダイアログ ボックスの左ペインで、[コード生成] をクリックします。リストから、[検証] を選択します。

  3. [コードのプロファイリング] の下で、[関数の実行時間を計測する][オフ] に設定します。

  4. [SIL または PIL のコード カバレッジ] の下で、[サードパーティ ツール][なし (Simulink Coverage を使用)] に設定します。

  5. SIL または PIL モードのモデルのカバレッジ、あるいは SIL または PIL モードの参照モデルのカバレッジを有効にします。カバレッジの有効化の詳細については、モデル カバレッジ (Simulink Coverage)を参照してください。

  6. SIL シミュレーションまたは PIL シミュレーションを実行します。

    メモ

    [カバレッジ] ツールストリップの [実行 (カバレッジ)] ボタンを使用すると、最上位モデルのノーマル モード シミュレーションが強制的に実行されるため、SIL または PIL のコード カバレッジは得られません。

    SIL シミュレーションまたは PIL シミュレーションを実行するには、次のようにします。

    1. Simulink ウィンドウで、[アプリ] をクリックし、[SIL/PIL マネージャー] をクリックします。

    2. [SIL/PIL] タブで [自動検証]、[SIL/PIL シミュレーションのみ] をクリックします。

    3. [SIL/PIL を実行] をクリックします。

SIL または PIL モードにおけるモデルのカバレッジ結果の確認

[コード] ペインでコード カバレッジ情報を表示するには、検索ボックスの右にあるメニュー アイコンをクリックし、[コード カバレッジを表示] を選択します。このオプションが無効になっている場合は、[カバレッジ] タブで [カバレッジの強調表示] をクリックします。コードには、コード カバレッジ情報を示す強調表示と注釈が表示されます。行番号、コード要素、およびコメントのリンクを使用することで、コードから関連するモデル ブロックへ移動できます。

Code view showing generated code with coverage annotations. Labels point to coverage annotations and links to model elements.

カバレッジの注釈にカーソルを合わせると、追加情報を含むツールヒントが表示されます。

R2023a において: カバレッジがない場合、ツールヒント内の [未カバー] リンクをクリックすると、カバレッジの結果エクスプローラーの [フィルター エクスプローラー] ペインが開き、選択した結果に対する新しい正当化規則が示されます。

Code view showing generated code with the cursor pointed at an annotation. The annotation displays a summary of the coverage received for the decision. The false case is satisfied and the true case is not satisfied.

[コード] ビューの下部に、Simulink Coverage により、コード カバレッジ レポートの概要が表示されます。リストされているメトリクスのいずれかにカーソルを合わせると、追加情報を含むツールヒントが表示されます。

Code coverage summary section of the Code view. The cursor is pointed at condition 41%, the tooltip displays a message that says 5 out of 12 conditions covered.

制限

SIL および PIL モードでのモデルのカバレッジには、次の制限事項があります。

  • モデルは、モデルの SIL または PIL コード カバレッジの有効化に記載されている要件を満たしていなければなりません。

  • コード カバレッジの結果に、読み取り専用フォルダー内の外部 C/C++ ファイルが含まれていてはなりません。

  • [カバレッジ] ツールストリップの [実行 (カバレッジ)] ボタンを使用すると、ノーマル シミュレーションが強制的に実行されるため、SIL または PIL のコード カバレッジは得られません。

  • Mac マシンでは、プロセッサインザループ モードのコード カバレッジは解析できません。

  • [コード] ペインでは、改良条件判定カバレッジ (MCDC) の結果に対する注釈やツールヒントはサポートされていません。結果として、[コード] ペインから該当する結果を正当化できません。

  • [コード] ペインでは、対象外指定フィルター規則の作成はサポートされていません。対象外指定フィルター規則を作成するには、カバレッジ レポートを使用します。

参考

トピック