cs 150 - spring 2007 – lec #6: moore and mealy machines - 1 sequential logic implementation...

42
CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation Models for representing sequential circuits Finite-state machines (Moore and Mealy) Representation of memory (states) Changes in state (transitions) Design procedure State diagrams State transition table Next state functions

Upload: everett-austin

Post on 22-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1

Sequential Logic Implementation

Models for representing sequential circuits Finite-state machines (Moore and Mealy) Representation of memory (states) Changes in state (transitions)

Design procedure State diagrams State transition table Next state functions

Page 2: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 2

R S R S R S

D Q D Q D Q D Q

OUT1 OUT2 OUT3 OUT4

CLK

IN1 IN2 IN3 IN4

R S

"0"

Registers

Collections of flip-flops with similar controls and logic Stored values somehow related (e.g., form binary value) Share clock, reset, and set lines Similar logic at each stage

Examples Shift registers Counters

Page 3: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 3

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK

Shift Register

Holds samples of input Store last 4 input values in sequence 4-bit shift register:

Page 4: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 4

Shift Register Verilog

module shift_reg (out4, out3, out2, out1, in, clk); output out4, out3, out2, out1; input in, clk; reg out4, out3, out2, out1;

always @(posedge clk) begin out4 <= out3; out3 <= out2; out2 <= out1; out1 <= in; endendmodule

Page 5: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 5

Shift Register Verilog

module shift_reg (out, in, clk); output [4:1] out; input in, clk; reg [4:1] out;

always @(posedge clk) begin out <= {out[3:1], in}; endendmodule

Page 6: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 6

clear sets the register contentsand output to 0

s1 and s0 determine the shift function

s0 s1 function0 0 hold state0 1 shift right1 0 shift left1 1 load new input

left_inleft_out

right_out

clearright_in

output

input

s0s1

clock

Universal Shift Register

Holds 4 values Serial or parallel inputs Serial or parallel outputs Permits shift left or right Shift in new values from left or right

Page 7: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 7

Nth cell

s0 and s1control mux0 1 2 3

D

Q

CLK

CLEAR

Q[N-1](left)

Q[N+1](right)

Input[N]

to N-1th cell

to N+1th cell

clears0 s1 new value1 – – 00 0 0 output0 0 1 output value of FF to left (shift right)0 1 0 output value of FF to right (shift left)0 1 1 input

Design of Universal Shift Register

Consider one of the four flip-flops New value at next clock cycle:

Page 8: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 8

Universal Shift Register Verilog

module univ_shift (out, lo, ro, in, li, ri, s, clr, clk); output [3:0] out; output lo, ro; input [3:0] in; input [1:0] s; input li, ri, clr, clk; reg [3:0] out;

assign lo = out[3];assign ro = out[0];

always @(posedge clk or clr) begin if (clr) out <= 0; else case (s) 3: out <= in; 2: out <= {out[2:0], ri}; 1: out <= {li, out[3:1]}; 0: out <= out; endcase endendmodule

Page 9: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 11

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK

Counters

Sequences through a fixed set of patterns In this case, 1000, 0100, 0010, 0001 If one of the patterns is its initial state (by loading or

set/reset)

Mobius (or Johnson) counter In this case, 1000, 1100, 1110, 1111, 0111, 0011, 0001,

0000

Page 10: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 12

D Q D Q D Q D Q

OUT1 OUT2 OUT3 OUT4

CLK

"1"

Binary Counter

Logic between registers (not just multiplexer) XOR decides when bit should be toggled Always for low-order bit, only when first bit is true for

second bit, and so on

Page 11: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 13

Binary Counter Verilog

module shift_reg (out4, out3, out2, out1, clk); output out4, out3, out2, out1; input in, clk; reg out4, out3, out2, out1;

always @(posedge clk) begin out4 <= (out1 & out2 & out3) ^ out4; out3 <= (out1 & out2) ^ out3; out2 <= out1 ^ out2; out1 <= out1 ^ 1b’1; endendmodule

Page 12: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 14

Binary Counter Verilog

