Main Content

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

メモリ使用量

生成コードが使用する RAM、ROM およびスタック領域の削減

コード ジェネレーターが変数をローカルとグローバルのどちらで定義するのかおよびサブシステム関数へのデータの受け渡し方法を指定することにより、メモリ消費量を制御します。コンフィギュレーション設定を変更してデータを保存するメモリの量を削減します。

コード ジェネレーターでは、制御フロー構造を結合し、デッド コード パスおよび計算結果に影響しないブロックのコードを削除して ROM の消費を低減します。初期化コード、関数 reset と関数 disable、防御的なコードなど、必要のないコードを削除して ROM の消費をさらに低減できます。

トピック

ローカルまたはグローバルでの変数の定義

スタック領域の割り当てのカスタマイズ

スタックの最大許容サイズを制御し、生成されたコードでデータをローカルとグローバルのどちらで定義するのかに関する一部の制御を提供します。

Reduce Memory Usage for Signals

Enable parameters that provide the capability to reuse memory allocated for signals.

生成されたコードにおけるローカル ブロック出力の有効化と再利用

可能な場合、コード ジェネレーターは、ブロック出力をローカル変数として宣言し、これらの変数を再利用できるようにします。

生成コードでのグローバル ブロック出力の再利用

コード ジェネレーターはグローバル変数を再利用しようとします。

グローバル変数の使用の最適化

メモリ使用量および実行速度の要件を満たすためのグローバル変数参照の最適化を選択する。

Optimize Generated Code By Passing Reusable Subsystem Outputs as Individual Arguments

The code generator eliminates data copies from local variables back to global block I/O structures by passing reusable subsystem outputs as individual arguments instead of as a pointer to a structure stored in global memory.

Reduce Global Variables in Nonreusable Subsystem Functions

To reduce global RAM for a nonreusable subsystem, generate a function interface that passes data through arguments instead of global variables.

コード サイズの削減

Remove Zero Initialization Code

Control whether to initialize internal data (blocks states and block outputs) and external data (root inports and outports whose value is zero) in the generated code.

Remove Reset and Disable Functions from the Generated Code

Remove unreachable (dead-code) instances of the reset and disable functions from the generated code for ERT-based systems that include model referencing hierarchies.

インライン不変信号

生成されたコード内でシンボリック名ではなく不変信号の数値を使用します。

ブロック パラメーターの数値のインライン化

ブロック パラメーターのリテラル数値をインライン化し、グローバル RAM 使用量を軽減します。

Optimize Generated Code by Consolidating Redundant If-Else Statements

The code generator optimizes the generated code by combining if-else statements that share the same condition.

生成されたコードからのデッド コード パスの除去

コード ジェネレーターはデッド (つまり、未使用) コード パスを生成されたコードから除去します。

計算結果に影響しないブロックのコードの削除

コード ジェネレーターは、計算結果に影響しないコードを削除することで、実行速度を改善して ROM の消費を低減します。

複数の for 構造の組み合わせによる生成コードの最適化

コード ジェネレーターはデータの依存関係の解析を使用して、for 構造を組み合わせて静的なコード サイズとランタイム分岐を削減します。

データを保存するメモリ量の削減

Reuse Buffers of Different Sizes and Dimensions

Reuse buffers for matrices that have different sizes and shapes.

boolean 変数およびステート コンフィギュレーション変数に関するメモリ使用量の削減

ステート コンフィギュレーション変数と Boolean 変数を保存するメモリ量を削減します。

時間カウンターのメモリ使用量の最適化

コード ジェネレーターが経過時間または絶対時間に割り当てるメモリを最適化します。

論理信号の boolean データを使用した生成コードの最適化

コード ジェネレーターは、論理信号を Boolean データ型として保存し、生成されたコードを最適化します。

Optimize Generated Code By Packing Boolean Data Into Bitfields

The code generator reduces RAM consumption by packing boolean data into 1-bit bitfields.

ベクトル演算の最適化

コード ジェネレーターは、一時ローカル配列をローカル変数に置き換えることで、スタック メモリを削減します。

組み込みアプリケーションの単精度データ型の指定

たとえば、単精度プロセッサをターゲットとするなど、浮動小数点データ型が単精度のみのコードを生成します。

ブロック パラメーターのデータ型を指定した効率的なコードの生成

さらに効率的なコードを生成するには、パラメーター データ型と信号のデータ型を一致させるか、パラメーターをさらにサイズが小さいデータ型で格納します。

Control Operator Type in Generated Code

Generate code with Logical or Bitwise Operators or a combination of both operators.