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.
-helpdisplays the command options.-setupreports the maxiumum delay endpoint timing paths at the slow corner.-holdreports the the minimum delay endpoint timing paths at the fast corner.-no_detailed_pathsreports only the summary table.-npathssets the number of paths to report. If you do not specify the number of paths, the software only provides the single longest delay path.-nworstlimits 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-npathsonly. If you use this option but not-npaths,-npathsdefaults to the value specified for-nworst.-path_typespecifies the format for the path report. The default path type isfull_clock_expanded.-sort_by_slacksorts the Summary and Per-Constraint sections of the report by slack.-filewrites the results to a file in the outflow directory.
| 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