get_path (::quartus::sta)
The following table displays information for the get_path Tcl command:
Tcl Package and Version |
Belongs to ::quartus::sta 1.0 |
|||
Syntax | get_path [-h | -help] [-long_help] [-fall_from <names> ] [-fall_through <names> ] [-fall_to <names> ] [-from <names> ] [-logic_depth] [-min_path] [-npaths <number> ] [-nworst <number> ] [-pairs_only] [-rise_from <names> ] [-rise_through <names> ] [-rise_to <names> ] [-show_routing] [-through <names> ] [-to <names> ] | |||
Arguments | -h | -help | Short help | ||
-long_help | Long help with examples and possible return values | |||
-fall_from <names> | Valid sources (string patterns are matched using Tcl string matching) | |||
-fall_through <names> | Valid through nodes (string patterns are matched using Tcl string matching) | |||
-fall_to <names> | Valid destinations (string patterns are matched using Tcl string matching) | |||
-from <names> | Valid sources (string patterns are matched using Tcl string matching) | |||
-logic_depth | Option to display the logic depth instead of path delay | |||
-min_path | Find the minimum delay path(s) | |||
-npaths <number> | Specifies the number of paths to report. The default value is 1 or the same value as nworst, if nworst is specified. Value of 0 causes all paths to be reported (be wary that this may be slow) | |||
-nworst <number> | Specifies the maximum number of paths to report for each endpoint. If unspecified, there is no limit. If nworst is specified, but npaths is not, npaths defaults to the same value as nworst | |||
-pairs_only | When set, paths with the same start and end points are considered equivalent. Only the longest delay path for each unique combination is displayed. | |||
-rise_from <names> | Valid sources (string patterns are matched using Tcl string matching) | |||
-rise_through <names> | Valid through nodes (string patterns are matched using Tcl string matching) | |||
-rise_to <names> | Valid destinations (string patterns are matched using Tcl string matching) | |||
-show_routing | Option to display detailed routing in the path | |||
-through <names> | Valid through nodes (string patterns are matched using Tcl string matching) | |||
-to <names> | Valid destinations (string patterns are matched using Tcl string matching) | |||
Description |
Returns a collection of path objects for the longest delay paths between arbitrary points in the netlist. This command behaves the same as the report_path command. However, instead of reporting the paths, it returns a Tcl collection of path objects. You can retrieve path object data using the get_path_info and get_point_info commands. Note that get_path_info does not provide any clock-related information, required points, or meaningful slack values, for paths represented by the path objects returned by this function. For help on the options shared with report_path, see help for the report_path command. |
|||
Example Usage |
# Define a few helper procedures to print out points # on a path, and the path itself proc print_point { point } { set total [ get_point_info $point -total ] set incr [ get_point_info $point -incr ] set node_id [ get_point_info $point -node ] set type [ get_point_info $point -type ] set rf [ get_point_info $point -rise_fall] set node_name "" if { $node_id ne "" } { set node_name [ get_node_info $node_id -name ] } puts [format "%10s %8s %2s %-6s %s" $total $incr $rf $type $node_name ] } proc print_path { path } { puts "Delay : [ get_path_info $path -arrival_time]" puts "" puts [format "%10s %8s %-2s %-6s %s" "Total" "Incr" "RF" "Type" "Name"] puts "==================================================================" foreach_in_collection pt [ get_path_info $path -arrival_points ] { print_point $pt } } project_open my_project # Always create the netlist first create_timing_netlist read_sdc my_project.sdc update_timing_netlist # And now simply iterate over the 10 longest delay paths, # printing each as we go. foreach_in_collection path [get_path -nworst 10] { print_path $path puts "" } delete_timing_netlist project_close |
|||
Return Value | Code Name | Code | String Return | |
TCL_OK | 0 | INFO: Operation successful | ||
TCL_ERROR | 1 | ERROR: Option <string> has illegal value: <string>. Specify a legal option value. | ||
TCL_ERROR | 1 | ERROR: Collection type '<string>' is not a valid type for a through collection. Valid collection types are 'pin' and 'net' | ||
TCL_ERROR | 1 | ERROR: Timing netlist does not exist. Use create_timing_netlist to create a timing netlist. | ||
TCL_ERROR | 1 | ERROR: Report database is not open |