メインコンテンツ

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

モデル コンフィギュレーション パラメーター: コード生成最適化

[コード生成][最適化] カテゴリには、モデルのシミュレーション速度の向上、および生成コードのパフォーマンスの向上のためのパラメーターが含まれています。生成コードを改善するためのモデル コンフィギュレーション パラメーターには Simulink® Coder™ または Embedded Coder® が必要です。

パラメーター説明

既定のパラメーター動作 (Simulink Coder)

数値ブロック パラメーターを、生成コードの定数インライン値に変換します。

ターゲット ハードウェアの命令セット拡張を活用 (Simulink Coder)ターゲット ハードウェア用の SIMD (Single Instruction, Multiple Data) コードを生成する命令セットを選択します。
リダクションの最適化 (Simulink Coder)リダクション演算ループ用の Single Instruction, Multiple Data (SIMD) コードを生成します。

再利用可能なサブシステムの出力を渡す (Embedded Coder)

再利用可能なサブシステムが出力を渡す方法を指定します。

ルート レベル I/O のゼロ初期化を削除 (Embedded Coder)

ルートレベルの入力端子と出力端子をゼロに設定する初期化コードを生成するかどうかを指定します。

内部データのゼロ初期化を削除 (Embedded Coder)

ブロック状態やブロック出力などの内部作業構造体をゼロにする初期化コードを生成するかどうかを指定します。

Level (Embedded Coder)

生成されたコードに適用する最適化レベルを選択します。

Priority (Embedded Coder)

実行効率性の向上、RAM 消費の減少、またはこれら 2 つの均衡をとるために、生成コードを最適化します。

カスタム最適化を指定 (Embedded Coder)

このパラメーターを選択すると、最適化レベルが適用されず、[詳細] セクションの最適化パラメーターが選択されます。

ベクトルの割り当てに対して memcpy を使用 (Simulink Coder)

ベクトルの代入において for ループを memcpy に置き換えることで、生成コードを最適化します。

memcpy しきい値 (バイト) (Simulink Coder)

生成コードでのベクトルの代入において、for ループの代わりに関数 memcpy および memset の呼び出しに置き換える最小配列サイズをバイト単位で指定します。

ローカルなブロックの出力を有効にする (Simulink Coder)

ブロック信号がローカルとグローバルのどちらで宣言されるかを指定します。

ローカル ブロック出力の再利用 (Simulink Coder)

Simulink Coder ソフトウェアが信号メモリを再利用するかどうかを指定します。

余分なローカル変数の削除 (式の畳み込み) (Simulink Coder)

ブロックの計算を単一の式にします。

グローバル ブロック出力の再利用 (Embedded Coder)

ブロック出力でグローバル メモリを再利用します。

Model ブロックの出力バッファーを再利用する (Embedded Coder)

可能な場合は、参照モデル バッファーを再利用します。
Unify buffer reuse candidates (Embedded Coder)モデルレベルでバッファーの再利用候補を解析し、生成コードで最適な再利用を実装します。

Assignment ブロックおよび Bus Assignment ブロックの更新でインプレース更新を実行する (Embedded Coder)

可能な場合は、Bus Assignment ブロックおよび Assignment ブロックの入力変数と出力変数を再利用します。

Data Store Read ブロックと Data Store Write ブロックのバッファーの再利用 (Embedded Coder)

Data Store Read ブロックと Data Store Write ブロックの一時的なバッファーを削除します。可能な場合は、Data Store Memory ブロックを直接使用します。

配列のインデックスを簡略化する (Embedded Coder)

ループで配列にアクセスするときに配列インデックスの乗算演算を置き換えます。

boolean データをビットフィールドにパッキング (Embedded Coder)

Boolean 信号を 1 ビットのビットフィールドとして保存するか、Boolean データ型として保存するかを指定します。

ビットフィールド宣言子の型指定子 (Embedded Coder)

