Main Content

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

整数オーバーフロー エラーの検出

この例では、設計エラー検出解析を使用して、モデル内の整数オーバーフロー エラーを検出する方法を示します。Simulink® Design Verifier™ は、結果として整数オーバーフローに至る可能性のあるモデル構造を特定し、シミュレーション中に整数オーバーフローが発生することがないと証明するか、または、整数オーバーフロー エラーを示すテスト ケースを生成するかのいずれかを行います。

この例では、モデルに対して設計エラー検出解析を行い、どの整数オーバーフローのオブジェクティブが有効で、どのオブジェクティブが結果としてエラーとなるかを示すレポートを生成します。

手順 1: モデルを開く

コマンド プロンプトで、次を入力します。

open_system('sldvdemo_design_error_detection');

手順 2: 設計エラー検出解析の実行

モデルは、[整数のオーバーフロー] オプションが、[Design Verifier][設計エラー検出] ペインの [コンフィギュレーション パラメーター] ダイアログ ボックスで有効としてあらかじめ構成されています。

[Design Verifier] タブで [設計エラーの検出] をクリックします。

ソフトウェアは整数オーバーフロー エラーについてモデルを解析します。解析が終了した後、[結果の概要] ウィンドウで、5 つのオブジェクティブが有効であり、2 つのオブジェクティブが反証されたことが報告されます。

手順 3: 解析結果のレビュー

モデルの解析結果を強調表示するには、[結果の概要] ウィンドウで [解析結果をモデル上で強調表示] をクリックします。有効なオブジェクティブは緑で、反証されたオブジェクティブは赤で強調表示されます。

Controller サブシステムをダブルクリックします。赤で強調表示されている Sum ブロックをクリックします。結果インスペクター ウィンドウに整数オーバーフロー オブジェクティブが表示されます。

結果としてエラーとなるテスト ケースを表示するには [テスト ケースを表示] をクリックします。ハーネス モデルが開き、Signal Editor ブロックが、結果としてエラーとなるテスト ケースを表示します。

手順 4: 整数オーバーフロー エラーの修正

整数オーバーフローを生成した両方の Sum ブロックに対して [整数オーバーフローで飽和] オプションを有効にします。または、Simulink エディターで [Toggle Saturation on overflow] ボタンをダブルクリックします。

整数オーバーフローが解決されたことを確認するには、[Design Verifier] タブで [設計エラーの検出] をクリックします。解析の完了後に、すべてのオブジェクティブが有効であることがレポートされます。

関連するトピック