コード生成の仮定のチェック
コード ジェネレーターは、モデルのハードウェア実装設定などに依存する仮定を実装します。仮定がターゲット ハードウェアに対して有効であることをチェックすることが重要です。関数 buildStandaloneCoderAssumptions
を使用して、ターゲット ハードウェアで仮定のチェックを実行するアプリケーションを作成します。
モデルを構成する場合は、ターゲット ハードウェアに一致するハードウェア実装とビルド構成設定を指定してください。次に、ターゲット ハードウェアに対するコード ジェネレーターの仮定をチェックするには、次のワークフローを使用します。
GenerateReport
を'on'
に設定して、モデルをビルド (Ctrl+B) します。チェックできるコード ジェネレーターの仮定のリストを表示するには、コード生成レポートを開き、[Coder Assumptions] リンクをクリックします。
詳細については、コーダー仮定リストを参照してください。
buildStandaloneCoderAssumptions
を実行します。これにより、ビルド フォルダーで生成されたコードを使用して、コード生成の仮定のチェックを実行するアプリケーションが作成されます。アプリケーションをターゲット ハードウェアまたはターゲット環境にダウンロードしてから、アプリケーションを実行します。
アプリケーションを実行中に、デバッグ ツールを使用して、データ構造体内のチェック結果を表示します。
開発用コンピューターに対するコード ジェネレーターの仮定のチェック
ターゲット ハードウェアが、たとえば Windows® 開発用コンピューターである場合は、Microsoft® Visual Studio® を使用してアプリケーションを実行およびデバッグできます。
モデルを開くには、コマンド ウィンドウで次のように入力します。
openExample('ecoder/SILPILVerificationExample', ... supportingFile='SILTopModel.slx')
[モデル コンフィギュレーション パラメーター] ダイアログ ボックスの [ハードウェア実行] ペインで、ターゲット ハードウェアに合う設定を指定します。たとえば、64 ビットの Windows コンピューターでは、以下のパラメーター設定を指定します。
デバイス ベンダー ––
Intel
デバイス タイプ ––
x86-64 (Windows 64)
モデル コンフィギュレーション パラメーター [移植可能なワード サイズを有効にする] をオフにします。
モデルをビルド (Ctrl+B) します。
コード ジェネレーターの仮定のリストを表示するには、コード生成レポートを開き、[コード生成の前提] リンクをクリックします。
コマンド ウィンドウから、作業フォルダーで、以下を実行します。
ビルド フォルダーには、関数によって、ターゲット アプリケーションbuildStandaloneCoderAssumptions('SILTopModel_ert_rtw')
SILTopModel_ca
を含むcoderassumptions\standalone
サブフォルダーが作成されます。Microsoft Visual Studio を開き、[ファイル] 、 [開く] 、 [プロジェクト/ソリューション] を選択します。
[プロジェクトを開く] ダイアログ ボックスで、
coderassumptions\standalone
サブフォルダーに移動し、SILTopModel_ca
を選択します。次に、[開く] をクリックします。[ファイル] 、 [開く] 、 [ファイル] を選択します。[ファイルを開く] ダイアログ ボックスを使用して、
coderassumptions\standalone\SILTopModel_ca.c
を選択します。return
ステートメントに、ブレークポイントを挿入します。[デバッグ] 、 [Start Debugging] を選択します。
コード ジェネレーターの仮定を検証するには、監視ウィンドウを使用して
Results
データ構造体を検証します。SILTopModel_ca.c
コードで、Results
を右クリックします。コンテキスト メニューから [Add Watch] を選択します。
データ構造体の変数には次が含まれます。
チェックの結果 (
TestResults
)ターゲット ハードウェアの真理値 (
ActualValues
)コード ジェネレーターの仮定 (
ExpectedValues
)
たとえば、bitsPerChar
のコード ジェネレーターの仮定が正確な場合、変数 status
に CA_PASS
値が表示されます。
コーダー仮定リスト
コード生成レポートの目次セクションには、[Coder Assumptions] ページへのリンクがあります。このページには、以下のリストがあります。
チェックできるコード生成の仮定
予想された仮定チェックの結果
以下の表はリストに表示されるラベルの説明です。
カテゴリ | ラベル | チェックできる仮定 |
---|---|---|
ターゲット ハードウェアまたは開発用コンピューターの C/C++ 言語構成 |
|
|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| バイト順 ( | |
| 符号ビットの動作 ( | |
| 整数除算の丸め動作 ( | |
C/C++ 言語規格 |
| メモリのゼロ初期化 ( |
浮動小数点数 |
| flush-to-zero 非正規数処理 |
| denormals-are-zero 非正規数処理 |
参考
buildStandaloneCoderAssumptions