固定小数点ツール
この例では、fxpdemo_feedback
モデルを使用して、[固定小数点ツール] の [固定小数点の反復的変換] ワークフローの使用方法を示します。このツールの反復的なワークフローは、シミュレーション時に最小-最大範囲のデータを収集するという一般的なタスクを自動化します。このワークフローは、ブロックの固定小数点データ型を自動的に選択する際に有用です。Simulink® の任意の固定小数点対応ブロックは、このツールで推奨される固定小数点データ型を受け入れるように設定できます。入力端子などの主要ブロックのデータ型を手動で指定し、ブロックごとにモデルでの自動スケーリングを選択的に無効にできます。これにより、固定小数点ツールに提供される処理情報が増え、自動的に選択された固定小数点スケーリングが、手動で選択した主要なスケーリングに適合するようになります。
fxpdemo_feedback
モデルを開く
fxpdemo_feedback
モデルには、Controller
サブシステムで既に指定されている固定小数点データ型の初期推定をもつデジタル コントローラーが含まれています。この例では、プラント出力の既知の許容誤差を指定し、Controller
サブシステムの新しい固定小数点データ型を推奨してから、推奨されたデータ型をモデルに適用します。
固定小数点ツールを開く
Simulink® の [アプリ] タブの [コード生成] の下で、アプリ アイコンをクリックします。
[固定小数点の反復的変換] ワークフローを開始します。固定小数点ツールで、[新規]、[固定小数点の反復的変換] をクリックします。
固定小数点に変換するためのモデルの設定
変換するサブシステムを選択します。[設計対象のシステム (SUD)] で、
Controller
サブシステムを選択します。使用する範囲収集方法を選択します。[範囲の収集モード] で、[シミュレーション範囲] を選択します。
[シミュレーション入力] を指定します。この例では、既定のモデル入力をシミュレーションに使用します。
ログ記録される信号の信号許容誤差を指定します。
Plant Output
信号の [絶対許容誤差] を0.1
に設定します。
固定小数点に変換するための準備
モデルを固定小数点変換用に準備するには、[準備] をクリックします。固定小数点ツールにより、モデルのバックアップ バージョンが作成され、モデルと変換プロセスとの互換性がチェックされます。準備のチェックの詳細については、固定小数点ツールを使用した変換するシステムの準備を参照してください。
範囲の収集
範囲を収集するには、[範囲の収集] ボタンの矢印をクリックして [倍精度] を選択します。[範囲の収集] をクリックして範囲収集シミュレーションを開始します。
範囲の収集モードとして [倍精度] を選択した場合、ツールではデータ型オーバーライドを有効にして fxpdemo_feedback
モデルがシミュレートされます。データ型オーバーライドでは、モデル内の固定小数点データ型がグローバルにオーバーライドされるため、量子化の影響を受けません。これにより、モデルの動作についての理想的な浮動小数点のベースラインを確立できます。
範囲収集の結果は BaselineRun
に格納されます。[結果] スプレッドシートに、モデルで現在指定されているデータ型 ([SpecifiedDT])、シミュレーションの最小値、シミュレーションの最大値など、範囲収集シミュレーションで収集された統計の概要が表示されます。コンパイルされたデータ型の列 ([CompiledDT]) には、Controller
サブシステムのすべてのオブジェクトについて double
と表示されます。これは、範囲収集シミュレーションでデータ型オーバーライドが適用されたことを示します。
いずれかの結果をクリックすると、[結果の詳細] ペインに追加の詳細が表示されます。[シミュレーション データの可視化] ペインには、モデル内の各オブジェクトによって使用されているビットのヒストグラムの概要が表示されます。[結果] スプレッドシートに表示される情報はカスタマイズが可能です。また、[探索] タブを使用すると、それらの結果を追加の基準に基づいて並べ替えたりフィルターしたりできます。詳細については、固定小数点ツールでのビューの制御を参照してください。
固定小数点データ型の推奨
データ型の推奨に使用する設定を構成するには、[設定] ボタンの矢印を展開します。この例では、既定の設定を使用します。
収集された範囲と指定したデータ型推奨設定に基づいてデータ型を推奨するには、[データ型を推定] をクリックします。使用可能なすべての範囲データを使用して、ツールでデータ型推奨が計算されます。これには、設計の最小値と最大値、シミュレーションの最小値と最大値、派生した最小値と最大値が含まれます。設計対象システムのオブジェクトのうち、[固定小数点ツールによる変更に対して出力データ型の設定をロックする] パラメーターがオフになっているすべてのオブジェクトについてデータ型が推奨されます。
[結果] スプレッドシートが更新され、推奨されたデータ型が [ProposedDT] 列に表示されます。固定小数点ツールを使用すると、データ型推奨をモデル内のオブジェクトに選択的に適用できます。スプレッドシートで [確定] チェック ボックスを使用して、モデルに適用する推奨されたデータ型を指定します。既定の設定では、アプリは現在指定されているデータ型とは異なるすべての推奨データ型を受け入れます。この例では、既定の設定を使用します。
固定小数点データ型のモデルへの適用と新しい設定の確認
推奨されたデータ型をモデルに書き込むには、[データ型を適用] をクリックします。ツールで [SpecifiedDT] 列が更新され、データ型がモデルに適用されたことが示されます。
適用された固定小数点データ型を使用してモデルをシミュレートします。[組み込み型によるシミュレーション] ボタンの矢印を展開して [指定したデータ型] を選択します。その後、[組み込み型によるシミュレーション] をクリックします。
次に、モデルで現在指定されている固定小数点データ型を使用してモデルをシミュレートします。[組み込み型によるシミュレーション] ボタンの矢印を展開して [指定したデータ型] を選択し、[組み込み型によるシミュレーション] をクリックします。
固定小数点ツールで、新しい固定小数点データ型を使用してモデルがシミュレートされ、設計対象システムのすべてのオブジェクトについて、最小値、最大値、およびオーバーフローのデータが記録されます。この情報は EmbeddedRun
という新しい実行名で格納されます。EmbeddedRun
の横のアイコンにステータスがパスとして表示され、設計対象システムのすべての信号が指定された許容誤差を満たすことが示されます。[シミュレーション データの可視化] ペインが更新され、新しい EmbeddedRun
のデータが表示されます。
BaselineRun
に格納された理想の結果を新たに適用された固定小数点データ型と比較するには、[SDI で実行して比較] ドロップダウン メニューから EmbeddedRun
を選択します。その後、[結果の比較] をクリックして [シミュレーション データ インスペクター] を開きます。
シミュレーション データ インスペクターで、比較する信号として PlantOutput
を選択します。
EmbeddedRun
のプラント出力信号のプロットは、指定した許容誤差帯域に収まっています。
変換されたシステムの動作が要件を満たさない場合や追加のデータ型の選択について効果を調べる場合は、新しい推奨設定の適用後に新しいデータ型を推奨できます。システムの固定小数点の動作が許容される設定が見つかるまで繰り返します。
変換プロセス後に、モデルを変換プロセスの開始時の状態に戻す場合は、[元のモデルを復元] をクリックします。変換の準備段階後にモデルに加えられた変更はすべて削除されます。