ドキュメンテーション

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

固定小数点の変換の準備

はじめに

固定小数点アドバイザーを使用すると、浮動小数点モデルまたはサブシステムを同等の固定小数点表現に変換するモデルを準備できます。変換するモデルの準備をした後、固定小数点ツールを使用して初期固定小数点データ型を取得し、さらにこれらのデータ型を詳細設定します。

ベスト プラクティス

既知の作業用モデルの使用

固定小数点アドバイザーを使用する前に、モデルで "ブロック線図の更新" が正常に終了することを確認してください。ブロック線図を更新するには、Ctrl + D キーを押します。"ブロック線図の更新" に失敗した場合は、モデルの変換を開始する前にモデル内のエラーを修正してください。

モデルのバックアップ

まず Simulink® モデルをバックアップしてください。

これを実践することにより、エラー発生時のバックアップと、テストおよび検証用のベースラインが提供されます。

小さいモデルの変換

固定小数点アドバイザーは小さいモデルの変換用に作成されています。大きいモデルを使用すると処理時間が長くなります。

サブシステムの変換

モデル全体ではなく、モデル内のサブシステムを変換します。これによって時間を節約し、不要な変換を省きます。

短いシミュレーション実行時間の指定

短いシミュレーション実行時間を指定すると、タスクの処理時間が短縮されます。[コンフィギュレーション パラメーター] ダイアログ ボックスでシミュレーションの実行時間を変更できます。詳細は、Simulink Reference の開始時間 (Simulink)と終了時間 (Simulink)を参照してください。

モデルの小さい変更

誤ってエラーになった場所を特定できるように、モデルに小さい変更を加えます。

変換中のシステムの分離

特定のサブシステムでデータ型伝播の問題に遭遇した場合は、システムの入力と出力に Data Type Conversion ブロックを配置して、このサブシステムを分離します。 Data Type Conversion ブロックは、Simulink ソフトウェアの任意のデータ型の入力信号を、[出力データ型] パラメーターに指定したデータ型とスケーリングに変換します。これにより、残りのモデルの変換を継続できます。

最終目標は、固定小数点データ型をサポートしていないすべてのブロックを置き換えることです。最終的には、Data Type Conversion ブロックで分離したブロックを、固定小数点データ型をサポートするブロックに置き換えなければなりません。

[出力データ型の設定をロックする] の使用

固定小数点アドバイザーによる現在のデータ型の置き換えを回避することができます。多数のブロックで使用可能な [固定小数点ツールによる変更に対して出力データ型の設定をロックする] パラメーターを使用します。既定の設定は置き換えを許可します。次の場合に、この設定を使用します。

  • 特定のブロックに使用する固定小数点データ型が既知である。

    たとえば、ブロックが実際のコンポーネントをモデル化している場合などです。出力を整数値に限るなど、ハードウェアの既知の制限を考慮してブロックを設定します。

    ブロックの出力データ型を明示的に指定し、[固定小数点ツールによる変更に対して出力データ型の設定をロックする] を選択します。

  • モデルをデバッグ中で、特定のブロックが特定のデータ型しか受け入れないことがわかっている。

    アップストリーム ブロックの出力データ型を明示的に指定し、[固定小数点ツールによる変更に対して出力データ型の設定をロックする] を選択します。

Simulink 信号オブジェクトの保存

固定小数点アドバイザーは、モデル内の Simulink 信号オブジェクトのデータ型を推奨します。ただし、自動的に Simulink 信号オブジェクトを保存するわけではありません。変更を維持するには、モデルを終了する前にワークスペースとモデルの Simulink 信号オブジェクトを保存してください。

復元ポイントの保存

モデルに変更を加えると、次のブロック線図更新に際してエラーの原因となる可能性があるため、変更前に復元ポイントの保存を検討してください。たとえば、タスク 3.1 で推奨されたデータ型を適用する前などです。詳細は、復元ポイントの保存を参照してください。

固定小数点アドバイザーの実行

  1. モデルを開きます。

  2. 以下の方法で固定小数点アドバイザーを開始します。

    • MATLAB® コマンド ラインで「fpcadvisor('model_name/subsystem_name')」と入力します。

    • [解析][データ型の設計][固定小数点ツール] を選択して固定小数点ツールを開きます。[設計対象のシステム] で、固定小数点に変換するシステムを選択します。[固定小数点の準備] で、[固定小数点アドバイザー] をクリックします。

  3. 左側のペインの [固定小数点アドバイザー] ウィンドウで、固定小数点アドバイザー フォルダーを選択します。

  4. 次の方法でアドバイザーを実行します。

    • [実行] メニューから [すべて実行] を選択する。

    • 固定小数点アドバイザー フォルダーを右クリックし、そのコンテキスト メニューから [すべて実行] を選択する。

    固定小数点アドバイザーは、失敗するまでタスクを順に実行します。各タスクの実行中はウェイト バーが表示されます。

  5. 結果を確認します。入力パラメーターが指定されていないためにタスクが失敗した場合は、[入力パラメーター] を選択します。タスクを右クリックし、コンテキスト メニューから [続行] を選択して、失敗するまで実行を継続します。別の理由でタスクが失敗した場合は、失敗したタスクの修正の説明に従ってタスクを修正します。

    モデルに参照モデルが含まれている場合は、各参照モデル インスタンスの結果が固定小数点アドバイザーによって提供されます。

失敗したタスクの修正

浮動小数点モデルから固定小数点モデルに変換する際にステップが必要な場合、タスクは失敗します。固定小数点アドバイザーでは、問題の修正方法に関するガイダンスが提供されます。

