184.108.40.206. Report Timing
The Timing Analyzer's Reports > Timing Slack > Report Timing… command allows you to specify settings to report the timing of any path or clock domain in the design. The equivalent scripting command is report_timing.
You can specify various options to customize the reporting. You can specify the Clocks and Targets that the report displays, the Analysis Type to run, whether to display Extra Info in the report, and the Output options for the report. For example, you can increase the number of paths to report, add a Target filter, and add a From Clock.
|Clocks||From Clock and To Clock filter paths in the report to show only the launching or latching clocks you specify.|
|Targets||Specifies the target node for From Clock and To Clock to report paths with only those endpoints. Specify an I/O or register name or I/O port for this option. The field also supports wildcard characters. For example, to report only paths within a specific hierarchy:
report_timing -from *|egress:egress_inst|* \ -to *|egress:egress_inst|* -(other options)When the From, To, or Through boxes are empty, the Timing Analyzer assumes all possible targets in the device. The Through option limits the report to paths that pass through combinatorial logic, or a particular pin on a cell.
|Analysis type||The Analysis type options are Setup, Hold, Recovery, or Removal. The Timing Analyzer reports the results for the type of analysis you select.|
|Paths||Specifies the number of paths to display by endpoint and slack level. The default value for Report number of paths is 10, otherwise, the report can be very long. Enable Pairs only to list only one path for each pair of source and destination. Limit further with Maximum number of paths per endpoints. You can also filter paths by entering a value in the Maximum slack limit field.|
|Extra Info||Provides additional data that is relevant for diagnosing timing failure root cause, such as setup slack breakdown, and unexpected routing detours caused by congestion and hold time fix-up. Specify whether to include None, Basic, or All extra information in the report. The Extra Info tab data can help you identify potential, unnecessary routing detours, as well as placement or circuit issues that restrict the path fMAX performance. Refer to Setup Slack Breakdown On the Extra Info Tab.
|Output||Specify the path types the analysis includes in output for Detail level:
|Show routing||Shows routing data in the report.|
|Split the report by operating conditions||For the operating condition timing corners, subdivides the data by each operating condition.|
|Report panel name||Specifies the name of the report panel. You can optionally enable File name to write the information to a file. If you append .htm or .html as a suffix, the Timing Analyzer produces the report as HTML. If you enable File name, you can Overwrite or Append the file with latest data.|
|Tcl command||Displays the Tcl syntax that corresponds with the GUI options you select. You can copy the command from the Console into a Tcl file.|
Setup Slack Breakdown On the Extra Info Tab
The Extra Info tab contains other timing metrics to help you diagnose timing closure issues, including Setup Slack Breakdown for the path.
The slack of a path specifies the margin by which the path meets its timing requirement. The setup slack breakdown is a numeric value that the Timing Analyzer calculates from the following timing requirements and path element delays:
A path can fail timing requirements for many different reasons. For example, the clock relationship can be impossibly tight, or there can be excessive routing delays that alone cause failure for the timing path. Calculating the intrinsic margin of a timing path, and then comparing that margin to other delays of the path, can help identify the specific reasons why a path fails its timing requirement.
The Extra Info tab can help you identify potential significant or unexpected routing detours caused by congestion and hold time fix-up. The Extra Info tab can also report extra information for source timing endpoints that pass through the unregistered output of a RAM or DSP block, or for destination timing endpoints that pass through the unregistered input of a DSP block.
You can review the Extra Info data and Locate Path or Locate Chip Area in Chip Planner, Technology Map Viewer, or Resource Property Viewer to determine whether to make changes to improve placement and routing.
Some delay elements are more sensitive to a path’s placement and routing than others. Intrinsic delays that are part of Setup Slack Breakdown are less sensitive to placement and routing, and are inherent in the RTL and timing requirements. Non-intrinsic delays are the other delays that are sensitive to placement and routing.
|Extra Info Data||Description|
Reports the intrinsic and non-intrinsic timing elements that comprise the timing path slack value. Intrinsic margin is a numeric value that the Timing Analyzer calculates from the timing requirements and path element delays. The Timing Analyzer also derives the slack of the path from the same requirements and delays, but with a different calculation. Intrinsic delays are less sensitive to placement and routing, and are inherent in the RTL and timing requirements. Non-intrinsic delays are the other delays that are sensitive to placement and routing.
|From Node Info||Specifies the node Type, any Retiming Restriction, and any Power-Up "Don't Care" attributes for the From Node. Consider removing the retiming restriction to allow retiming and improve performance for timing closure.|
|To Node Info||Specifies the node Type, any Retiming Restriction, and any Power-Up "Don't Care" attributes for the To Node. Consider removing the retiming restriction to allow retiming and improve performance for timing closure.|
Reports the maximum fan-out of register and combinational nodes in the path.
|Route Stage Congestion Impact||Reports whether routing has a Low, Medium, or High impact on congestion. A Low value suggests timing issues are not congestion related. A High value suggests competition for scarce routing resources plays a role in poor timing.|
|Estimated Delay Added for Hold||Reports the estimated amount of delay added on to the fastest delay route to satisfy hold. This value can help you determine whether delays are routing congestion or Hold related.|
|Sufficient Setup Margin for Hold||Reports whether the setup margin is suitable for the hold timing. Yes, indicates that the setup margin is sufficient. No indicates that the setup margin is insufficient for hold timing.|
|Source/Destination Bounding Box||Reports the lower-left and upper-right coordinates for the boundary box enclosing the source and destination registers.
In an ideal case, the Source/Destination Bounding Box, Cell Bounding Box, and Interconnect Bounding Box values are roughly the same, and the relative areas are approximately 1.0. If the cell bounding box size grows relative to the Source/Destination Bounding Box, that can indicate a potential unnecessary routing detour on the path.
|Source/Destination Area Covered||Reports the total area covered in terms of LABs.|
|Source/Destination Relative Area||Reports the area for the source and destination, relative to the Source/Destination Bounding Box. The value is always 1.0, which equals the same size.|
|Cell Bounding Box||Reports the lower-left and upper-right coordinates for the boundary box enclosing the source and destination registers, and any cells in the path.|
|Cell Area Covered||Reports the area for the cell, relative to the Source/Destination Bounding Box. A value of 1.0 equals the same size. A value greater than 1.0 can indicate a path has a cell outside of the space between the registers in the path.|
The following describe the interpretation of timing conditions indicated by the Setup Slack Breakdown:
- When the Setup Slack Breakdown is less than 0—the path has such a tight timing relationship, a large difference in microparameters, or such significant clock source uncertainty, that the path fails before the addition of any delay. Review the SDC constraints to verify that the timing relationship is correct. An incorrect relationship can exist between unrelated clocks that lack the proper timing cut. Ensure that parameterizable hard blocks (such as 20K RAM and DSP blocks) are fully registered. Investigate clock sources to verify that the clocks use global signals for routing.
- When the clock skew exceeds the Setup Slack Breakdown —address the clock transfer to meet timing on the path. You may need to create clock region assignments. You might also need to redesign cross-clock transfers to switch from synchronous to asynchronous implementation, such as with a FIFO or other handshake.
- When the cell delay is greater than its intrinsic margin—reduce the cell delay, as the path would fail timing even if the clocks are perfect and use no routing wires. Rewrite RTL to reduce the logic depth, restructure logic to allow the Compiler to use faster LUT inputs, or unblock retiming optimizations. The Compiler can automatically retime registers to reduce logic depth, but only in ways that maintain functionality and that the device architecture supports. To unblock the Hyper-Retimer, remove asynchronous resets and initial conditions.
- When the interconnect delay is greater than its intrinsic margin—the path would fail timing even if the clocks are perfect, and there is no logic. This occurs if registers are too far apart, or a timing path detours around a congested chip area. Review the fan-in and fan-out of registers that are far apart. Apply Logic Lock regions so the Fitter places the registers closer together. Use Logic Lock regions only after determining why placement is initially poor.