ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301...

25
ECE 301 – Digital Electronics FSM Design Examples (Lecture #25) The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6 th Edition, by Roth and Kinney, and were used with permission from Cengage Learning.

Transcript of ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301...

Page 1: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

ECE 301 – Digital Electronics

FSM Design Examples

(Lecture #25)

The slides included herein were taken from the materials accompanying

Fundamentals of Logic Design, 6th Edition, by Roth and Kinney,

and were used with permission from Cengage Learning.

Page 2: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 2

Sequential Circuit Design1. Understand specifications

2. Draw state graph (to describe state machine behavior)

3. Construct state table (from state graph)

4. Perform state reduction (if necessary)

5. Assign a binary value to each state (state assignment)

6. Create state transition table

7. Select type of Flip-Flop to use

8. Derive Flip-Flop input equations and FSM output equation(s)

9. Draw circuit diagram

Page 3: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 3

FSM Design

Example #1:

Design a sequence detector that outputs a 1 when either 011 or 101 is detected.

The FSM does not reset when a sequence is detected.

Requirements:

1. Mealy machine2. Binary state-assignment

Page 4: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 4

Example #1: State Graph

Page 5: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 5

Example #1: State Table

Present Next State Output

State X = 0 X = 1 X = 0 X = 1

Page 6: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 6

Example #1: State Reduction

Page 7: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 7

Example #1: State Transition Table(using Binary state assignment)

A+B+C+ Z

ABC X = 0 X = 1 X = 0 X = 1

Page 8: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 8

FSM Design

Example #2:

Design a sequence detector that outputs a 1 when either 11 or 010 is detected.

The FSM does not reset when a sequence is detected.

Requirements:

1. Mealy machine2. Binary state-assignment3. JK Flip-Flops

Page 9: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 9

Example #2: State Graph

Page 10: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 10

Example #2: State Table

Present Next State Output

State X = 0 X = 1 X = 0 X = 1

Page 11: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 11

Example #2: State Reduction

Page 12: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 12

Example #2: State Transition Table(using Binary state assignment)

A+B+ Z

AB X = 0 X = 1 X = 0 X = 1

Page 13: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 13

Example #2: JK Excitation Table

Q Q+ J K

0 0 0 x

0 1 1 x

1 0 x 1

1 1 x 0

Page 14: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 14

Example #2: State Transition Table

A+B+ JAKA JBKB

AB X = 0 X = 1 X = 0 X = 1 X = 0 X = 1

(using Binary state assignment)

Page 15: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 15

Example #2: FF Input Equations

JA = KA =

Page 16: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 16

Example #2: FF Input Equations

JB = KB =

Page 17: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 17

Example #2: FSM Output Equation

Z =

Page 18: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 18

Example #2: FSM Circuit Diagram

Page 19: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 19

FSM Design

Example #3:

Design a sequence detector that outputs a 1 when either 11 or 010 is detected.

The FSM does not reset when a sequence is detected.

Requirements:

1. Mealy machine2. Binary state-assignment3. T Flip-Flops

Page 20: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 20

Example #3: T Excitation Table

Q Q+ T

0 0 0

0 1 1

1 0 1

1 1 0

Page 21: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 21

Example #3: State Transition Table(using Binary state assignment)

A+B+ TA TB

AB X = 0 X = 1 X = 0 X = 1 X = 0 X = 1

Page 22: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 22

Example #3: FF Input Equations

TA = TB =

Page 23: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 23

Example #3: FSM Output Equation

Z =

Page 24: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 24

Example #3: FSM Circuit Diagram

Page 25: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_25.pdfECE 301 – Digital Electronics FSM Design Examples ... Design a sequence detector that outputs

Spring 2011 ECE 301 - Digital Electronics 25

Questions?