不具合を修正するには、3 つの方法があります。

  • [解析結果] ボックスの指示に従います。この方法は、個別に不具合を修正する場合に使用します。手作業での不具合の修正を参照してください。

  • [アクション] ボックスを使用します。この方法は、すべての不具合を自動修正する場合に使用します。不具合の自動修正を参照してください。

  • モデル アドバイザー結果エクスプローラーを使用します。この方法は、不具合を一括修正する場合に使用します。不具合の一括修正を参照してください。

メモ

警告は参考情報です。レポートされた問題を修正できますが、修正せずに次のタスクに進むことも可能です。

手作業での不具合の修正

どのチェックにも [結果] ペインがあり、そこに手作業で不具合を修正する場合の推奨アクションが説明されています。

タスク内で警告や不具合を手作業で修正するには

  1. 復元ポイントを保存して、変更を取り消すことができるようにします (省略可能)。詳細は、復元ポイントの保存を参照してください。

  2. [結果] で推奨アクションを調べます。その情報に基づいてモデルを修正します。

  3. タスクが成功するかどうかを確認するには、[解析][このタスクを実行] をクリックします。

不具合の自動修正

[アクション] ボックスを使用すると、不具合を自動修正できます。[アクション] ボックスでは、[結果] ボックスに一覧表示された推奨アクションがすべて適用されます。

注意

不具合を自動修正する前に、[解析結果] ボックスの情報を調べて、推奨アクションをすべて適用するのが望ましいかどうかを確認します。

タスク内のすべての不具合を自動修正するには、以下の手順に従います。

  1. 復元ポイントを保存して、変更を取り消すことができるようにします (省略可能)。詳細は、復元ポイントの保存を参照してください。

  2. [アクション] ボックスで [すべて変更] をクリックします。

    [アクション結果] ボックスに変更事項の表が表示されます。

  3. タスクが成功するかどうかを確認するには、[解析] ボックスで [このタスクを実行] をクリックします。

不具合の一括修正

タスクが失敗したときに結果を調べて一括変更を加える場合は、以下の手順に従います。

  1. 復元ポイントを保存して、変更を取り消すことができるようにします (省略可能)。詳細は、復元ポイントの保存を参照してください。

  2. [解析] ボックスで、[結果の探索] をクリックします。

  3. モデル アドバイザー結果エクスプローラーを使ってブロック パラメーターを変更します。

  4. 変更を加え終わったら、[固定小数点アドバイザー] ウィンドウで [このタスクを実行] をクリックし、変更の結果としてタスクが成功するかどうかを確認します。タスクが成功するまで不具合の修正とタスクの再実行を続けます。

復元ポイント

固定小数点アドバイザーにはモデルとデータの復元ポイントを設定する機能があり、固定小数点アドバイザーのアドバイスに基づいて行った変更を取り消して元に戻すときに利用できます。復元ポイントはモデル、ベース ワークスペース、および固定小数点アドバイザーのその時点でのスナップショットです。

注意

復元ポイントに保存される項目は、現在作業中のモデル、ベース ワークスペース変数、および固定小数点アドバイザー ツリーのみです。他の項目、ライブラリや参照されているサブモデルなどは保存されません。

復元ポイントの保存方法については、復元ポイントの保存を参照してください。

復元ポイントの読み込み方法については、復元ポイントの読み込みを参照してください。

復元ポイントの保存

復元ポイントを保存する場合

次の場合に復元ポイントを保存することを検討してください。

  • ブロック線図の更新失敗の原因となる可能性がある変更をモデルに適用する前。

  • 不具合の修正を試みる前。

復元ポイントを保存する方法

復元ポイントは、名前と説明を付けて保存できます。固定小数点アドバイザーが自動的に付ける名前を使用することもできます。

名前と説明 (省略可能) を付けて復元ポイントを保存するには

  1. メイン メニューから [ファイル][別名で復元ポイントを保存] を選択します。

  2. [モデルとデータの復元ポイントの保存] ダイアログ ボックスの [名前] フィールドに、復元ポイントの名前を入力します。

  3. [説明] フィールドで、その復元ポイントの識別に役立つ情報を追加できます。

  4. [保存] をクリックします。

    固定小数点アドバイザーは現在のモデル、ベース ワークスペース、および固定小数点アドバイザーのステータスを復元ポイントとして保存します。

メモ

復元ポイントを手早く保存するには、[ファイル][復元ポイントの保存] を選択します。固定小数点アドバイザーでは、復元ポイントに autosaven という名前を付けて保存します。n は復元ポイントの連続番号です。この方法を使用する場合、名前の変更や説明の追加はできません。

復元ポイントの読み込み

復元ポイントを読み込む場合

次の場合に復元ポイントを読み込みます。

  • 変換を続行できなくなると、タスクは失敗します。この場合、実行のより早い段階で保存された復元ポイントを読み込んで、これまでのすべてのタスクを実行し直す手間を省くことができます。

  • 固定小数点アドバイザーからのアドバイスに応じて、加えた変更を取り消すことができます。

復元ポイントを読み込む方法

復元ポイントを読み込むには

  1. [ファイル][復元ポイントの読み込み] を選択します。

  2. [モデルとデータの復元ポイントの読み込み] ダイアログ ボックスで、望ましい復元ポイントを選択します。

  3. [読み込み] をクリックします。

    モデル アドバイザーは、復元を行うと現在のモデルとワークスペースが上書きされることを警告します。

  4. [読み込み] をクリックして選択した復元ポイントを読み込みます。

    モデル、ベース ワークスペース、および固定小数点アドバイザーのステータスが以前の状態に戻ります。