Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 10/04/2021

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents report_register_spread (::quartus::sta)

The following table displays information for the report_register_spread Tcl command:

Tcl Package and Version

Belongs to ::quartus::sta

Syntax report_register_spread [-h | -help] [-long_help] [-append] [-file <name> ] [-from_clock <names> ] [-num_registers <number> ] [-panel_name <name> ] [-sink_type <endpoint|immediate> ] [-spread_type <tension|span|count> ] [-stdout]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-append If output is sent to a file, this option appends the result to that file. Otherwise, the file will be overwritten. This option is not supported for HTML files.
-file <name> Sends the results to an ASCII or HTML file. Depending on the extension
-from_clock <names> Valid source clocks (string patterns are matched using Tcl string matching)
-num_registers <number> Specifies the top N registers with highest spread
-panel_name <name> Sends the results to the panel and specifies the name of the new panel
-sink_type <endpoint|immediate> Determines which sink type [endpoint|immediate] is analyzed
-spread_type <tension|span|count> Determines which spread type is analyzed [tension|span|count]
-stdout Send output to stdout, via messages. You only need to use this option if you have selected another output format, such as a file, and would also like to receive messages.

This report analyzes the final placement of a design and strive to identify registers with sinks that are pulling them in various directions. These registers are then recommended as candidates for duplication There are two types of sink: "Immediate Fan-Out" and "Timing Path Endpoint". There are two types of pull: "Tension" and "Span" The report can be directed to the Tcl console ("-stdout", default), a file ("-file"), the Timing Analyzer graphical user interface ("-panel_name"), or any combination of the three. Use "-sink_type" to specify between endpoints and immediate fanouts to report on. If not specified the default will report on endpoint fanouts. Timing Path Endpoints: the nodes (usually registers) that terminate timing paths from a register Immediate Fanouts: the immediately connected nodes (lookup tables, other registers, RAM or DSP blocks, etc.) of the register. Use "-spread_type" to specify the type of spread to report on, a user can choose between: Tension: the sum over each sink of the distance from it to the centroid of all the sinks. Span: the maximum 1-dimensional delta between the left/bottom-most sink and the right/top-most sink. Count: the number of each sink type associated with the source register. The analysis can be limited to clocks using the "-from_clock" option. Use "-num_registers" to limit the number source registers reported. Registers are reported in decreasing order of the spread type selected so the top n registers will be reported. If you do not specify this option, the number of source registers displayed is limited to a maximum of 10.

Example Usage
project_open my_project

# Always create the netlist first
read_sdc my_project.sdc

report_register_spread -num_registers 20 -spread_type "tension" -sink_type "endpoint"

Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful