固定小数点ワークフロー内のバス オブジェクト
バス オブジェクトに対するデータ型推奨の決定方法
この例では、ex_bus_range モデルを使用して、ソフトウェアがバス オブジェクトの要素のデータ型を決定する方法を示します。
バス オブジェクトのデータ型推奨は、同じバス要素を駆動するすべてのソース範囲の和集合を取得して検出され、この範囲に対してデータ型が推奨されます。固定小数点ツールでは、バス信号の要素の最小および最大範囲のログは記録されません。
ex_bus_range モデルと範囲データを開きます。
load bus_range.mat open_system('ex_bus_range')

このモデルの 4 つの入力端子には、それぞれ指定された設計範囲があります。In2 および In4 入力端子は、mybus バス オブジェクトの同じ要素を駆動するため、同じデータ型を共有しなければなりません。
[固定小数点ツール] はこれらの 2 つの範囲の和集合を基にデータ型を推奨します。モデルのデータ型の推奨後、[モデルの階層構造] ペインで [データ オブジェクト] ノードを選択します。バス オブジェクトの mybus : b 要素の [結果の詳細] ペインでは、[推奨に使用された範囲] テーブルに、[共有の設計] というラベルの付いた行があります。推奨されたデータ型は、この範囲、つまり In2 および In4 ブロックの設計範囲の和集合に基づいています。
データ型オーバーライドをもつバスの命名規則
バスが含まれているモデルに対してデータ型オーバーライドを使用すると、固定小数点ツールによりオーバーライドされたデータ型を使用する新しいバスが生成されます。モデルがオーバーライドされたバスを使用していることを示すため、ツールは元のバス オブジェクトの名前に接頭辞を追加します。モデルがオーバーライドされている状態の間、myBus というバス オブジェクトの名前は以下のパターンに基づいて変更されます。
| DTO モード | DTO の適用先 | ||
|---|---|---|---|
| すべての数値型 | 浮動小数点 | 固定小数点 | |
| スケーリングされた double | dtoScl_myBus | dtoSclFlt_myBus | dtoSclFxp_myBus |
| double | dtoDbl_myBus | dtoDblFlt_myBus | dtoDblFxp_myBus |
| single | dtoSgl_myBus | dtoSglFlt_myBus | dtoSglFxp_myBus |
メモ
オーバーライドされたデータ型が含まれるバス オブジェクトは、ベース ワークスペースに保存されないため、型エディター内には表示されません。
固定小数点ワークフロー内のバス オブジェクトの制限
次のいずれかの状況が生じた場合、ブロック線図の更新エラーが発生する可能性があります。
モデルがアクセラレータ モードであり、バス オブジェクトのデータ型が出力端子においてオーバーライドされている。
データ型オーバーライドを行うには、モデルをノーマル モードで実行します。
モデル内のデータ型がオーバーライドされており、アクション言語として MATLAB® を使用する Stateflow® チャートがモデルに含まれている。
モデルに含まれる調整可能な MATLAB 構造体の割り当て先がバス信号である (初期条件として構造体をもつ Unit Delay ブロック、Stateflow データ、ワークスペースからの MATLAB 構造体など)。
固定小数点ツールを使用するには、構造体を調整可能ではない構造体に変更します。不必要な量子化の影響を避けるには、構造体のフィールドを double に指定します。構造体をバス オブジェクトの初期条件として使用する詳細は、データ型の不一致と構造体の初期条件を参照してください。
モデルにアトミックなサブシステムのマスクを通じて指定された構造体パラメーターが含まれている。
固定小数点ツールを使用するには、システムを非アトミックにします。