ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

最適化ペイン: 一般

[最適化][一般] ペインには以下のパラメーターが表示されます。

最適化ペイン: [一般] タブの概要

モデルのアクティブなコンフィギュレーション セット用に最適化を設定します。最適化は、シミュレーションとコード生成の両方に対して設定されます。

ヒント

  • [最適化] ペインを開くには、Simulink® エディターで、[シミュレーション][モデル コンフィギュレーション パラメーター][最適化] を選択します。

  • Simulink Coder™ の最適化は、Simulink Coder 製品がシステムにインストールされている場合にのみ表示されます。GRT ベースまたは ERT ベースのシステム ターゲット ファイルを選択すると、利用可能なオプションが切り替わります。ERT ベースのターゲットの最適化には、コード生成時に Embedded Coder® ライセンスが必要です。各パラメーターのライセンス情報の詳細は、後述する「依存関係」のセクションを参照してください。

参考

ブロック削減

ブロックのグループを縮約または削除することによって実行時間を短縮します。

設定

既定の設定: オン

[オン]

Simulink ソフトウェアによって以下のブロック パターンが検索され、削減されます。

  • 冗長型変換 — 不要な型変換ブロック。型 int の入力と出力をもつ int 型変換ブロックなど。

  • デッド コード — 未使用コード パスに含まれているブロックまたは信号。

  • シングルタスク システムにおける高速から低速への Rate Transition ブロック — 入力頻度が出力頻度より高い Rate Transition ブロック。

[オフ]

Simulink ソフトウェアでは、最適化が可能なブロック パターンは検索されません。シミュレーションと生成済みコードは最適化されません。

ヒント

  • [ブロック削減] を選択すると、Simulink によって特定のブロック グループがより効率的な 1 つのブロックに縮約されるか、完全に削除されます。これにより、モデルのシミュレーションと生成済みコードの実行が高速化します。

  • ブロック削減を行っても、ソース モデルの外観は変わりません。

  • 調整可能なパラメーターを使用しても、デッド コード除去によるブロックの削減は回避できません。

  • ブロック削減が行われると、削除されたブロックの並べ替え順は Simulink に表示されなくなります。

  • Simulink Coder ライセンスをお持ちの場合、ブロック削減の対象となるのはブロックを実行する部分に相当する生成コードのみです。サンプル時間の定義やデータ型などのその他の補足データは、生成済みコードに残る可能性があります。

デッド コード除去-  "未使用コード パス" 内のブロックと信号はすべて、生成済みコードから除去されます。

  • ブロックが未使用コード パスの一部としてみなされるには、以下の条件が満たされている必要があります。

    • ブロックのすべての信号パスが、実行されないブロックで終了している。実行されないブロックの例には、Terminator ブロック、無効になった Assertion ブロック、ブロック削減用に設定された S-Function ブロック、コード生成時の MAT ファイルのログが無効になっている場合の To Workspace ブロックなどが含まれます。

    • ブロックからのグローバル信号ストレージ下流が、そのブロックのいずれの信号パスにも含まれていない。

  • 調整可能なパラメーターを使用しても、デッド コード除去によるブロックの削減は回避できません。

  • 次のブロック線図に示されている信号パスがあるとします。

    [ブロック削減] をチェックした場合、Simulink Coder ソフトウェアは各信号パスに次のように応答します。

    信号パスSimulink Coder ソフトウェアの応答
    In1 から Out1 へデッド コード除去条件が満たされていないため、常にコードを生成する。
    In2 から Terminator へデッド コード除去条件が満たされているため、コードを生成しない。
    In3 から Scope へMAT ファイルのログが有効になっている場合はコードを生成し、MAT ファイルのログが無効になっている場合はコードを除去する。

コマンド ライン情報

パラメーター: BlockReduction
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'on'

推奨設定

アプリケーション設定
デバッグオフ (シミュレーション時および開発時)
影響なし (量産コード生成時)
トレーサビリティオフ
効率性オン
安全対策オフ

参考

条件付き入力分岐実行

Switch ブロックと Multiport Switch ブロックがモデルに含まれている場合のモデルの実行を向上させます。

