all_fanin - 2024.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2024.1 English

Get a list of pins or cells in fanin of specified sinks


all_fanin [‑startpoints_only] [‑flat] [‑only_cells] [‑levels <arg>]
    [‑pin_levels <arg>] [‑trace_arcs <arg>] [‑quiet] [‑verbose] <to>


List of cell or pin objects.


Name Description
[-startpoints_only] Find only the timing startpoints
[-flat] Hierarchy is ignored
[-only_cells] Only cells
[-levels] Maximum number of cell levels to traverse:Value >= 0 Default: 0
[-pin_levels] Maximum number of pin levels to traverse:Value >= 0 Default: 0
[-trace_arcs] Type of network arcs to trace: Values: timing, enabled, all
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<to> List of sink pins, ports, or nets




Returns a list of port, pin or cell objects in the fan-in of the specified sinks.

The all_fanin command is scoped to return objects from current level of the hierarchy of the design, either from the top-level or from the level of the current instance. By default the current instance is defined as the top level of the design, but can be changed by using the current_instance command. To return the fan-in across all levels of the hierarchy, use the -flat option.


-startpoints_only - (Optional) Find only the timing start points. When this option is used, none of the intermediate points in the fan-in network are returned. This option can be used to identify the primary driver(s) of the sinks.

-flat - (Optional) Ignore the hierarchy of the design. By default, only the objects at the same level of hierarchy as the sinks are returned. When using this option, all the objects in the fan-in network of the sinks are considered, regardless of hierarchy.

-only_cells - (Optional) Return only the cell objects which are in the fan-in path of the specified sinks. Do not return pins or ports.

-levels <value> - (Optional) Maximum number of cell levels to traverse. A value of 1 means to traverse the top-level of the current instance. The default value is 0 and indicates that the tool should traverse all levels in the hierarchy.

-pin_levels <value> - (Optional) Maximum number of pin levels to traverse. The default value is 0.

-trace_arcs <value> - (Optional) Type of network arcs to trace. Valid values are "timing", "enabled", and "all"

-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

<to> - (Required) The pins, ports, or nets from which you want the fan-in objects reported.


The following example lists the timing fan-in of the led_pins output port:

all_fanin [get_ports led_pins[*] ]

The following example traces back from the clock pin of the specified flip- flop to the clock source (an MMCM output pin in this example):

all_fanin -flat -startpoints_only [get_pins cmd_parse_i0/prescale_reg[7]/C]

The following examples returns the ports connected to the input pins of IDELAYs, ignoring the hierarchy of the design:

all_fanin -flat -startpoints_only [get_pins IDELAY*/IDATAIN]