100 likes | 192 Views
Statistical timing and synthesis. Chandu paper. Canonical form. Compute max( A,B ) = C in canonical form (assuming D X i independent). Tightness Probability. Define:. Probability that A is greater than B Computed by table look-up. Computing C in canonical form.
E N D
Statistical timing and synthesis Chandu paper
Canonical form Compute max(A,B) = C in canonical form (assuming DXi independent)
Tightness Probability Define: Probability that A is greater than B Computed by table look-up
Computing C in canonical form Min is similar. Addition and subtraction is easy – e.g.
Other quantities Any other timing quantity, slew, slacks, required times, etc. can be computed in the same way using the defined operators, min, max, plus, minus. These are always put in canonical form. Note that all quantities are approximated by Gaussian distributions, where after each operation, the first two moments, mean and std deviation are matched. Errors come because all quantities are assumed to be linear in the underlying variables. So for example delay equation of a gate is approximated by a linear equation.
sink source augmented timing graph input edges have delays equal to arrival times output edges have delays equal to the negative of the output required time
Critical paths (Chendu) A path is critical if it is the slowest path. A node or edge is critical if it is on a critical path. The critical probability of a path is the probability that a path is critical The critical probability (CP) of an edge (node) is the probability that the edge (node) is on a critical path ATP (arrival tightness probability) = probability that an edge determines the arrival time of its sink. Virtual edge is put at each PO connecting to a single sink. The delay on each edge is the negative of the required time at that PO. At sink, the arrival time is the maximum negative slack. RATP (required arrival tightness probability) = prob. that edge determines the required arrival time of its source node. (as far as I can see this is not needed)
sink source Backward propagation
Required Time (different from Chendu) Define required time as the arrival time of the slowest PO: In canonical form Profit function = Total profit: Slack at an edge e: Slack is always positive. mean weighted slack: where
Comparison at sink output: us them required = arrival • off a critical path, we would compute a slack but Chendu would have a 0 • probability of it being critical. There is no notion of paths that are near crititical. • Slacks are used in classical timing optimization algorithms, not just whether a path is critical or not. • For example, a positive slack can be used to do resizing to recover area. • We use a profit-weighted slack concept to select how to change the design to speed it up or slow it down. We change the design so that profit is increased the most. • We have about twice as much computation