+ All Categories
Home > Documents > ENGR 303 Introduction to Logic Design Lecture 15–Mealy FSM: outputs depend on current state and...

ENGR 303 Introduction to Logic Design Lecture 15–Mealy FSM: outputs depend on current state and...

Date post: 30-Jan-2021
Category:
Upload: others
View: 3 times
Download: 1 times
Share this document with a friend
20
ENGR 303 – Introduction to Logic Design Lecture 15 Dr. Chuck Brown Engineering and Computer Information Science Folsom Lake College
Transcript
  • ENGR 303 – Introduction to Logic Design Lecture 15

    Dr. Chuck BrownEngineering and Computer Information Science

    Folsom Lake College

  • • Synchronous Sequential Logic Design

    • Finite State Machines

    Outline for Todays Lecture

    ENGR 303

  • • Breaks cyclic paths by inserting registers

    • State changes at clock edge: system synchronized to the

    clock

    • Rules of synchronous sequential circuit composition:

    – Every circuit element is either a register or a combinational circuit

    – At least one circuit element is a register

    – All registers receive the same clock signal

    – Every cyclic path contains at least one register

    • Two common synchronous sequential circuits

    – Finite State Machines (FSMs), Pipelines

    Synchronous Sequential Logic Design

    ENGR 303

  • Next

    State

    Current

    State

    S’ S

    CLK

    CL

    Next State

    Logic

    Next

    StateCL

    Output

    Logic

    Outputs

    • Consists of:

    – State register

    • Stores current state, Q

    • Loads next state at clock edge, D → Q

    – Combinational logic

    • Computes the next state

    • Computes the outputs

    Finite State Machine (FSM)

    ENGR 303

    D Q

  • ENGR 303

    Examples of Finite State Machines

    • Vending Machine

    • Combination Lock

    • Elevator Controller

    • Light Controller

    • Alarm System

    • Pattern Recognition

    • Network Controller

    • Interface Controller

    • and more

  • CLKM Nk knext

    state

    logic

    output

    logic

    Moore FSM

    CLKM Nk knext

    state

    logic

    output

    logic

    inputs

    inputs

    outputs

    outputsstate

    statenext

    state

    next

    state

    Mealy FSM

    • Next state determined by current state and inputs

    • Two types of finite state machines differ in output logic:

    – Moore FSM: outputs depend only on current state

    – Mealy FSM: outputs depend on current state and inputs

    Types Finite State Machines (FSMs)

    ENGR 303

  • TA

    LA

    TA

    LB

    TB

    TB

    LA

    LB

    Academic Ave.

    Bra

    vado

    Blv

    d.

    Dorms

    Fields

    Dining

    Hall

    Labs

    • Traffic light controller

    – Traffic sensors: TA, TB (TRUE when there’s traffic)

    – Lights: LA, LB

    FSM Example

    ENGR 303

  • TA

    TB

    LA

    LB

    CLK

    Reset

    Traffic

    Light

    Controller

    • Inputs: CLK, Reset, TA, TB

    • Outputs: LA, LB

    FSM Black Box

    ENGR 303

  • S0

    LA: green

    LB: red

    Reset

    • Moore FSM: outputs labeled in each state

    • States: Circles

    • Transitions: Arcs

    FSM State Transition Diagram

    ENGR 303

  • • Moore FSM: outputs labeled in each state

    • States: Circles

    • Transitions: Arcs

    1. FSM State Transition Diagram

    ENGR 303

    S0

    LA: green

    LB: red

    S1

    LA: yellow

    LB: red

    S3

    LA: red

    LB: yellow

    S2

    LA: red

    LB: green

    TA

    TA

    TB

    TB

    Reset

    =00 =01

    =10=11

    Outputs(Lights LA, LB)

    State(S0, S1)

    Inputs(Traffic Sensors TA, TB)

  • Current State Inputs Next State

    S1 S0 TA TB DS1 DS0

    0 0 0 0

    0 0 0 1

    0 0 1 0

    0 0 1 1

    0 1 0 0

    0 1 0 1

    0 1 1 0

    0 1 1 1

    1 0 0 0

    1 0 0 1

    1 0 1 0

    1 0 1 1

    1 1 0 0

    1 1 0 1

    1 1 1 0

    1 1 1 1

    2. FSM State Transition Table

    ENGR 303

  • Current State Inputs Next State

    S1 S0 TA TB DS1 DS0

    0 0 0 0 0 1

    0 0 0 1 0 1

    0 0 1 0 0 0

    0 0 1 1 0 0

    0 1 0 0 1 0

    0 1 0 1 1 0

    0 1 1 0 1 0

    0 1 1 1 1 0

    1 0 0 0 1 1

    1 0 0 1 1 0

    1 0 1 0 1 1

    1 0 1 1 1 0

    1 1 0 0 0 0

    1 1 0 1 0 0

    1 1 1 0 0 0

    1 1 1 1 0 0

    2. FSM State Transition Table

    ENGR 303

  • DS1 = S1’S0+ S1S0’ = S1 S0

    3. Map FSM Next State Logic

    ENGR 303

    01 1100

    0 0 0 0

    1 1 1 1

    0 0 0 0

    1 1 1 1

    S1S0 10

    00

    01

    11

    10

    DS0 = S1’S0’TA’ + S1S0’TB’

    TATB

    01 1100

    1 1 0 0

    0 0 0 0

    0 0 0 0

    1 0 0 1

    S1S0 10

    00

    01

    11

    10

    TATB

  • Current State Outputs

    S1 S0 LA1 LA0 LB1 LB0

    0 0

    0 1

    1 0

    1 1

    Output Encoding

    green 00

    yellow 01

    red 10

    4. FSM Output Table

    ENGR 303

  • Current State Outputs

    S1 S0 LA1 LA0 LB1 LB0

    0 0 0 0 1 0

    0 1 0 1 1 0

    1 0 1 0 0 0

    1 1 1 0 0 1

    Output Encoding

    green 00

    yellow 01

    red 10

    LA1 = S1

    LA0 = S1’S0

    LB1 = S1’

    LB0 = S1S0

    4. FSM Output Table

    ENGR 303

  • S1

    S0

    S'1

    S'0

    CLK

    state register

    Reset

    r

    5. FSM Logic Design: State Register

    ENGR 303

    DS1

    DS0

    N Flip Flops for 2N states

  • S1

    S0

    S'1

    S'0

    CLK

    next state logic state register

    Reset

    TA

    TB

    inputs

    S1

    S0

    r

    6. FSM Logic Design: Next State Logic

    ENGR 303

    DS1

    DS0

    DS1 = S1’S0+ S1S0’ = S1 S0 DS0 = S1’S0’TA’ + S1S0’TB’

  • S1

    S0

    S'1

    S'0

    CLK

    next state logic output logicstate register

    Reset

    LA1

    LB1

    LB0

    LA0

    TA

    TB

    inputs outputs

    S1

    S0

    r

    7. FSM Logic Design: Output Logic

    ENGR 303

    DS1

    DS0

    LB1 = S1’

    LB0 = S1S0

    LA1 = S1

    LA0 = S1’ S0

  • CLK

    Reset

    TA

    TB

    S'1:0

    S1:0

    LA1:0

    LB1:0

    Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10

    S1 (01) S2 (10) S3 (11) S0 (00)

    t (sec)

    ??

    ??

    S0 (00)

    S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)

    ??

    ??

    0 5 10 15 20 25 30 35 40 45

    Green (00)

    Red (10)

    S0 (00)

    Yellow (01) Red (10) Green (00)

    Green (00) Red (10)Yellow (01)

    S0

    LA: green

    LB: red

    S1

    LA: yellow

    LB: red

    S3

    LA: red

    LB: yellow

    S2

    LA: red

    LB: green

    TA

    TA

    TB

    TB

    Reset

    8. FSM Timing Simulation

    ENGR 303

  • • Binary encoding:

    – i.e., for four states, 00, 01, 10, 11

    • One-hot encoding

    – One state bit per state

    – Only one state bit HIGH at once

    – i.e., for 4 states, 0001, 0010, 0100, 1000

    – Requires more flip-flops

    – Often next state and output logic is simpler

    Improvement FSM State Encoding

    ENGR 303


Recommended