Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

HDL コード アドバイザーを使用したモデルの HDL 互換性のチェック

HDL コードを生成する前に、Simulink® でモデル化されたアルゴリズムについて、HDL コード生成との互換性を検証することを推奨します。モデルの互換性を検証するには、HDL コード アドバイザーを使用します。HDL コード アドバイザーは、HDL コード生成との互換性に関して Simulink モデルまたはサブシステムの検証および更新を行います。コード アドバイザーは、モデル コンフィギュレーション設定、端子およびサブシステム設定、ブロック設定、ネイティブ浮動小数点のサポートおよび業界標準のルールへの一致をチェックします。コード アドバイザーは最適ではない条件または設定をリストしたレポートを生成し、より優れたモデル コンフィギュレーション設定を提案します。

この例では、HDL 互換性のために簡単な加算カウンターを更新する方法について示します。カウンターのアルゴリズムの詳細と、このモデルの作成方法については、HDL コード生成用の Simulink モデルの作成を参照してください。

簡単な加算カウンター モデル

このモデルを開いて、簡単な加算カウンターを表示します。モデルはゼロからしきい値までカウントし、ゼロに戻ります。このモデルでは、しきい値は 15 に設定されています。count_threshold ポートへの入力である Constant ブロックの値を変更することで、しきい値を変更できます。イネーブル信号は、カウンターがカウントすべきか、あるいは前の値を保持すべきかを指定します。イネーブル信号が 1 に設定されています。これは、カウンターが継続的にカウントすることを意味しています。

open_system('hdlcoder_simple_up_counter.slx')
set_param('hdlcoder_simple_up_counter', 'SimulationCommand', 'Update')

HDL コード アドバイザーを開く

HDL コード アドバイザーを開くには、[アプリ] タブで [HDL Coder] を選択します。[HDL コード] タブが表示されます。DUT Subsystem を選択し、次に [HDL コード アドバイザー] をクリックします。

メモ

HDL コード アドバイザーを開いて、コードを生成する DUT Subsystem のチェックを実行します。最上位モデルには HDL コード生成と互換性のないブロックを含めることができます。モデル全体に対して HDL コード アドバイザーを実行することで、これらのブロックおよびモデルに HDL コード生成との互換性なしのフラグを付けることができます。

HDL コード アドバイザーの左側のペインに階層内のフォルダーのリストが表示されます。各フォルダーは、関連するチェックのグループまたはカテゴリを表しています。フォルダーを展開すると各フォルダーで使用可能なチェックが表示されます。左側のペインから、フォルダーまたは個々のチェックを選択できます。HDL コード アドバイザーには、選択されたフォルダーまたは右側のペインのチェックに関する情報が表示されます。右側のペインの内容は選択されたフォルダーまたはチェックによって異なります。右側のペインには [結果] サブペインがあり、ステータス メッセージおよびその他のタスクの結果の領域が表示されます。

個々のチェックの詳細については、そのチェックを右クリックして [これはなに?] を選択してください。

HDL コード アドバイザーでのチェックの実行方法

[HDL コード アドバイザー] ウィンドウでは、個々のチェックまたはチェックのグループを実行できます。チェックを実行するには、チェックを [選択] して、[このチェックを実行] をクリックしてください。たとえば、[安全なモデル パラメーターのチェック] を実行するには、チェック ボックスを選択してから [このチェックを実行] をクリックします。

[HDL コード アドバイザー] ウィンドウで、フォルダー内のチェックのグループを実行できます。

  1. 実行するチェックを選択する。

  2. これらのチェックを含むフォルダーを選択して [選択したチェックを実行] をクリックする。

この例では、[モデル コンフィギュレーションのチェック] フォルダーで選択したチェックを実行する方法を説明します。

カウンター モデルに対するチェックの実行

この方法を使用して、カウンター モデルに対して、次のフォルダー内のすべてのチェックを実行します。

  • モデル コンフィギュレーションのチェック

  • 端子とサブシステムのチェック

  • ブロックおよびブロック設定をチェック

この例では、[ネイティブ浮動小数点のチェック] フォルダーと [業界標準チェック] フォルダー内のチェックを実行する必要はありません。これらのチェックの詳細については、HDL コード アドバイザー チェックを参照してください。

カウンター モデルに対するチェックでは、[パス] という結果が表示されています。これは、モデルが HDL コード生成と互換性があることを意味しています。

HDL コード アドバイザーの警告またはエラーの修正

HDL コード アドバイザーで、チェックが失敗すると、右側のペインの [結果] サブペインに警告やエラーの情報が表示されます。[結果] サブペインでは、対応していないモデル設定が表示されます。一部のタスクについては、[アクション] サブペインを使用してコード アドバイザーの推奨設定を適用します。

たとえば、[HDL_DUT] サブシステム内で、Enable ポートを削除して、このポートを 1 の値をもつ入力 Constant と置き換えることを検討します。

ここで、[無限大および連続サンプル時間ソースをチェック] チェックを実行すると、HDL コード アドバイザーには次の警告が表示されます。

コード ジェネレーターが [結果] サブペインでレポートされたモデル コンフィギュレーション設定を適用するには、[設定の変更] ボタンをクリックします。[設定の変更] をクリックした後、適用された変更が [結果] サブペインでレポートされます。この例では、Constant ブロックの [サンプル時間]-1 にリセットされます。これで、このチェックを実行できます。

注意

  • Model ブロックを使用して別のモデル内のあるモデルを参照する場合、HDL コード アドバイザーは親モデルのモデル コンフィギュレーションまたは設定をチェックします。参照モデルが HDL コード生成と互換性があるかどうかをチェックするには、参照モデルで HDL コード アドバイザーを開いて、チェックを実行します。

  • Simulink モデルでマスク ライブラリ ブロックに対してチェックを実行する場合、コード アドバイザーはライブラリ ブロック内のブロックで HDL 互換の設定が行われているかどうかを検証できません。

  • モデル アドバイザー チェックをモデルに適用する場合、モデルがあるモデリング標準またはガイドラインに違反していない可能性が高まります。ただし、設計で HDL コード生成の準備ができていることは保証されません。HDL コード生成の準備が整っているかについては、複数の方法を使用して設計を検証するようにします。

HDL コードの生成

カウンター モデルは HDL コード生成と互換性があります。カウンター アルゴリズムが含まれる [HDL_DUT] サブシステム用の HDL コードを生成できます。コードを生成する方法の詳細については、Simulink モデルからの HDL コードの生成を参照してください。

参考

| |

関連するトピック