module shift_reg (out4, out3, out2, out1, clk); output [4:1] out; input in, clk; reg [4:1] out;

always @(posedge clk) out <= out + 1; endmodule

Page 13: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 17

Abstraction of State Elements

Divide circuit into combinational logic and state Localize feedback loops and make it easy to break

cycles Implementation of storage elements leads to various

forms of sequential logic

CombinationalLogic

Storage Elements

Outputs

State OutputsState Inputs

Inputs

Page 14: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 18

Forms of Sequential Logic

Asynchronous sequential logic – state changes occur whenever state inputs change (elements may be simple wires or delay elements)

Synchronous sequential logic – state changes occur in lock step across all storage elements (using a periodic waveform - the clock)

Clock

Page 15: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 19

In = 0

In = 1

In = 0In = 1

100

010

110

111001

Finite State Machine Representations

States: determined by possible values in sequential storage elements

Transitions: change of state Clock: controls when state can change by

controlling storage elements

Sequential Logic Sequences through a series of states Based on sequence of values on input signals Clock period defines elements of sequence

Page 16: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 20

Example Finite State Machine Diagram

Combination lock from first lecture

resetS3

closed

closedmux=C1 equal

& new

not equal& new

not equal& new

not equal& new

not newnot newnot new

S1 S2 OPEN

ERR

closedmux=C2 equal

& new

closedmux=C3 equal

& new

open

Page 17: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 21

Can Any Sequential System be Represented with a State Diagram?

Shift Register Input value shown

on transition arcs Output values shown

within state node

100 110

111

011

101010000

001

0

1

1 1

11

1

1

0

0

0

0 0

1

00

D Q D Q D QIN

OUT1 OUT2 OUT3

CLK

Page 18: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 22

010

100

110

011001

000

101111

3-bit up-counter

Counters are Simple Finite State Machines

Counters Proceed thru well-defined state sequence in response to

enable Many types of counters: binary, BCD, Gray-code

3-bit up-counter: 000, 001, 010, 011, 100, 101, 110, 111, 000, ...

3-bit down-counter: 111, 110, 101, 100, 011, 010, 001, 000, 111, ...

Page 19: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 23

Verilog Upcounter

module binary_cntr (q, clk) inputs clk; outputs [2:0] q; reg [2:0] q; reg [2:0] p;

always @(q) //Calculate next state case (q) 3’b000: p = 3’b001; 3’b001: p = 3’b010; … 3’b111: p = 3’b000; endcase

always @(posedge clk) //next becomes current state q <= p;

endmodule

Page 20: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 24

How Do We Turn a State Diagram into Logic?

Counter Three flip-flops to hold state Logic to compute next state Clock signal controls when flip-flop memory can change

Wait long enough for combinational logic to compute new value

Don't wait too long as that is low performance

D Q D Q D Q

OUT1 OUT2 OUT3

CLK

"1"

Page 21: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 25

FSM Design Procedure

Start with counters Simple because output is just state Simple because no choice of next state based on input

State diagram to state transition table Tabular form of state diagram Like a truth-table

State encoding Decide on representation of states For counters it is simple: just its value

Implementation Flip-flop for each state bit Combinational logic based on encoding

Page 22: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 26

010

100

110

011001

000

101111

3-bit up-counter

current state next state0 000 001 11 001 010 22 010 011 33 011 100 44 100 101 55 101 110 66 110 111 77 111 000 0

FSM Design Procedure: State Diagram to Encoded State Transition Table

Tabular form of state diagram Like a truth-table (specify output for all input

combinations) Encoding of states: easy for counters – just use

value

Page 23: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 27

C3 C2 C1 N3 N2 N10 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 1 1 01 1 0 1 1 11 1 1 0 0 0

N1 := C1'N2 := C1C2' + C1'C2

:= C1 xor C2N3 := C1C2C3' + C1'C3 + C2'C3

:= C1C2C3' + (C1' + C2')C3:= (C1C2) xor C3

notation to showfunction represent input to D-FF

Implementation

D flip-flop for each state bit Combinational logic based on encoding

0 0

0 1

1 1

0 1C1

C2

C3N3

0 1

1 0

