Quickly Analyzing All Failing Paths - 2021.2 English

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

Document ID
UG906
Release Date
2021-10-27
Version
2021.2 English

The report_timing_summary command is a powerful tool for determining all the timing information for your design. Sometimes it is beneficial to simply look at all of the failing paths in a single report. The command below works from the command line or from within the IDE.

report_timing -max_paths 100 -slack_less_than 0 -name worse_100_setup
Tip: When using the IDE, you can export the timing results to a spreadsheet to do more comprehensive analysis of the failing paths.

The command above reports the top 100 failing paths. If there are less than 100 failing paths, only the failing paths are reported because of the -slack_less_than 0 option. Reviewing the failing paths in a single list helps to quickly identify the order of magnitude differences among the failing paths.

For example, the WNS could be -3 ns, which affects a few paths, but then the next WNS in the list could be at -300 ps or better.

By default, when you analyze timing failures, you see the single worst timing path per endpoint. There are generally many similar paths for the common failing endpoint.

To review all worst paths for a single endpoint, use the -nworst option with the report_timing command. For example, run the following command to see all paths leading to the worst case failing endpoint (assuming there are less than 100):

report_timing -max_paths 100 -nworst 100

Reviewing all the worst paths may yield considerable data. To minimize the amount of data to analyze, you can review only the unique portions of paths by using the -unique_pins option with the report_timing command. This provides a single path for each unique combination of pins through the timing path. For example:

report_timing -max_paths 100 -nworst 100 -unique_pins