主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

モデルスライサーを使用した整数オーバーフロー設計エラー検出のデバッグ

この例では,モデルスライサーを使用して,仿金宝app真软件モデルで整数オーバーフロー設計エラーをデバッグする方法を説明します。

必要条件

この例では,次の製品を使用して,設計エラー検出違反のデバッグを説明します。

  • 金宝app仿真软件设计验证器

  • 金宝app模型检查(モデルスライサー)

1 .モデルsldvdemo_design_error_detectionを開きます。

open_system (“sldvdemo_design_error_detection”);

2.[アプリ](设计验证器)をクリックして,金宝app仿真软件设计验证器を開きます。

3.(设计验证器)タブで[設計エラー検出)をクリックします。金宝app仿真软件设计校验はモデルを解析し,(検証結果の概要)ウィンドウに結果を表示します。

モデルで,不合格となったオブジェクティブがあるサブシステムが強調表示されます。

4.控制器サブシステムを開き,赤色で強調表示されたブロックのいずれかを選択します。

5.[結果]ウィンドウで,[デバッグ]をクリックして,モデルスライサーを使用して違反をデバッグします。または,设计验证器タブで[結果の確認][スライサーを使用したデバッグ]をクリックして,モデルスライサーを使用して違反をデバッグします。

いずれかのエントリポイントをデバッグのためクリックすると,モデルに対して以下のセットアップが実行されます。

  • 選択された不合格のオブジェクティブのあるブロックが,モデルスライサーの開始点として追加されます。

  • 不合格となるオブジェクティブの原因となっているスライスについて,モデルが強調表示されます。

  • 設計モデルがシミュレートされ,違反の時点で一時停止します。

6 .端子ラベルを検査して,モデルをデバッグし解析します。

ヒント:总和ブロックの出力信号線をクリックして,ブロックの端子の値のラベルを有効にします。

入力変数の合計が結果として非ゼロの数になることが観察できます。

7.总和ブロックの入力と出力のデータ型を調べます。

总和ブロックの出力に,出力のデータ型が格納できる最大値よりも大きな値があります。そのため,この条件は結果として整数オーバーフローとなります。

検証

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

追加の機能

この例で示しているワークフローを使用して,モデルスライサーを使用して他の設計エラー検出違反をデバッグできます。サポートされている設計エラーを次に示します。

  • ゼロ除算

  • 整数のオーバーフロー

  • 非有限で南(非数値)の浮動小数点値

  • 指定された最小値と最大値の違反

  • データストアのアクセス違反

  • 指定したブロック入力範囲違反