設定

既定の設定: オン

[オン]

制御入力とその制御入力によって選択されたデータ入力を計算するために必要なブロックのみを実行します。この最適化により、モデルから生成されたコードの実行が高速化します。Switch ブロックの最適化には以下の制約があります。

  • -1 (継承) または inf (定数) のサンプル時間をもつブロックしか参加できない。

  • テスト ポイントのフラグが付いた出力をもつブロックは参加できない。

  • マルチレート ブロックは参加できない。

  • 状態をもつブロックは参加できない。

  • オプション SS_OPTION_CAN_BE_CALLED_CONDITIONALLY が設定された S-Function は参加できない。

[オフ]

各タイム ステップで Switch ブロックの入力端子に影響を与えているすべてのブロックを実行します。

コマンド ライン情報

パラメーター: ConditionallyExecuteInputs
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'on'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティオン
効率性オン (実行)、影響なし (ROM、RAM)
安全対策影響なし

参考

boolean データ (対 double) として論理信号を処理

論理信号を生成するブロックの出力データ型を制御します。

設定

既定の設定: オン

[オン]

論理信号を生成するブロックによって boolean データ型の信号が出力されます。これにより、生成されたコードに必要なメモリ量を削減できます。

[オフ]

論理信号を生成するブロックによって double データ型の信号が出力されます。これにより、以前のバージョンの Simulink ソフトウェアによって作成されたモデルとの互換性を確保できます。

ヒント

  • このオプションを [オン] に設定すると、生成されたコードに必要なメモリ量を削減できます。これは、double 信号が 8 バイトの記憶領域を必要とするのに対し、boolean 信号には 1 バイトしか必要ないためです。

  • このオプションを [オフ] に設定すると、double 型の信号しかサポートしなかった旧バージョンの Simulink ソフトウェアによって作成されたモデルを現行バージョンの Simulink で実行できるようになります。

  • この最適化は以下のブロックに影響します。

    • Logical Operator ブロック – このパラメーターは、次のような Logical Operator ブロックにのみ影響します。[出力データ型] パラメーターが [継承: 論理]最適化を参照)] が有効になります。このパラメーターが選択されている場合、これらのブロックは boolean データ型の信号を出力します。それ以外の場合は、double データ型の信号が出力されます。

    • Relational Operator ブロック – このパラメーターは、次のような Relational Operator ブロックにのみ影響します。[出力データ型] パラメーターが [継承:論理]最適化を参照)] が有効になります。このパラメーターが選択されている場合、これらのブロックは boolean データ型の信号を出力します。それ以外の場合は、double データ型の信号が出力されます。

    • Combinatorial Logic ブロック – このパラメーターが選択されている場合、Combinatorial Logic ブロックは boolean データ型の信号を出力します。それ以外の場合は、double データ型の信号が出力されます。このルールの例外の詳細は、Simulink リファレンスの「Combinatorial Logic」を参照してください。

    • Hit Crossing ブロック – このパラメーターが選択されている場合、Hit Crossing ブロックは boolean データ型の信号を出力します。それ以外の場合は、double データ型の信号が出力されます。

依存関係

  • このパラメーターは、double 型の信号しかサポートしていないバージョンの Simulink ソフトウェアで作成したモデルに対しては無効になります。

コマンド ライン情報

パラメーター: BooleanDataType
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'on'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン
安全対策オン

参考

アプリケーションのライフスパン (日)

経過時間または絶対時間に基づき、ブロックを含むアプリケーションがタイマーのオーバーフローになるまで実行できる期間 (日数) を指定します。

設定

既定の設定: inf
最小値: ゼロより大きくなければならない
最大値: inf

正 (非零) のスカラー値 (0.5 など) または inf を入力します。

Embedded Coder 製品のライセンスを与えられており、ERT ターゲットをモデルに選択している場合、[アプリケーションのライフスパン (日)] の既定値は 1 です。

エクスターナル モードでモデルを実行している場合、[MAT ファイルのログ] が有効になっている場合、または連続サンプル時間を使用している場合は、64 ビット タイマーが必要となるため、このパラメーターは無視されます。

