Asynchronous vlsi circit design

Embed Size (px)

Citation preview

  • 8/13/2019 Asynchronous vlsi circit design

    1/103

    Advanced VLSI Design

    1

    Self Timed PipelinesSelf Timed Pipelines

  • 8/13/2019 Asynchronous vlsi circit design

    2/103

    synchronous systems

    Sync. systems

    logical ordering of events by clk. It provides a

    time base

    EE141 2

    Physical timing constraint- next edge comeswhen all blocks have reached steady state

    Problem CLB has to wait even though it mayfinish earlier. Clock distribution network

    2

  • 8/13/2019 Asynchronous vlsi circit design

    3/103

    Wave pipeline systems

    3

  • 8/13/2019 Asynchronous vlsi circit design

    4/103

    Implementation of pipeline

    Synchronous pipeline- --robust design,delay= N x worst case delay

    Wave i eline ---low latenc no re isters in between but delays through all paths of

    combination logic must be matched. HereOver all latency=sum of stage delays

    4

  • 8/13/2019 Asynchronous vlsi circit design

    5/103

    Self timed pipelines

    In between two approaches Best attributes of both---

    safety and tolerances of sync. Pipeline, low increased throughput of wavepipeline Data token transfer can happen exactly when

    data computations complete. So logicalfunctions will be correct for any actual gatedelays thereby achieving speed independence

    5

  • 8/13/2019 Asynchronous vlsi circit design

    6/103

    Asynch. designmeeting

    constraints Adv.next block can start computation as

    soon as previous block has finished.

    Problem when to latch the out ut ? When

    6

    output is a correct value?

    Remedy system has to meet timingconstraints

  • 8/13/2019 Asynchronous vlsi circit design

    7/103

    Local signals

    Logical ordering and physical timing --

    START, DONE, -- physical timing

    7

    REQUEST , ACKNOWLEDGE - Logical

    ordering

  • 8/13/2019 Asynchronous vlsi circit design

    8/103

    Self timed system

    System generate its own timing signal Req Req Req Req

    Ack Ack Ack ACK HS HS HS

    8

    R2 Out F 2 In

    t pF 2

    Start Done

    R1 F 1

    t pF 1

    Start Done

    R3 F 3

    t pF 3

    Start Done

  • 8/13/2019 Asynchronous vlsi circit design

    9/103

    Self timed system --Hand shake

    protocol Hand shaking- synchronize by mutual agreement

    adv .--timing signals generated locally

    less prop. Delay, high speed,

    9

    ,

    power saving,

    robust regarding manufacturing and operatingconditions.

    Sync. circuits are guided by extreme conditions andasync. Ckts guided by actual conditions

    Disadv . hand shaking circuit design

  • 8/13/2019 Asynchronous vlsi circit design

    10/103

    Encoding Aperiodic events For events that are not periodic, an explicit transition is

    required to start every symbol.

    A binary event cannot be encoded on a single binarysignal, for at any point in time for there are three

    possibilities:

    continue sending the current symbol,

    start the next symbol with the same value,

    and start the next symbol with the complement value. Either a ternary signal or two binary signals are required

    to encode a binary event.

    10

  • 8/13/2019 Asynchronous vlsi circit design

    11/103

  • 8/13/2019 Asynchronous vlsi circit design

    12/103

    Types of dual rail signaling Dual rail Return-to-Zero (RZ) -- With return-to-zero

    signaling, the unary event lines return to zero after every event, andonly the positive transitions are significant . Return-to-zero dual-railsignaling is the timing convention employed by dual-rail domino logic

    Dual rail Nonreturn-to-Zero (NRZ) Signaling Non- re urn- o-zero s gna ng requ res remem er ng e o s a e o o

    lines to decode the present value

    Clocked Signaling and Bundling--- With clocked signaling,one line, the clock, encodes a unary event stream that denotes the start of each new symbol while the other line carries the value of the symbol. Theclock can either be NRZ, denoting a new symbol on each transition, or RZ,where only the positive transitions are meaningful

    12

  • 8/13/2019 Asynchronous vlsi circit design

    13/103

    The primary advantage of separating the timinginformation from the symbol values is that it permitsbundling of several values with a single event stream.

    If N signals are bundled together and associated with asingle clock line, then the simultaneous events

    associated with the N signals can be encoded on N + 1

    information were unbundled.

    Ternary Signaling--- binary event stream could beencoded on a single NRZ ternary logic symbol/ or RZternary logic

    13

  • 8/13/2019 Asynchronous vlsi circit design

    14/103

    14

  • 8/13/2019 Asynchronous vlsi circit design

    15/103

    2 phase protocol

    SIMPLE AND FAST

    TRANSITION SIGNALLING or EVENTLOGIC

    15

    DATA TRANSFER HAPPENS AT BOTHTHE EDGES (FALLING, RECEIVING)

    NO RESET STATE

  • 8/13/2019 Asynchronous vlsi circit design

    16/103

    Implementation of HS protocol-

    2 phase (no return to zero)

    3RECEIVERSENDER

    ReqReq

    Ack

    Ack

    Data

    2

    16

    11Data(a) Sender-receiver configuration

    (b) Timing diagram

    cycle 1 cycle 2

    Senders actionReceivers action

  • 8/13/2019 Asynchronous vlsi circit design

    17/103

    2 phase protocol (NRTZ)

    Data change---request----data acceptance----acknowledge ----

    Data change---request----acknowledge----dataacceptance events Proceeds in cyclic order.

    Successive cycles may take different time

    17

    2 active cycles-

    Sender ---terminated by request event (no change in o/ppossible)

    Receiver-------terminated by acknowledge event

  • 8/13/2019 Asynchronous vlsi circit design

    18/103

    4 phase protocol (RTZ)

    2 4Req

    Senders action

    Receivers action

    18

    Level sensitivedata transfer at only one (positive) edge

    1 1

    3 5

    Data

    Cycle 1 Cycle 2

  • 8/13/2019 Asynchronous vlsi circit design

    19/103

    4 phase protocol

    Data change---request----dataacceptance----acknowledge---- Reset---

    Data chan e---re uest----data

    19

    acceptance----acknowledge-

    Proceeds in cyclic order

  • 8/13/2019 Asynchronous vlsi circit design

    20/103

  • 8/13/2019 Asynchronous vlsi circit design

    21/103

    Bundled data / single rail protocol

    Req shd be issued when data output is stable

    21

  • 8/13/2019 Asynchronous vlsi circit design

    22/103

    Bundled Data Protocol

    Two control wires associated with each n-bit data channel(n+2) bits for each n-bit channel

    22

    Producer Consumer Ack

    Data

    Micropipelines use 2-phase bundled data protocol

    32

  • 8/13/2019 Asynchronous vlsi circit design

    23/103

    Dual rail protocol

    I bit information coded using two wires

    Request/ done is merged with data wires

    23

  • 8/13/2019 Asynchronous vlsi circit design

    24/103

    Dual-Rail ProtocolTwo wires for each bit of data (a 0-wire and a 1-wire) +

    An ack wire for each data channel(n*2 + 1) bits for each n-bit channel

    Redundant encoding realizes QDI circuit

    24

    SENDER RECIEVER

    Ack

    B0

    B1

    B2

    B3

    A 4-bit dual-rail channel

  • 8/13/2019 Asynchronous vlsi circit design

    25/103

    Self timed pipelines

    25

    mp emen a on

  • 8/13/2019 Asynchronous vlsi circit design

    26/103

    Asynchronous pipeline

    example The simplest asynchronous pipeline, in

    which the LOGIC blocks are just wires,

    acts as a first-in first- out (FIFO) buffer

    Here data being clocked into the alignstages by the input request signal andclocked out by the output acknowledgesignal. 26

  • 8/13/2019 Asynchronous vlsi circit design

    27/103

    Possible combinations

    2-phase single rail (event transition, req. separate)

    2 phase dual rail (event transition, req. merged with data)

    27

    4 phase single rail (level transition, req. separate)

    4- phase dual rail (level transition, req. merged with data)

  • 8/13/2019 Asynchronous vlsi circit design

    28/103

    Circuit implementations

    28

  • 8/13/2019 Asynchronous vlsi circit design

    29/103

    Event Logic The Muller-C Element A B F n 1

    0011

    010

    (b) Truth table(a) Schematic

    1

    0F nF n1

    F

    A

    B

    C

    29

    S

    F F

    R

    Q A

    B

    (a) Logic

    (b) Majority Function

    (c) Dynamic

    A B

    B

    B

    A

    V DD

    B

    F A

    B

    V DDV DD

  • 8/13/2019 Asynchronous vlsi circit design

    30/103

    2 phase

    30

  • 8/13/2019 Asynchronous vlsi circit design

    31/103

    Muller C pipeline

    31

  • 8/13/2019 Asynchronous vlsi circit design

    32/103

    2-phase single rail FIFO Transition signaling, Special capture-pass

    latches alternate between capture and pass First pass data to next, then hold, then capture

    next data token

    32

    CC

    ACK ACK

    REQ REQ

    ACK

    REQ

    LATCH LATCH

    C P C P

    C

    LATCH

    C P

    ACK

    REQc1

    p1 c2 p2 c3

  • 8/13/2019 Asynchronous vlsi circit design

    33/103

    Operation details

    33

  • 8/13/2019 Asynchronous vlsi circit design

    34/103

  • 8/13/2019 Asynchronous vlsi circit design

    35/103

    Operation

    req 1

    c1 1, latch 1 get data latched but can

    not ass on to latch 2

    35

    c1 1, c2 1, p1 1, latch 2 gets thedata, latch1 in hold

    c2 1, c3 1, p2 1, latch 3gets the data, latch2 in hold, latch1ready

    for new

  • 8/13/2019 Asynchronous vlsi circit design

    36/103

    Operation

    req 0

    c1 0, latch 1 get data latched but can

    not pass on to latch 2,

    36

    c1 0, c2 0, p1 0, latch 2 gets thedata, latch1 in hold

    c2 0, c3 0, p2 0, latch 3 gets thedata, latch2 in hold, latch1ready for new

  • 8/13/2019 Asynchronous vlsi circit design

    37/103

    Operation

    Hence we get a sequence of

    Eval hold eval hold-------

    37

  • 8/13/2019 Asynchronous vlsi circit design

    38/103

    Capture-Pass transition-controlled latch

    Transitions on Cand P alternate

    Micropipelines

    Elegant, no RZ

    38

    Butimplementation(latches and other control circuits) iscomplex

  • 8/13/2019 Asynchronous vlsi circit design

    39/103

    39

  • 8/13/2019 Asynchronous vlsi circit design

    40/103

    Micropipelines with processing

    2 stage

    40

  • 8/13/2019 Asynchronous vlsi circit design

    41/103

    4 stage pipeline

    41

  • 8/13/2019 Asynchronous vlsi circit design

    42/103

    Event controlled latch design

    4242

  • 8/13/2019 Asynchronous vlsi circit design

    43/103

    Alternative implementation--Eventcontrolled switch/ latch

    43

  • 8/13/2019 Asynchronous vlsi circit design

    44/103

    Delay element design

    44

  • 8/13/2019 Asynchronous vlsi circit design

    45/103

    Mousetrap pipelines

    These are examples of 2 phase single railpipelines

    No muller-C element.

    Stage disables itself

    45

  • 8/13/2019 Asynchronous vlsi circit design

    46/103

    MOUSETRAP PipelinesSimple asynchronous implementation style, uses

    standard logic implementation: Boolean gates , transparent latches simple control : 1 gate/pipeline stage

    MOUSETRAP uses a capture protocol: Latches

    are normally transparent: before new data arrives

    become o a ue: a ter data arrives ca ture data

    Control Signaling: transition-signaling = 2-phase

    simple protocol: req/ack = only 2 events per handshake (not 4) no return-to-zero

    each transition (up/down) signals a distinct operation

    Our Goal: very fast cycle time

    simple inter-stage communication

    46

  • 8/13/2019 Asynchronous vlsi circit design

    47/103

    Mousetrap pipelines

    These are also examples of 2 phasesingle rail (bundled data) pipelines

    47

  • 8/13/2019 Asynchronous vlsi circit design

    48/103

    ack N-1 ack N Latch Controller

    MOUSETRAP: A Basic FIFOStages communicate using

    transition-signaling:

    1 transition1 transition per data item! per data item!

    48

    req N req N+ 1

    Data Latch

    done N

    Data in Data out

    Stage N Stage N- 1 Stage N+ 1

    En

    11stst data item flowing through the pipelinedata item flowing through the pipeline1st data item flowing through the pipeline22ndnd data item flowing through the pipelinedata item flowing through the pipeline

  • 8/13/2019 Asynchronous vlsi circit design

    49/103

    Important points for 2-phase single

    rail Asynch design

    49

  • 8/13/2019 Asynchronous vlsi circit design

    50/103

    Drawback of single rail circuits

    Matched delay element needs to beintroduced in between latches to

    synchronize request and data arrival

    50

  • 8/13/2019 Asynchronous vlsi circit design

    51/103

    2 PHASE DUAL RAIL FIFO

    51

  • 8/13/2019 Asynchronous vlsi circit design

    52/103

    2 phase dual rail FIFO

    Done signal act as Req.

    Monotonic Dual rail signals need to be

    enerated

    52

  • 8/13/2019 Asynchronous vlsi circit design

    53/103

    Done/ Completion Signal

    Generation--no glitches

    53

    Using Redundant Signal Encoding

  • 8/13/2019 Asynchronous vlsi circit design

    54/103

    Completion Signal in DCVSL

    B0 B1

    Start

    V DD V DD

    Done B0

    B1and

    start

    done

    54

    PDN PDN

    In1 In1 In2 In2

    Start Event logic

    Done

    Req

  • 8/13/2019 Asynchronous vlsi circit design

    55/103

    2 phase

    55

  • 8/13/2019 Asynchronous vlsi circit design

    56/103

    2-Phase dual rail FIFO

    start1 Ack1

    Done / req2

    start3start2

    req3

    56

    data

    Req1

    D1

    Edge triggered reg

  • 8/13/2019 Asynchronous vlsi circit design

    57/103

    2 registers are req. for event logic

    Edge triggered reg

    57

    Edge triggered reg

  • 8/13/2019 Asynchronous vlsi circit design

    58/103

    Latch implementation USING C 2MOS

    58

    Start Start

  • 8/13/2019 Asynchronous vlsi circit design

    59/103

    Event Latch implementationusing TG [start is delayed Req], valid data is issued before Req

    DATA IN OUT

    59

    Req START

    Req START

  • 8/13/2019 Asynchronous vlsi circit design

    60/103

    Signal arrival

    REQ1

    60

    done2

    star1

    reduce

  • 8/13/2019 Asynchronous vlsi circit design

    61/103

    Operation Req1 1

    start1 1, latch1 gets the data, D1/ req21

    61

    start2 1, latch2 gets the data, D2/ req31

    req3./ Ack1 1, latch1 in hold, start3 1,latch3 gets the data

    Req1 can go 0

  • 8/13/2019 Asynchronous vlsi circit design

    62/103

    Operation

    Req1 0

    start1 0, latch1 gets the data, D1/ req2

    0

    62

    start2 0, latch2 gets the data, D2/ req30

    req3./ Ack1 0, latch1 in hold, start3 0,latch3 gets the data

    Req1 can go 1

  • 8/13/2019 Asynchronous vlsi circit design

    63/103

    Logic implementation

    B0 B1

    Start

    V DD V DD

    Done B0

    B1and

    start

    done

    63

    PDN PDN

    In1 In1 In2 In2

    Start Start /start

  • 8/13/2019 Asynchronous vlsi circit design

    64/103

    4 phase

    RZ

    64

  • 8/13/2019 Asynchronous vlsi circit design

    65/103

    65

  • 8/13/2019 Asynchronous vlsi circit design

    66/103

    4 phase- require pre-charge evaluate logic

    66

  • 8/13/2019 Asynchronous vlsi circit design

    67/103

    4-phase bundled data circuits-FIFO

    67

  • 8/13/2019 Asynchronous vlsi circit design

    68/103

    Operation

    Initially all nodes 0 Req 1 en1 1, en2 1, en3 1, ---- with some delay

    in between

    Latch1 data latch 2 Latch2 data latch 3

    Latch3 data latch 4------ when req 0 en1 0, en2 0, en3 0, ----- Latch1 ,latch 2, latch 3 all in hold mode Operation similar to synchronous pipeline 68

  • 8/13/2019 Asynchronous vlsi circit design

    69/103

    4-phase bundled data circuits

    CCC

    ACK ACK ACK

    REQ REQ REQ

    ACK

    REQ

    LATCH LATCH LATCH

    EN EN EN

    C

    ACK ACK

    REQ REQ

    LATCH

    EN

    FUNC.BLOCK

    DELAYC

    LATCH

    EN

    FUNC.BLOCK

    DELAY

    ACK

    REQC

    ACK

    REQ

    LATCH

    EN

    FUNC.BLOCK

    DELAY

    69

  • 8/13/2019 Asynchronous vlsi circit design

    70/103

    4-Phase bundled data FIFOReq must be a pulse signal

    70

  • 8/13/2019 Asynchronous vlsi circit design

    71/103

    4-phase bundled data circuits Looks like a sync pipe, with local clocks

    When full, the C-elements are 1010101,only half the latches store data

    Similar to master-slave flip-flops

    Speed limited by handshake (2-way

    comm.) better implementations available

    71

  • 8/13/2019 Asynchronous vlsi circit design

    72/103

    Dual rail circuits

    Dual muller pipeline- implementation1

    72

  • 8/13/2019 Asynchronous vlsi circit design

    73/103

    4-phase dual rail FIFO-- implementation1

    CC C

    C C C

    ACKACK

    d.t

    d.f

    d.t

    d.f

    Two muller pipeline in parallel using commom Ack sig in per stage to synchronize

    Muller pipeline (again) with CompletionDetection

    No REQ embedded in the data73

  • 8/13/2019 Asynchronous vlsi circit design

    74/103

    4-phase dual rail FIFO many bits

    C C C

    ACKACK

    CC C

    C C C

    CC C

    C C C

    d[0].t

    d[0].f

    d[1].t

    d[1].f

    d[0].t

    d[0].f

    d[1].t

    d[1].f

    74

  • 8/13/2019 Asynchronous vlsi circit design

    75/103

    Drawback

    No. of muller C elements increase with no.of data bits

    75

  • 8/13/2019 Asynchronous vlsi circit design

    76/103

    Data

    76

  • 8/13/2019 Asynchronous vlsi circit design

    77/103

    4 phase dual rail FIFO 2 nd implemen

    77

  • 8/13/2019 Asynchronous vlsi circit design

    78/103

    Operation

    R1 should be disabled when start begins

    When done1 is issued req shd go low

    78

    ,precharges

  • 8/13/2019 Asynchronous vlsi circit design

    79/103

    Signal arrival

    REQ1

    En. 1

    79

    start1

    done1

    reduce

  • 8/13/2019 Asynchronous vlsi circit design

    80/103

    Adv.

    No such drawback as no. of Muller Celements do not increase with no. of bits

    80

  • 8/13/2019 Asynchronous vlsi circit design

    81/103

  • 8/13/2019 Asynchronous vlsi circit design

    82/103

    Implementation-34-Phase post charge with reset from successor using MullerC

    Ack

    Done

    82

    data

    start/ Req

  • 8/13/2019 Asynchronous vlsi circit design

    83/103

    Latency of this pipeline

    Lf forward latency

    Delay from new valid data outputs at one stage to newvalid data outputs from the following stage

    Lr reverse latency

    83

    Delay from the acknowledgement of a stages output tothe acknowledgement of its predecessor output

    Because data tokens and reset stage alternate, so we

    take average of two delay

  • 8/13/2019 Asynchronous vlsi circit design

    84/103

  • 8/13/2019 Asynchronous vlsi circit design

    85/103

    Latency

    Lf t d+ t c+ t f

    Lr

    85

    [ t c + t f + t d + tc + t f

    + t d ]

  • 8/13/2019 Asynchronous vlsi circit design

    86/103

    start

    Done/ Req

    Ack

    86

    data

  • 8/13/2019 Asynchronous vlsi circit design

    87/103

    87

  • 8/13/2019 Asynchronous vlsi circit design

    88/103

    88

  • 8/13/2019 Asynchronous vlsi circit design

    89/103

    89

  • 8/13/2019 Asynchronous vlsi circit design

    90/103

    4 phase dual rail FIFO (ex3)post charge logic

    90

    Post charge with reset from successor different way of generating control signals other than mullerC elemet

  • 8/13/2019 Asynchronous vlsi circit design

    91/103

    HS Control signal implementation-I

    91

    Do not delay evaluation until successor has finishedresetting

  • 8/13/2019 Asynchronous vlsi circit design

    92/103

    Latency of this pipeline

    Lf t d + t c+ t f

    92

    r c c

  • 8/13/2019 Asynchronous vlsi circit design

    93/103

    HS Control signal implementation-IImix of single rail and dual rail, Req a separate wire

    93

    Do not delay evaluation until predecessor hasfinished evaluation

  • 8/13/2019 Asynchronous vlsi circit design

    94/103

    Lf t f

    94

    r c c

  • 8/13/2019 Asynchronous vlsi circit design

    95/103

    Latency

    95

  • 8/13/2019 Asynchronous vlsi circit design

    96/103

  • 8/13/2019 Asynchronous vlsi circit design

    97/103

    Latency

    97

  • 8/13/2019 Asynchronous vlsi circit design

    98/103

    98

  • 8/13/2019 Asynchronous vlsi circit design

    99/103

    99

  • 8/13/2019 Asynchronous vlsi circit design

    100/103

    4 phase protocol

    100

    4 Ph b dl d d P l

  • 8/13/2019 Asynchronous vlsi circit design

    101/103

    4-Phase bundled data Protocol--FIFO

    101

  • 8/13/2019 Asynchronous vlsi circit design

    102/103

    102

  • 8/13/2019 Asynchronous vlsi circit design

    103/103

    4-Phase dual rail Protocol--FIFO