Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 12/13/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