report_bus_skew Command

report_bus_skew [-help] [-setup] [-hold] [-no_detailed_paths] [-npaths <number>] 
            [-nworst <number>] [-path_type <format>] [-sort_by_slack] [-file <file>]

This command reports the calculated bus skew among the signals constrained by the set_bus_skew command.

  • -help displays the command options.
  • -setup reports the maxiumum delay endpoint timing paths at the slow corner.
  • -hold reports the the minimum delay endpoint timing paths at the fast corner.
  • -no_detailed_paths reports only the summary table.
  • -npaths sets the number of paths to report. If you do not specify the number of paths, the software only provides the single longest delay path.
  • -nworst limits the number of paths reported for each unique endpoint. Without this option, the number of paths reported for each destination node is restricted by the -npaths only. If you use this option but not -npaths, -npaths defaults to the value specified for -nworst.
  • -path_type specifies the format for the path report. The default path type is full_clock_expanded.
  • -sort_by_slack sorts the Summary and Per-Constraint sections of the report by slack.
  • -file writes the results to a file in the outflow directory.
Table 1. Path Report Formats
Path Type Description
short Displays the startpoints and endpoints with calculated timing values.
full Displays the full timing path, including startpoints, through points and endpoints.
full_clock Displays full clock paths in addition to the full timing path.
full_clock_expanded Displays full clocks paths expanding to the master clock in addition to the full timing path.

The bus skew report includes two sections: The Bus Skew Report Summary summarizes the worst bus skew of all the set_bus_skew constraints defined in the design. The Bus Skew Report Per Constraint provides more details for each of the set_bus_skew constraints. Each reported constraint includes a detailed summary of the paths covered by the constraint and detailed timing paths for the paths reported in the Per-Constraint summary.

By default, the report_bus_skew command prints a summary report like the following example:

1. Bus Skew Report Summary
--------------------------

From                                  | To                                  
=======================================================================
[get_pins {data1_reg[*]}~FF[CLK]]     | [get_pins {datac_reg[*]}~FF[D]]     

Corner | Requirement(ns) | Actual(ns) | Slack(ns)
=================================================
Slow   | 1.000           | 0.106      | 0.894    
2. Bus Skew Report Per Constraint
---------------------------------

set_bus_skew -from [get_pins {data1_reg[*]}~FF[CLK]] -to [get_pins {datac_reg[*]}~FF[D]] 1.000
Requirement: 1.000 ns  
Endpoints: 4

From | To   | Endpoint Pin        | Reference Pin       | Corner | Actual(ns) | Slack(ns)
=========================================================================================
clk1 | clk2 | datac_reg[3]~FF|D   | datac_reg[0]~FF|D   | Slow   | 0.106      | 0.894
clk1 | clk2 | datac_reg[1]~FF|D   | datac_reg[0]~FF|D   | Slow   | 0.062      | 0.938
clk1 | clk2 | datac_reg[2]~FF|D   | datac_reg[0]~FF|D   | Slow   | 0.062      | 0.938
clk1 | clk2 | datac_reg[0]~FF|D   | datac_reg[3]~FF|D   | Fast   | 0.054      | 0.946
    
Slack:                       0.894 ns (requirement - actual slack)
Endpoint Source:             data1_reg[3]~FF|CLK (clk1 (RISE))
Endpoint Destination:        datac_reg[3]~FF|D (clk2 (RISE))     
Reference Source:            data1_reg[0]~FF|CLK (clk1 (RISE))
Reference Destination:       datac_reg[0]~FF|D (clk2 (RISE))        
Path Type:                   Max at Slow Process Corner        
Requirement:                 1.000 ns  
Endpoint Relative Delay:     1.003 ns  
Reference Relative Delay:    0.897 ns  
Actual Bus Skew:             0.106 ns (Endpoint - Reference)

Endpoint Path:
Launch Clock Path Delay          : 4.110 ns  
+ Clock To Q + Data Path Delay   : 1.003 ns  
-------------------------------------------
Data Arrival time                : 5.113 ns  
- Clock Arrival time             : 4.110 ns  
-------------------------------------------
Relative Delay                   : 1.003 ns  
       

Launch Clock Path
------------------
Name                    | Model Name                         | Delay (ns)
=========================================================================
                        | propagated clock network latency   | 4.110
data1_reg[3]~FF|CLK ff  |                                    | 0.000

Cumulative Delay (ns)   | Pins on Net | Location
=================================================
4.110                   | 0           |
4.110                   | 9           | (153,205)      

The following example reports the bus skew for the 10 worst signals of each bus skew constraint in the design, reporting 1 path per bit of the bus with the full timing path:

report_bus_skew -npaths 10 -nworst 1 -path_type full