1 0

0 1C1

C2

C3N2

1 1

0 0

1 1

0 0C1

C2

C3N1

Page 24: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 28

D Q

Q

Implementation (cont'd)

Programmable Logic Building Block for Sequential Logic Macro-cell: FF + logic

D-FF Two-level logic capability like PAL (e.g., 8 product terms)

Page 25: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 34

State Machine Model

Values stored in registers represent the state of the circuit

Combinational logic computes: Next state

Function of current state and inputs Outputs

Function of current state and inputs (Mealy machine) Function of current state only (Moore machine)

Inputs

Outputs

Next State

Current State

outputlogic

next statelogic

Page 26: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 35

Inputs

Outputs

Next State

Current State

outputlogic

next statelogic

Clock

Next State

State

0 1 2 3 4 5

State Machine Model (cont’d)

States: S1, S2, ..., Sk

Inputs: I1, I2, ..., Im Outputs: O1, O2, ..., On

Transition function: Fs(Si, Ij) Output function: Fo(Si) or Fo(Si, Ij)

Page 27: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 36

Example: Ant Brain (Ward, MIT)

Sensors: L and R antennae, 1 if in touching wall

Actuators: F - forward step, TL/TR - turn left/right slightly

Goal: find way out of maze Strategy: keep the wall on the right

Page 28: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 37

Ant Brain

Page 29: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 38

A: Following wall, touching Go forward, turning left slightly

B: Following wall, not touching Go forward, turning right slightly

C: Break in wall Go forward, turning right slightly

D: Hit wall again Back to state A

E: Wall in front Turn left until...

F: ...we are here, same as state B

G: Turn left until...LOST: Forward until we touch something

Ant Behavior

Page 30: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 39

Designing an Ant Brain

State Diagram

R’C(TR, F)

R’

L’ R’

B(TR, F)

L’ R’

L

R

A(TL, F)

R

L’ RL + R

E/G(TL)

L + RLOST(F)

L’ R’

Page 31: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 40

Synthesizing the Ant Brain Circuit

Encode States Using a Set of State Variables Arbitrary choice - may affect cost, speed

Use Transition Truth Table Define next state function for each state variable Define output function for each output

Implement next state and output functions using combinational logic 2-level logic (ROM/PLA/PAL) Multi-level logic Next state and output functions can be optimized

together

Page 32: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 41

Transition Truth Table

Using symbolic statesand outputs

LOST(F)

E/G(TL)

A(TL, F)

B(TR, F)

C(TR, F) R’

R’

L’ R’

RL’ R’

L

R

L’ RL + R

L + R

L’ R’

state L R next state outputsLOST 0 0 LOST FLOST – 1 E/G FLOST 1 – E/G FA 0 0 B TL, FA 0 1 A TL, FA 1 – E/G TL, FB – 0 C TR, FB – 1 A TR, F... ... ... ... ...

Page 33: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 42

state L R next state outputsX,Y,Z X', Y', Z' F TR TL0 0 0 0 0 0 0 0 1 0 00 0 0 0 1 0 0 1 1 0 0... ... ... ... ...0 1 0 0 0 0 1 1 1 0 10 1 0 0 1 0 1 0 1 0 10 1 0 1 0 0 0 1 1 0 10 1 0 1 1 0 0 1 1 0 10 1 1 0 0 1 0 0 1 1 00 1 1 0 1 0 1 0 1 1 0... ... ... ... ...

LOST - 000E/G - 001A - 010B - 011C - 100

it now remainsto synthesizethese 6 functions

Synthesis

5 states : at least 3 state variables required (X, Y, Z) State assignment (in this case, arbitrarily chosen)

Page 34: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 43

state inputs next state outputsX,Y,Z L R X+,Y+,Z+ F TR TL0 0 0 0 0 0 0 0 1 0 00 0 0 - 1 0 0 1 1 0 00 0 0 1 - 0 0 1 1 0 00 0 1 0 0 0 1 1 0 0 10 0 1 - 1 0 1 0 0 0 10 0 1 1 - 0 1 0 0 0 10 1 0 0 0 0 1 1 1 0 10 1 0 0 1 0 1 0 1 0 10 1 0 1 - 0 0 1 1 0 10 1 1 - 0 1 0 0 1 1 00 1 1 - 1 0 1 0 1 1 01 0 0 - 0 1 0 0 1 1 01 0 0 - 1 0 1 0 1 1 0

e.g.

TR = X + Y Z

X+ = X R’ + Y Z R’ = R’ TR

Synthesis of Next State and Output Functions

Page 35: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 44

Circuit Implementation

Outputs are a function of the current state only - Moore machine

LR

FTRTL

Next State

Current State

outputlogic

next statelogic X+ Y+ Z+

X Y Z

Page 36: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 45

Verilog Sketch

module ant_brain (F, TR, TL, L, R) inputs L, R; outputs F, TR, TL; reg X, Y, Z;

assign F = function(X, Y, Z, L, R); assign TR = function(X, Y, Z, L, R); assign TL = function(X, Y, Z, L, R);

always @(posedge clk) begin X <= function (X, Y, Z, L, R); Y <= function (X, Y, Z, L, R); Z <= function (X, Y, Z, L, R); end endmodule

Page 37: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 46

Ant is in deep trouble if it gets in this state

Don’t Cares in FSM Synthesis

What happens to the "unused" states (101, 110, 111)?

Exploited as don't cares to minimize the logic If states can't happen, then don't care what the functions

do if states do happen, we may be in trouble

000(F)

001(TL)

010(TL, F)

011(TR, F)

100(TR, F) R’

R’

L’ R’

RL’ R’

L

R

L’ RL + R

L + R

L’ R’

111

101

110

Page 38: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 47

State Minimization

Fewer states may mean fewer state variables

High-level synthesis may generate many redundant states

Two state are equivalent if they are impossible to distinguish from the outputs of the FSM, i. e., for any input sequence the outputs are the same

Two conditions for two states to be equivalent: 1) Output must be the same in both states 2) Must transition to equivalent states for all input

