Slope Propagation in Static Timing Analysis - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Slope Propagation in Static Timing Analysis

Description:

From all signal Ski select Slatest ={ni,Tlatest ,slatest ,Platest} where Tlatest ... Tkij = Tkj dki(skj ), skij = ski(skj ), Pki = (Pk,ni ). 2.2. ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 42
Provided by: Boaz
Category:

less

Transcript and Presenter's Notes

Title: Slope Propagation in Static Timing Analysis


1
Slope Propagation in Static Timing Analysis
  • David Blaauw, Vladimir Zolotov, Savithri
    Sundareswaran, Chanhee Oh and Rajendran Panda
  • Motorola Inc. Austin, TX
  • Motorola India Electronics Ltd., Bangalore,
    India
  • Presented by Boaz Ribak

2
Agenda
  • Timing analysis.
  • Timing Graph, Critical Path, and Delay Function.
  • Latest Propagation Algorithm (LPA).
  • Proposed Propagation Algorithm.
  • Backward Propagation of Required Times.
  • Results.
  • Conclusions.

3
Timing Analysis
  • Dynamic simulation.
  • Exercises all possible paths in a circuit.
  • Good only for small circuits.
  • Tends to be error prone.
  • Static timing analysis.
  • Large designs timing verification.
  • Circuits optimization tools.
  • transistor and gate sizing tools.
  • Logic synthesis tools.

4
Static Timing Analysis
  • Arrival time / signal
  • The latest time a signal can transition at a
    node due to a signal change at a circuit input.

  • from input to output
  • Required times
  • The latest time a signal is required to
    transition at a node in order to meet performance
    constraints.

  • from output to input

5
Arrival time / Signal
  • Crossing time the time the signal reaches the ½
    Vdd.
  • Slope the total transition time.
  • As signals are propagated across a gate, their
    crossing times and slopes are updated with the
    gates delay.

6
Timing graph
  • A directed graph, G N, E, ns,nf , having
    exactly 1 source node and 1 sink node.
  • N n1,n2,...,nk nodes in the circuit.
  • E e1,e2,...,el the connections in the
    circuit between gate inputs and outputs. eij
    exists iff there is a gate in the circuit such
    that ni is connected to its input and nj to its
    output.
  • ns the source node.
  • nf the sink node.

nf
ns
7
Timing graph (cont)
  • Each edge e in G is assigned 2 functions
  • de de(sI) the signal propagation delay from a
    gates input to its output.
  • se se(sI) the slope of the signal at the
    gates output.
  • Both de and se are functions of sI - the gate
    input slope.
  • Different input slopes in the same edge will give
    different delay and output slopes.
  • Property 1 If slope saltsb then delay de(sa
    )ltde(sb )

  • slope se(sa )ltse(sb ).
  • For any given path P in graph G we can find the
    slopes of all the nodes in the path, if the slope
    of the first node is given. sjsij(si )

8
The critical path
dij(si)
  • Path delay dP
  • A path having the maximum delay among all paths
    with the same ending node is called critical.
  • The critical path - The critical path of the sink
    node nf.
  • The delay of the timing graph, d(G) the delay
    of the critical path.
  • Finding the critical path and the delay of the
    timing graph is the goal in timing analysis.

9
Finding the critical path
  • Obvious approach - In a given timing graph,
    enumerate all paths from its source to sink,
    compute their delays, and select the path with
    the worst delay.
  • Worst-case number of paths in a circuit is
    exponential with circuit size.
  • The traditional approach Use the propagations
    of signals from the source node to the sink node.
  • A signal at a node Sn n, Tn, s, P
  • n the node.
  • Tn the signal crossing time.
  • s the signal slope at node n.
  • P the signal propagation path from ns to the
    node n.

10
Latest Propagation Algorithm (LPA)
  • 1. Assign to the source node n0 the signal S0
    n0 ,T0 ,s0 ,P0 where T0 0, P0 (n0 ).
  • 2. Visit each node, ni, in the graph in
    topological order doing the following
  • 2.1. For each edge eki with signal Sk nk ,Tk
    ,sk ,Pk
  • create a new signal Ski ni ,Tki
    ,ski ,Pki where
  • Tki Tk dki(sk ), ski
    ski(sk ), Pki (Pk ,ni ).
  • 2.2. From all signal Ski select Slatest
    ni,Tlatest ,slatest ,Platest
    where Tlatest max(Tki ).
  • 2.3. Assign the computed signal Slatest
    to node ni.

