10
Statistical timing and synthesis Chandu paper

Statistical timing and synthesis

  • Upload
    daw

  • View
    17

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Statistical timing and synthesis

Statistical timing and synthesis

Chandu paper

Page 2: Statistical timing and synthesis

Canonical form

0 11

n

i i n Ai

A a a X a R

0 11

n

i i n Bi

B b b X b R

Compute max(A,B) = C in canonical form (assuming Xi independent)

2

2cov( , ) ( )A A B

A B B

A B

(0,1)q iR X N

12 2

1

n

A ii

a

1

n

i ii

A B

a b

Page 3: Statistical timing and synthesis

Tightness Probability

Define:

2

( )2

1( )

2

x

x e

( ) ( )y

y x dx

2 2 1/ 2( 2 )A B A B

0 0, ( )A B

a bT

Probability that A is greater than BComputed by table look-up

Page 4: Statistical timing and synthesis

Computing C in canonical form

0 11

max( , )n

i i n Ci

C A B c c X c R

0 00 0 , 0 ,(max( , )) (1 ) ( )A B A B

a bc mean A B a T b T

, ,(1 ) 1, ,i A B i A B ic T a T b i n

2 2 1/ 21

1

( )n

n C ii

c c

2 2 2 2 2 20 00 , 0 , 0 0 0( ) ( )(1 ) ( ) ( )C A A B B A B

a ba T b T a b c

Min is similar. Addition and subtraction is easy – e.g.

0 0 1 11

( ) ( ) ( )n

i i i n n A Bi

A B a b a b X a b R

Page 5: Statistical timing and synthesis

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.

Page 6: Statistical timing and synthesis

augmented timing graph

sinksource

input edgesinput edges have delays equal to arrival times have delays equal to arrival times

output edgesoutput edges have delays equal to the have delays equal to the negativenegative of the output required time of the output required time

Page 7: Statistical timing and synthesis

Critical paths (Chendu)

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)

,( )( )

j k i kk

j k A Ai FI nATP e T

A path is critical if it is the slowest path. A node or edge is critical if it is on a critical path.

Page 8: Statistical timing and synthesis

Backward propagation

( ) ( ) ( )j k j k kCP e ATP e CP n

sink( ) 1CP n

( )

( ) ( )k

k k ii FO n

CP n CP e

sinksource

Page 9: Statistical timing and synthesis

Required Time (different from Chendu)

Define required time as the arrival time of the slowest PO:

max{ , }iR A i PO

0 11

n

i i n Ri

R r r X r R

In canonical form

Profit function = ( )

Slack at an edge e: 0 1

1

e

ne e e e e e

i i n si

s s s X s R R A

mean weighted slack: ( )e ews R s

Slack is always positive.

Total profit: ( ( ))R x dx

where d

d

Page 10: Statistical timing and synthesis

Comparisonat sink output: us

them

max{ , }iR A i PO

max{ , }i iA A R i PO

required = arrival

off a critical path, we would compute a slack but Chendu would have a 0probability 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