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] [-inverting_paths] [-no_logic] [-non_inverting_paths] [-stop_at_clocks] [-through <names> ] <filter>
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-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
-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 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