Dataflow Paths - 2024.1 English

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

Document ID
Release Date
2024.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 Edit > Find menu to generate this within the Vivado IDE. This approach has limitations that prevent the switches to get_dataflow_paths from being used. To use this change the pull down menu to Dataflow Paths as is shown in the following example:

Figure 1. Dataflow Paths Edit Find DFV

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 allow a user 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>
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 users 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 number of paths that are returned. The default is 100.
-start_ref_name <ref_name>
-end_ref_name <ref name>

This command allows you to generate paths that start or end with the specified ref name. To find the acceptable REF_NAMEs run the command [lsort -unique [get_property REF_NAME [get_cells -hier]]]