ヒント

  • シミュレーション ステップ サイズと共にライフスパンを指定すると、絶対時間値を格納するためにブロックが使用するデータ型が決定します。

  • シミュレーションの場合は、このパラメーターをシミュレーション時間より大きい値に設定することにより、時間のオーバーフローを確実に防ぐことができます。

  • Simulink ソフトウェアは、このパラメーターをまずモデルのワークスペースと照合して評価します。これでパラメーターを解決できない場合は、次にベース ワークスペースに対する照合が行われます。

  • アプリケーションのライフスパンは、生成されたコードでタイマーによって使用されるワード サイズも決定するため、RAM の使用量を削減できる可能性があります。 詳細は、Simulink Coder ドキュメンテーションの「タイミング サービスタイミング サービス」を参照してください。

  • アプリケーションのライフスパンを各タスクのステップ サイズと組み合わせると、各タスクの整数絶対時間に使用されるデータ型が次のように決まります。

    • モデルに絶対時間が必要とならない場合、このオプションはシミュレーションと生成コードのいずれにも影響しません。

    • モデルに絶対時間が必要な場合、このオプションは、生成コードに整数絶対時間を格納するために使用されるワード サイズを最適化します。これにより、指定したライフスパン内でタイマーがオーバーフローするのを防ぐことができます。[アプリケーションのライフスパン][inf] に設定した場合は、uint32 の単語が 2 つ使用されます。

    • 絶対時間を必要とする固定小数点ブロックがモデルに含まれている場合、このオプションはシミュレーションと生成コードの両方に影響します。

    たとえば、64 ビットを使用してタイミング データを格納すると、ステップ サイズが 0.001 マイクロ秒 (10E-09 秒) のモデルを 500 年以上実行できるようになります (これが必要となることはめったにありません)。ステップ サイズが 1 ミリ秒 (0.001 秒) のモデルを 1 日実行するには、32 ビット タイマーが必要です (49 日間続けて実行することが可能です)。

  • inf を指定した場合は、64 ビットのメモリがタイマーによって割り当てられます。

  • タイマー カウンターによって使用される RAM の量を最小限に抑えるには、ライフスパンを必要以上に長く設定しないでください。

  • 最上位のモデルと参照モデルとで同じになっていなければなりません。

  • 絶対時間と経過時間を計算するために使用されるカウンターのサイズを最適化します。

コマンド ライン情報

パラメーター: LifeSpan
タイプ: 文字列
値: 正 (非零) のスカラー値または inf
既定の設定: 'inf'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性有限値
安全対策inf

参考

固定小数点の勾配設定が整数の逆数の場合は整数の除算を使用する

Fixed-Point Designer™ ソフトウェアは、単純性と正確性の条件が満たされている場合に、整数除算を使って勾配補正を実行することによって整数の逆数である勾配を処理します。

設定

既定の設定: [オフ]

[オン]

単純性と正確性の条件が満たされている場合に、整数除算を使って勾配補正を実行します。

[オフ]

整数乗算とそれに続くシフトを使って勾配補正を実行します。

ヒント

  • この最適化は、シミュレーションとコード生成の両方に影響します。

  • 固定小数点勾配の変化量が 2 のべき乗でない場合は、勾配補正が必要です。通常、勾配補正には、整数乗算とそれに続くシフトが使用されます。この新しい最適化を有効にすると、単純性と正確性に関する特定の条件が満たされている場合に、乗算とシフトが整数除算で置き換えられます。

  • 整数除算を使った勾配補正が、乗算とそれに続くシフトを使用した勾配補正よりも常に効率的であるわけではありません。ターゲット ハードウェアが効率的な除算に対応していることを確認してください。

  • この最適化が確実に行われるようにするには、以下を実行しなければなりません。

    • 製品ターゲットの long データ型を使って除算を実行できるようにブロックの語長を設定します。これにより、マルチワードの演算が使われるのを防ぐことができます。

    • [ハードウェア実行][製品ハードウェア] サブペインの [符号付き整数の除算の丸め] コンフィギュレーション パラメーターを [ゼロの方向 (Zero)] または [負の方向 (Floor)] に設定します。このパラメーターが [指定なし] に設定されている場合、最適化は行われません。

    • ブロックの [整数丸めモード] パラメーターを [シンプルな丸め] に設定するか、[ハードウェア実行][製品ハードウェア] サブペインの [符号付き整数の除算の丸め] コンフィギュレーション パラメーターの設定値に設定します。

