最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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

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

パラメーター説明

既定のパラメーター動作

生成コードで数値ブロック パラメーターをインライン化された定数値に変換します。

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

再利用可能なサブシステムによって出力が渡される形式を指定します。

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

ゼロに設定されたルート レベル Inport と Outport の初期化コードを生成するかどうかを指定します。

内部データのゼロ初期化を削除

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

レベル

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

優先順位

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

カスタム最適化を指定

最適化レベルを適用する代わりに、このパラメーターを選択し、[詳細] セクションで最適化パラメーターを選択します。

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

for ループを memcpy と置き換えることにより、ベクトルの割り当てに対して生成されたコードを最適化します。

memcpy しきい値 (バイト)

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

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

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

ローカル ブロック出力の再利用

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

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

ブロック計算を単一式に畳み込みます。

グローバル ブロック出力の再利用

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

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

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

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

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

配列のインデックスを簡略化する

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

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

boolean 信号を 1 ビット ビットフィールドと boolean データ型のどちらとして格納するかを指定します。

ビットフィールド宣言子の型指定子

コンフィギュレーション パラメーターboolean データをビットフィールドにパッキングを選択したときのビットフィールド型を指定します。

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

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

グローバル データ アクセスの最適化

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

生成されたコードにおけるブロック演算順序の最適化

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

ステートの設定を保存するためにビットセットを使用

ステート コンフィギュレーション変数の格納に必要なメモリ量を減らすために、ビットセットを使用します。

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

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

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

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

ループ展開のしきい値

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

指定した最小値と最大値を使用した最適化

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

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

個別に渡すサブシステムの出力の最大数を設定します。

インライン不変信号

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

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

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

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

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

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

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

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

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

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

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

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

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

Simulink Code Inspector との互換性がない最適化を無効にするかどうかを指定します。

自動的に作成される列挙型の基本ストレージ型アクティブ ステートの出力で作成される列挙型のストレージ型とサイズを設定します。
バッファーの再利用のガイドとして信号のラベルを使用同じラベルをもつ信号の場合、コード ジェネレーターは同じ信号メモリを使用しようとします。
並列 for ループの生成生成されたコードの for ループが Matlab Function ブロック、Matlab System ブロックまたは For Each ブロックに並列で実装されるかどうかを指定します。
信号ストレージの再利用ブロックの入力信号と出力信号を格納するために割り当てられたメモリ バッファーの再利用を指定して、リアルタイム プログラムのメモリ要件を緩和します。

関連するトピック