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 1.0 |
|||
Syntax | report_register_spread [-h | -help] [-long_help] [-append] [-file <name> ] [-from_clock <names> ] [-min_sinks <number> ] [-num_registers <number> ] [-panel_name <name> ] [-sink_type <endpoint|immediate> ] [-spread_type <tension|span|area|angle|count> ] [-stdout] [-to_clock <names> ] | |||
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) | |||
-min_sinks <number> | Specifies the minimum number of sinks per register (must be at least 2) | |||
-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|area|angle|count> | Determines which spread type is analyzed [tension|span|area|angle|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. | |||
-to_clock <names> | Valid sink clocks (string patterns are matched using Tcl string matching) | |||
Description |
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. Area: the area covered by a box drawn around the left/bottom-most sink and the right/top-most sink. Angle: the angular span of the sinks around to the source, defined as 360 minus the largest angle between any two angularly-adjacent sinks that are each a sufficiently large distance from the source. Count: the number of each sink type associated with the source register. The analysis can be limited to clocks using the "-from_clock" and "-to_clock" options. Use "-min_sinks" to filter out any registers with a number of sinks below the threshold. Span, Area, and Angle have a low sensititivity to sink count, which can result in registers with a small sink count having a larger spread score than other registers with more sinks. The minimum number of sinks must be at least 2 for the spread calculations to work properly. 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 create_timing_netlist read_sdc my_project.sdc update_timing_netlist report_register_spread -num_registers 20 -spread_type "tension" -sink_type "endpoint" project_close |
|||
Return Value | Code Name | Code | String Return | |
TCL_OK | 0 | INFO: Operation successful | ||
TCL_ERROR | 1 | ERROR: Invalid value %u for argument <string>. Specify a value of at least %u. |