Sta_final 22 Apr (1)

download Sta_final 22 Apr (1)

of 22

Transcript of Sta_final 22 Apr (1)

  • 7/29/2019 Sta_final 22 Apr (1)

    1/22

    LECTURE BY:

    SRIKANTH JADCHERLA

    Slides rendered by

    P.SNIGDHA

  • 7/29/2019 Sta_final 22 Apr (1)

    2/22

    Does the design

    meet a given

    timing

    requirement?!! How fast can I run

    the design?!!!

    Static Timing analysis is a technique usedin digital circuit design to analyse if the

    circuit will satisfy timing constraints.

    Timing closure refers to a set ofoptimization techniques which modify the

    circuit layout to meet the

    defined performance goals.

  • 7/29/2019 Sta_final 22 Apr (1)

    3/22

    Library elements and timing representation. Libertyformat

    Definition of timing paths

    Setup Hold

    PVT (revision)

    Latch vs. register timing Clock latency and skew

    (clock uncertaintyskew, jitter)

  • 7/29/2019 Sta_final 22 Apr (1)

    4/22

    Format of the library is liberty - .lib

    Library elements will have various attributes

    connection details , properties of the cell(name , area, pins , maximum capacitance,

    maximum fan-out ,timing tables.. )

    For example:

    Pin names, capacitance,

    Input slopes Vs. Propagation delays etc.,

    A C

    B

  • 7/29/2019 Sta_final 22 Apr (1)

    5/22

    Varying slopes

    Different loads:

    (small (large

    Capacitance) Capacitance)

    Hence propagation slopes will vary according to the slopes and loads

    Therefore inputs A and B will have different loads and transition

    slopes.

  • 7/29/2019 Sta_final 22 Apr (1)

    6/22

    NON LINEAR DELAY MODEL

    The loads and slopes are represented using Non-Linear-Delay-Models or

    Composite Current Source Models.

    NLDMs use Look Up Tables(LUT) consisting of different load values,rise time values, fall time values etc.,

    NLDMs are alone not sufficient. Timing requires functionality.

  • 7/29/2019 Sta_final 22 Apr (1)

    7/22

    Why the timing needs functionality??

    In the above example:

    Timing arc for a given rise or fall times at A and for a given

    load at C, NLDM gives rise or fall times at C indirectly the

    transition time from A to C.

    Transition over input has an effect on output. This is called

    transition delay.Sometimes it is not necessary. For example:

    LOGIC ZERO

    A shows continuous transitions and B holds a value of zero

    so the output always remains zero. No timing is required.

  • 7/29/2019 Sta_final 22 Apr (1)

    8/22

    Timing must know the logic of the cells.

    Timing path can be defined as the propagation of the change at an

    input pin to an output pin.

    Every path operates with a clock and/or similar constraint.

    So generalising a circuit different timing paths would be:

    Three flip-flops resulting in four timing paths

    Ff/latch/

    primary

    Input

    ff

    ff

    gate gate

    gateClk

  • 7/29/2019 Sta_final 22 Apr (1)

    9/22

    CONTINUED..

    So the path starts at the source and propagates to the sink.

    The source can be a flip-flop, a latch, primary input, hard macro input.

    The sink can be a flip-flop or a latch, data pins, hard macro input,

    primary output.

    The rest of them would include propagation path.

    In the previous example the gates form the propagation path.

  • 7/29/2019 Sta_final 22 Apr (1)

    10/22

    Ff/latch/

    primary

    Input

    gate gateFf/latch/

    primary

    InputC1

    C2

    Launch

    edge of flip-

    flop

  • 7/29/2019 Sta_final 22 Apr (1)

    11/22

    The delays associated must be in such a way that data has to go out of the

    flop propagate through this and be ready in time with the clock.

    NOTE: In the same clock how is it going??

    Each pulse reaches C1 to C2.

    So the following inequality may be derived.

    Flip-flop internal delay should not be confused with path set up delay.

    Both are different.Data has to travel from source to sink within the

    Q1 + (D1 + D2) + SETUP TIME

  • 7/29/2019 Sta_final 22 Apr (1)

    12/22

    When there is a launch of data propagating and set up amounts to a

    period where the data must be ready i.e.,

    After the time d2(delay of last gate) by the time the you through thisperiod data must be propagated through d2 and data ready for the

    capture while 2nd flip-flop. This is actually the set up time.

    CONTINUED

  • 7/29/2019 Sta_final 22 Apr (1)

    13/22

    :

    Now if the flip-flops are connected back to back???

    Here data for the next flip flop will be launched and captured at the

    same edge . The inequality condition would be

    Ff/latch/

    primary

    Input

    Ff/latch/

    primary

    Input

    Q1(CLOCK TO FLOP DELAY) + C1

  • 7/29/2019 Sta_final 22 Apr (1)

    14/22

    As soon as the launch data before launch edge reaches C2 it will actually

    hit flip-flop2 and registered as next gate.

    Data moves one cycle!!! Difficult to debug.

    How to reduce the problem??Place hold tick buffers to increase the delay:

    This delays the capture event

    Q1 + C1 + TBUF

  • 7/29/2019 Sta_final 22 Apr (1)

    15/22

    SUMMARY OF SET UP AND HOLD TIME

    SET UP HOLDTIME

    (Source launches) (Sink captures)

    L1 to C1 L1 to C0L2 to C2 L2 to C1

    L3 to C3 L3 to C2

    L1 C1 C2

    C0 L2 L3

    tsup th

    Period of stability before clock edge

    is set up and after clock is hold.

    To avoid problem data must be stable

    Before tsup of clock and after th

    of the clock

  • 7/29/2019 Sta_final 22 Apr (1)

    16/22

    Variation in propagation of clock from C1 to C2 can help or damage. This

    is called uncertainty. And the difference between C1 and C2 is the

    actual skew.

    Uncertainty is to be considered during synthesis /placement-Routing.

    Why????

    Before clock tree synthesis or before we actually place buffers into end

    points the difference between C1 & C2 is not known. So uncertainty is

    the constraint during synthesis.

    UNCERTAINTY = JITTER + SKEW + MARGIN + SOME OTHER VARIATIONS.

    Generally clocks are produced by PLL.

    Eg: If u have 10ns of clock u would get only 9.9 or 10.1ns. The 0.1ns is the

    variation.

    This is termed as Jitter

    CLOCK UNCERTAINTY SKEW AND JITTER

  • 7/29/2019 Sta_final 22 Apr (1)

    17/22

    WHAT IS SKEW???

    Actual Clock Skew is the maximum difference in latency to the clock

    end points .

    NOTE: The actual concept of finding maximum number and median

    out of million random numbers is useful here.

    FF

    FF

    FF

    FF

    FF

    Clockpin

    As the design increases the difference has to be computed.

  • 7/29/2019 Sta_final 22 Apr (1)

    18/22

    Consider an example:

    If there was a class to attend and if the student is late by2min then he will miss the class where as if it was the lecturer

    who is late then there is no problem.

    Comparing this with launch and capture paths. If the launch

    path is running late then there would be a problem

  • 7/29/2019 Sta_final 22 Apr (1)

    19/22

    EXAMPLE IN THE CASE OF CIRCUITS

    In the above example if C1 is increasing the amount of time

    available for setup increases. If C2 increases the amount of

    time available for setup decreases.

    That is why if there is clock period of 10ns Vs. 11ns, for 11ns

    Timing would be easier. So as clock period increases timing

    becomes easier

    Ff/latch/

    primary

    Input

    Ff/latch/

    primary

    Input

  • 7/29/2019 Sta_final 22 Apr (1)

    20/22

    PROCESS VOLTAGE TEMPERATURE

    How does the set up and hold time vary with PVT???

    Conditions Process Voltage Temp

    Effect on setup and

    hold times.

    SLOW P V TSet up time becomes

    worst. Propagation

    delay increases

    Less hold violations.

    TYPICAL P V TTypical set up and hold

    times

    FAST P V T

    Hold time becomes

    worst. Propagation

    delay decreases

    Less setup violations.

  • 7/29/2019 Sta_final 22 Apr (1)

    21/22

    LATCH UP Vs. REGISTER TIMING

    Register latchCLK Enable

    Basically Involves Non blocking Involves Blocking

    Assignments. Assignments.

    Reflection of setup and the No set up and

    behaviour of the elements. reflection behaviour

    Samples by capture edge.Sequential logics use registers Combination logics

    use latches

  • 7/29/2019 Sta_final 22 Apr (1)

    22/22