Dataflow Paths - 2025.1 English - UG906

Vivado Design Suite User Guide: Design Analysis and Closure Techniques (UG906)

Document ID
UG906
Release Date
2025-05-29
Version
2025.1 English

The get_dataflow_paths command returns a list of paths from the dataflow netlist that include two or more cells with a connection between them. It allows you to target the analysis of a dataflow design to the targeted cells and their connecting cells.

The objects returned can be used with the show_objects command to display the path list in the Vivado IDE. It can be selected and is cross probable to other windows such as schematic, netlist, and device. The following is an example of leveraging the command with the show_objects command:
show_objects -name dataflow_paths_1 [get_dataflow_paths]

It is also possible to use the Tools > Show Dataflow Paths menu to generate dataflow paths within the Vivado IDE. From this window it is possible to:

  • Control how many paths the command returns
  • Control the minimum and maximum number of cells to trace through
  • Control the minimum data width of buses within a dataflow path
  • Target paths to start, end or traverse through specific cells

The Dataflow Paths dialog box can also be opened from the schematic window by right clicking on a leaf cell and selecting Show Dataflow Paths > From/Through/To Cell as shown in the following figure. This prepopulates the dialog box with the selected cell name.

Figure 1. Show Dataflow Paths Window

The get_dataflow_paths command works by scanning the dataflow netlist for paths up to the max_depth (default 10) switch, and returns up to number of paths specified by max_paths (default 100). When there are more paths than the max_paths value, the return order is prioritized as follows:

  • First paths equal to the max_depth, then paths less than this in order of depth
  • Alphabetical order of the startpoint
Using Tcl, the following switches facilitate the targeting of the returned paths to user specified objects:
-from <cells>
-to <cells>
-through <cells>
The -from / -to / -through allows you to specify a list of cells and target the returned path list to the specified objects. The -from switch allows users to specify startpoints, the -to switch allows users to specify endpoints and -through allows users to specify a list of midpoints.
-max_depth <integer>
-min_depth <integer>
-max_paths <integer>
-min_width <integer>

By default the -max_depth switch specifies the longest path that can be searched. Longest paths are returned first. The default for this is 10. The -min_depth allows you to specify the minimum depth. This is allowed only if the max_paths is not reached. The -max_paths switch allows you to alter the maximum number of paths that are returned. The default is 100. The -min_width switch specifies the minimum bus width that will be displayed. Any sections of a bus below this will not be returned. The default value is 1.