Main Content

固定小数点ツールを使用した変換するシステムの準備

固定小数点ツールを使用すると、浮動小数点モデルまたはサブシステムを同等の固定小数点表現に変換するモデルを準備できます。準備段階では、固定小数点ツールは設計対象のシステムについて変換プロセスとの互換性をチェックし、モデルで見つかった問題をレポートします。可能な場合は、固定小数点ツールは互換性のない設定を自動的に変更します。ツールが設定を変更できない場合は、手動で行わなければならない変更を通知し、変換プロセスが問題なく行われるよう支援します。

変換するシステムを準備するには次を行います。

  1. 固定小数点ツールを開きます。モデルの [アプリ] ギャラリーで、[固定小数点ツール] を選択します。

  2. [新規] で、[固定小数点の反復的変換] ワークフローを選択します。

  3. [設計対象のシステム (SUD)] で、変換するシステムまたはサブシステムを選択します。

  4. [範囲の収集モード] で、範囲の収集に使用する方法を選択します。固定小数点ツールはこれらの収集された範囲を後で推奨データ型の生成に使用します。

    固定小数点ツールによって実行される準備チェックは、範囲収集の方法の間で少し異なります。

    アプリケーションに適した範囲の収集方法を判断するための詳細については、範囲の収集手法の選択を参照してください。

  5. [シミュレーション入力] で、Simulink.SimulationInput オブジェクトを指定してその動作範囲全体にわたって設計を実行するか、あるいは [既定のモデル入力を使用] を選択できます。

  6. システムの許容誤差を指定するには、テーブルの [信号許容誤差] で、モデル内の信号のログが有効になっている任意の信号について、許容誤差を指定します。

  7. [準備] をクリックします。固定小数点ツールは設計対象のシステム、およびその設計対象のシステムを含むモデルを、変換プロセスとの互換性についてチェックします。

    任意のチェックを選択すると、追加の情報が [準備の詳細] ペインに表示されます。このペインには残っている問題の解決の詳細も含まれています。

  8. 固定小数点ツールによって見つかった問題に対応後、[準備] をクリックしてチェックを再実行し、すべての問題が解決されていることを確認します。

準備のチェック

この節では、変換の準備段階で固定小数点ツールによって実行されるチェックについて説明します。

復元ポイントの作成

固定小数点ツールは、モデルの復元ポイントを現在の状態に作成します。変換後に、データ型変換前の状態に設計を戻す必要がある場合、[元のモデルを復元] ボタンをクリックします。

ステータス説明
パスこのチェックは、固定小数点ツールがモデルに復元ポイントを作成できるときにパスします。
失敗

このチェックは、次のいずれかが発生した場合に失敗します。

  • モデルが書き込み可能ディレクトリにないために、固定小数点ツールがモデルに復元ポイントを作成できない。

  • モデルに未保存の変更があるために、固定小数点ツールがモデルに復元ポイントを作成できない。

ハードウェア実装の整合性

設計を固定小数点に変換する前に、目的のターゲット ハードウェアをコンフィギュレーション パラメーターの [ハードウェア実行] ペインで指定しなければなりません。これらのハードウェア実行設定は、設計対象のシステムを含むモデルのモデル階層構造全体で一貫していなければなりません。固定小数点ツールがデータ型を推奨する際にこれらの設定を使用する方法については、固定小数点ツールでのターゲット ハードウェア情報の使用方法を参照してください。

ステータス説明
パス

このチェックは、目的のターゲット ハードウェアが設計対象のシステムについて指定され、モデル内のどのシステムの設定とも競合しない場合にパスします。

変更によってパス

設計対象のシステムのハードウェア実行設定が指定されているものの、モデル階層内の他のシステムとは一致していない場合 (たとえばモデルに異なるハードウェア設定を使用する参照モデルが含まれている場合) に、固定小数点ツールはモデル内の他のシステムのハードウェア実行設定を更新して、設計対象のシステムの設定に一致するようにします。

失敗

このチェックは、以下の 2 つのケースの 1 つが発生した場合に失敗します。

  • 設計対象のサブシステムがターゲット ハードウェア情報を指定していない。

    この問題を修正するには、設計対象のシステムのターゲット ハードウェア情報を、コンフィギュレーション パラメーターの [ハードウェア実行] ペインで指定します。

  • サブシステムではターゲット ハードウェア情報を指定しているが、設定がモデル階層内の他のシステムと一致しておらず、固定小数点ツールがその設定を変更できない。

    この問題を修正するには、モデル階層内の他のシステムの設定を手動で変更して、設計対象のシステムの設定と一致するようにします。

診断設定

