Browse Prior Art Database

A New Method for Correctly Handling Reconvergence in Clock Networks during CPPR in SSTA

IP.com Disclosure Number: IPCOM000241726D
Publication Date: 2015-May-26
Document File: 4 page(s) / 174K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a new algorithm for correctly handling reconvergence in clock networks during Common Path Pessimism Removal (CPPR) in Statistical Static Timing Analysis (SSTA). No change is needed in the existing algorithm for Frequency Independent (FI) tests (where clock and data Arrival Times are in the same cycle); the new algorithm is proposed only for Frequency Dependent (FD) tests (where clock and data Arrival Times are in adjacent cycles).

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 4

A New Method for Correctly Handling Reconvergence in Clock Networks during CPPR in SSTA

When the Clock Network has reconvergence, the existing Common Path Pessimism Removal (CPPR) algorithm in Statistical Static Timing Analysis (SSTA) does not correctly work for Timing Tests (e.g., typical Latch Setup Tests) in which the clock and data arrival times are in adjacent cycles.

The handling of Frequency Independent (FI) tests is fine in the current CPPR algorithm; no change is needed. For Frequency Dependent (FD) tests, however, a new algorithm is needed to correctly compute the final slack for these timing tests.

To address this problem, the novel contribution is a new algorithm for correctly handling reconvergence in clock networks during CPPR in SSTA. The algorithm is as follows:

1. During the back-trace of the data paths, do not even use a callback to mark the "common" point; instead, simply back-trace all data paths in entirety

2. For each data path, use the complete data and clock paths to perform the pre-common slack calculations with random exposed in the delay canonicals, regardless of whether the random was baked in or exposed during initial block-based timing in SSTA

3. For common credit calculation, start with the starting points of both the clock and data paths, and then move forward along the paths in a levelized fashion. For each common segment encountered, expose the random in the canonical delays for that segment (even if the initial block-based timing was done with baked random) and accumulate the Late - Early delay canonical difference, until no more common segments are reached (i.e., point L in Figure 1).

4. Add the total common credit computed in step 3 to the pre-common slack of step 2 (but subtract random of common credit contribution in the Root-Sum-Squares (RSS) calculation) to result in post-CPPR slack for that path

5. Project the post-CPPR slack for each path and report the worst as the final post-CPPR slack for the test

Figure 1: The new algorithm for the chosen example of a FD test

1


Page 02 of 4

Column 2 of the bottom table in Figure 1 shows the path-based arrival time (AT) (Data) for each of the data paths peeled. This, along with the path-based AT(Clk) shown in the first major bullet of the figure is used to compute the pre-common slack for each path shown in column 3. This is step 2 of the new algorithm; the slack computed in this step is different for each of the paths peeled. This is a key difference when compared with the current algorithm, which gave the same pre-common slack for each of the paths, thereby increasing pessimism as shown in Figures 2 and 3. Also, note that the slack computed by the new algorithm gives the same answer, whether or not the random is baked in the mean of the delay canonical during initial timing, because it is always exposed in this step. However, the old algorithm, as shown below, provides different answers in this ca...