ID 683432
Date 10/04/2021
Public

3.1.29.44. report_bottleneck (::quartus::sta)

The following table displays information for the report_bottleneck Tcl command:

 Tcl Package and Version Belongs to ::quartus::sta Syntax report_bottleneck [-h | -help] [-long_help] [-cmetric ] [-details] [-metric ] [-nworst ] [-panel_name ] [-stdout] [ ] Arguments -h | -help Short help -long_help Long help with examples and possible return values -cmetric Custom metric function to evaluate individual nodes -details Show the detailed information (number of failing edges, number of fanins, etc) -metric Indicate the metric to use to rate individual nodes -nworst Specifies the maximum number of nodes to report. If unspecified, there is no limit -panel_name Sends the results to the panel and specifies the name of the new panel -stdout Output the result onto stdout Paths to be analyzed Description Reports bottleneck nodes in a design based on user-specified criteria for rating each node. The following considerations are pre-defined num_fpaths: (default) returns the number of paths that fail timing through the node. num_fanins: returns the number of fanin edges from the node. num_fanouts: returns the number of fanout edges from the node. num_paths: returns the number of paths through the node. tns: returns the total negative slack of all the paths through the node. The paths to be analyzed can be specified by passing the result of any get_timing_paths call as the last argument to report_bottleneck. If no paths are specified, report_bottleneck analyzes the worst 1000 setup paths in the design. You can also create your own custom criteria for evaluating nodes based on the combination of the number of fanouts, fanins, failing paths, and total paths. To use custom criteria, do the following: 1. Create a Tcl procedure that takes one argument, "arg", for example. 2. Use "upvar $arg metric" in the procedure. 3. Calculate the rating based on$metric(tns), $metric(num_fanouts),$metric(num_fanins), and $metric(num_fpaths). 4. Return the rating with "return$rating". 5. Pass the name of your custom criteria procedure to report_bottleneck using the -cmetric option. Reports can be directed to the Tcl console (-stdout), the Timing Analyzer graphical interface (-panel), or a combination of the two. Example Usage project_open my_project create_timing_netlist read_sdc update_timing_netlist # use the worst 500 hold paths set paths [ get_timing_paths -npaths 500 -hold ] report_bottleneck -metric default -panel "Timing Analysis Bottleneck Report - Default Metric" $paths report_bottleneck -metric tns -panel "Timing Analysis Bottleneck Report - TNS"$paths report_bottleneck -metric num_paths -panel "Timing Analysis Bottleneck Report - Number of Paths" $paths report_bottleneck -metric num_fpaths -panel "Timing Analysis Bottleneck Report - Number of Failing Paths"$paths report_bottleneck -metric num_fanouts -panel "Timing Analysis Bottleneck Report - Number of Fanouts" $paths # create custom metric and use the worst 2000 setup paths proc report_bottleneck_custom_metric {arg} { # Description: use the number of fanins as the custom metric. upvar$arg metric set rating $metric(num_fanins) return$rating } set paths [ get_timing_paths -npaths 2000 -setup ] report_bottleneck -cmetric report_bottleneck_custom_metric -panel "Timing Analysis Bottleneck Report - Custom" \$paths Return Value Code Name Code String Return TCL_OK 0 INFO: Operation successful

Characters remaining:

Feedback Message