UPGRADE YOUR BROWSER

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!

AR# 54909

Vivado Timing - How can I verify if my timing exception constraints are correctly applied?

Description

I am adding timing exception constraints for some paths.

How can I verify if these constraints are correctly applied and affect timing analysis as expected?

Solution

You can verify the timing exception constraints in a Synthesized or Implemented design in the following ways:

Solution #1: Run report_exceptions command in the Tcl console.
 
Solution #2: Run the "report_timing -from -to" command in the Tcl console to directly query the path(s) to check.

You can verify if the timing exception takes effect by checking the "Slack" or "Timing Exception" in the returned report.

Below is an example.

Constraint:

set_false_path -from [get_pins iSpiSerDes/regSpiCsB_fall_reg/C] -to [get_ports outSpiCsB]



Solution #1:
 
Command:
report_exceptions

Returned report:
Position  From                                                                  Through       To                                   Setup          Hold            Status             
----------  ---------------------------------------------------------   --------------   -----------------------------   --------------  --------------  -----------------  
21           [get_pins iSpiSerDes/regSpiCsB_fall_reg/C]    *                  [get_ports outSpiCsB]    false           false             


Solution #2:
 
Command:
report_timing -from [get_pins iSpiSerDes/regSpiCsB_fall_reg/C] -to [get_ports outSpiCsB]

Returned report:
Slack:                    inf
  Source:                 iSpiSerDes/regSpiCsB_fall_reg/C
                            (falling edge-triggered cell FDRE clocked by clk_out1_clk_wiz_0  {rise@0.000ns fall@7.500ns period=15.001ns})
  Destination:            outSpiCsB
                            (output port clocked by cclk  {rise@0.000ns fall@7.500ns period=15.001ns})
  ......
  Clock Path Skew:        2.067ns (DCD - SCD + CPR)
  ......
  Clock Uncertainty:      0.190ns  ((TSJ^2 + DJ^2)^1/2) / 2 + PE
  ......
  Timing Exception:       False Path
......

The "inf" Slack indicates a false path slack.

The "Timing Exception" shows the exception type of this path.


AR# 54909
Date Created 03/14/2013
Last Updated 02/27/2015
Status Active
Type General Article
Tools
  • Vivado Design Suite