We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Page Bookmarked

AR# 67294

2016.1 Vivado Timing - How to get setup timing of hold-time paths


How do I get the setup timing of hold-time paths? I am using the following command:

report_timing -delay_type max -of_objects [get_timing_paths -max_paths 10 -hold] -max_paths 1000 -sort_by group -input_pins -name "setup of worst hold"

However, it results in the the following error message:

ERROR: [Vivado 12-1365] Options '-delay_type' and '-of_objects' are mutually exclusive. You can't specify these options together. Please specify only one of these options.


"report_timing -delay_type" and "-of_objects" are mutually exclusive; setup and hold paths are typically very different for the same endpoint. 

Vivado could show the exact setup time for that path, but for that endpoint the path and timing can be very different.

Therefore it was decided to not show the setup time of hold paths (or vice-versa)

There are two potential workarounds:

1) For the setup of the worst hold paths, use the following command:

report_design_analysis -extend -hold -max_paths X

2) Use a Tcl script to create more customized reporting.

For Example:

set L [list]
foreach path [get_timing_paths -nworst 1 -max 1000 -hold] {
lappend L [get_timing_path -setup -nworst 1-sort_by group -from [get_property STARTPOINT_PIN $path] -to [get_property ENDPOINT_PIN $path] ]
report_timing -of $L -name "setup of failing hold"

AR# 67294
Date 10/05/2016
Status Active
Type General Article
  • Vivado Design Suite