Main Content

HDL コード アドバイザー チェック

HDL コード アドバイザーおよび HDL Coder™ のモデル アドバイザー チェックを使用して、HDL コード生成との互換性について Simulink® モデルまたはサブシステムを検証および更新します。コード アドバイザーでは、次に対するチェックを実行します。

  • モデル コンフィギュレーション設定

  • 端子とサブシステム

  • ブロックとブロック設定

  • ネイティブ浮動小数点のサポート

  • 業界標準のガイドライン

チェックを実行すると、コード アドバイザーは結果をパス、警告、またはエラーで表示します。モデル アドバイザーの推奨設定を使用して、警告またはエラーを修正できます。

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

HDL コード生成との互換性についてモデルを準備するために、このフォルダーのチェックを使用します。このフォルダーには、モデルのパラメーターが HDL 互換か、設計に代数ループが含まれているかなどについて確認するチェックが含まれています。

チェック名説明

HDL コード生成に適したモデル パラメーターのチェック

HDL コード生成用のモデル パラメーター設定をチェックします。
Xilinx デバイスと Altera デバイスのグローバル リセット設定をチェックAltera® デバイスに対する非同期リセット設定と、Xilinx® デバイスに対する同期リセット設定をチェックします。
インライン コンフィギュレーション設定のチェックInlineConfigurations を有効にしているかどうかをチェックします。
代数ループをチェック代数ループについてモデルをチェックします。
可視化設定のチェックモデルの表示設定 (端子のデータ型とサンプル時間の色分け) をチェックします。
遅延の均衡化の設定をチェック[遅延の均衡化] が有効になっているかチェックします。

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

このフォルダーには、モデル内の端子とサブシステムが HDL コード生成と互換性のある設定であるかどうかを確認するチェックが含まれています。このチェックには、有効な最上位レベルの DUT サブシステムがあるかどうか、Enabled Subsystem ブロックおよび Triggered Subsystem ブロックの初期条件が指定されているかどうかについての確認が含まれます。

チェック名説明
無効な最上位サブシステムをチェックHDL コード生成で最上位に配置できないサブシステムをチェックします。

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

これらのチェックは、モデル内のブロックが HDL コード生成をサポートしているか、そのブロックが HDL 互換の設定であるかを確認します。このチェックには、モデル内のソース ブロックに連続サンプル時間が含まれているかどうか、Stateflow® チャートおよび MATLAB Function ブロックが HDL 互換の設定であるかどうかなどの確認が含まれています。

チェック名説明
無限大および連続サンプル時間ソースをチェック連続サンプル時間をもつソース ブロックをチェックします。
サポートされていないブロックのチェックHDL コード生成でサポートされていないブロックをチェックします。
大規模行列演算のチェック大規模行列演算をチェックします。
Identify unconnected lines, input ports, and output ports接続されていないラインや端子をチェックします。
MATLAB Function ブロックの設定をチェックMATLAB Function ブロックの HDL 互換設定をチェックします。
Stateflow チャートの設定をチェック

Stateflow Chart ブロックの HDL 互換設定をチェックします。

出力レイテンシが非ゼロのブロックをチェック固定小数点とネイティブ浮動小数点で出力レイテンシが非ゼロのブロックをチェックします。
信号オブジェクトでサポートされていないストレージ クラスのチェック信号オブジェクトのストレージ クラスが 'ExportedGlobal''ImportedExtern' または 'ImportedExternPointer' かどうかをチェックします。
Check for Trigonometric Function block for LUT-based approximation methodルックアップ テーブル (LUT) ベースの近似法を使用しているモデル内の Trigonometric Function ブロックをチェックします。
HDL Reciprocal ブロックの使用をチェックモデルで HDL Reciprocal ブロックを使用しているかどうかをチェックします。

メモ

モデル アドバイザーを使用する場合、[Simulink] フォルダーのIdentify unconnected lines, input ports, and output portsを確認します。

ネイティブ浮動小数点のチェック

これらのチェックは、モデルが Native Floating Point モードでの HDL コード生成と互換性があるかどうかを確認します。このチェックには、Simulink モデル内のブロックが Native Floating Point での HDL コード生成をサポートしているかどうか、モデルが single データ型を使用しているかどうかなどの確認が含まれています。HDL Coder のネイティブ浮動小数点サポートによって、単精度浮動小数点モデルからターゲットに依存しない HDL コードが生成されます。詳細については、ネイティブ浮動小数点を使用したターゲットに依存しない HDL コードの生成を参照してください。

チェック名説明
モデルで single のデータ型をチェックモデルで single データ型をチェックします。
モデルで double のデータ型をチェックモデルで double データ型をチェックします。
互換性のない設定をもつ Data Type Conversion ブロックをチェックData Type Conversion ブロックの変換モードをチェックします。
HDL Reciprocal ブロックの使用をチェックHDL Reciprocal ブロックが浮動小数点型を使用していないことをチェックします。
Relational Operator ブロックの使用をチェック浮動小数点型を使用する Relational Operator ブロックが boolean 出力をもつことをチェックします。
ネイティブ浮動小数点でサポートされていないブロックをチェックネイティブ浮動小数点をもつサポートされないブロックをチェックします。
ULP 誤差が非ゼロのブロックをチェックネイティブ浮動小数点をもつ ULP 誤差が非ゼロのブロックをチェックします。

業界標準チェック

これらのチェックでは、Simulink モデルが業界標準のルールに従っているかどうかを検証します。業界標準のルールでは、特定の HDL コーディング ガイドラインを使用することを推奨します。コードを生成するときに、HDL Coder は、生成されたコードが業界標準のガイドラインにどの程度従っているかを示す HDL コーディング標準レポートを表示します。

チェック名説明
ファイル拡張子のチェックエンティティを含む VHDL ファイルの拡張子をチェックします。
命名規則をチェックEDA ツールで使用される標準キーワードをチェックします。
最上位サブシステム/端子名をチェック最上位モジュール/エンティティおよび端子の名前をチェックします。
モジュール/エンティティ名をチェックモジュール/エンティティ名をチェックします。
信号と端子の名前をチェック信号と端子の名前の長さをチェックします。
パッケージ ファイル名をチェックパッケージを含むファイル名をチェックします。
ジェネリックをチェック最上位のサブシステム上のジェネリックをチェックします。
クロック、リセット、イネーブル信号をチェッククロック信号、リセット信号およびイネーブル信号の命名規則をチェックします。
アーキテクチャ名をチェック生成された HDL コード内の VHDL アーキテクチャ名をチェックします。
エンティティとアーキテクチャをチェックVHDL のエンティティとアーキテクチャが同じファイル内で記述されているかどうかをチェックします。
クロック設定をチェッククロック信号の制約をチェックします。

詳細は、以下を参照してください。

参考

関連するトピック