インテルのみ表示可能 — GUID: zow1660962452763
Ixiasoft
インテルのみ表示可能 — GUID: zow1660962452763
Ixiasoft
1.4.3. 合成における動的レポートの表示
次に示されているレポートからは、コンパイラーが合成時に12984個のレジスターを削除したことが分かります。ただし、レジスターが2780を超えると、GUIのしきい値により、残りのレジスターはレポートから切り離されます。動的レポート機能を使用すると、この残りのレジスターの詳細を取得することができます。GUIのしきい値を更新してデザインを再コンパイルする必要はありません。

1回のコンパイルにおいて、コンパイラーはレポートのすべての項目を動的SQLiteデータベースに格納します。このデータベースは、<project_directory>/dynamic_report/registers_removed.sqlite にあります。デザインの合成後、SQLiteデータベースにTclコマンドを介してアクセスし、SQLiteデータベースの概要 (データ列や項目の合計サイズなど) の抽出、SQLコマンド (SELECT、WHERE など) を使用してのデータベースからのクエリー、レポートから切り離された行の取得 (必要数) を行うことができます。
- SQLiteデータベースを生成後に再コンパイルを行うと、コンテンツは同じデータベースに書き換えられます。再コンパイル時にQSFをオフにすると、SQLiteデータベースは前回のコンパイルの情報を維持します。
- 合成時に削除されるレジスターがデザインに含まれない場合、コンパイラーは Registers Removed During Synthesis レポートを生成しません。よって、dynamic_report ディレクトリーとSQLiteデータベースも生成されません。
Tclコマンドの実行
dynamic_report Tclコマンドは、次のいずれかの方法で実行することができます。
- TclコマンドをTclスクリプトに含め、quartus_syn -t <name>.tcl を使用して実行します。
- quartus_syn --tcl_eval <tcl command> のように、単一のコマンドをターミナルから直接実行します。
- GUIから単一のコマンドを実行します。それには、 インテル® Quartus® Prime開発ソフトウェアでプロジェクトを起動し、メニューから View > Tcl Console を選択します。Tclコンソールウィンドウに、Tclコマンドを入力します。
いずれの方法を使用しても、dynamic_report Tclコマンドの実行結果は同じです。
次の表に、dynamic_report Tclコマンドをさまざまなオプションとともに使用している例をいくつか示します。
dynamic_report コマンドオプション | 詳細 | Tclコマンド例 |
---|---|---|
-help | dynamic_report Tclコマンドの詳細なヘルプ情報を提供します。これには、現在サポートされているレポートの値、オプション、およびエラーの値が含まれます。 | dynamic_report -help |
-long_help | 使用例と考えられる戻り値を提供する dynamic_report Tclコマンドのロングヘルプです。 | dynamic_report -long_help |
-report <report name> | <report name> が指定するレポートを対象とします。Registers Removed During Synthesis レポートには、"registers removed" を使用します。
注: -report オプションは必須です。Tclコマンドはレポート名に基づきアクションをさらに実行します。-report オプションがない場合、またはサポートされていない値を <report name> に使用している場合は、エラーが発生します。
|
dynamic_report -report "registers removed" |
-summary | 指定されているレポートの概要 (テーブル名、合計サイズ、列名など) を生成します。これは、SQLiteデータベースからのクエリーに役立ちます。 | dynamic_report -report "registers removed" -summary |
-query <sqlite query> | SQLiteクエリー全体をオプションとして受け入れ、データベースから目的の結果を取得します。例: -query "SELECT * FROM <table> WHERE <column> = <...>" クエリーコマンドが不正である、もしくは不完全な場合は、エラーメッセージと詳細が表示されます。 このクエリーの結果は、デフォルトでは、<project directory>/dynamic_report ディレクトリーにある出力ファイルにASCII形式で送信されます。 |
dynamic_report -report "registers removed" -query "SELECT * FROM 'Registers Removed During Synthesis' WHERE reason = 'Stuck at VCC due to stuck port data_in'" |
-dump_all | レポート内のすべての項目をダンプします。 このクエリーの結果は、デフォルトでは、<project directory>/dynamic_report ディレクトリーにある出力ファイルにASCII形式で送信されます。 |
dynamic_report -report "registers removed" -dump_all |
-dump_lines <unsigned integer> | レポート内の行の最初の <unsigned integer> をダンプします。 <unsigned integer> に指定されている値が符号なし整数ではない、または1から999999999の範囲にない場合は、エラーメッセージが表示されます。 このクエリーの結果は、デフォルトでは、<project directory>/dynamic_report ディレクトリーにある出力ファイルにASCII形式で送信されます。 |
dynamic_report -report "registers removed" -dump_lines 250 |
-filename <file_name> | -query、-dump_all、-dump_lines オプションによってダンプされた結果の出力ファイル名を指定します。 -filename はオプションです。ファイル名を指定しない場合、コンパイラーは出力ファイルを <report name>.ascii と名付けます。ファイル名が空の場合や、特殊文字やスペースが含まれている場合は、エラーメッセージが表示されます。
注: -filename オプションは、-html または -xml オプションとともに使用することで、出力ファイルをそれぞれHTML形式またはXML形式で生成することができます。
|
dynamic_report -report "registers removed" -dump_all -filename "my_result" |