依存関係

このパラメーターには Fixed-Point Designer のライセンスが必要です。

コマンド ライン情報

パラメーター: UseIntDivNetSlope
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'off'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン (ターゲット ハードウェアが効率的な除算に対応している場合)
オフ (対応していない場合)
安全対策影響なし

参考

浮動小数点の乗算を使用して勾配設定を補正します

Fixed-Point Designer ソフトウェアでは、浮動小数点の乗算を使用して、浮動小数点から固定小数点へのキャストの正味勾配補正を実行します。

設定

既定の設定: [オフ]

[オン]

浮動小数点乗算を使用して、浮動小数点から固定小数点間のキャストへの正味勾配補正を実行します。

[オフ]

除算を使用して、浮動小数点から固定小数点へのキャストの正味勾配補正を実行します。

ヒント

  • この最適化は、シミュレーションとコード生成の両方に影響します。

  • 浮動小数点から固定小数点への変換の際、正味勾配が 2 のべき乗でない場合は、除算を使用した勾配補正によって精度が向上します。一部のプロセッサについては、乗算を使用するとコード効率が改善します。

依存関係

  • このパラメーターには Fixed-Point Designer のライセンスが必要です。

コマンド ライン情報

パラメーター: UseFloatMulNetSlope
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'off'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン (ターゲット ハードウェアが効率的な乗算に対応している場合)
オフ (対応していない場合)
安全対策オフ

参考

指定不足のデータ型の既定値

データ型の伝播時に信号のデータ型を Simulink ソフトウェアによって推測できなかった場合に継承されたデータ型で使用する既定のデータ型を指定します。

設定

既定の設定: double

double

データ型の伝播中に指定不足のデータ型のデータ型を double に設定します。Simulink は double を継承されたデータ型のデータ型として使用します。

single

データ型の伝播中に指定不足のデータ型のデータ型を single に設定します。Simulink は single を継承されたデータ型のデータ型として使用します。

ヒント

  • この設定は、シミュレーションとコード生成の両方に影響します。

  • 単精度プロセッサをターゲットとする組み込み設計では、このパラメーターを single に設定して、double データ型が使用されるのを回避できます。

  • モデル アドバイザーの [厳密な単精度の設計に対して問題のある演算を特定] チェックを使用して、モデルの倍精度の使用方法を特定します。

コマンド ライン情報

パラメーター: DefaultUnderspecifiedDataType
タイプ: 文字列
値: 'double' | 'single'
既定の設定: 'double'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性 オン (ターゲット ハードウェアが効率的な single の計算に対応している場合)
オフ (対応していない場合)
安全対策影響なし

参考

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

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

設定

既定の設定: オフ

[オン]

モデル内の信号とパラメーターに指定された最大値と最小値から範囲情報を取得し、それに基づいて生成コードを最適化します。

[オフ]

指定された最小値と最大値をコード生成時に無視します。

