Main Content

コード生成レポート

HDL Coder™ は、次を実行するのに役立つコード生成レポートを作成します。

  • コード生成の問題をデバッグし、MATLAB® コードがコード生成に適しているか確認する。

  • 生成された HDL コードを表示する。

  • コード ジェネレーターで MATLAB コード内の変数と式の型情報を判断し、伝播する方法を確認する。

  • 追加のレポートにアクセスする。

レポートの生成

レポート生成を有効にすると、コード ジェネレーターでコード生成レポートが作成されます。コード生成レポートの生成と表示を制御するには、アプリ設定、codegen オプションまたは構成オブジェクトのプロパティを使用します。

HDL Coder アプリで、次の手順を実行します。

  1. HDL Coder ワークフロー アドバイザーを開きます。

  2. [HDL コード生成] ステップのオプションで、[コーディング スタイル] タブの [生成されたコードのコメント] にある [レポートの生成] チェック ボックスをオンにします。

コマンド ラインにおいて、次の codegen オプションを使用します。

  • レポートを生成するには、-report オプションを使用します。

  • レポートを生成して開くには、-launchreport オプションを使用します。

あるいは、構成オブジェクトのプロパティを使用します。

  • レポートを生成するには、GenerateReporttrue に設定します。

  • codegen で自分のレポートを開く場合は、LaunchReporttrue に設定します。

レポートの場所

コード生成レポートには report.mldatx という名前が付けられます。このレポートは、コード生成出力フォルダーの html サブフォルダー内に配置されます。MATLAB R2018a 以降をご利用の場合は、report.mldatx ファイルをダブルクリックして開くことができます。

エラーと警告

[すべてのメッセージ] タブにコード生成エラー、警告および情報のメッセージが表示されます。エラーまたは警告に関するソース コードを強調表示するには、メッセージをクリックします。最初のメッセージに対処するのが最も効率よいアプローチです。その後のエラーや警告は最初のメッセージに関連して発生したものである可能性があるからです。

ファイルと関数

レポートには、MATLAB のソース関数と生成ファイルのリストが表示されます。[MATLAB ソース] ペインの [関数リスト] ビューでは、含まれているファイルに従って関数が整理されます。呼び出し構造に従って関数を可視化するには、[呼び出しツリー] ビューを使用します。

レポートのコード ペインで関数を表示するには、リスト内の関数をクリックします。関数をクリックすると、その関数が含まれるファイルが開きます。MATLAB エディターで選択したファイルを編集するには、[MATLAB で編集] をクリックするか、コード ペインで行番号をクリックします。

特殊な関数またはクラス

関数が異なるデータ型の入力で呼び出される場合、またはクラスがそのプロパティに対して異なるデータ型を使用する場合、コード ジェネレーターは特殊化を生成します。[MATLAB ソース] ペインでは、番号付きの関数 (またはクラス) が特殊化を示します。以下に例を示します。

MATLAB ソース

コード ペインで MATLAB 関数を表示するには、[MATLAB ソース] ペインで関数の名前をクリックします。コード ペインでは、変数または式の上で一時停止すると、ツールヒントにそのサイズ、型および実数/複素数に関する情報が表示されます。また、構文の強調表示は、MATLAB の構文要素を識別したり、関数が外部関数であるかどうか、引数が定数であるかどうかといった特定のコード生成属性を識別したりするのに役立ちます。

外部関数

レポートは紫色のテキストで外部関数を識別します。ツールヒントは関数が外部関数であることを示しています。

This image shows the report when it identifies the extrinsic function. The extrinsic function is purple.

定数引数

オレンジ色のテキストは、エントリポイント関数または特殊な関数に対するコンパイル時の定数引数を示しています。ツールヒントにはその定数値が表示されます。

This image shows the report when it identifies a compile-time costant argument. The constant a is highlighted in orange.

定数引数の値の把握によって、生成された関数シグネチャを理解できます。また、コード生成で異なる定数引数値について関数の特殊化が作成されるタイミングで確認するのに便利です。

ワークスペースの変数に値をエクスポートするには、[エクスポート] アイコン をクリックします。

MATLAB 変数

[変数] タブには、選択した MATLAB 関数の変数に関する情報が表示されます。関数を選択するには、[MATLAB ソース] ペインで関数をクリックします。

変数テーブルには以下の情報が表示されます。

  • クラス、サイズ、実数/複素数

  • 固定小数点型のプロパティ

この情報は、型の伝播を理解したり、型の不一致エラーを特定したりする際に役立ちます。

[変数] タブの視覚的なインジケーター

次の表では、変数テーブルで使用される記号、バッジおよびその他のインジケーターについて説明します。

変数テーブルの列インジケーター説明
名前展開アイコン変数には、展開アイコンをクリックすることで表示できる要素やプロパティがあります。
名前{:}異種混合 cell 配列 (すべての要素のプロパティは同じになります)
名前{n}異種混合 cell 配列の n 番目の要素
クラスv > nv は異なるクラス、サイズ、実数/複素数で再利用されます。数値 n は、各一意の再利用 (一連の一意のプロパティを使用する再利用) を示します。名前が変更された変数の上で一時停止すると、クラス、サイズおよび実数/複素数を共有するこの変数のインスタンスのみがレポートで強調表示されます。
クラス接頭辞 complex複素数
クラス

固定小数点型

固定小数点プロパティを表示するには、バッジをクリックします。

追加レポート

[Summary] タブには次の追加レポートへのリンクを表示することができます。

レポートの制限

  • エントリポイントの概要は varargin および varargout の個別の要素を表示しますが、変数テーブルはそれを表示しません。

  • レポートでは、ループの展開に関する完全な情報を表示しません。1 つの任意の反復のデータ型を表示します。

  • デッド コードに関する情報を表示しません。

関連するトピック