asyncronous logic

Upload: gulzar-ahamd

Post on 04-Jun-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Asyncronous Logic

    1/57

    1

    Asynchronous Sequential Logic

    For most figures:

  • 8/13/2019 Asyncronous Logic

    2/57

    2

    We know dont we?

    We have learned how to analyzeand design circuits with memory,dont we?

    We have designed reallycomplicated circuits and can do sofor any problem, right?

    How about taking a look at ourlovely latch circuit?

  • 8/13/2019 Asyncronous Logic

    3/57

    3

    Asynchronous sequential circuits

    No clock pulses Change of an internal state occurs

    when there is a change in theinputs.

    More difficult to design/analyzethan synchronous sequentialcircuits.

    Useful in cases where speed is

    important. More economical to use.

    Combinational circuits withfeedback loops (connectedthrough delayed lines).

    Secondary variables: input end ofthe feedback loops., e.g. Y1, y2,yk.

  • 8/13/2019 Asyncronous Logic

    4/57

    4

    Example

    One input: x Two feedback loops Two excitation variables:

    Y1 and Y2

    Two secondary variables: y1 and y2

  • 8/13/2019 Asyncronous Logic

    5/57

    5

    Transition table

    Y1 = xy1 + xy2 Y2 = xy1 + xy2

    The input (x) is also part of the state Stable states are the circled ones

    where

    Y1 = y1 and Y2 = y2

  • 8/13/2019 Asyncronous Logic

    6/57

    6

    Understanding the transition table

    Four stable states: y1y2x = {000,011,110,101}

    If y1y2x = 000 and x: 0 1 Then Y1Y2x = 011

  • 8/13/2019 Asyncronous Logic

    7/57

    7

    Procedure for analysis

    Determine all feedback loops Assign Yi's (excitation variables), yi's (the secondary variables)

    Derive the Boolean functions of all Yi's Plot each Y function in a map Construct the state table Circle the stable states

  • 8/13/2019 Asyncronous Logic

    8/57

    8

    Flow table

    A flow table is a state transition table with its internal state beingsymbolized with letters

    (a) is called a primitive flow table since it has only one stable state ineach row

    output

  • 8/13/2019 Asyncronous Logic

    9/57

  • 8/13/2019 Asyncronous Logic

    10/57

    10

    Race conditions

    Race conditions occurwhen two or more

    state variables aresupposed to changesimultaneously due toa change in the input.

    For instance:

    From y1y2=00 toy1y2 = 11 Three possible

    transitions:

    00 11 0010 11 00 01 11

    Critical vs non-criticalrace conditions

  • 8/13/2019 Asyncronous Logic

    11/57

    11

    Non-critical races

    Three possibletransitions: 00 11 0010 11 00 01 11

    If all possibletransitions lead us tothe same final state,then it is a non-critical race.

  • 8/13/2019 Asyncronous Logic

    12/57

    12

    Critical races

    Three possibletransitions: 00 11 0010 11 00 01 11

    If differenttransitions lead todifferent final states,then it is a criticalrace.

  • 8/13/2019 Asyncronous Logic

    13/57

    13

    Cycles

    Cycle: a unique sequence of unstable states that the circuit goes.

  • 8/13/2019 Asyncronous Logic

    14/57

    14

    Unstability

    Y = (x1 y)x2 = x1x2 + x2 y

    If x1x2y = 111 Y = 0 If x1x2Y = 110 Y = 1

    Oscillation between 1 and 0.Y will be a square wave.

  • 8/13/2019 Asyncronous Logic

    15/57

    15

    SR latch - revisited

    Forbidden input: 11

  • 8/13/2019 Asyncronous Logic

    16/57

    17

    Asynchronous sequential circuits

    No clock pulses Change of an internal state occurs

    when there is a change in theinputs.

    More difficult to design/analyzethan synchronous sequentialcircuits.

    Useful in cases where speed isimportant.

    More economical to use.

    Combinational circuits withfeedback loops (connectedthrough delayed lines).

    Secondary variables: input end ofthe feedback loops., e.g. Y1, y2,yk.

  • 8/13/2019 Asyncronous Logic

    17/57

    18

    Transition table

    Y1 = xy1 + xy2 Y2 = xy1 + xy2

    The input (x) is also part of the state Stable states are the circled ones

    where

    Y1 = y1 and Y2 = y2

  • 8/13/2019 Asyncronous Logic

    18/57

    19

    Procedure for analysis

    Determine all feedback loops Assign Yi's (excitation variables), yi's (the secondary variables)

    Derive the Boolean functions of all Y

    i's

    Plot each Y function in a map Construct the state table Circle the stable states

  • 8/13/2019 Asyncronous Logic

    19/57

    20

    Flow table

    A flow table is a state transition table with itsinternal state being symbolized with letters

    (a) is called a primitive flow table since it has only one stable state ineach row

    output

  • 8/13/2019 Asyncronous Logic

    20/5721

    Designing an asynch. seq. ckt.

    Assign a = 0 b = 1

  • 8/13/2019 Asyncronous Logic

    21/57

    22

    Race conditions

    Race conditions occurwhen two or more

    state variables aresupposed to changesimultaneously due toa change in the input.

    For instance:

    From y1y2=00 toy1y2 = 11 Three possible

    transitions:

    00 11 0010 11 00 01 11

    Critical vs non-criticalrace conditions

  • 8/13/2019 Asyncronous Logic

    22/57

    23

    Critical races

    Three possibletransitions: 00 11 0010 11 00 01 11

    If differenttransitions lead todifferent final states,then it is a criticalrace.

  • 8/13/2019 Asyncronous Logic

    23/57

    24

    Cycles

    Cycle: a unique sequence of unstable states that the circuit goes.

  • 8/13/2019 Asyncronous Logic

    24/57

    25

    Analysis example

  • 8/13/2019 Asyncronous Logic

    25/57

    26

  • 8/13/2019 Asyncronous Logic

    26/57

    27

    Design with a latch WRONG!

    How were we designing inSequential Logic?

  • 8/13/2019 Asyncronous Logic

    27/57

    29

    Design Procedure

    Gated latch with two inputs G and D. If G=1, then Q (latch output)

    should follow D. When G becomes 0, then the value of D at the time ofthe transition from G=1 to G=0 is retained at Q; i.e., once G becomes 0,the value of D does not change Q.

    Inputs Output

    State D G Q Commentsa 0 1 0 D=Q because G=1

    b 1 1 1 D=Q because G=1

    c 0 0 0 After state a or d

    d 1 0 0 After state ce 1 0 1 After state b or f

    f 0 0 1 After state e

    Let us start by giving

    a state to each row.

  • 8/13/2019 Asyncronous Logic

    28/57

    30

    Inputs Output

    State D G Q Comments

    a 0 1 0 D=Q because G=1

    b 1 1 1 D=Q because G=1

    c 0 0 0 After state a or d

    d 1 0 0 After state c

    e 1 0 1 After state b or f

    f 0 0 1 After state e

    Primitive flow table formation

    Step 1: Stable states, and outputs are inserted. Since we allow only oneof DG to change, put - to where they both change.

  • 8/13/2019 Asyncronous Logic

    29/57

    31

    Primitive flow table formation-2

    Step 1: Stable states, and outputs are inserted. Step 2: Unstable states are determined. Outputs at these unstable

    states dont matter. Use - to indicate this.

  • 8/13/2019 Asyncronous Logic

    30/57

    32

    Reduction of the flow table

  • 8/13/2019 Asyncronous Logic

    31/57

    33

    Set a=0 and b=1

    Transition table

  • 8/13/2019 Asyncronous Logic

    32/57

    34

    Gated latch logic

  • 8/13/2019 Asyncronous Logic

    33/57

    35

    Gated latch with SR latch

  • 8/13/2019 Asyncronous Logic

    34/57

    36

    Assigning output to unstable states

    Set the output of thetransient state to 0 if thestart and finish states havethe output 0.

    Set the output of thetransient state to 1 if the

    start and finish states havethe output 1.

    Set the output of thetransient state to - if thestart and finish states havedifferent outputs.

  • 8/13/2019 Asyncronous Logic

    35/57

    37

    Design Procedure

    Gated latch with two inputs G and D. If G=1, then Q (latch output)

    should follow D. When G becomes 0, then the value of D at the time ofthe transition from G=1 to G=0 is retained at Q; i.e., once G becomes 0,the value of D does not change Q.

    Inputs Output

    State D G Q Commentsa 0 1 0 D=Q because G=1

    b 1 1 1 D=Q because G=1

    c 0 0 0 After state a or d

    d 1 0 0 After state ce 1 0 1 After state b or f

    f 0 0 1 After state e

    Let us start by giving

    a state to each row.

  • 8/13/2019 Asyncronous Logic

    36/57

    38

    Inputs Output

    State D G Q Comments

    a 0 1 0 D=Q because G=1

    b 1 1 1 D=Q because G=1

    c 0 0 0 After state a or d

    d 1 0 0 After state c

    e 1 0 1 After state b or f

    f 0 0 1 After state e

    Primitive flow table formation

    Step 1: Stable states, and outputs are inserted. Since we allow only oneof DG to change, put - to where they both change.

  • 8/13/2019 Asyncronous Logic

    37/57

    39

    Primitive flow table formation-2

    Step 1: Stable states, and outputs are inserted. Step 2: Unstable states are determined. Outputs at these unstable

    states dont matter. Use - to indicate this.

  • 8/13/2019 Asyncronous Logic

    38/57

    40

    Reduction of the flow table

  • 8/13/2019 Asyncronous Logic

    39/57

    41

    Set a=0 and b=1

    Transition table

  • 8/13/2019 Asyncronous Logic

    40/57

    42

    Gated latch logic

    G d l h h l h

  • 8/13/2019 Asyncronous Logic

    41/57

    43

    Gated latch with SR latch

    bl

  • 8/13/2019 Asyncronous Logic

    42/57

    44

    Assigning output to unstable states

    Set the output of thetransient state to 0 if thestart and finish states havethe output 0.

    Set the output of thetransient state to 1 if the

    start and finish states havethe output 1.

    Set the output of thetransient state to - if thestart and finish states havedifferent outputs.

    A f l d f d i fl bl

  • 8/13/2019 Asyncronous Logic

    43/57

    45

    A formal procedure for reducing flow table

    In (a,b), x=0 -> next states: (c,d) x=1 -> next states: (a,b)

    In (c,d), x=0 -> next states: (a,b) x=1 -> next state: d

    Any Equivalent

    States?

    If c=d, then we can say a=b. In other words, (a,b) implies (c,d).

    A f l d f d i fl t bl

  • 8/13/2019 Asyncronous Logic

    44/57

    46

    A formal procedure for reducing flow table

    Place a X for all pairs of states

    whose outputs differ. Fill in the remaining cells withvalues of implied states. For each confirmed implication,put a tick.

    I li ti t bl f th fl t bl

  • 8/13/2019 Asyncronous Logic

    45/57

    47

    Implication table from the flow table

    What happens if the circuit is not completely specified? Compatible states: two incompletely specified states that can be combined

    (i.e., there is no conflict! )

    M Di f Fi di M i l C tibl

  • 8/13/2019 Asyncronous Logic

    46/57

    48

    Merger Diagram for Finding Maximal Compatibles

    Links are drawn between compatible states. An n-state compatible is represented by an n-sided polygon with all its

    diagonals connected.

    H t M i th M Di ?

  • 8/13/2019 Asyncronous Logic

    47/57

    How to Merge using the Merger Diagram?

    The resulting set ofcompatibles need to be:

    Covering: Contains all initialstates.

    Closed: Contains all theimplied states.

    The closed & covering setof compatibles determine

    the reduced flow table. So, what is the subset of (a,b), (a,c,d), (b,e,f) thatsatisfy coverage and closedness?

    For coverage, (a,c,d) and (b,e,f) are sufficient.

    Do (a,c,d) and (b,e,f) satisfy closedness? Are the implied states of (a,c), (a,d), (c,d),

    (b,e), (b,e), (b,f) included in the selected set?

    A th E l f M Di

  • 8/13/2019 Asyncronous Logic

    48/57

    50

    Another Example for Merger Diagram

    Q i

  • 8/13/2019 Asyncronous Logic

    49/57

    Quizzzz

    1. Derive the implication table for the following transition table.2. Draw the merger diagram and determine the set of maximal

    compatibles.3. Determine the minimum set of maximal compatibles and draw thereduced transition table.

    51

    Hazards

  • 8/13/2019 Asyncronous Logic

    50/57

    60

    Hazards

    A hazard is a condition in which a change in a single variable produces a momentarychange in output when no change should occur.

    All inputs are 1 at the beginning. When x2 becomes 0, due to delay caused

    by the NOT gate, Y may temporarily become 0.

    Types of Hazards

  • 8/13/2019 Asyncronous Logic

    51/57

    61

    Types of Hazards

    Removing Hazards

  • 8/13/2019 Asyncronous Logic

    52/57

    62

    Removing Hazards

    Hazars are produced when changingfrom one term to another!

    This causes a problem becauseduring the transition, neither ofthe terms might be 1.

    So, make redundant terms/groupsso that the new terms make surethat the transition is covered.

    The Circuit After Removing the Hazard

  • 8/13/2019 Asyncronous Logic

    53/57

    63

    The Circuit After Removing the Hazard

    Another way to avoid hazards

  • 8/13/2019 Asyncronous Logic

    54/57

    64

    Another way to avoid hazards

    Implement the circuit with SR latches!!!Why would this remove hazards?

    Implementation with SR latches to avoid hazards

  • 8/13/2019 Asyncronous Logic

    55/57

    65

    Implementation with SR latches to avoid hazards

    Essential Hazards

  • 8/13/2019 Asyncronous Logic

    56/57

    66

    Essential Hazards

    Due to delays, feedback loops mightproduce hazards. These hazards cannot be corrected byadding gates/terms. They can be avoided only by adjusting thedelays in the feedback loops according to

    the delays in the input signals.

    Quiz

  • 8/13/2019 Asyncronous Logic

    57/57

    the last of the Asyncronous Logic part

    Check whether the following circuit has a hazard. If it does, remove the hazard by both

    a) adding redundant terms to the Y function,b) implementing the circuit with SR-latches.