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

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

目次

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

生成コードのルックアップ テーブル ブロックに対する最適化

範囲外入力をチェックするコードの削除

既定では、以下のルックアップ テーブル ブロック用に生成されるコードには、範囲外ブレークポイントまたはインデックス入力をチェックする条件文が含まれます。

より効率的なコードを作成するために、範囲外入力値から保護する条件文を削除することができます。

ブロック選択するチェック ボックス
1-D Lookup Table生成コードの範囲外入力に対する保護を削除
2-D Lookup Table
n-D Lookup Table
Prelookup
Interpolation Using Prelookup生成コードの範囲外インデックスに対する保護を削除

ブロックのダイアログ ボックスでこのチェック ボックスを選択すると、実行するステートメントの数が少なくなるため、コードの効率が向上します。ただし、セーフティ クリティカルなアプリケーションのコードを生成している場合、範囲のチェック コードを削除しないでください。

チェック ボックスの使用法を確認するために、次のモデル アドバイザーのチェックを実行し、推奨アクションを実行します。

モデル アドバイザー チェックチェックを実行する場合

[製品別] [Embedded Coder] [計算量が多い範囲外のチェック コードを生成する Lookup Table ブロックを識別します]

コード効率の場合

[製品別][Simulink Verification and Validation][モデリング標準][DO-178C/DO-331 チェック][Lookup Table ブロックの使用をチェックします]

セーフティ クリティカルなアプリケーションの場合

モデル アドバイザーの詳細は、Simulink® ドキュメンテーションの「モデル アドバイザーの使用」を参照してください。

ルックアップ テーブルのブレーク ポイント間隔の最適化

ルックアップ テーブル内のブレークポイントを調整可能な場合、間隔は生成コードの効率やメモリ使用量に影響しません。ブレークポイントが調整可能ではない場合、間隔のタイプが次の要因に影響を与える可能性があります。

要因

2 のべき乗の等間隔データ

等間隔のデータ

不等間隔のデータ

実行速度

実行速度は最速です。位置検索と内挿は等間隔データの場合と同じです。ただし、固定小数点データ型の速度を上げるために、ビット シフトが位置検索を、ビット マスクが内挿を置き換えます。

実行速度は、位置検索が高速で内挿にはシンプルな除算を使用するため、不等間隔データの場合よりも速くなります。

実行速度は、位置検索が遅く内挿には多くの演算が必要なため、最も遅くなります。

エラー

一様でない曲率を使用する関数の近似には同じ精度を実現するために多くの点が必要になるので、不等間隔データの場合よりも誤差は大きくなります。

一様でない曲率を使用する関数の近似には同じ精度を実現するために多くの点が必要になるので、不等間隔データの場合よりも誤差は大きくなります。

一様でない曲率を使用する関数の近似には同じ精度を実現するため少ない点で済むので、誤差は小さくなります。

ROM の使用量

コマンドの ROM 使用量は減りますが、データの ROM 使用量は増えます。

コマンドの ROM 使用量は減りますが、データの ROM 使用量は増えます。

コマンドの ROM 使用量は増えますが、データの ROM 使用量は減ります。

RAM の使用量

わずかです。

わずかです。

わずかです。

以下のガイドラインに従います。

  • 固定小数点データ型の場合、等間隔で 2 のべき乗のブレークポイントを使用します。

  • 固定小数点以外のデータ型の場合、等間隔のブレークポイントを使用します。

ルックアップ テーブル ブロックでコード効率を向上させる方法を調べるために、次のモデル アドバイザーのチェックを実行し、推奨アクションを実行します。

  • [製品別][Embedded Coder][問題のある固定小数点演算を特定します]

  • [製品別][Embedded Coder][余計な飽和と丸めコードを生成するブロックを特定します]

モデル アドバイザーの詳細は、Simulink ドキュメンテーションの「モデル アドバイザーの使用」を参照してください。

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