Lecture06 Latches

download Lecture06 Latches

of 30

Transcript of Lecture06 Latches

  • 8/11/2019 Lecture06 Latches

    1/30

  • 8/11/2019 Lecture06 Latches

    2/30

    Lecture 5 ECE 425

    Outline

    Efficient XOR circuits

    Tri-state buffers

    Clocking

    Latches

  • 8/11/2019 Lecture06 Latches

    3/30

    Lecture 5 ECE 425

    XOR

    Recall that XOR is a maximally-bad function to implementwith AND/OR gates

    Cleverer circuit

    Note that does not always provide active drive -- have

    to be careful about putting in series

  • 8/11/2019 Lecture06 Latches

    4/30

    Lecture 5 ECE 425

    Tri-State Inverter

    Has high-impedance (disconnected) state

    In

    Enable

    Out

  • 8/11/2019 Lecture06 Latches

    5/30

    Lecture 5 ECE 425

    Clocking

    So far, weve seen combinationalcircuits -- data flowsfrom input to output directly

    Most useful circuits are sequential-- they involve

    feedbackand memory

    Finite State Machines are an important class of sequentialcircuit

    We control timing of sequential circuits with a centralized

    clock signal

  • 8/11/2019 Lecture06 Latches

    6/30

    Sequential Logic

    2 storage mechanisms

    COMBINATIONAL

    LOGIC

    Registers

    CLK

    Q D

    Current State

    Inputs

  • 8/11/2019 Lecture06 Latches

    7/30

    Naming Conventions

    In our text: A latch is a level sensitive device

    An edge-triggered element is a register

    Any bistable component (cross-coupled gates) is a

    There are many different naming convention For instance, many books call edge-triggered elem

    this leads to confusion however

    Memory classification Foreground (embedded into logic: registers)

    Background (large arrays)

    Memory classification Static / Dynamic

  • 8/11/2019 Lecture06 Latches

    8/30

    Timing Definitions

    CLK

    D

    tc 2 q

    thold

    tsetup

    QDATA

    STABLE

    DATA

    STABLE

  • 8/11/2019 Lecture06 Latches

    9/30

    Characterizing Timing

    Clk

    D Q

    tC2 Q

    Clk

    D Q

    tC2 Q

    tD 2 Q

  • 8/11/2019 Lecture06 Latches

    10/30

    Maximum Clock Frequency

    FFs

    LOGIC

    tp,comb

    Also:tcdreg+ tc

    tcd: contaminimu

    Data is hso it can

    t + t + t = T

  • 8/11/2019 Lecture06 Latches

    11/30

    Latch versus Register

    Latch

    stores data when

    clock is low

    D

    Clk

    Q D

    Clk

    Q

    Register

    stores data w

    clock rises

    Clk Clk

    D D

  • 8/11/2019 Lecture06 Latches

    12/30

    Latches

    In

    clk

    In

    Out

    Positive Latch

    CLK

    D

    G

    Q

    Out

    Out Out

    In

    clk

    In

    Neg

    D

    Out

    Out Out

    In

    clk

    In

    Out

    Positive Latch

    CLK

    D

    G

    Q

    Out

    Out Out

    In

    clk

    In

    Neg

    D

    Out

    Out Out

  • 8/11/2019 Lecture06 Latches

    13/30

    Latch-Based Design

    N latch is transparent

    when = 0

    P latch is tra

    when = 1

    N

    LatchLogic

    P

    Latc

  • 8/11/2019 Lecture06 Latches

    14/30

    Writing into a Static Latch

    D

    CLK

    CLK

    Forcing the state

    Use the clock as a decoupling signal,that distinguishes between the transparent and opaque

    CLK

    CLK

    CLK

    D

    Q

  • 8/11/2019 Lecture06 Latches

    15/30

    Mux-Based Latches

    Negative latch(transparent when CLK= 0)

    Positive latch(transparent wh

    CLK

    1

    0D

    Q 0

    CLK

    1D

  • 8/11/2019 Lecture06 Latches

    16/30

    Mux-Based Latch

    CLK

    CLK

    CLK

    D

  • 8/11/2019 Lecture06 Latches

    17/30

    Master-Slave Register

    Multiplexer-based latch pair

    QMD

    CLK

    T2

    I2

    T1I1

    I3

    T4

    I5

    T3I4

  • 8/11/2019 Lecture06 Latches

    18/30

    Lecture 5 ECE 425

    Complimentary Single-Phase Clocking

    Back-to-back level-sensitive latches create an edge-triggered latch

    This implementation requires that true and inverted

    clock signals be exactly synchronous

  • 8/11/2019 Lecture06 Latches

    19/30

    Lecture 5 ECE 425

    Complimentary Single-Phase Clocking

    In practice, this never happens

  • 8/11/2019 Lecture06 Latches

    20/30

    Lecture 5 ECE 425

    Two-Phase Clocking

    Use non-overlapping clocks to tolerate skew

  • 8/11/2019 Lecture06 Latches

    21/30

  • 8/11/2019 Lecture06 Latches

    22/30

    Lecture 5 ECE 425

    Recommended Clocking Strategies

    Single-phase clocking should be used with purely staticlogic

    Mainly used in gate array/standard cell designs

    Two-phase clocking is better when you have RAMs,

    PLAs, or other structures as well as static gates Well use two-phase clocking in the MPs

    In high-speed designs, generating non-overlapping clocks

    is difficult, and eats into cycle time

    More and more high-performance designs are using

    single-phase clocking

    Can exploit pipeline structure to make single-phase

    clocking work better

  • 8/11/2019 Lecture06 Latches

    23/30

    Lecture 5 ECE 425

    Pipeline Design With Latches

    Simple, but requires even division of logic between stages

  • 8/11/2019 Lecture06 Latches

    24/30

    Lecture 5 ECE 425

    Pipeline Design With Level-Sensitive Latches

    Can borrow time from one stage to the next Requires that the longest path between two latches of

    the same phase be < cycle time

  • 8/11/2019 Lecture06 Latches

    25/30

    Lecture 5 ECE 425

    Clock Distribution

    Want to minimize skewbetween clock edges at any twopoints on chip

  • 8/11/2019 Lecture06 Latches

    26/30

    Lecture 5 ECE 425

    Clock Distribution in Modern Chips

    Getting harder and harder to generate global clocks withacceptable skew

    Wire delays becoming large relative to cycle time

    Process, temperature, etc. cause variances inperformance of different clock buffers

    Many designs starting to use Globally Asynchronous,Locally Synchronous (GALS) approach

    Divide chip into regions

    Within a region, use single clock Between regions, add circuits to deal with clock skew

    Also used to clock different regions of chip at differentrates

  • 8/11/2019 Lecture06 Latches

    27/30

    Lecture 5 ECE 425

    Static Latch Structures

  • 8/11/2019 Lecture06 Latches

    28/30

    Lecture 5 ECE 425

    Edge-Triggered Latch With Cross-Coupled Inverters

  • 8/11/2019 Lecture06 Latches

    29/30

    Lecture 5 ECE 425

    Dynamic Latches Require Fewer Transistors

  • 8/11/2019 Lecture06 Latches

    30/30

    Lecture 5 ECE 425

    Wrapping Up

    Reading -- Section 1.4.7, 7.1-7.4

    Next time: Gate and Circuit Delay