11
Latest Propagation Algorithm (LPA)
Example
S7n7,0.6,0.4,(ns,n1,n2,n7)
n7
S7-13n13,1.1,0.7,(ns,n1,n2,n7,n13)
S10-13n13,1.5,0.3,(ns,n3,n10,n13)
d7-13(0.4)0.5 s7-13(0.4)0.7
S12-13n13,1.35,0.7,(ns,n4,n8,n12,n13)
d10-13(0.2)0.6 s10-13(0.2)0.3
n10
S10n10,0.9,0.2,(ns,n3,n10)
n13
d12-13(0.8)0.8 s12-13(0.8)0.7
S12n12,0.55,0.8,(ns,n4, n8,n12)
n12
12
Latest Propagation Algorithm (LPA)
  • 1. Assign to the source node n0 the signal S0
    n0 ,T0 ,s0 ,P0 where T0 0, P0 (n0 ).
  • 2. Visit each node, ni, in the graph in
    topological order doing the following
  • 2.1. For each edge eki with signal Sk nk ,Tk
    ,sk ,Pk
  • create a new signal Ski ni ,Tki
    ,ski ,Pki where
  • Tki Tk dki(sk ), ski
    ski(sk ), Pki (Pk ,ni ).
  • 2.2. From all signal Ski select Slatest
    ni,Tlatest ,slatest ,Platest
    where Tlatest max(Tki ).
  • 2.3. Assign the computed signal Slatest
    to node ni.

13
Latest Propagation Algorithm (LPA)
Example
S7n7,0.6,0.4,(ns,n1,n2,n7)
n7
S7-13n13,1.1,0.7,(ns,n1,n2,n7,n13)
S10-13n13,1.5,0.3,(ns,n3,n10,n13)
d7-13(0.4)0.5 s7-13(0.4)0.7
S12-13n13,1.35,0.7,(ns,n4,n8,n12,n13)
d10-13(0.2)0.6 s10-13(0.2)0.3
n10
S10n10,0.9,0.2,(ns,n3,n10)
S13n13,1.5,0.3,(ns,n3,n10,n13)
n13
d12-13(0.8)0.8 s12-13(0.8)0.7
S12n12,0.55,0.8,(ns,n4, n8,n12)
n12
14
LPA (cont)
  • Run time complexity is linear with the number of
    edges in the timing graph.
  • Does LPA always find the correct critical path?
  • LPA is a greedy algorithm, based on the
    assumption that at each node, the arriving signal
    with the latest crossing time results in the
    longest path delay and is therefore propagated
    forward, while all earlier arriving signals are
    not.
  • Is this assumption always correct?

15
LPA (cont)
  • Example
  • LPA The critical path starts from B. Circuit
    delay 0.82ns.
  • The correct critical path starts from A. Circuit
    delay 0.95ns.

at node D
at node E
(c)
(b)
16
LPA (cont)
Example LPA results in discontinuities in the
calculated worst circuit delay with respect to
transistor and gate sizes.
Worst circuit delay as a function of the size of
gate G1.
  • Crossing time of signal B at node D becomes
    earlier than A.
  • LPA switches from signal B to A.
  • The slope used for G3 delay changes from 0.1ns to
    1.36
  • A sudden increase in G3s delay, and in the worst
    circuit delay.

17
LPA - Conclusions
  • LPA may identify the incorrect critical path and
    report an optimistic delay for the circuit.
  • The circuit delay calculated by LPA is a
    discontinuous function with respect to transistor
    and gate sizes.
  • severe problem for efficient gradient-based
    optimization methods.

18
Proposed Propagation Algorithm
  • 1. Assign to the source node n0 the signal set
    C0 S0,
  • where S0 n0 ,T0 ,s0 ,P0, T0 0, P0 (n0).
  • 2. Visit each node, ni, in topological order and
    compute its
  • signal set CkSk1 , Sk2 ,... as follows
  • 2.1. For each edge eki with signal set
    Ck Sk1 , Sk2 ,...
  • create a new signal set CkiSki1
    , Ski2 ,..., with
  • Skij (ni ,Tkij ,skij ,Pki ),
    where
  • Tkij Tkj dki(skj ), skij
    ski(skj ), Pki (Pk,ni ).
  • 2.2. Assign to node ni signal set Ci
    the union of signal
  • sets Cki.
  • 2.3. Remove from Ci any signal Sij if Ci
    has another
  • signal Sik such as TijltTik and
    sijltsik.