設計内の数値的問題を警告する診断の中には、[なし] に設定できないものがあります。このチェックは、コンフィギュレーション パラメーターの以下の診断設定が [警告] または [エラー] のいずれかに設定されている場合にのみパスします。

  • [診断][データ有効性][信号][オーバーフロー時にラップ]

  • [診断][データ有効性][信号][オーバーフローで飽和]

  • [診断][データ有効性][信号][シミュレーション範囲のチェック]

ステータス説明
パスこのチェックは、設計対象のシステムを含むモデルの診断設定が [警告] または [エラー] に設定されているときにパスします。
変更によってパス診断設定が [なし] に設定されている場合、固定小数点ツールがこれらの設定を [警告] に変更します。
失敗このチェックは、固定小数点ツールが設計対象のシステムを含むモデルの診断設定を [警告] に変更できないときに失敗します。これは、モデルのコンフィギュレーション パラメーターがコンフィギュレーション セットを指定していることが原因である可能性があります。

サポートされていない構造体

固定小数点ツールは、設計対象のシステム内の固定小数点型をサポートしていないブロックまたは構造体を特定します。

ステータス説明
パスこのチェックは、設計対象のシステムにサポートされていない構造体が含まれていないときにパスします。
変更によってパス設計対象のシステムにサポートされていない構造体が含まれている場合、固定小数点ツールは、Data Type Conversion ブロックに囲まれたサポートされていないブロックを含むサブシステム内のサポートされていない要素をカプセル化します。固定小数点ツールを使用して変換プロセスを完了した後、サポートされていないブロックを含むサブシステムをルックアップ テーブル近似で置き換えることができます。詳細については、浮動小数点モデルから固定小数点モデルへの変換を参照してください。
失敗このチェックは、固定小数点ツールが Data Type Conversion ブロックを使用しているサポートされていない構造体を分離できない場合に失敗します。

入力端子/出力端子の設計範囲

範囲の収集方法として [派生範囲] または [範囲解析によるシミュレーション] を選択すると、ソフトウェアは、モデルの静的範囲解析を実行して、モデルの信号範囲の最小値と最大値を派生させます。範囲解析は、指定された設計範囲に依存します。固定小数点ツールは、設計対象のシステムのすべての入力端子と出力端子について設計範囲が指定されていることをチェックします。

ステータス説明
パスこのチェックは、設計対象のシステムのすべての入力端子と出力端子に設計範囲情報が指定されているときパスします。
警告このチェックは、サブシステムへの入力に設計範囲が指定されているものの、出力には設計範囲が指定されていないときに警告となります。範囲解析で最良の結果を得るには、システムの入力と出力の両方で設計範囲を指定します。
失敗このチェックは、設計対象のシステムの入力と出力に設計範囲情報がない場合に失敗します。設計対象のシステムのすべての入力について設計範囲情報を指定します。

設計対象のシステムの境界

設計対象のシステム内のモデル オブジェクトが設計対象のシステム外のオブジェクトとデータ型を共有している場合、固定小数点への変換の後でデータ型の伝播の問題が起こる可能性があります。これらの伝播の問題は、Data Type Conversion ブロックをシステムの入力および出力で使用している設計対象のシステムを分離することで防止できます。 Data Type Conversion ブロックは、Simulink® ソフトウェアの任意のデータ型の入力信号を、[出力データ型] パラメーターに指定したデータ型とスケーリングに変換します。

ステータス説明
パスこのチェックは、設計対象のシステムが Data Type Conversion ブロックによってモデルの他の部分から分離されているときにパスします。
変更によってパス設計対象のシステムがシステムの他の部分から分離されていない場合、固定小数点ツールは設計対象のシステムの端子に Data Type Conversion ブロックを配置して、変換中にそのシステムを分離します。
失敗このチェックは、固定小数点ツールが設計対象のシステムの端子に Data Type Conversion ブロックを配置できないときに失敗します。

Stateflow のベスト プラクティス

アクション言語として MATLAB® を使用する Stateflow® チャートが設計に含まれている場合、ソフトウェアはチャートがBest Practices for Working with Stateflow Charts in Automated Fixed-Point Conversion Workflowsで説明されているベスト プラクティスに従っているかをチェックします。特に、ソフトウェアは、Stateflow チャート内の代入がターゲット変数のデータ型にキャストされていること、および Stateflow 内のデータが初期化されていることをチェックします。

ステータス説明
パス

このチェックは、アクション言語として MATLAB を使用するすべての Stateflow チャートで次の条件が満たされると、パスします。

  • 代入がターゲット変数のデータ型にキャストされている。

  • Stateflow チャートのデータが初期化されている。

警告このチェックは、Stateflow での代入がキャストされていない場合、または Stateflow チャートのデータが初期化されていない場合に警告を出します。自動固定小数点変換から最良の結果を得るには、Best Practices for Working with Stateflow Charts in Automated Fixed-Point Conversion Workflowsに従ってください。

関連するトピック