ヒント

  • コードを生成する前に指定された値をテストしておきます。これを行うには、[診断][データ有効性][シミュレーション範囲のチェック] コンフィギュレーション パラメーターを使用してシミュレーション範囲のチェックを有効にした状態で、モデルをシミュレーションします。エラーまたは警告が発生した場合は、問題を解決してからコードを生成します。そうしないと、最適化の際に数値がシミュレーションと合わなくなる可能性があります。

  • モデル内の以下の信号とパラメーターの最小値と最大値を指定します。

    • Inport ブロックと Outport ブロック。

    • ブロック出力。

    • ブロック入力。たとえば、 MATLAB Function ブロック、および Stateflow Chart ブロックの入力。

    • Simulink.Signal オブジェクト。

  • この最適化では以下の最小値と最大値は考慮に入れられません。

    • Merge ブロック入力。この問題に対処するには、Merge ブロックの出力に対して Simulink.Signal オブジェクトを使用して、このオブジェクトに範囲を指定します。

    • バス要素。

    • 条件付き実行サブシステム (Triggered Subsystem など) のブロック出力で、Outport ブロックに直接接続されます。

      条件付き実行サブシステムの Outport ブロックは、システムがトリガーされない場合にのみの使用に指定された初期値をもつことができます。 その場合、ブロックの初期値をカバーしない可能性があるため、ブロック出力の範囲は最適化で使用されません。

  • この最適化を使用して生成されたコードを検証するために Polyspace® Code Prover™ ソフトウェアを使用する場合は、以前は緑であったコードがオレンジでマークされる可能性があります。たとえば、分母係数の範囲にゼロが含まれていない除算を使うモデルでは、ゼロ除算を防ぐための処理が生成コードに適用されません。Polyspace Code Prover では、除算に対する入力に指定された最小値と最大値に関する情報がないため、このコードがオレンジとしてマークされる可能性があります。

    Polyspace Code Prover ソフトウェアは、Simulink.Signal オブジェクトや Simulink.Parameter オブジェクトの値など、MATLAB® ワークスペースで指定された一部の最小値と最大値を自動的に取り込みます。この例では、Polyspace Code Prover ソフトウェアに範囲情報を提供するため、除算の入力に対して Simulink.Signal オブジェクトを使用し、ゼロが含まれていない範囲を指定します。

    Polyspace Code Prover ソフトウェアは、これらの値をデータ範囲指定 (DRS) ファイルに格納します。ただし、Simulink モデルで指定された最小値と最大値がすべて取り込まれるわけではありません。DRS ファイルを手動で定義すると、追加の最小値/最大値情報を Polyspace Code Prover に提供できます。詳細は、Polyspace Code Prover ドキュメンテーションを参照してください。

  • 倍精度データ型を使用しており、[コード生成] [インターフェイス] [サポート: 非有限数] コンフィギュレーション パラメーターが選択されている場合、この最適化は行われません。

  • モデルに複数のインスタンスの再利用可能なサブシステムが含まれ、各インスタンスで使用される入力信号にそれぞれ異なる最小値と最大値が指定されている場合は、この最適化によってサブシステムごとに異なるコードが生成され、コードが再利用されないことがあります。この最適化を行わない場合、Simulink Coder ソフトウェアはサブシステムのコードを一度だけ生成し、そのコードをサブシステムの複数インスタンス間で共有します。

  • モデル アドバイザーの [安全性関連の最適化設定をチェックする] チェックは、このオプションが選択されている場合に警告を生成します。多くのセーフティ クリティカルなアプリケーションでは、デッド コードを自動的に削除することが許可されていないのが一般的です。これは、トレース可能なコードのない要求事項が生じるのを防ぐためです。詳細は、「安全性関連の最適化設定をチェックする」を参照してください。

  • この最適化を有効にすると、不要なユーティリティ関数と飽和コードを生成コードから除去する点において Fixed-Point Designer ソフトウェアの機能が向上します。

依存関係

  • このパラメーターは ERT ベースのターゲットの場合にのみ表示されます。

  • このパラメーターには、コード生成時に Embedded Coder のライセンスが必要です。

コマンド ライン情報

パラメーター: UseSpecifiedMinMax
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'off'

推奨設定

アプリケーション設定
デバッグオフ
トレーサビリティオフ
効率性オン
安全対策オフ

参考

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

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

設定

既定の設定: [オフ] (GUI)、'on' (コマンド ライン)

オン

ゼロに設定されたルート レベル Inport と Outport の初期化コードを生成しません。

オフ

