Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Static Timing Analysis - Clock Skew (Clock Skew:

Global Skew and Local Skew)


blog.csdn.net/m0_61544122/article/details/126498047

Global skew refers to the difference between the longest and shortest clock paths of the
same clock, and local skew refers to the difference between the lengths of the clock paths
of two registers with timing checks on the same clock. From the definition point of view,
the relationship between the two seems to be that global skew is greater than It is equal to
local skew, but the fact is that we can also see that local skew is greater than global skew
when we analyze timing violations. The reason is that the global skew calculates the
maximum difference of the sink pin, and the local skew depends on not only the sink pin,
but also the through pin.

As shown in the figure below, the global skew calculation is between FF1/CK, FF2/CK,
and FF3/CK. They are the sink pins of the clock tree and require balance, while the local
skew needs to check whether there is a timing path. If there is a gap between div_1 and
FF3 With timing check, the local skew between them must be larger than the global skew.

1/4
Since local skew directly affects timing convergence, is there any setting in the cts stage
that can constrain the tool to optimize local skew? ICC2 supports such settings.

set_app_options -name cts.common.enable_auto_skew_target_for_local_skew -value


true

There are many ways to report local skew in ICC2 . I personally recommend using
report_clock_timing -type skew, because report_clock_timing will include derate, which
is more reference for analyzing timing.

If you want to report a specific path, you can use the report_clock_timing -type latency -
to xx/CK -verbose command.

Analyzing the names of CK buf/inv in the path helps to understand the behavior of CTS.
The names and meanings of common buf/inv are shown in the figure below.

2/4
3/4
For example, the naming of *dlytr* means that in order to lengthen the sink pin during
long tree or optimization, use detour to insert buf/inv around the circle. If this path is the
longest clock path, you need to use report_clock_timing -type latency -nworst xx reports
more clock paths, and analyzes the cause of the overall lengthening of the clock tree.

4/4

You might also like