AR# 40773


14.x Timing Analysis - How is MAXSKEW calculated?


How is MAXSKEW calculated and how is it different from MAXDELAY? See sample report below:

Timing constraint: NET "ispb_aad_in(13)" MAXSKEW = 0.23 ns;

1 net analyzed, 1 failing net detected.
1 timing error detected.
Maximum net skew is 0.252ns.
Slack: -0.022ns ispb_aad_in(13)
Report: 0.252ns skew fails 0.230ns timing constraint by -0.022ns
From To Delay(ns) Skew(ns)
V15.I SLICE_X56Y2.DX 1.465 0.081
V15.I SLICE_X57Y2.DX 1.471 0.087
V15.I SLICE_X58Y2.DX 1.622 0.238
V15.I SLICE_X59Y2.DX 1.636 0.252



When looking at the net "ispb_aad_in(13)"above, see the explanation below:

Basically, your fastest slice on a particular net is set as a reference line, and thus can be set internally as a 0 ns delay (the line coming in still has its delay of 1.465 ns). There is still an uncertainty that is calculated by our tools (unfortunately, the equation is unavailable), and in this particular net, it was set to .081 ns. Bear in mind that this uncertainty is for the lines in THIS particular net; other nets can have different uncertainty values.

Now, our MAXSKEW will be calculated as the slowest line's delay from the reference, PLUS the uncertainty. In this case, (1.636 - 1.465 = 0.171, 0.171 + 0.081 = 0.252). Since the MAXSKEW constraint was set to 0.23 ns, it failed.

MAXDELAY runs per line in a net, and it is likely to have its uncertainty build into the result, and generally we do not care about that because it is a max value. MAXSKEW on the other hand compares skew differences between the lines, and since we have a reference set to zero, we still need to have some uncertainty on it.
AR# 40773
日期 12/15/2012
状态 Active
Type 综合文章
Tools More Less
People Also Viewed