get_fanouts (::quartus::sdc_ext)
The following table displays information for the get_fanouts Tcl command:
Tcl Package and Version |
Belongs to ::quartus::sdc_ext 1.0 |
|||
Syntax | get_fanouts [-h | -help] [-long_help] [-asynch] [-clock] [-inverting_paths] [-no_logic] [-non_inverting_paths] [-stop_at_clocks] [-synch] [-through <names> ] <filter> | |||
Arguments | -h | -help | Short help | ||
-long_help | Long help with examples and possible return values | |||
-asynch | Traverse through asynchronous edges | |||
-clock | Traverse through clock edges | |||
-inverting_paths | Only follow inverting combinational paths | |||
-no_logic | Do not follow combinational paths | |||
-non_inverting_paths | Only follow non-inverting combinational paths | |||
-stop_at_clocks | Return clock targets as fanin/fanouts rather than traversing through them | |||
-synch | Traverse through synchronous edges | |||
-through <names> | Valid through nodes (string patterns are matched using Tcl string matching) | |||
<filter> | Valid starting nodes (string patterns are matched using Tcl string matching or collection) | |||
Description |
Returns a collection of fanout ports, registers (and optionally clock targets) reachable from from the <filter> in the design. When the -no_logic option is used, get_fanouts ignores the paths that pass through combinational logic elements other than buffers and inverters. When you use the -synch, -asynch, or -clock options, get_fanouts traverses the netlist through corresponding edges. You can specify more than one of these options. If you do not specify any of these three options, the command does not ignore any paths. When the -non_inverting_paths option is used in conjunction with the -no_logic option, get_fanouts does not follow any paths that include an odd number of inverters. Similarly, when the -inverting_paths option is used in conjunction with the -no_logic option, get_fanouts does not follow any paths that include an even number of inverters. Both the -non_inverting_paths and -inverting_paths options require the -no_logic option and are mutually exclusive. When the -through option is used, only the fanouts that can be reached by going through those nodes are returned. When -stop_at_clocks is used, combinational clock targets may be returned (in addition to clock or non-clock registers and ports), and registers or ports that can only be reached by traversing through a clock target will not be returned. The filter for the collection is a Tcl list of wildcards, and must follow standard Tcl or Timing Analyzer-extension substitution rules. See the help for use_timing_analyzer_style_escaping for details. Avoid using the get_fanouts command if your design targets a HardCopy series device or if you plan to migrate your design to a Hardcopy series device. |
|||
Example Usage |
set fanouts [get_fanouts $item] foreach_in_collection fanout_keeper $fanouts { lappend fanout_keeper_list [get_node_info $fanout_keeper -name] } set fanouts_no_logic [get_fanouts $item -no_logic] foreach_in_collection fanout_keeper $fanouts_no_logic { lappend fanout_keeper_list_no_logic [get_node_info $fanout_keeper -name] } # Using through option to find the fanout registers whose enable input is # connected to the signal while ignoring the inverting paths. get_fanouts inst1 -no_logic -non_inverting_paths -through [get_pins -hierarchical *|ena] |
|||
Return Value | Code Name | Code | String Return | |
TCL_OK | 0 | INFO: Operation successful |