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

ブロック削減

説明

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

カテゴリ: Simulation Target

設定

既定の設定: オン

オン

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'

推奨設定

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

影響なし

関連するトピック