19
Proposed Algorithm (cont)
Example
S7-1n7,0.6,0.4,(ns,n1,n7)
C7
S7-2n7,0.3,0.6,(ns,n2,n7)
n7
S7-13-1n13,1.1,0.7,(ns,n1,n7,n13)
d7-13 (0.4)0.5
C7-13
S7-13-2n13,0.9,1,(ns,n2,n7,n13)
d7-13 (0.6)0.6
s7-13 (0.4)0.7
S12-13-1n13,1.6,0.1,(ns,n3,n10,n13)
s7-13 (0.6)1
C12-13
S12-13-2n13,1.15,0.8,(ns,n12,n13)
d12-13 (0.2)0.7
d12-13 (0.8)0.6
s12-13 (0.2)0.1
n13
s12-13 (0.8)0.8
S12-1n12,0.9,0.2,(ns,n3,n10)
C12
n12
S12-2n12,0.55,0.8,(ns,n12)
20
Proposed Propagation Algorithm
  • 1. Assign to the source node n0 the signal set
    C0 S0,
  • where S0 n0 ,T0 ,s0 ,P0, T0 0, P0 (n0).
  • 2. Visit each node, ni, in topological order and
    compute its
  • signal set CkSk1 , Sk2 ,... as follows
  • 2.1. For each edge eki with signal set
    Ck Sk1 , Sk2 ,...
  • create a new signal set CkiSki1
    , Ski2 ,..., with
  • Skij (ni ,Tkij ,skij ,Pki ),
    where
  • Tkij Tkj dki(skj ), skij
    ski(skj ), Pki (Pk,ni ).
  • 2.2. Assign to node ni signal set Ci
    the union of signal
  • sets Cki.
  • 2.3. Remove from Ci any signal Sij if Ci
    has another
  • signal Sik such as TijltTik and
    sijltsik.

21
Proposed Algorithm (cont)
Example
S7-1n7,0.6,0.4,(ns,n1,n7)
C7
S7-2n7,0.3,0.6,(ns,n2,n7)
n7
d7-13 (0.4)0.5
S13-1n13,1.1,0.7,(ns,n1,n7,n13)
d7-13 (0.6)0.6
S13-2n13,0.9,1,(ns,n2,n7,n13)
s7-13 (0.4)0.7
C13
S13-3n13,1.6,0.1,(ns,n3,n10,n13)
s7-13 (0.6)1
S13-4n13,1.15,0.8,(ns,n12,n13)
d12-13 (0.2)0.7
d12-13 (0.8)0.6
s12-13 (0.2)0.1
n13
s12-13 (0.8)0.8
S12-1n12,0.9,0.2,(ns,n3,n10)
C12
n12
S12-2n12,0.55,0.8,(ns,n12)
22
Proposed Propagation Algorithm
  • 1. Assign to the source node n0 the signal set
    C0 S0,
  • where S0 n0 ,T0 ,s0 ,P0, T0 0, P0 (n0).
  • 2. Visit each node, ni, in topological order and
    compute its
  • signal set CkSk1 , Sk2 ,... as follows
  • 2.1. For each edge eki with signal set
    Ck Sk1 , Sk2 ,...
  • create a new signal set CkiSki1
    , Ski2 ,..., with
  • Skij (ni ,Tkij ,skij ,Pki ),
    where
  • Tkij Tkj dki(skj ), skij
    ski(skj ), Pki (Pk,ni ).
  • 2.2. Assign to node ni signal set Ci
    the union of signal
  • sets Cki.
  • 2.3. Remove from Ci any signal Sij if Ci
    has another
  • signal Sik such as TijltTik and
    sijltsik.