すべてのルート レベル Inport と Outport の初期化コードを生成します。既定の設定を使用するには、

  • C MEX S-Function ラッパーに割り当てられたメモリをゼロに初期化します。

  • すべての内部および外部データをゼロに初期化します。

    メモ:   コンフィギュレーション パラメーターの設定に関係なく、生成されたコードは、ImportedExtern ストレージ クラスまたは ImportedExternPointer ストレージ クラスのデータを初期化しません。

依存関係

  • このパラメーターは ERT ベースのターゲットの場合にのみ表示されます。

  • このパラメーターには、コード生成時に Embedded Coder のライセンスが必要です。

コマンド ライン情報

パラメーター: ZeroExternalMemoryAtStartup
タイプ: 文字列
値: 'off' | 'on'
既定の設定: 'on'

    メモ:   コマンド ラインの値は、設定値の逆です。したがって、コマンド ラインの 'on' は「設定」の節の [オフ] の説明に相当し、コマンド ラインの 'off' は「設定」の節の [オン] の説明に相当します。

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン (GUI)、off (コマンド ライン) (実行、ROM)、影響なし (RAM)
安全対策オフ (GUI)、on (コマンド ライン)

参考

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

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

設定

既定の設定: オン (GUI)、'off' (コマンド ライン)

オン

memset を使用して、浮動小数点データの内部ストレージを、型にかかわらず整数ビット パターン 0 (全ビット 0) にクリアします。このオプションを選択するシナリオの例として、コンパイラとターゲットの CPU がいずれも整数ビット パターン 0 の浮動小数点ゼロを表している場合に、コンパイラの効率性を高める場合などが挙げられます。

オフ

float および double 型のデータ向けストレージを 0.0 に明示的に初期化するためのコードを生成します。結果として生成されるコードは、オプションを選択したときに生成されるコードより多少非効率になります。

C MEX S-Function ラッパーに割り当てられたメモリを確実にゼロに初期化する必要がある場合は、このオプションを使用しないでください。

依存関係

このパラメーターには Simulink Coder のライセンスが必要です。

コマンド ライン情報

パラメーター: InitFltsAndDblsToZero
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'off'

    メモ:   コマンド ラインの値は、設定値の逆です。したがって、コマンド ラインの 'on' は「設定」の節の [オフ] の説明に相当し、コマンド ラインの 'off' は「設定」の節の [オン] の説明に相当します。

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン (GUI)、'off' (コマンド ライン) (実行、ROM)、影響なし (RAM)
安全対策影響なし

参考

内部データの 0 の初期化は行わない

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

設定

既定の設定: [オフ] (GUI)、'on' (コマンド ライン)

オン

内部の作業構造体をゼロに初期化するコードを生成しません。このパラメーターは、ウォーム ブート (完全なシステム再初期化を伴わない再起動) 時の設計の動作をテストする場合などに選択します。

このパラメーターを選択しても、生成コードによって実行が開始されるたびにメモリが既知の状態になることが保証されるわけではありません。モデルまたは生成された S-Function を 2 回以上実行すると、モデル初期化関数を呼び出してメモリのリセットを試みた場合でも、実行のたびに異なる解が生成されます。

生成された S-Function から実行のたびに同じ解を取得するには、実行する前に MATLAB のコマンド ウィンドウでコマンド clear SFcnNam または clear mex を入力してください。

オフ

内部の作業構造体をゼロに初期化するコードを生成します。次の場合は既定の設定を使用する必要があります。

  • C MEX S-Function ラッパーに割り当てられたメモリをゼロに初期化する必要がある場合

  • 内部と外部のすべてのデータをゼロに初期化する必要があるセーフティ クリティカルなアプリケーションの場合

依存関係

  • このパラメーターは ERT ベースのターゲットの場合にのみ表示されます。

  • このパラメーターには、コード生成時に Embedded Coder のライセンスが必要です。

コマンド ライン情報

パラメーター: ZeroInternalMemoryAtStartup
タイプ: 文字列
値: 'off' | 'on'
既定の設定: 'on'

    メモ:   コマンド ラインの値は、設定値の逆です。したがって、コマンド ラインの 'on' は「設定」の節の [オフ] の説明に相当し、コマンド ラインの 'off' は「設定」の節の [オン] の説明に相当します。

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン (GUI)、off (コマンド ライン)、(実行、ROM)、影響なし (RAM)
安全対策オフ (GUI)、on (コマンド ライン)

