Main Content

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

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

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

パラメーター説明

既定のパラメーター動作

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

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

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

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

Remove root level I/O zero initialization

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

Remove internal data zero initialization

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

Level

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

Priority

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

Specify custom optimizations

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

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

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

memcpy しきい値 (バイト)

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

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

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

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

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

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

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

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

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

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

可能な場合は、参照モデルのバッファーを再利用します。

Perform in-place updates for Assignment and Bus Assignment blocks

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

Reuse buffers for Data Store Read and Data Store Write blocks

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

Simplify array indexing

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

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

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

Bitfield declarator type specifier

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

Reuse buffers of different sizes and dimensions

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

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

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

Optimize block operation order in generated code

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

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

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

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

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

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

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

ループ展開のしきい値

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

Optimize using the specified minimum and maximum values

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

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

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

インライン不変信号

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

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

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

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

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

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

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

Remove Code from Tunable Parameter Expressions That Saturate Out-of-Range Values

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

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

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

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

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

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

自動的に作成される列挙の基本ストレージ型アクティブ ステートの出力で作成される列挙型のストレージ型とサイズを設定します。
Use signal labels to guide buffer reuse同じラベルをもつ信号の場合、コード ジェネレーターは同じ信号メモリを使用しようとします。
並列 for ループの生成生成されたコードの for ループが Matlab Function ブロック、Matlab System ブロックまたは For Each ブロックに並列で実装されるかどうかを指定します。
信号ストレージの再利用ブロックの入力信号と出力信号を格納するために割り当てられたメモリ バッファーの再利用を指定して、リアルタイム プログラムのメモリ要件を緩和します。
Operator to represent Bitwise and Logical Operator blocks生成されたコードにビット演算子または論理演算子、あるいはその両方を含めるかどうかを指定します。

関連するトピック