コンフィギュレーション パラメーターboolean データをビットフィールドにパッキング (Embedded Coder)を選択する場合にビットフィールド型を指定します。

サイズと次元が異なるバッファーの再利用 (Embedded Coder)

バッファーを再利用してサイズと次元が異なるデータを保存することにより、メモリ消費量を削減します。

グローバル データ アクセスの最適化 (Embedded Coder)

グローバル変数の最適化を選択します。

生成コードにおけるブロック演算順序の最適化 (Embedded Coder)

生成されたコードにおけるブロック演算の順序を変えて、コードの実行速度を改善します。

ステート構成を保存するためにビットセットを使用 (Simulink Coder)

ステート構成変数の格納に必要なメモリ量を減らすために、ビットセットを使用します。

boolean データを保存するためにビットセットを使用 (Simulink Coder)

Boolean データの格納に必要なメモリ量を減らすために、ビットセットを使用します。

最大スタック サイズ (バイト) (Simulink Coder)

モデルの最大スタック サイズをバイト単位で指定します。

ループ展開のしきい値 (Simulink Coder)

for ループを生成する最小の信号またはパラメーター幅を指定します。

Optimize using the specified minimum and maximum values (Embedded Coder)

モデルの信号およびパラメーターに指定された最小値と最大値を使用して、生成コードを最適化します。

サブシステム出力に使用する引数の最大数

個別に渡すためのサブシステムの出力の最大数を設定してください。

インライン不変信号 (Simulink Coder)

不変信号のシンボリック名を定数値に変換します。

浮動小数点から整数への変換で NaN が 0 にマッピングされて飽和したコードを削除 (Simulink Coder)

結果が NaN 値になる浮動小数点数から整数への変換を処理するコードを削除します。

float と double を 0.0 に初期化するために memset を使用 (Simulink Coder)

浮動小数点データを 0.0 に明示的に初期化するコードを生成するかどうかを指定します。

範囲外の値をラップする浮動小数点から整数への変換コードを削除 (Simulink Coder)

範囲外の浮動小数点数から整数への変換結果を処理するラッピング コードを削除します。

調整可能なパラメーター式から範囲外の値を飽和させるコードを削除 (Embedded Coder)

調整可能なパラメーターのラッピング コードを削除します。

除算演算の例外処理を防止するコードを削除 (Embedded Coder)

整数と固定小数点のゼロ除算および INT_MIN/-1 演算を防ぐコードを生成するかどうかを指定します。

再利用可能なサブシステムのバッファー (Simulink Coder)再利用可能なサブシステムの境界にバッファーを挿入することにより、再利用を改善します。

互換性のない最適化を無効にする

Simulink Code Inspector と不整合な最適化を無効にするかどうかを指定します。

自動的に作成される列挙の基本ストレージ型 (Simulink Coder)アクティブ ステート出力とともに作成される列挙値のストレージ型とサイズを設定します。
バッファーの再利用のガイドとして信号のラベルを使用 (Embedded Coder)信号が同じラベルをもつ場合、コード ジェネレーターは同じ信号メモリを使用しようとします。
並列 for ループの生成 (Embedded Coder)生成コード内の for ループが Matlab FunctionMatlab System、または For Each ブロックに並列で実装されるかどうかを指定します。
Automatically schedule for-loops (Embedded Coder)Neighborhood Processing ブロックに対して生成コード内で入れ子の for ループを自動スケジュールするかどうかを指定します。
信号ストレージの再利用 (Simulink Coder)ブロック入力信号と出力信号を保存するために割り当てられたメモリ バッファーを再利用して、リアルタイム プログラムのメモリ要件を減少させるように指定します。
Bitwise Operator ブロックと Logical Operator ブロックを表す演算子 (Embedded Coder)生成コードにビット演算子か論理演算子のどちらか一方を含める、またはその両方を含めるかどうかを指定します。

参考

トピック