23
Proposed Algorithm (cont)
Example
S7-1n7,0.6,0.4,(ns,n1,n7)
C7
S7-2n7,0.3,0.6,(ns,n2,n7)
n7
T13-1ltT13-4 s13-1lts13-4 Signal S13-1 is
removed from C13.
d7-13 (0.4)0.5
d7-13 (0.6)0.6
s7-13 (0.4)0.7
s7-13 (0.6)1
S13-1n13,1.1,0.7,(ns,n1,n7,n13)
S13-2n13,0.9,1,(ns,n2,n7,n13)
C13
S13-3n13,1.6,0.1,(ns,n3,n10,n13)
d12-13 (0.2)0.7
S13-4n13,1.15,0.8,(ns,n12,n13)
d12-13 (0.8)0.6
s12-13 (0.2)0.1
n13
s12-13 (0.8)0.8
S12-1n12,0.9,0.2,(ns,n3,n10)
C12
n12
S12-2n12,0.55,0.8,(ns,n12)
24
Proposed Algorithm (cont)
  • Differences from LPA
  • All the signals that might have the longest delay
    are propagated (in LPA just 1 signal is
    propagated).
  • The algorithm also checks signals slopes (in LPA
    just crossing times)
  • Only signals that are clearly not the latest are
    pruned (in LPA all signals except the chosen
    one are pruned).

25
Proposed Algorithm (cont)
  • The proposed algorithm can be shown to be
    correct, since it has 2 properties
  • A signal that could be critical is never pruned.
  • Since signal Sij is pruned only if there exists
    another signal Sik such that TijltTik and sijltsik,
    and since all signals propagate through the same
    edges after the node ni ,it is clear that Sij
    will always be earlier than Sik
  • All potentially critical signals are propagated
    to the sink node, where the critical path and
    graph delay are determined by identifying the
    latest signal.

26
Proposed Algorithm (cont)
  • The timing graph delay of the proposed algorithm
    is a continuous function if the edge delay or
    slope function are continuous functions of the
    chosen parameters.
  • If there is no information available regarding
    the timing graph beyond node ni ,it is necessary
    for the algorithm to propagate all selected
    signals. It is impossible to reduce the number of
    propagated signals (except for in digital
    circuits).

27
Backward Propagation of Required Times
  • Optimization algorithms require node slacks (the
    difference between the required time and the
    crossing time of a signal) for all nodes.
  • As required times are propagated backward across
    edges, their crossing times are decreased by the
    edge delay.
  • The arrival signal and associated require times
    are updated with the same edge delays as they are
    propagated, and remain consistent.

28
Backward Propagation (cont)
  • Slack along the sub-critical path must always be
    higher than the slack of the critical path at
    node ni.
  • If a signal Sia is pruned at node ni, a new
    required time must be created.
  • Solution select from among the propagated
    signals at node ni, the signal Sip with a slope
    that has the least slope greater than Sia, and
    propagate backward its required time as Sias
    required time.
  • The new required time will overestimate the
    delay between ni and nf (the new required time
    will be earlier than the exact required time).

i
  • The over-estimated slack on
  • sias path will guarantee the
  • higher slack rule.

29
Results
Average error in LPA 19
30
Results (cont)
31
Results (cont)
  • The area/delay trade-off produced during the
    optimization of circuit mux.
  • The trade-off curve produced by LPA suffers
    discotinuances.
  • The trade-off curve produced by the proposed
    algorithm is free of such discotinuances.

32
Conclusions
  • LPA can significantly underestimate the delay of
    a circuit (in the results - as much as 38).
  • LPA can lead to discontinuities in the circuit
    delay as a function of its transistor sizes.
  • The presented algorithm proved to correctly
    calculate the critical path in a circuit and its
    circuit delay.
  • This algorithm propagates the minimum number of
    possible arrival signals for a general timing
    graph.
  • In digital logic gates, this number can be
    reduced.
  • The algorithm increases the run time of timing
    analysis.
  • An algorithm was presented for propagating the
    required times in a manner consistent with the
    arrival signal propagation for calculation of
    node slacks at all circuit nodes.

33
Backup
34
The continuous function of the delay
  • Theorem 1 If the edge delay and slope functions
    are continuous with respect to some parameters,
    then the timing graph delay is also continuous
    with respect to these parameters.
  • Proof The delay of each path in a graph is a
    finite sum of finite compositions of delay and
    slope functions of individual edges.
  • The path delay is a continuous function with
    respect to the parameters of the slope and delay
    functions.
  • The graph delay is the maximum of all path delays
    in the timing graph and is therefore also
    continuous, since the maximum operation is a
    continuous function.

