15-asynchronous machine(edited).pdf

99
Asynchronous Machine

Upload: andyipul

Post on 14-Nov-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

  • Asynchronous Machine

    Syaiful AndyTypewriter

  • Types of Asynchronous Sequential Machines

    Pulse-Mode

    Pulse will not occur simultaneously on two or more inputs

    Memory Element transitions are initiated by input pulses

    Input variables are used only in the uncomplemented or complemented forms, but not both

    y1 Yryr Y1

    Flip-Flopmemory

    Combinational logic

    Pulse Mode circuit model

    x1 z1

    xn zm

  • Types of Asynchronous Sequential Machines

    Fundamental Mode

    Level inputs and unclocked memory element

    Assume delay is lumped and equal (t)

    In reality often not necessary

    Only one input is allowed to change at any instant of time

    y1 Yryr Y1

    Delay, t

    Combinational logic

    Fundamental Mode circuit model

    x1 z1

    xn zm

    berarti klo awalnya 00 gk mungkin inputnya jadi 11

    Syaiful AndyTypewriter

  • Types of Asynchronous Sequential Machines

    In all types: State must be stable before input can be change

    Behavior is unpredictable (nondeterministic) if circuit not allowed to settle

  • Stable State

    PS = present state

    NS = next state

    PS = NS = Stability Machine may pass through none or more intermediate

    states on the way to a stable state

    Desired behavior since only time delay separates PS from NS

    Oscillation Machine never stabilizes in a single state

  • Races

    A Race Occurs in a Transition From One State to the Next When More Than One Next State Variables Changes in Response to a Change in an Input

    Slight Environment Differences Can Cause Different State Transitions to Occur

    Supply voltage

    Temperature, etc.

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriterRace terjadi pada saat transisi dari satu state ke next state KETIKA lebih dari satu variabel next state berubah sebagai respon pada perubahan Input.

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

  • Races

    Desired Next State: NS

    if Y1 changes

    first

    if Y2 changes

    first01

    Present State : PS (Y1Y2)

    11 00

    10

  • Types of Races

    Non-Critical

    Machine stabilizes in desired state, but may transition through other states on the way

    Critical

    Machine does not stabilize in the desired state

  • Races

    Desired Next State: NS

    if Y1 changes

    first

    if Y2 changes

    first01

    Present State : PS (Y1Y2)

    11 00

    1000

    Non-Critical Race

    Critical Race

  • Asynchronous FSM Benefits

    Fastest FSM

    Economical

    No need for clock generator

    Output Changes When Signals Change, Not When Clock Occurs

    Data Can Be Passed Between Two Circuits Which Are Not Synchronized

    In some technologies, like quantum, clock is just not possible to exist, no clocks in live organisms.

  • Asynchronous FSM Example

    next

    statepresent

    state y1

    y2

    input

  • Next State Variables

    1 1 2 1 1 2 2

    1 1 2 2

    2 1 2 2

    2 1

    , ,

    , ,

    Y x y y x y x y y x y

    x y x y y x y

    Y x y y y x y

    y x y

  • Asynchronous State Tables

    States are either Stable or Unstable.

    Stable states encircled with symbol.

    Present

    state

    Next state, output

    x=0 x=1

    Q0 Q0,0 Q1,0

    Q1 Q2,0 Q1,0

    Q2 Q2,0 Q3,1

    Q3 Q0, 0 Q3,1

    Oscillations occur if all states are unstable for an input value.

    Total State is a pair (x, Qi)

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriterTerjadi Osilasi jika untuk semua nilai input, semua statenya tidak stabil.

    Syaiful AndyTypewriter

  • Constraints on Asynchronous Networks

    If the next input change occurs before the previous

    ones effects are fed back to the input, the machine

    may not function correctly.

    Thus, constraints are needed to insure proper

    operation.

    Fundamental Mode Input changes only when the machine is in a stable state.

    Normal Fundamental Mode A single input change occurring when the machine is in a stable state produces a single output change

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTextboxIntinya kalau FUNDAMENTAL MODE, INPUT HANYA bisa berubah ketika Machine dalam stable state, kalau khasus khusus INPUT yang berubah hanya satu, maka disebut NORMAL FUNDAMENTAL MODE

  • Analysis Pulse-Mode Asynch. Circuit

    Assumptions

    Pulse do not occur simultaneously on two or more input lines

    State transition only occurs only if an input pulse occurs

    All devices trigger on the same edge of each pulse

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTextboxIntinya dari Analysis Pulse-Mode Asynch. Circuit:1. Ada rangkaian, tentukan dan assign statenya (liat jumlah elemen memorynya), Input ke elemen memorynya (Kalau rangkaian dengan 2 input, maka 11 tidak ada, karena pulse do not occur simultan), dan persamaan untuk output, dan persamaan Flip-flop/Latchnya--> Dari karakteristik elemen memory yang bersangkutan (Khusus pers. ini kita buat di K-MAP saja).2. Dari sini, bisa kita buat timing diagram, misalkan saja kita mulai dengan memberikan input X1 beberapa kali, lalu baru X2. Yang perlu diingat disini adalah state berubah saat pulsa input berubah (Misal: ada pulsa X1, setelah Delay beberapa saat, state y berubah, lalu saat pulsa X1 telah tiada dan ada pulsa X2, maka state Y berubah kembali)3. Lalu buat K-Map untuk Next state dan output sekaligus (Y/z), lalu kita buat state tabelnya (Flow Tabel).

  • Analysis Pulse-Mode Asynch. Circuit

    Q

    QSET

    CLR

    S

    R

    x1

    x2

    z

    y

    y

    States:

    y = 0 = A

    y = 1 = B

    Inputs:

    [x1,x2] = 00 = I0[x1,x2] = 10 = I1[x1,x2] = 01 = I2

    yxR

    yxS

    yxz

    2

    1

    1

    Syaiful AndyTextboxKarena cuma 1 Flip-Flop maka dia cuma punya 2 state

    Syaiful AndyTextboxYang harus ada:1. States2. Inputs3. Persamaan Output 4. Persamaan Elemen Memory

  • Analysis Pulse-Mode Asynch. Circuit

    States:

    y = 0 = A

    y = 1 = B

    Inputs:

    [x1,x2] = 00 = I0[x1,x2] = 10 = I1[x1,x2] = 01 = I2 yxR

    yxS

    yxz

    2

    1

    1

    x1

    x2

    y

    S

    R

    z

    Syaiful AndyTextboxState transition only occurs only if an input pulse occurs

    Syaiful AndyTextboxPulse do not occur simultaneously on two or more input lines, All devices trigger on the same edge of each pulse

  • Analysis Pulse-Mode Asynch. Circuit

    States:

    y = 0 = A

    y = 1 = B

    Inputs:

    [x1,x2] = 00 = I0[x1,x2] = 10 = I1[x1,x2] = 01 = I2 yxR

    yxS

    yxz

    2

    1

    1

    y\x1x2 00 01 11 10

    0 0 0 - 1

    1 0 0 - 0

    S

    y\x1x2 00 01 11 10

    0 0 0 - 0

    1 0 1 - 0

    R

    y\x1x2 00 01 11 10

    0 0 0 - 0

    1 0 0 - 1

    z

  • Analysis Pulse-Mode Asynch. Circuit

    y\x1x2 00 01 11 10

    0 00 00 - 10

    1 00 01 - 00

    SR

    y\x1x2 00 01 11 10

    0 0 0 - 1

    1 1 0 - 1

    Y

    y\x1x2 00 01 11 10

    0 0/0 0/0 - 1/0

    1 1/0 0/0 - 1/1

    Y/z

    y\x1x2 00 01 11 10

    0 0 0 - 1

    1 0 0 - 0

    S

    y\x1x2 00 01 11 10

    0 0 0 - 0

    1 0 1 - 0

    R

    y\x1x2 00 01 11 10

    0 0 0 - 0

    1 0 0 - 1

    z

    Syaiful AndyTextboxUntuk mengisi K-MAP Next state Y, kita lihat karakteristik dari SR LATCH. Karakteristiknya, saat SRnya 00--> Q(t), Saat SRnya 01--> 0, Saat SRnya 10-->1, saat SRnya 11-->d

    Syaiful AndyTextboxState assigned table --> Excitation Table

  • Analysis Pulse-Mode Asynch. Circuit

    Q

    QSET

    CLR

    S

    R

    x1

    x2

    z

    y

    y

    States:

    y = 0 = A

    y = 1 = B

    Inputs:

    [x1,x2] = 00 = I0[x1,x2] = 10 = I1[x1,x2] = 01 = I2

    yxR

    yxS

    yxz

    2

    1

    1

    y\x1x2 00 01 10

    0 0/0 0/0 1/0

    1 1/0 0/0 1/1

    Y/z Present State

    I0 I2 I1

    A A/0 A/0 B/0

    B B/0 A/0 B/1

    Present State

    x1 x2

    A B/0 A/0

    B B/1 A/0

    Syaiful AndyTextboxState Table, Kalo Di Asynch jadi Flow Table

  • Exercise

    Q

    QSET

    CLR

    D

    x z

    y1

    Q

    QSET

    CLR

    Dy2

    21

    212

    2111

    ,

    ,

    yxyz

    xCyD

    xyCyD

    Inputs:

    I0 = no pulse on x

    I1 = pulse on x

    States (y1, y2)

    A = 00

    B = 01

    C = 10

    D = 11

    Assume A as initial state

    Syaiful AndyTypewriterxy2

    Syaiful AndyTypewriter

    Syaiful AndyTypewriter

    Syaiful AndyTypewriterx

    Syaiful AndyTypewriter

    Syaiful AndyTextboxKarena ada 2 Flip-Flop maka dia bisa punya 4 state

    Syaiful AndyTextboxYang harus ada:1. States2. Inputs3. Persamaan Output (z) 4. Persamaan Elemen Memory

  • Exercise Complete the timing diagram for 4 pulse on x

    21

    212

    2111

    ,

    ,

    yxyz

    xCyD

    xyCyD

    Inputs:I0 = no pulse on x

    I1 = pulse on x

    States (y1, y2)

    A = 00

    B = 01

    C = 10

    D = 11

    x

    y1

    y2

    D1=D2

    C1

    C2

    z

    0

    0

    0 0

    0

    0

    1

    1

    1 1

  • Exercise

    We need to construct the K-map for the State Table.

    DFF clock input will see a transition 1 to 0 if the input pulse occurs

    From the DFF Characteristics equation and this observation, the next state equations are:

    Q

    QSET

    CLR

    D

    x z

    y1

    Q

    QSET

    CLR

    Dy2

    21

    212

    2111

    ,

    ,

    yxyz

    xCyD

    xyCyD

    1 1 1 1 1

    1 2 1 2

    1 2 1 1 2

    2 2 2 2 2

    1 2

    ( )

    Y D C y C

    y xy y x y

    xy y xy y y

    Y D C y C

    xy xy

    Syaiful AndyTextboxKarakteristik D Flip-Flop:Nilai output Q akan sama dengan Nilai input D jika Clock1 = 1 (Negative Edge D Flip-Flop)-->Jadi, dalam kasus ini D Flip-Flop 1 mendapatkan input not y1 (D1 = not y1), maka Q akan menghasilkan D1 jika C1, dan menghasilkan not D1 saat C1 not

    Syaiful AndyTypewriterC1=xy2

    Syaiful AndyTypewriterC2=x

    Syaiful AndyTypewriterY

    Syaiful AndyTypewriterY

  • Exercise

    y1y2\x 0 1

    00 1 1

    01 1 1

    11 0 0

    10 0 0

    D1y1y2\x 0 1

    00 0 0

    01 0 1

    11 0 1

    10 0 0

    C1y1y2\x 0 1

    00 10 10

    01 10 11

    11 00 01

    10 00 00

    D1C1

    y1y2\x 0 1

    00 1 1

    01 1 1

    11 0 0

    10 0 0

    D2y1y2\x 0 1

    00 0 1

    01 0 1

    11 0 1

    10 0 1

    C2y1y2\x 0 1

    00 10 11

    01 10 11

    11 00 01

    10 00 01

    D2C2

    22222

    11111

    CyCDY

    CyCDY

    y1y2\x 0 1

    00 0 0

    01 0 1

    11 1 0

    10 1 1

    Y1

    y1y2\x 0 1

    00 0 1

    01 1 1

    11 1 0

    10 0 0

    Y2

    Syaiful AndyTextboxy1 Not x or Not y2y1y2\x 0 1 Not C1--> 0 100 0 0 1 1 01 0 0 1 011 1 1 1 010 1 1 1 1

    Syaiful AndyTextboxy2 Not x y1y2\x 0 1 Not C1--> 0 100 0 0 1 0 01 1 1 1 011 1 1 1 010 0 0 1 0

  • Exercise

    y1y2\x 0 1

    00 00 01

    01 01 11

    11 11 00

    10 10 10

    Y1Y2 21

    22222

    11111

    yxyz

    CyCDY

    CyCDY

    y1y2\x 0 1

    00 0 0

    01 0 1

    11 1 0

    10 1 1

    Y1

    y1y2\x 0 1

    00 0 1

    01 1 1

    11 1 0

    10 0 0

    Y2y1y2\x 0 1

    00 00/0 01/0

    01 01/0 11/0

    11 11/0 00/1

    10 10/0 10/0

    Y1Y2/z

    y1y2\x I0 I1

    00 00/0 01/0

    01 01/0 11/0

    11 11/0 00/1

    10 10/0 10/0

    Y1Y2/z

    y1y2\x x

    00 01/0

    01 11/0

    11 00/1

    10 10/0

    Y1Y2/z

    Syaiful AndyTextboxz y1y2\x 0 1 00 0 0 01 0 0 11 0 1 10 0 0

    Syaiful AndyTextboxSetelah terbentuk tabel Y1Y2/z diatas ini, maka kita ganti nilai x dengan sinyal I0 dan I1, lalu kiya lihat mana yang next statenya tidak sama dengan presentstate, lalu ambil itu jadi tabel baru.

  • Exercise

    Q

    QSET

    CLR

    D

    x z

    y1

    Q

    QSET

    CLR

    Dy2

    y1y2\x I0 I1

    A A/0 B/0

    B B/0 D/0

    C C/0 C/0

    D D/0 A/1

    Y1Y2/z

    A B

    D C

    I0/0

    I1/0

    I0/0

    I0/0

    I0/0I1/0

    I1/1

    I1/0

    Syaiful AndyTextboxKemudian buat state tabelnya

    Syaiful AndyTextboxStates (y1, y2)A = 00B = 01C = 10D = 11

  • Design of Pulse-Mode Circuit

    Step 1. Derive state diagram or state table

    Step 2. Minimize the state table

    Step 3. Choose state assignment and generate the transition output table

    Step 4. Select type of latch or flip-flop to be used and determine excitation equation

    Step 5. Determine the output equation

    Step 6. Draw the circuit

    Syaiful AndyTextboxInti:State tabel--> minimisasi-->state assignment--> buat persamaan output (z) dan dari elemen memory dengan mengacu data pada state assignment sebelumnya (Pecah state assignment tabel ini menjadi bagian-bagianya, yaitu next state dan output)--> gambar rangkaian.. JANGAN LUPA, KITA BUAT JUGA PERSAMAAN UNTUK CLOCK KALAU KITA MAKE FLIP-FLOP/LATCH DENGAN CLOCK!!!

  • Do it yourself

    Design a pulse-mode circuit having two input lines x1 and x2, and one output line z. The circuit should produce an output pulse coincide with the last input pulse in the sequence x1-x2-x2. No other input sequence should produce an output pulse. (Sequence detector x1-x2-x2)

    Use T-FF: T = 1, C acts as input

    Syaiful AndyTextboxAlur Mendesign :Buat state tabel,state diagram (Pahami apa yang mau kita desain)--> Klo mungkin, minimisasi tabel --> Pilih state assignmentnya, lalu buat tabel transisi output--> Pilih elemen memory yang digunakan--> Tentukan persamaan outputnya (z) dan pers elemen memory--> gambar rangkaiannya.

    Syaiful AndyTextboxPersamaan untuk elemen memory bisa didapat dari hubungan antara present state dengan Next statenya

  • Step 1

    States

    A : indicates that the last input was x1 B : indicates that the sequence x1-x2 occurs

    C : indicates that the sequence x1-x2-x2 occurs

    Present State

    x1 x2

    A A/0 B/0

    B A/0 C/1

    C A/0 C/0

    A B

    C

    x1/0

    x2/0

    x1/0

    x2/0

    x2/1x1/0

    Syaiful AndyTextboxDari soal saja sudah terlihat bahwa output z akan sama dengan 1 jika BERTEPATAN dengan input terakhir (x2) dengan sequence input x1-x2-x2, maka dia bergantung input dan present state (Mealy Machine)--> Ingat kembali karakteristik mealy machine (Cara menggambar state diagram dan state tabelnya).

  • Step 2 and 3

    Step 2. State table is minimize as given

    Step 3. State assignment A=00, B=01, and C=10

    y1y2 x1 x2

    00 00/0 01/0

    01 00/0 10/1

    10 00/0 10/0

    Y1Y2/z

  • Step 4 and 5

    Use T-FF: T = 1

    y1y2 x1 x2

    00 00/0 01/0

    01 00/0 10/1

    10 00/0 10/0

    Y1Y2/z

    y1y2 x1 x2

    00 0 0

    01 0 1

    11 d d

    10 0 1

    Y1

    y1y2 x1 x2

    00 0 0

    01 0 1

    11 d d

    10 1 0

    C1

    y1y2 x1 x2

    00 0 1

    01 0 0

    11 d d

    10 0 0

    Y2

    y1y2 x1 x2

    00 0 1

    01 1 1

    11 d d

    10 0 0

    C2

    y1y2 x1 x2

    00 0 0

    01 0 1

    11 d d

    10 0 0

    z

    22

    12212

    22111

    yxz

    yxyxC

    yxyxC

    Syaiful AndyTextboxKarakteristik T Flip Flop : (Saat C=1) T: 0 -->Next State : Q(t)T: 1 -->Next State : Not Q(t)

    Syaiful AndyTextboxKeterangan Khusus di Soal:Nilai input ke T selalu 1.Karena kita maunya Q = y, maka clocknya negative edge.

    Syaiful AndyTextboxDari nilai next state Y1, kita lihat untuk present state y1. Analisis untuk input x2, saat y1=0, dan Y1nya 0/Q(t)--> T=0, y1=0 dan Y1nya 1-->T=1, y1=1 dan Y1nya 1/(t)--> T=0

  • Step 6

    22

    12212

    22111

    yxz

    yxyxC

    yxyxC

    z

    y1

    y2

    TQ

    Q

    TQ

    Q

    x1

    x2

    1

    1

  • Do it yourself

    Design a pulse-mode circuit with inputs x1,x2, x3 and output z. The output must change from 0 to 1 iff the input sequence x1-x2-x3 occurs while z = 0. The output must change from 1 to 0 only after an x2 input occur.

    Use SR Latch

  • Step 1

    Moore machine because output must remain high between pulses

    Present State

    x1 x2 x3 z

    A B A A 0

    B B C A 0

    C B A D 0

    D D A D 1

    A/0 B/0

    D/1 C/0

    x2,x3x1

    x1

    x1

    x3

    x2

    x3

    x2

    x2

    x1,x3

  • Step 2 and 3

    Step 2. State table is minimize as given

    Step 3. State assignment A=00, B=01, C=11, and D =10

    y1y2 x1 x2 x3 z

    00 01 00 00 0

    01 01 11 00 0

    11 01 00 10 0

    10 10 00 10 1

    Y1Y2

  • Step 4

    Use SR Latch

    y1y2 x1 x2 x3

    00 0 0 0

    01 0 1 0

    11 0 0 1

    10 1 0 1

    Y1

    y1y2 x1 x2 x3 z

    00 01 00 00 0

    01 01 11 00 0

    11 01 00 10 0

    10 10 00 10 1

    Y1Y2

    y1y2 x1 x2 x3

    00 1 0 0

    01 1 1 0

    11 1 0 0

    10 0 0 0

    Y2

    y1y2 x1 x2 x3

    00 0 0 0

    01 0 1 0

    11 0 0 d

    10 d 0 d

    S1

    y1y2 x1 x2 x3

    00 d d d

    01 d 0 d

    11 1 1 0

    10 0 1 0

    R1

    y1y2 x1 x2 x3

    00 1 0 0

    01 d d 0

    11 d 0 0

    10 0 0 0

    S2

    y1y2 x1 x2 x3

    00 0 d d

    01 0 0 1

    11 0 1 1

    10 d d d

    R2

    12211

    2121

    yxyxR

    yyxS

    3121

    112

    xyxR

    yxS

    Syaiful AndyTextboxUntuk S1y1 Y1 0--> 0 disini yang perlu kita lihat adalah Y1 dan y1 pada tabel Y1 . Karena output 0, dan y1 0, maka pada tabel karakteristik SR, kemungkinanya adalah Q(t) dan 0, berarti dua2nya itu Snya 0. PADA tabel karakteristik SR, lihat saja Q(t+1) biar tidak bingung

    Syaiful AndyTextboxS R Q (t+1)0 0 Q(t)0 1 01 0 11 1 dGunakanlah Gated SR Latch

    Syaiful AndyTextboxy1 Y1 S1 R1 0 0 0 d 0 1 1 0 1 0 0 11 1 d 0

  • Step 5

    y1y2 x1 x2 x3 z

    00 01 00 00 0

    01 01 11 00 0

    11 01 00 10 0

    10 10 00 10 1

    Y1Y2

    21yyz

    Syaiful AndyTextboxMembuat persamaan z disini (Moore machine) dengan melihat kombinasi y1y2 yang membuat z=1--> karena Moore itu OUTPUT -nya hanya bergantung dari present state (y1y2).

  • Step 6

    12211

    2121

    yxyxR

    yyxS

    3121

    112

    xyxR

    yxS

    21yyz

    Q

    QSET

    CLR

    S

    R

    Q

    QSET

    CLR

    S

    R

    x1

    x2

    x3

    z

  • Analysis Fundamental-Mode Asynch. Circuit

    Assumptions

    Fundamental Mode Input changes only when the machine is in a stable state.

    Normal Fundamental Mode A single input change occurring when the machine is in a stable state produces a single output change

    This type of circuit is most difficult to analyze

    Syaiful AndyTextboxAsumsi:Fundamental mode--> Input berubah hanya saat machine sudah stabil (stable state).Klo normal--> kondisi khusus, yaitu single input yang berubah untuk single output.

  • Introduction to Fundamental mode

    x=(x1, , xn) : input state

    y =(y1, , yr) : secondary state

    z=(z1, , zm) : output state

    Y=(Y1, , Yr) : excitation state

    (x,y) : total state

    y1 Yryr Y1

    Delay, t

    Combinational logic

    Fundamental Mode circuit model

    x1 z1

    xn zm

    ttt

    ttt

    ttt

    Yy

    yxhY

    yxgz

    ),(

    ),(

    present state

    next state

    Syaiful AndyTextboxpresent state setelah ditambah delay akan sama dengan Next state.

  • Example

    Set of equations

    Delay

    dt

    x1

    x2z

    ttt

    tt

    tttttttt

    Yy

    zY

    yxxxyxxgz

    22121 ),,(

    x1

    x2

    y

    z=Y

    t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15

    Unstable at t3 (y Y)

    tunggu delta t dlu

    t5 jga unstablez tdk ada delay

  • Tabular Representation

    Excitation Table

    Excitation state and output

    It is a function of total space (x1, ,xn, y1, , yr)

    K-map of

    Row of secondary state

    Column of unique input state

    ttt

    tt

    tttttttt

    Yy

    zY

    yxxxyxxgz

    22121 ),,( y\x1x2 00 01 11 10

    0 0/0 0/0 1/1 0/0

    1 1/1 0/0 1/1 1/1

    next state: excitation

  • Tabular Representation

    Flow Table

    Replace the secondary state and excitation state by letters or nonbinary characters

    It represents the behavior of the circuit but does not specify the realization of the circuit

    y\x1x2 00 01 11 10

    0 0/0 0/0 1/1 0/0

    1 1/1 0/0 1/1 1/1

    y\x1x2 00 01 11 10

    a a/0 a/0 b/1 a/0

    b b/1 a/0 b/1 b/1

  • Tabular Representation

    Flow Table Can be used to determine

    the output behavior given an input sequence

    Input change produce horizontal movement

    State changes produce vertical movement

    y\x1x2 00 01 11 10

    a a/0 a/0 b/1 a/0

    b b/1 a/0 b/1 b/1

    x1

    x2

    y

    z=Y

    t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15

    t1 t2t3

    t4t5

    t6t7

    stable. dlm flow table saat input 00

    perhtikan dr t3 ke t4perubahan dr unstable ke stable-> gnti state

  • Analysis of Fundamental-Mode Asynch. Circuit

    Determine the excitation and output equations from the circuit diagram

    Plot the excitation and output K-map for Y and z and from these K-map construct the excitation table

    Locate and circle all stable state in the excitation table

    Assign a unique nonbinary symbol for each row of the excitation table.

    Construct the flow table

  • Example

    Step 1

    1

    12

    21

    yxz

    yxY

    yxY

    Delay

    dt

    x z

    Delay

    dt

    Y2

    Y1

    y2

    y1

  • Example

    Step 2

    y1y2\x 0 1

    00 1 0

    01 0 0

    11 0 0

    10 1 0

    Y1y1y2\x 0 1

    00 0 1

    01 0 1

    11 0 0

    10 0 0

    Y2y1y2\x 0 1

    00 0 0

    01 0 0

    11 1 0

    10 1 0

    z

    y1y2\x 0 1

    00 10/0 01/0

    01 00/0 01/0

    11 00/1 00/0

    10 10/1 00/0

    Y1 Y2/z

    y1y2\x 0 1

    1 3/0 2/0

    2 1/0 2/0

    4 1/1 1/0

    3 3/1 1/0

    Y1 Y2/z

    y1y2\x 0 1

    1 3/0 2/0

    2 1/0 2/0

    3 3/1 1/0

    4 1/1 1/0

    Y1 Y2/z

    1

    12

    21

    yxz

    yxY

    yxY

  • y1y2\x 0 1

    00 10/0 01/0

    01 00/0 01/0

    11 00/1 00/0

    10 10/1 00/0

    Example

    Timing Diagram

    y1y2\x 0 1

    00 10/0 01/0

    01 00/0 01/0

    11 00/1 00/0

    10 10/1 00/0

    Y1 Y2/z

    Y1 Y2/z

    x

    y1

    y2

    Y1

    Y2

    z

    dt dt

    Start from (2) and input changes from 1 to 0

    State (2) 1 (3)

  • Example

    Step 1

    Let Q0 be state when y1 = 0 and Q1 be state when y1 = 1.

    12

    111

    1221112

    1121121

    )(

    )())((

    yz

    yxz

    yxxxyxx

    yxxyxxY

    x1 z1

    Delay

    dt

    z2

    Y1y1

    x2

  • Example

    Step 2 through 5

    Let Q0 be state when y1 = 0 and Q1 be state when y1 = 1.

    y1\x1 x2 00 01 11 10

    0 0 0 0 1

    1 1 0 0 1

    Y1

    y1\x1 x2 00 01 11 10

    0 0 0 0 0

    1 1 1 1 1

    z1

    y1\x1 x2 00 01 11 10

    0 1 1 0 0

    1 0 0 0 0

    z2

    Present State

    Input x1,x2

    00 01 11 10

    Q0 Q0,10 Q0,10 Q0,00 Q1,00

    Q1 Q1,01 Q0,01 Q0,01 Q1,01

    z1z2

    x1 z1

    Delay

    dt

    z2

    Y1y1

    x2

  • Do it Yourself

    Analyze this circuit!

    Q

    QSET

    CLR

    S

    R

    Q

    QSET

    CLR

    S

    R

    x1

    x1

    x1

    x1x2

    x1x2

    x1

    z

    Q1

    Q2

  • Example (Excitation Table)

    1 1 2

    1 1 2

    2 1 2 1

    1 1 2 1 1

    S x Q

    R x Q

    S x x Q

    R x x x Q

    1 2 1 2z QQ xQ

    Present State (Q1Q2)

    Excitation(S1R1,S2R2)

    Output(z)

    Inputs State (x1x2) Inputs State (x1x2)

    00 01 10 11 00 01 10 11

    00 00,01 00,01 10,00 10,00 0 0 1 1

    01 00,01 00,01 01,00 01,00 0 0 0 0

    10 00,01 00,10 10,00 10,00 1 1 1 1

    11 00,01 00,10 01,00 01,00 0 0 0 0

  • Example (Transition Table)

    Present State (Q1Q2)

    Next State(Q+1Q

    +2)

    Output(z)

    Inputs State (x1x2) Inputs State (x1x2)

    00 01 10 11 00 01 10 11

    00 00 00 10 10 0 0 1 1

    01 00 00 01 01 0 0 0 0

    10 10 11 10 10 1 1 1 1

    11 10 11 01 01 0 0 0 0

  • Example (State Table)

    Present State (Q1Q2)

    Next State(Q+1Q

    +2)

    Output(z)

    Inputs State (x1x2) Inputs State (x1x2)

    00 01 10 11 00 01 10 11

    00 A A A C C 0 0 1 1

    01 B A A B B 0 0 0 0

    10 C C D C C 1 1 1 1

    11 D C D B B 0 0 0 0

  • Example (Flow Table)

    Present State (Q1Q2)

    Next State(Q+1Q

    +2)

    Output(z)

    Inputs State (x1x2) Inputs State (x1x2)

    00 01 10 11 00 01 10 11

    A A A C C 0 0 - -

    B A A B B - - 0 0

    C C D C C 1 - 1 1

    D C D - B - 0 - -

  • Tables, tables and tables.

    Excitation table

    Transition Table

    State Table

    Flow Table

    Careful with unreachable state because input is restricted

    Output only at stable state

  • Design of Fundamental-Mode Circuit

    Step 1. Construct a primitive flow table from word description of the problem

    Step 2. Derive a reduced primitive flow table

    Step 3. Make secondary state assignment

    Step 4. Construct excitation table and output table

    Step 5. Determine the logic equations for each state variable and output state variable

    Step 6. Realize the logic equation with the appropriate logic devices

    A primitive flow table is a flow table that contains only one stable state per row

  • Example

    A two input (x1,x2) and one output (z) asynchronous sequential circuit is to be designed to meet the following specifications. 1. Whenever x1 = 0, z = 0.

    2. The first change to input x2 that occurs while x1 = 1 must cause the output to become z = 1.

    3. A z = 1 output must not change to z = 0 until x1 = 0.

    A typical input-output response of the desired circuit is shown below.

    x1

    x2

    z

  • Example

    Step 1. Create a primitive table that satisfy the requirement of the circuit.

    Note:

    Given only one stable state then we can only have 2 other unstable state and one unspecified state.

    x1

    x2

    z

  • Example

    Possible input x1x2 = 00

    Since the circuit is operating on fundamental mode, then there must be a stable state at x1x2 = 00

    Create a state a in the next state at 00 column.

    Circle it because it must be stable.

    Since z = 0 when x1 = 0, then the output is set to 0

    Present State

    Next State, Output

    00 01 10 11

    a a,0

  • Example At state (a),

    Since there can be only one stable state in each row, this implies that x1x2 = 11 can not follow x1x2 = 00.

    Place -,- at column x1x2 = 11

    When x1x2 = 01, the next state must be an

    unstable state, named b with output.

    We must add a new row for state b, where b is stable for x1x2 = 01

    Since z = 0 for x1 = 0 then the output is zero

    Present State

    Next State, Output

    00 01 10 11

    a a,0 b,- c,- -,-

    b b,0

    c c,0

    When x1x2 = 10, the next state must be an

    unstable state, named c with output.

    We must add a new row for state b, where c is stable for x1x2 = 10

    For x1 = 1, x2 must change thus the output is 0

  • Example At state (b),

    x1x2 = 10 can not follow x1x2= 01.

    Place -,- at column x1x2 = 10

    When x1x2 = 00,

    the next state must be an unstable state

    For x1x2 = 00, we already have a stable state (a). We must consider this.

    From specification, z=0 when x1 = 0, thus go to a with - output

    Present State

    Next State, Output

    00 01 10 11

    a a,0 b,- c,- -,-

    b a,- b,0 -,- d,-

    c c,0

    d d,0

    When x1x2 = 11, the next state must be an

    unstable state, named d with output.

    We must add a new row for state d, where d is stable for x1x2 = 11

    For x1 = 1, x2 must change thus the output is 0

  • Example At state (c),

    x1x2 = 01 can not follow x1x2 = 10. Place -,- at column x1x2 = 01

    When x1x2 = 00, From specification, z=0 when x1

    = 0, thus go to a with - output

    When x1x2 = 11, Already have a stable state (d),

    we must consider this. For x1 = 1, x2 changes from 0 to 1

    thus the output must be 1. Thus we can not go to state (d)

    the next state must be a new unstable state, named e with output.

    We must add a new row for state e, where e is stable for x1x2 = 11 and the output is 1

    Present State

    Next State, Output

    00 01 10 11

    a a,0 b,- c,- -,-

    b a,- b,0 -,- d,-

    c a,- -,- c,0 e,-

    d d,0

    e e,1

  • Example At state (d),

    x1x2 = 00 can not follow x1x2 = 11. Place -,- at column x1x2 = 00

    When x1x2 = 01, From specification, z=0 when x1

    = 0, thus go to b with - output

    When x1x2 = 10, Already have a stable state (c),

    we must consider this. For x1 = 1, x2 changes from 1 to 0

    thus the output must be 1. Thus we can not go to state (c)

    the next state must be a new unstable state, named f with output.

    We must add a new row for state f, where f is stable for x1x2 = 10 and the output is 1

    Present State

    Next State, Output

    00 01 10 11

    a a,0 b,- c,- -,-

    b a,- b,0 -,- d,-

    c a,- -,- c,0 e,-

    d -,- b,- f,- d,0

    e e,1

    f f,1

  • Example At state (e),

    x1x2 = 00 can not follow x1x2 = 11.

    Place -,- at column x1x2 = 00

    When x1x2 = 01, From specification, z=0 when

    x1 = 0, thus go to b with -output

    When x1x2 = 10, Already have a stable state (c)

    and (f), we must consider this.

    For x1 = 1, x2 changes from 1 to 0 thus the output must be 1. Thus we can not go to state (c)

    the next state must be unstable state f with output.

    Present State

    Next State, Output

    00 01 10 11

    a a,0 b,- c,- -,-

    b a,- b,0 -,- d,-

    c a,- -,- c,0 e,-

    d -,- b,- f,- d,0

    e -,- b,- f,- e,1

    f f,1

  • Example At state (f),

    x1x2 = 01 can not follow x1x2 = 10.

    Place -,- at column x1x2 = 01

    When x1x2 = 00, From specification, z=0 when

    x1 = 0, thus go to a with -output

    When x1x2 = 11, Already have a stable state (d)

    and (e), we must consider this.

    For x1 = 1, x2 changes from 0 to 1 thus the output must be 1. Thus we can not go to state (d)

    the next state must be unstable state e with output.

    Present State

    Next State, Output

    00 01 10 11

    a a,0 b,- c,- -,-

    b a,- b,0 -,- d,-

    c a,- -,- c,0 e,-

    d -,- b,- f,- d,0

    e -,- b,- f,- e,1

    f a,- -,- f,1 e,-

  • Example

    Step 2. Reduce primitive flow table

    It is an incompletely specified machine.

    Start with implication chart to produce compatible pairs

    Determine maximal compatibles

    Determine minimal collection of maximal compatibles

    Reduction of input-restricted flow table

    Dashed entries are allowed to take different values

  • Implication chart

    Find compatible pairs

    Present State

    Next State, Output

    00 01 10 11

    a a,0 b,- c,- -,-

    b a,- b,0 -,- d,-

    c a,- -,- c,0 e,-

    d -,- b,- f,- d,0

    e -,- b,- f,- e,1

    f a,- -,- f,1 e,-

    cf

    cf

    cf

    b

    c

    d

    e

    f

    de

    de

    de

    cfde

    cf

    de

    a b c d e

  • Implication chart

    Determine Maximal Compatible

    cf

    cf

    cf

    b

    c

    d

    e

    f

    de

    de

    de

    cfde

    cf

    de

    a b c d e

    Column List of Compatible Classes

    e {e,f}

    d {e,f}

    c {e,f}

    b {e,f}, {b,d}

    a {e,f}, {b,d},{a,b},{a,c}

    No single state is added since

    every state already appear at least

    once.

  • Implication chart

    Determine minimal collection of maximal compatible

    Apply the concept of prime-implicant to reduce flow table

    Column List of Compatible Classes

    e {e,f}

    d {e,f}

    c {e,f}

    b {e,f}, {b,d}

    a {e,f}, {b,d},{a,b},{a,c}

    a b c d e f

    {a,b} x x

    {a,c} x x *

    {b,d} x x *

    {e,f} x x *

    Minimal collection of MC is {a,c} {b,d} {e,f}

  • Constructing Minimal Row Flow Table

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Present State

    Next State, Output

    00 01 10 11

    a a,0 b,- c,- -,-

    b a,- b,0 -,- d,-

    c a,- -,- c,0 e,-

    d -,- b,- f,- d,0

    e -,- b,- f,- e,1

    f a,- -,- f,1 e,-

    sblm diminimisasi output jgn diassign dlu

  • Secondary State Assignment

    Step 3. State Assignment

    The goal is to avoid race

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    State Assignment Possibility

    (,) (,) (,)

    Choose!

    (,) (,)

    y1\y2 0 1

    0

    1

    Assignment

    : 00

    : 11

    : 10

  • Constructing State Transition Table (Step 4)

    Replace all stable state with its assignment

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Assignment

    : 00

    : 11

    : 10

    Present State

    Next State

    00 01 10 11

    : 00 00,0 00,0

    : 11 11,0 11,0

    : 10 10,1 10,1

    ingat, untuk transition jgn sampe ada races... pd 11 ke 00

  • Constructing State Transition Table

    Now we need to replace the unstable states

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Assignment

    : 00

    : 11

    : 10

    Present State

    Next State

    00 01 10 11

    : 00 00,0 00,0

    : 11 10,- 11,0 11,0

    : 10 00,- 10,1 10,1

    Remember if a state changes

    more than 1 bit at a time we have a race

    Input 00:

    Total State (00,11) (00,00)

    Create a cycle

    (00,11) (00,10) (00,00)

  • Constructing State Transition Table

    Now we need to replace the unstable states

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Assignment

    : 00

    : 11

    : 10

    Present State

    Next State

    00 01 10 11

    : 00 00,0 10,- 00,0

    : 11 10,- 11,0 11,0

    : 10 00,- 11,- 10,1 10,1

    Remember if a state changes

    more than 1 bit at a time we have a race

    Input 01:

    Total State (01,00) (01,11)

    Create a cycle

    (01,00) (01,10) (01,11)

  • Constructing State Transition Table

    Now we need to replace the unstable states

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Assignment

    : 00

    : 11

    : 10

    Present State

    Next State

    00 01 10 11

    : 00 00,0 10,- 00,0

    : 11 10,- 11,0 10,- 11,0

    : 10 00,- 11,- 10,1 10,1

    Remember if a state changes

    more than 1 bit at a time we have a race

    Input 10:

    Total State (10,11) (10,10)

    No problem here!

    Only 1 bit need to change

  • Constructing State Transition Table

    Now we need to replace the unstable states

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Assignment

    : 00

    : 11

    : 10

    Present State

    Next State

    00 01 10 11

    : 00 00,0 10,- 00,0 10,-

    : 11 10,- 11,0 10,- 11,0

    : 10 00,- 11,- 10,1 10,1

    Remember if a state changes

    more than 1 bit at a time we have a race

    Input 11:

    Total State (11,00) (11,10)

    No problem here!

    Only 1 bit need to change

  • Constructing State Transition Table (variant 1)

    Used the unused state 01

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Assignment

    : 00

    : 11

    : 10

    Present State

    Next State

    00 01 10 11

    : 00 00,0 00,0

    : 11 01,- 11,0 11,0

    : 10 00,- 10,1 10,1

    01 00,-

    Input 00:

    Total State (00,11) (00,00)

    Create a cycle

    (00,11) (00,01) (00,00)

    cara laiinnn pake unused

  • Constructing State Transition Table (variant 1)

    Used the unused state 01

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Assignment

    : 00

    : 11

    : 10

    Present State

    Next State

    00 01 10 11

    : 00 00,0 01,- 00,0 10,-

    : 11 01,- 11,0 10,- 11,0

    : 10 00,- 11,- 10,1 10,1

    01 00,- 11,-

    Input 01:

    Total State (01,00) (01,11)

    Create a cycle

    (01,00) (01,01) (01,00)

    All other inputs are the same as

    before!

  • Constructing State Transition Table (variant 2)

    Create non-critical race

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Assignment

    : 00

    : 11

    : 10

    Present State

    Next State

    00 01 10 11

    : 00 00,0 00,0

    : 11 00,- 11,0 11,0

    : 10 00,- 10,1 10,1

    01 00,-

    Input 00:

    Total State (00,11) (00,00)

    Non critical race

    (00,11) (00,01) (00,00)

    (00,11) (00,10) (00,00)

  • Constructing State Transition Table (variant 2)

    Create non-critical race

    Present State

    Next State

    00 01 10 11

    {a,c} : ,0 ,- ,0 ,-

    {b,d} : ,- ,0 ,- ,0

    {e,f} : ,- ,- ,1 ,1

    Assignment

    : 00

    : 11

    : 10

    Present State

    Next State

    00 01 10 11

    : 00 00,0 11,- 00,0 10,-

    : 11 00,- 11,0 10,- 11,0

    : 10 00,- 11,- 10,1 10,1

    01 00,- 11,-

    Input 01:

    Total State (01,00) (01,11)

    Non critical race

    (01,00) (01,01) (01,11)

    (01,00) (01,10) (01,11)

    All other input are the same!

  • Constructing State Transition Table (output)

    Now we need to set the output of the unstable states

    If for some stable state the output is 0 and after input changes the resulting stable state the output is 0, then all unstable state that might be encountered during the time between the two stable state must have an output of 0.

    The same for stable state with output of 1.

    Present State

    Next State

    00 01 10 11

    : 00 00,0 10,0 00,0 10,-

    : 11 10,0 11,0 10,- 11,0

    : 10 00,0 11,0 10,1 10,1

    The unstable state (01,00) is

    reachable from (00,00) having an

    output 0 and eventually reaches

    (01,11) which also have an output

    of 0 then (01,00) must have an

    output of 0.

    The same for (00,11), (00,10) and

    (01,10)

    klo output dr stable state ke state yg lain itu sama, maka transition output kita set sama dgn yg stableklo beda, set dont care

  • Constructing State Transition Table (output)

    What about the others?

    Consider (11,11) (10,11) (10,10) (11,11) have an output of 0

    (10,10) have an output of 1

    The output of (10,11) can be left unspecified (dont care) as it provides more flexibility in implementation as it does not violates that no more than a single output can change.

    Present State

    Next State

    00 01 10 11

    : 00 00,0 10,0 00,0 10,-

    : 11 10,0 11,0 10,- 11,0

    : 10 00,0 11,0 10,1 10,1

    Note: no more than a single output

    can change at a time!

    You can do the same for variant 1

    and 2

  • Determine Logic Equations (Step 5)

    Present State y1y2

    Next State Y1Y2,z

    00 01 10 11

    : 00 00,0 10,0 00,0 10,-

    : 11 10,0 11,0 10,- 11,0

    : 10 00,0 11,0 10,1 10,1

    y1y2\x1x2 00 01 11 10

    00 0 1 1 0

    01 - - - -

    11 1 1 1 1

    10 0 1 1 1

    Y1

    y1y2\x1x2 00 01 11 10

    00 0 0 0 0

    01 - - - -

    11 0 1 1 0

    10 0 1 0 0

    Y2

    y1y2\x1x2 00 01 11 10

    00 0 0 - 0

    01 - - - -

    11 0 0 0 -

    10 0 0 1 1

    z

    11221 yxyxY 121222 yxxyxY

    211 yyxz

    dibuat dont care biar bsa disederhanakan

  • Realize logic equation (Step 6)

    11221 yxyxY

    121222 yxxyxY

    211 yyxz

    Delay

    dt

    Delay

    dt

    Y2

    Y1

    y1

    y2

    x1

    x2

    z

  • Realize logic equation (Step 6)

    With SR Latch?

    11221 yxyxY

    121222 yxxyxY

    211 yyxz

    SR Excitation Property

    00 SR 0d

    01 SR 10

    10 SR 01

    11 SR d0

    Present State y1y2

    Next State Y1Y2,z

    00 01 10 11

    : 00 00,0 10,0 00,0 10,-

    : 11 10,0 11,0 10,- 11,0

    : 10 00,0 11,0 10,1 10,1

    Present State y1y2

    Next State (S1R1,S2R2),z

    00 01 10 11

    : 00 (0d,0d),0 (10,0d),0 (0d,0d),0 (10,0d),d

    : 11 (d0,01),0 (d0,d0),0 (d0,01),d (d0,d0),0

    : 10 (01,0d),0 (d0,10),0 (d0,0d),1 (d0,0d),1

  • Realize logic equation (Step 6)

    Present State y1y2

    Next State (S1R1,S2R2),z

    00 01 10 11

    : 00 (0d,0d),0 (10,0d),0 (0d,0d),0 (10,0d),d

    : 11 (d0,01),0 (d0,d0),0 (d0,01),d (d0,d0),0

    : 10 (01,0d),0 (d0,10),0 (d0,0d),1 (d0,0d),1

    y1y2\x1x2 00 01 11 10

    00 0 1 1 0

    01 d d d d

    11 d d d d

    10 0 d d d

    S1

    21 xS

    y1y2\x1x2 00 01 11 10

    00 d 0 0 d

    01 d d d d

    11 0 0 0 0

    10 1 0 0 0

    R1

    2211 yxxR

  • Realize logic equation (Step 6)

    Present State y1y2

    Next State (S1R1,S2R2),z

    00 01 10 11

    : 00 (0d,0d),0 (10,0d),0 (0d,0d),0 (10,0d),d

    : 11 (d0,01),0 (d0,d0),0 (d0,01),d (d0,d0),0

    : 10 (01,0d),0 (d0,10),0 (d0,0d),1 (d0,0d),1

    y1y2\x1x2 00 01 11 10

    00 0 0 0 0

    01 d d d d

    11 0 d d 0

    10 0 1 0 0

    S2

    1212 yxxS

    y1y2\x1x2 00 01 11 10

    00 d d d d

    01 d d d d

    11 1 0 0 1

    10 d 0 d d

    R2

    22 xR

  • Realize logic equation (Step 6)

    21 xS

    2211 yxxR

    1212 yxxS

    22 xR

    211 yyxz

    Q

    QSET

    CLR

    S

    R

    Q

    QSET

    CLR

    S

    R

    zx1

    x2

  • Do it yourself

    Design a two input (x1, x2) and two output (z1,z2) circuit where,

    z1z2 =00 when x1x2=00

    Output 10 will be produced following the occurrence of 00-01-11 input sequence, and the output goes back to 00 after a 00 input.

    Output 01 will be produced following the occurrence of 00-10-11 input sequence, and the output goes back to 00 after a 00 input.

  • Step 1: Construct Primitive Flow Table

    Present State

    Input State (x1 x2)

    00 01 11 10

    a a/00 b/-- -/-- c/--

    b a/-- b/00 d/-- -/--

    c a/-- -/-- e/-- c/00

    d -/-- f/-- d/10 g/--

    e -/-- h/-- e/01 i/--

    f a/-- f/10 d/-- -/--

    g a/-- -/-- d/-- g/10

    h a/-- h/01 e/-- -/--

    i a/-- -/-- e/-- i/01

    Present State

    Input State (x1 x2)

    00 01 11 10

    a a/00 b/00 -/-- c/00

    b a/00 b/00 d/-0 -/--

    c a/00 -/-- e/0- c/00

    d -/-- f/10 d/10 g/10

    e -/-- h/01 e/01 i/01

    f a/-0 f/10 d/10 -/--

    g a/-0 -/-- d/10 g/10

    h a/0- h/01 e/01 -/--

    i a/0- -/-- e/01 i/01

    It might be easier if we assigned the output of the unstable states.

    So that we correctly reduced the flow table.

  • Step 2: Construct Implication chart

    Present State

    Input State (x1 x2)

    00 01 11 10

    a a/00 b/00 -/-- c/00

    b a/00 b/00 d/-0 -/--

    c a/00 -/-- e/0- c/00

    d -/-- f/10 d/10 g/10

    e -/-- h/01 e/01 i/01

    f a/-0 f/10 d/10 -/--

    g a/-0 -/-- d/10 g/10

    h a/0- h/01 e/01 -/--

    i a/0- -/-- e/01 i/01

    e

    f

    g

    h

    i

    a b c d e f g h

    d

    c

    b

    de

  • Step 2: Find Maximal Compatibles

    e

    f

    g

    h

    i

    a b c d e f g h

    d

    c

    b

    de

    column List of Maximal Compatible

    h {h,i}

    g {h,i}

    f {h,i}{f,g}

    e {e,h,i}{f,g}

    d {e,h,i}{d,f,g}

    c {e,h,i}{d,f,g}{c,h}

    b {e,h,i}{d,f,g}{c,h}{b,g}

    a {e,h,i}{d,f,g}{c,h}{b,g}{a,b}{a,c}

    ab ac tidak bsa digabung pada asynchronous, kurang bc

  • Step 2: Merger Diagram

    column List of Maximal Compatible

    h {h,i}

    g {h,i}

    f {h,i}{f,g}

    e {e,h,i}{f,g}

    d {e,h,i}{d,f,g}

    c {e,h,i}{d,f,g}{c,h}

    b {e,h,i}{d,f,g}{c,h}{b,g}

    a {e,h,i}{d,f,g}{c,h}{b,g}{a,b}{a,c}

    a

    b

    c

    d

    ef

    g

    h

    i

    Minimal cover : {e,h,i}{d,f,g}{a,b}{a,c}

    Reassignment: {a,b}

    {d,f,g}

    {a,c}

    {e,h,i}

    kaya distrukdis

    2 states

    3 states

    4 states

  • Step 2: Reduced Flow Table

    Reassignment: {a,b}

    {d,f,g}

    {a,c}

    {e,h,i}

    Present State

    Input State (x1 x2)

    00 01 11 10

    /00 /00 /-0 /00

    /-0 /10 /10 /10

    /00 /00 /0- /00

    /0- /01 /01 /01

    Row 1 includes two states and .

    Any unstable state could go to either one of them.

    Present State

    Input State (x1 x2)

    00 01 11 10

    a a/00 b/00 -/-- c/00

    b a/00 b/00 d/-0 -/--

    c a/00 -/-- e/0- c/00

    d -/-- f/10 d/10 g/10

    e -/-- h/01 e/01 i/01

    f a/-0 f/10 d/10 -/--

    g a/-0 -/-- d/10 g/10

    h a/0- h/01 e/01 -/--

    i a/0- -/-- e/01 i/01

  • Step 3: Secondary State Assignment

    Assignment: 00

    01

    10

    11Present State

    Input State (x1 x2)

    00 01 11 10

    /00 /00 /-0 /00

    /-0 /10 /10 /10

    /00 /00 /0- /00

    /0- /01 /01 /01

    Look at row 4 column 1,

    transition from (11 00)

    Need to change (11 10)

    0 1

    0

    1

    Present State

    Input State (x1 x2)

    00 01 11 10

    /00 /00 /-0 /00

    /-0 /10 /10 /10

    /00 /00 /0- /00

    /0- /01 /01 /01

    tdk ada races pd psi.. jd lbh aman drpd ke alfa

  • Step 4: Constructing Transition Table

    Assignment: 00

    01

    10

    11PS (y1 y2)

    Input State (x1 x2)

    00 01 11 10

    00 00/00 00/00 01/-0 10/00

    01 00/-0 01/10 01/10 01/10

    10 10/00 00/00 11/0- 10/00

    11 10/0- 11/01 11/01 11/01

    0 1

    0

    1

    Present State

    Input State (x1 x2)

    00 01 11 10

    /00 /00 /-0 /00

    /-0 /10 /10 /10

    /00 /00 /0- /00

    /0- /01 /01 /01

  • Step 4: Constructing Excitation and Output Table

    PS (y1 y2)

    Next State (Y1 Y2)

    00 01 11 10

    00 00 00 01 10

    01 00 01 01 01

    10 10 00 11 10

    11 10 11 11 11

    Output (z1 z2)

    00 01 11 10

    00 00 -0 00

    -0 10 10 10

    00 00 0- 00

    0- 01 01 01

    pd asynchronous pakenya srsynchron pk d flipflop

  • Step 5: Next State and Output Equations

    y2

    y1

    00 01 11 10

    00

    01

    11

    10

    0 0 0 1

    0 0 0 0

    1 1 1 1

    1 0 1 1

    x 1x

    2y2

    y1

    00 01 11 10

    00

    01

    11

    10

    0 0 1 0

    0 1 1 1

    0 1 1 1

    0 0 1 0

    x 1x

    2

    Y1

    Y2

    y2

    y1

    00 01 11 10

    00

    01

    11

    10

    0 0 d 0

    d 1 1 1

    0 0 0 0

    0 0 0 0

    x 1x

    2

    z1

    y2

    y1

    00 01 11 10

    00

    01

    11

    10

    0 0 0 0

    0 0 0 0

    d 1 1 1

    0 0 d 0

    x 1x

    2

    z2

    1 1 2 1 1 2 1 1 2 2

    2 1 2 1 2 2 2

    Y y y x y x y x x y

    Y x x x y x y

    1 1 2

    2 1 2

    z y y

    z y y