参考

モデル参照用の初期化コードを最適化

状態をもつブロックの初期化コードを生成するかどうかを指定します。

設定

既定の設定: [オン]

オン

状態をもつブロックが状態を自動的にリセットできるシステム (Enabled サブシステムなど) に含まれている場合を除き、これらのブロックの初期化コードの生成を抑制します。このオプションを選択すると、コードが効率化します。

オフ

状態をもつすべてのブロックの初期化コードを生成します。状態を自動的にリセットするサブシステム (Enabled サブシステムなど) に現在のモデルが含まれている場合は、このオプションを無効にしてください。現在のモデルは、Model ブロック内の別のブロックから参照されます。

ヒント

[モデル参照用の初期化コードを最適化] パラメーターの使用には次の制約が適用されます。ただし、関数呼び出しモデルを参照する Model ブロックには適用されません。

  • 状態を自動的にリセットするサブシステムには、このパラメーターが on に設定されたモデルを参照している Model ブロックを含めないでください。たとえば、[イネーブル時の状態] ブロック パラメーターが reset に設定されている Enabled サブシステムには、[モデル参照用の初期化コードを最適化] パラメーターが on に設定されたモデルを参照している Model ブロックを含めないでください。

  • モデルを直接的に参照している Model ブロックが含まれたモデルで [モデル参照用の初期化コードを最適化] パラメーターを off に設定した場合は、参照モデルの [モデル参照用の初期化コードを最適化] パラメーターを on に設定しないでください。

依存関係

  • このパラメーターは ERT ベースのターゲットの場合にのみ表示されます。

  • このパラメーターには、コード生成時に Embedded Coder のライセンスが必要です。

コマンド ライン情報

パラメーター: OptimizeModelRefInitCode
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'on'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン (実行、ROM)、影響なし (RAM)
安全対策影響なし

参考

浮動小数点から範囲外の値を含む整数変換へのコードを削除

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

設定

既定の設定: オフ

[オン]

範囲外変換が起きた場合にコードを削除します。コードの効率性がアプリケーションにとって重要であり、次の条件がモデル内の少なくとも 1 つのブロックに当てはまる場合は、このチェック ボックスをオンにしてください。

  • ブロックの出力またはパラメーターを計算するために、浮動小数点データを整数データまたは固定小数点データに変換する必要がある。

  • [ブロック パラメーター] ダイアログ ボックスの [整数オーバーフローで飽和] チェック ボックスが選択解除されている。

    注意:   生成されたコードを実行しても、シミュレーションと同じ結果が得られるとは限りません。

[オフ]

範囲外変換が起きたときに、生成されたコードのシミュレーションと実行の結果が一致します。このチェック ボックスをオンにすると、生成されたコードのサイズが大きくなります。

ヒント

  • このチェック ボックスをオンにすると、生成されたコードのサイズが縮小し、処理が高速化しますが、範囲外の値がある場合の結果がシミュレーションと一致しなくなる可能性があります。

  • このチェック ボックスをオンにしても、影響を受けるのは範囲外の値のコード生成結果だけであり、範囲内の値のコード生成結果がシミュレーションの結果と異なることはありません。

依存関係

このパラメーターには Simulink Coder のライセンスが必要です。

コマンド ライン情報

パラメーター: EfficientFloat2IntCast
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'off'

推奨設定

アプリケーション設定
デバッグオフ
トレーサビリティオフ
効率性オン (実行、ROM)、影響なし (RAM)
安全対策オフ (シミュレーション時および開発時)
オン (量産コード生成時)

参考

NaN を 0 にマッピングする飽和で浮動小数点から整数に変換するコードを削除

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

設定

既定の設定: オン

[オン]

