Visible to Intel only — GUID: zow1660962452763
Ixiasoft
Visible to Intel only — GUID: zow1660962452763
Ixiasoft
2.4.3. Viewing Synthesis Dynamic Report
In the following report, you can observe that the compiler removed 12984 registers during synthesis. However, after 2780 registers, the remaining registers are truncated from the report due to the GUI threshold. With the dynamic report feature, you can retrieve details of these remaining registers without recompiling your design using the updated GUI threshold.
Within one compilation, the compiler stores all items from the report in a dynamic SQLite database under <project_directory>/dynamic_report/registers_removed.sqlite. After design synthesis, you can access the SQLite database through Tcl commands to extract a summary of the SQLite database (for example, data column and total size of the items), query from the database using SQL commands (for example, SELECT and WHERE), and retrieve the desired number of truncated lines from the report.
- If you recompile after generating the SQLite database, contents are rewritten to the same database. If you turn off the QSF during recompilation, the SQLite database retains the information from the previous compile.
- If your design does not contain registers to be removed during synthesis, the compiler does not generate the Registers Removed During Synthesis report. Hence, the dynamic_report directory and the SQLite database are also not generated.
Executing Tcl Commands
You can execute the dynamic_report Tcl commands in one of the following ways:
- Include Tcl commands in a Tcl script and run it using quartus_syn -t <name>.tcl.
- Execute a single command directly from your terminal as quartus_syn --tcl_eval <tcl command> .
- Execute a single command from the GUI by launching your project in the Intel® Quartus® Prime software and navigating to View > Tcl Console on the menu. In the Tcl Console window, type your Tcl command.
The result is the same irrespective of the method you use to execute your dynamic_report Tcl command.
The following table lists some example dynamic_report Tcl commands with various options:
dynamic_report Command Option | Description | Tcl Command Example |
---|---|---|
-help | Provides detailed help for the dynamic_report Tcl command, including currently supported report values, options, and error values. | dynamic_report -help |
-long_help | Provides long help for the dynamic_report Tcl command with examples and possible return values. | dynamic_report -long_help |
-report <report name> | Targets the report that <report name> specifies. For the Registers Removed During Synthesis report, use "registers removed".
Note: The -report option is mandatory as the Tcl command takes further action based on the report name. Absence of the -report option or using an unsupported value for <report name> results in an error.
|
dynamic_report -report "registers removed" |
-summary | Generates a summary of the specified report, such as the table name, total size, and column names, which help query from the SQLite database. | dynamic_report -report "registers removed" -summary |
-query <sqlite query> | Accepts an entire SQLite query as an option to retrieve the desired result from the database. For example, -query "SELECT * FROM <table> WHERE <column> = <...>" If the query command is incorrect or incomplete, an error message displays with details. The result of this query is sent to an output file under the <project directory>/dynamic_report directory in ASCII format by default. |
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 | Dumps all items in the report. The result of this query is sent to an output file under the <project directory>/dynamic_report directory in ASCII format by default. |
dynamic_report -report "registers removed" -dump_all |
-dump_lines <unsigned integer> | Dumps first <unsigned integer> of lines in the report. An error message displays if the value specified for <unsigned integer> is not an unsigned integer or not in the range of 1 and 999999999. The result of this query is sent to an output file under the <project directory>/dynamic_report directory in ASCII format by default. |
dynamic_report -report "registers removed" -dump_lines 250 |
-filename <file_name> | Specifies an output file name for the results dumped by -query, -dump_all, and -dump_lines options. -filename is optional. If you do not specify a file name, the compiler names the output file as <report name>.ascii. An error message displays if the file name is empty or contains special characters or spaces.
Note: With the -filename option, you can use the -html or -xml option to generate the output file in HTML or XML format, respectively.
|
dynamic_report -report "registers removed" -dump_all -filename "my_result" |