35
LPA (cont)
  • Lemma Given two signals Sa, Sb at the same node
    n, where salt sa then for any signal path Q from
    node n to nf the path delay da(Q) of signal Sa is
    always less then the path delay db(Q) of signal
    Sb.
  • Proof Follows directly from Property 1 of delay
    and slope functions, the recurrent dependence of
    gate output slopes on gate input and the additive
    property of path delay.

36
LPA (cont)
  • Theorem 2 If, for some node ni of timing graph
    G, the slope slatest of LPAs selected signal
    Slatest is less than the slope sk of another
    signal Sik ni ,Tk ,sk ,Pk propagated to ni,
    then we can construct a new graph H, containing
    all nodes and edges in G that have already been
    visited by LPA, such that in H Sik is critical
    but Slatest latest is not.
  • Proof Construct H such that it contains only
    the nodes from G that have been visited by LPA.
  • Add a sink node nf and an edge ek (nk, nf) for
    each node nk of H that does not have an outgoing
    edge. To all edges ek assign delay functions
    di(s)0, except for ei (ni, nf).
  • dmax - the maximum path delay of the set of all
    paths that dont pass through node ni. For ei
    (ni, nf) assign di(slatest ) dmax and di(sk)
    dmax Tlatest - Tk D , D gt 0.
  • It is clear that signal Sik will arrive at nf
    later than signal Slatest.

37
LPA (cont)
  • Corollary 1 There exist timing graphs for which
    LPA computes an incorrect critical path and
    delay.
  • Theorem 3 It is possible to construct a Timing
    Graph G with edge delay functions de depending
    continuously on a certain edge parameter xe ,but
    such that the timing graph delay d(xe) computed
    by LPA is a discontinuous with respect to xe.
  • Proof We use the timing graph H constructed in
    the proof of Theorem 2. Assuming that the edge
    delay function de of subpath Platest depends
    strongly and monotonically on parameter xe, we
    set xx0 such that the path delays of subpath
    Slatest and Pki are equal. Then, a small
    variation of x around x0 will result in a
    variation of the graph delay by D.

38
Proposed Algorithm (cont)
  • Theorem 4 For any G and any of its nodes ni,
    any signal Sij ni ,Tij ,sij ,Pij that is
    pruned by the algorithm doesnt have the latest
    crossing time at any node nl following node ni.
  • Proof Signal Sij is pruned only if there
    exists another signal Sik such that TijltTik and
    sijltsik. Since both signals propagate through the
    same edges after ni, and from the property of the
    slope function, it follows that at any node nl
    after ni the slope slj will be less than the
    slope slk. From this and the property of the edge
    delay function it follows that the edge delay
    along the path of signal Slj from ni to nl will
    always be less than the edge delay along the same
    path for signal Slk . Since the crossing time is
    the summation of edge delays from ni to nl, and
    since TijltTik at node ni , it follows that Sij
    will always be earlier than Sik .

39
Reduction in Propagated Signals in Digital
Circuits
  • Property 2 For a digital gate connecting input
    node ni with output node nj , if two input signal
    waveforms Sia and Sib are related such that at
    any point along their transition Sia is earlier
    than Sib, then for all time points along the
    outputs Sja and Sjb, waveform Sja will be earlier
    than Sjb.

a digital gate can only produce an output signal
waveform Sjb that is earlier than signal Sja, if
the input signal Sib is earlier than signal Sia
on at least one time instance along its
transition.
40
Reduction in Propagated Signals in Digital
Circuits (cont)
  • Finding a bound on the difference in crossing
    times at nf.
  • (sib sia)/2

41
Reduction in Propagated Signals in Digital
Circuits (cont)
  • Sia ni ,Tia ,sia ,Pia , Sib ni ,Tib ,sib
    ,Pib
  • If Tib-Tia gt (sia-sib)/2 , Sia can be pruned from
    the propagation.
  • Using this condition in step 2.3 of the algorithm
    limits the propagated signals.
Write a Comment
User Comments (0)
About PowerShow.com