NaN から整数ゼロへのマッピングが行われるときにコードを削除します。コードの効率性がアプリケーションにとって重要であり、次の条件がモデル内の少なくとも 1 つのブロックに当てはまる場合は、このチェック ボックスをオンにしてください。

  • ブロックの出力またはパラメーターを計算するために、浮動小数点データを整数データまたは固定小数点データに変換する必要がある。

  • [ブロック パラメーター] ダイアログ ボックスの [整数オーバーフローで飽和] チェック ボックスが選択されている。

    注意:   生成されたコードを実行しても、シミュレーションと同じ結果が得られるとは限りません。

[オフ]

NaN から整数ゼロへのマッピングが行われるときに、生成されたコードのシミュレーションと実行の結果が一致します。このチェック ボックスをオンにすると、生成されたコードのサイズが大きくなります。

ヒント

  • このチェック ボックスをオンにすると、生成されたコードのサイズが縮小し、処理が高速化しますが、NaN 値がある場合の結果がシミュレーションと一致しなくなります。

  • このチェック ボックスをオンにしても、影響を受けるのは NaN 値のコード生成結果だけであり、それ以外の値のコード生成結果がシミュレーションの結果と異なることはありません。

依存関係

  • このパラメーターには Simulink Coder のライセンスが必要です。

  • ERT ベースのターゲットの場合は、[コード生成][インターフェイス] ペインの [浮動小数点数] チェック ボックスと [非有限数] チェック ボックスをオンにすると、このパラメーターが有効になります。

コマンド ライン情報

パラメーター: EfficientMapNaN2IntZero
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'on'

推奨設定

アプリケーション設定
デバッグオフ
トレーサビリティオフ
効率性オン
安全対策オフ (シミュレーション時および開発時)
オン (量産コード生成時)

参考

除算演算の例外処理に対して保護されたコードの削除

固定小数点データのゼロ除算を防ぐコードを生成するかどうかを指定します。

設定

既定の設定: オン

オン

固定小数点データのゼロ除算を防ぐコードを生成しません。このオプションを選択すると、シミュレーション結果と生成コードの結果がビット単位で一致しない場合があります。

オフ

固定小数点データのゼロ除算を防ぐコードを生成します。

依存関係

  • このパラメーターは ERT ベースのターゲットの場合にのみ表示されます。

  • このパラメーターには、コード生成時に Embedded Coder のライセンスが必要です。

コマンド ライン情報

パラメーター: NoFixptDivByZeroProtection
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'on'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン
安全対策オフ

参考

コンパイラ最適化レベル

高速のためにコード生成時にコンパイラによって使用される最適化の度合いを設定します。

設定

既定の設定: [最適化オフ (高速にビルド)]

[最適化オフ (高速にビルド)]

コードを最適化しないことをコンパイラに指定します。その結果、ビルド時間は短縮されています。

[最適化オン (高速に実行)]

最適化されたコードを生成することをコンパイラに指定します。生成されたコードは実行が高速化されますが、最適化がオフになっている場合と比べてモデルのビルド時間が長くなります。

ヒント

  • 既定の設定の [最適化オフ] はほとんどのモデルに適しています。これにより、高速で使用できるコードがすばやく生成されるようになります。

  • コードを最適化するには、[最適化オン] を設定してください。アクセラレータを使用してモデルを繰り返し実行する場合は、高速実行のコードを最適化によって生成しておくと有益です。

コマンド ライン情報

パラメーター: SimCompilerOptimization
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'off'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性影響なし
安全対策影響なし

参考

詳細なアクセラレータのビルド

Simulink Accelerator モード、参照モデルのアクセラレータ モードおよびラピッド アクセラレータ モードのコード生成時に表示する情報の量を選択します。

設定

既定の設定: オフ

[オフ]

コード生成処理時に限られた量の情報しか表示しません。

[オン]

コード生成時に進捗状況に関する情報を表示し、使用されているコンパイラ オプションを示します。

コマンド ライン情報

パラメーター: AccelVerboseBuild
タイプ: 文字列
値: 'on' | 'off'
既定の設定: 'off'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性影響なし
安全対策影響なし

参考

AccelVerboseBuild の詳細は、「コード生成中の詳細レベルの制御」を参照してください。

この情報は役に立ちましたか?