combinations

Page 39: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 48

Ant Brain Revisited

Any equivalent states?

LOST(F)

E/G(TL)

A(TL, F)

B(TR, F)

C(TR, F)

R’

R’

L’ R’

RL’ R’

L

R

L’ RL + R

L + R

L’ R’

Page 40: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 49

New Improved Brain

Merge equivalent B and C states Behavior is exactly the same as the 5-state brain We now need only 2 state variables rather than 3

LOST(F)

E/G(TL)

A(TL, F)

B/C(TR, F)R’

L’ R’

RL’ R’

L

L’ RL + R

L + R

L’ R’

Page 41: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 50

state inputs next state outputsX,Y L R X',Y' F TRTL0 0 0 0 0 0 1 0 00 0 - 1 0 1 1 0 00 0 1 - 0 1 1 0 00 1 0 0 1 1 0 0 10 1 - 1 0 1 0 0 10 1 1 - 0 1 0 0 11 0 0 0 1 1 1 0 11 0 0 1 1 0 1 0 11 0 1 - 0 1 1 0 11 1 - 0 1 1 1 1 01 1 - 1 1 0 1 1 0

New Brain Implementation

1 0 1 11 0 1 11 0 1 11 0 1 1

XF

Y

RL

0 0 1 00 0 1 00 0 1 00 0 1 0

XTR

Y

RL

0 1 0 10 1 0 10 1 0 10 1 0 1

XTL

Y

RL

0 1 1 10 0 1 10 0 1 00 0 1 0

XX+

Y

RL

0 1 1 11 0 0 01 0 0 11 0 1 1

XY+

Y

RL

Page 42: CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 1 Sequential Logic Implementation zModels for representing sequential circuits yFinite-state

CS 150 - Spring 2007 – Lec #6: Moore and Mealy Machines - 51

Sequential Logic Implementation Summary

Models for representing sequential circuits Abstraction of sequential elements Finite state machines and their state diagrams Inputs/outputs Mealy, Moore, and synchronous Mealy machines

Finite state machine design procedure Deriving state diagram Deriving state transition table Determining next state and output functions Implementing combinational logic