ELEC 2200-002 Digital Logic Circuits Fall 2008 Finite State Machines (FSM) (Chapter 7-10) Vishwani D. Agrawal James J. Danaher Professor Department of.

Slides:



Advertisements
Similar presentations
DIGITAL ELECTRONICS & it0203 Semester - 3
Advertisements

Adders Used to perform addition, subtraction, multiplication, and division (sometimes) Half-adder adds rightmost (least significant) bit Full-adder.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Sequential Logic Design
Author: Julia Richards and R. Scott Hawley
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
Processor Data Path and Control Diana Palsetia UPenn
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 23 Finite State Machine.
Chapter #8: Finite State Machine Design Contemporary Logic Design
©2004 Brooks/Cole FIGURES FOR CHAPTER 16 SEQUENTIAL CIRCUIT DESIGN Click the mouse to move to the next page. Use the ESC key to exit this chapter. This.
Princess Sumaya University
Chapter 9 -- Simplification of Sequential Circuits.
COE 202: Digital Logic Design Sequential Circuits Part 2
Chapter 4 Gates and Circuits.
Chapter 4 Gates and Circuits Nell Dale • John Lewis.
Chapter 4 Gates and Circuits.
Discrete Mathematical Structures: Theory and Applications
Karnaugh Map Adjacent Squares
Digital Systems Introduction Binary Quantities and Variables
CMOS Circuits.
Digital Logical Structures
Gates and Circuits Nell Dale & John Lewis (adaptation by Erin Chambers and Michael Goldwasser)
Digital Logic Design Gate-Level Minimization
The scale of IC design Small-scale integrated, SSI: gate number usually less than 10 in a IC. Medium-scale integrated, MSI: gate number ~10-100, can operate.
Logic Gates Flip-Flops Registers Adders
CS105 Introduction to Computer Concepts GATES and CIRCUITS
Chapter 4 Gates and Circuits.
Karnaugh Map Adjacent Squares
Flip-Flops and Registers
Chapter 4 Gates and Circuits.
Chapter #8: Finite State Machine Design 8
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
1..
Karnaugh Maps ECEn/CS 224.
Princess Sumaya University
Combinational Circuits
Finite-state Recognizers
Analyzing Genes and Genomes
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
©2004 Brooks/Cole FIGURES FOR CHAPTER 12 REGISTERS AND COUNTERS Click the mouse to move to the next page. Use the ESC key to exit this chapter. This chapter.
KU College of Engineering Elec 204: Digital Systems Design
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
©2004 Brooks/Cole FIGURES FOR CHAPTER 11 LATCHES AND FLIP-FLOPS Click the mouse to move to the next page. Use the ESC key to exit this chapter. This chapter.
and M-ary Quadrature Amplitude Modulation (M-QAM)
Sequential Circuit Synthesis - II
Finite State Machine Continued
KU College of Engineering Elec 204: Digital Systems Design
Princess Sumaya University
ENGG3190 Logic Synthesis “Sequential Circuit Synthesis”
1. 1. Output depends uniquely on inputs:  Contains only logic gates, AND, OR,...  No feedback interconnects 2. Output depends on inputs and memory:
التصميم المنطقي Second Course
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
ELEC Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Synchronous Circuit Design (Class 10.1 – 10/30/2012) CSE 2441 – Introduction to Digital Logic Fall 2012 Instructor – Bill Carroll, Professor of CSE.
Chapter 8 -- Analysis and Synthesis of Synchronous Sequential Circuits.
2017/4/24 1.
ELEC Digital Logic Circuits Fall 2015 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) Vishwani D. Agrawal James J. Danaher Professor.
ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) Vishwani D. Agrawal James J. Danaher Professor.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
ELEC Digital Logic Circuits Fall 2014 Logic Minimization (Chapter 3)
Reading: Hambley Chapters
CSE 370 – Winter Sequential Logic-2 - 1
Presentation transcript:

ELEC Digital Logic Circuits Fall 2008 Finite State Machines (FSM) (Chapter 7-10) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL Fall 2008, Dec 3 ELEC Lecture 13 1

Two Types of Digital Circuits Output depends uniquely on inputs: Contains only logic gates, AND, OR,... No feedback interconnects Output depends on inputs and memory: Contains logic gates, latches and flip-flops May have feedback interconnects Contents of flip-flops define internal state; N flip- flops provide 2 N states; finite memory means finite states, hence the name finite state machine (FSM). Clocked memory – synchronous FSM No clock – asynchronous FSM Fall 2008, Dec 3 ELEC Lecture 13 2

Textbook Organization Chapter 6: Sequential devices – latches, flip- flops. Chapter 7: Modular sequential logic – registers, shift registers, counters. Chapter 8: Specification and analysis of FSM. Chapter 9: Synchronous (clocked) FSM design. Chapter 10: Asynchronous (pulse mode) FSM design. Fall 2008, Dec 3 ELEC Lecture 13 3

Mealy and Moore FSM Mealy machine: Output is a function of inputs and the present state. Moore machine: Output is a function of the present state alone. Fall 2008, Dec 3 ELEC Lecture 13 4 S0 S1 1/1 1/0 0/0 0/1 Mealy machine S0/1 S1/0 1/1 1/0 0/1 0/0 Moore machine G. H. Mealy, A Method for Synthesizing Sequential Circuits, Bell Systems Tech. J., vol. 34, pp , September E. F. Moore, Gedanken-Experiments on Sequential Machines, Annals of Mathematical Studies, no. 34, pp ,1956, Princeton Univ. Press, NJ.

Example 8.17: Robot Control A robot moves in straight line, encounters obstacle and turns right or left until path is clear; on alternate obstacle encounters use right and left turn strategies. Define input: One bit X = 0, no obstacle X = 1, an obstacle encountered Define outputs: Two bits Z1, Z2 = 00no turn Z1, Z2 = 01turn right by a predetermined angle Z1, Z2 = 10turn left by a predetermined angle Z1, Z2 = 11output not used Fall 2008, Dec 3 ELEC Lecture 13 5

Example 8.17: Robot Control (Continued... 2) Because turning strategy depends on the action for the previous obstacle, the robot must remember the past. Therefore, we define internal memory states: State A = no obstacle detected, last turn was left State B = obstacle detected, turning right State C = no obstacle detected, last turn was right State D = obstacle detected, turning left Fall 2008, Dec 3 ELEC Lecture 13 6

Realization of FSM The general hardware architecture of an FSM, known as Huffman model, consists of: Flip-flops for storing the state. Combinational logic to generate outputs and next state from inputs and present state. Clock to synchronize state changes. Initialization hardware to set the machine in a known state. Fall 2008, Dec 3 ELEC Lecture 13 7 Combinational logic Flip- flops OutputsInputs Present state Next state Clock Clear

Example 8.17: Robot Control (Continued... 3) Construct state diagram. Fall 2008, Dec 3 ELEC Lecture 13 8 A DC B A: no obstacle, last left turn B: obstacle, turn right C: no obstacle, last right turn D: obstacle, turn left Input:X = 0, no obstacle X = 1, obstacle Outputs: Z1, Z2 = 00, no turn Z1, Z2 = 01, right turn Z1, Z2 = 10, left turn 0/00 1/01 0/00 1/01 1/10 XZ1 Z2

Example 8.17: Robot Control (Continued... 4) Construct state table. Fall 2008, Dec 3 ELEC Lecture 13 9 A DC B 0/00 1/01 0/00 1/01 1/10 XZ1 Z2 A/00 C/00 A/00 B/01 D/10 X Present 0 1 state A B C D Next state Outputs Z1, Z2

X Y1 Y Example 8.17: Robot Control (Continued... 5) State assignment: Need log 2 4 = 2 binary state variables for 4 to represent 4 states. Let memory variables be Y1,Y2: A: Y1, Y2 = 00; B: Y1, Y2 = 01; C: Y1, Y2 = 11, D: Y1, Y2 = 10 Fall 2008, Dec 3 ELEC Lecture A/00 C/00 A/00 B/01 D/10 X Present 0 1 state A B C D 00/00 11/00 00/00 01/01 10/10

X Y1 Y Example 8.17: Robot Control (Continued... 6) Construct truth tables for outputs, Z1 and Z2, and excitation variables, Y1 and Y2. Fall 2008, Dec 3 ELEC Lecture /00 11/00 00/00 01/01 10/10 Next State, Y1*, Y2* Outputs Z1, Z2 Input Present state OutputsNext state XY1Y2Z1Z2Y1*Y2*

Example 8.17: Robot Control (Continued... 7) Synthesize logic functions, Z1, Z2, Y1*, Y2*. Fall 2008, Dec 3 ELEC Lecture Input Present state OutputsNext state XY1Y2Z1Z2Y1*Y2* Z1 = XY1 Y2 + XY1 Y2 = XY1 Z2 = X Y1 Y2 + X Y1 Y2 = X Y1 Y1* = X Y1 Y Y2* = X Y1 Y2 +...

Example 8.17: Robot Control (Continued... 8) Synthesize logic functions, Z1, Z2, Y1*, Y2*. Fall 2008, Dec 3 ELEC Lecture X Y1 Y X 11 X Y1 Y2 11 X Y1 Y2 Y1 Z1 Z2 Y1* Y2*

Example 8.17: Robot Control (Continued... 9) Synthesize logic and connect memory elements (flip-flops). Fall 2008, Dec 3 ELEC Lecture Y2 Y1 Y2 X Z1 Z2 Y1* Y2* CK CLEAR Combinational logic

Steps in FSM Synthesis Examine specified function to identify inputs, outputs and memory states. Draw a state diagram. Minimize states (see Section 9.1). Assign binary codes to states (Section 9.4). Derive truth tables for state variables and output functions. Minimize multi-output logic circuit. Connect flip-flops for state variables. Dont forget to connect clock and clear signals. Fall 2008, Dec 3 ELEC Lecture 13 15

Architecture of an FSM The Huffman model, containing: Flip-flops for storing the state. Combinational logic to generate outputs and next state from inputs and present state. Fall 2008, Dec 3 ELEC Lecture Combinational logic Flip- flops OutputsInputs Present state Next state Clock Clear D. A. Huffman, The Synthesis of Sequential Switching Circuits, J. Franklin Inst., vol. 257, pp , March-April 1954.

State Minimization An FSM contains flip-flops and combinational logic: Number of flip-flops, N ff = log 2 N s, N s = #states Size of combinational logic depends on state assignment. Examples: N s = 16, N ff = log 2 16 = N s = 17, N ff = log 2 17 = = 5 Fall 2008, Dec 3 ELEC Lecture Ceiling operator

Equivalent States Two states of an FSM are equivalent (or indistinguishable) if for each input they produce the same output and their next states are identical. Fall 2008, Dec 3 ELEC Lecture Si Sj Sm Sn 1/0 0/0 Si,j Sm Sn 1/0 0/0 Si and Sj are equivalent and merged into a single state.

Minimizing States Example: States A... I, Inputs I1, I2, Output, Z Fall 2008, Dec 3 ELEC Lecture Present state Next state, output (Z) Input I1 I2 AD, 0C, 1 BE, 1A, 1 CH, 1D, 1 DD, 0C, 1 EB, 0G, 1 FH, 1D, 1 GA, 0F, 1 HC, 0A, 1 IG, 1H, 1 A and D are equivalent A and E produce same output. Can they be equivalent?

Implication Table Method Fall 2008, Dec 3 ELEC Lecture A B CD E FG H BCDEFGHIBCDEFGHI BD CG AD CF CD AC EH AD EH AD EG AH Present state Next state, output (Z) Input I1 I2 AD, 0C, 1 BE, 1A, 1 CH, 1D, 1 DD, 0C, 1 EB, 0G, 1 FH, 1D, 1 GA, 0F, 1 HC, 0A, 1 IG, 1H, 1 AD CF CD AC BC AG BD CG AC AF GH DH GH DH AB FG

Implication Table Method (Cont.) Fall 2008, Dec 3 ELEC Lecture A B CD E FG H BCDEFGHIBCDEFGHI BD CG AD CF CD AC EH AD EH AD EG AH AD CF CD AC BC AG BD CG AC AF GH DH GH DH Equivalent states: S1:A, D, G S2:B, C, F S3:E, H S4:I AB FG

Minimized State Table Fall 2008, Dec 3 ELEC Lecture Present state Next state, output (Z) Input I1 I2 AD, 0C, 1 BE, 1A, 1 CH, 1D, 1 DD, 0C, 1 EB, 0G, 1 FH, 1D, 1 GA, 0F, 1 HC, 0A, 1 IG, 1H, 1 Present state Next state, output (Z) Input I1 I2 S1 = (A, D, G)S1, 0S2, 1 S2 = (B, C, F)S3, 1S1, 1 S3 = (E, H)S2, 0S1, 1 S4 = IS1, 1S3, 1 OriginalMinimized Number of flip-flops is reduced from 4 to 2.

State Assignment State assignment means assigning distinct binary patterns (codes) to states. N flip-flops generate 2 N codes. While we are free to assign these codes to represent states in any way, the assignment affects the optimality of the combinational logic. Rules based on heuristics are used to determine state assignment. Fall 2008, Dec 3 ELEC Lecture 13 23

Criteria for State Assignment Optimize: Logic gates, or Delay, or Power consumption, or Testability, or Any combination of the above Up to 4 or 5 flip-flops: can try all assignments and select the best. More flip-flops: Use an existing heuristic (one discussed next) or invent a new heuristic. Fall 2008, Dec 3 ELEC Lecture 13 24

The Idea of Adjacency Inputs are A and B State variables are Y1 and Y2 An output is F(A, B, Y1, Y2) A next state function is G(A, B, Y1, Y2) Fall 2008, Dec 3 ELEC Lecture A B Y1 Y2 Karnaugh map of output function or next state function Larger clucsers produce smaller logic function. Clustering minterms differ in one variable.

Size of an Implementation Number of product terms determine number of gates. Number of literals in a product term determine number of gate inputs, which is proportional to number of transistors. Hardware α (number of literals) Examples of four minterm functions: F1 = ABCD + A B C D + A BCD + AB CD has 16 literals F2 = ABC + A CD has 6 literals Fall 2008, Dec 3 ELEC Lecture 13 26

Rule 1 States that have the same next state for a given input should be assigned logically adjacent codes. Fall 2008, Dec 3 ELEC Lecture Combinational logic Flip- flops Outputs Fixed Inputs Present state Next state Clock Clear Si Sj Sk

Rule 2 States that are the next states of the same state under logically adjacent inputs, should be assigned logically adjacent codes. Fall 2008, Dec 3 ELEC Lecture Combinational logic Flip- flops Outputs Adjacent Inputs Fixed present state Next state Clock Clear Sk Sm Si I1 I2

Example of State Assignment Fall 2008, Dec 3 ELEC Lecture Present state Next state, output (Z) Input, X 0 1 AC, 0D, 0 BC, 0A, 0 CB, 0D, 0 DA, 1B, 1 DB A C 0/0 1/0 1/1 0/1 A adj B (Rule 1) A adj C (Rule 1) B adj D (Rule 2) Figure 9.19 of textbookC adj D (Rule 2) AB CD Verify that BC and AD are not adjacent.

A = 00, B = 01, C = 10, D = 11 Fall 2008, Dec 3 ELEC Lecture Present state Y1, Y2 Next state, output Y1*Y2*, Z Input, X 0 1 A = 0010, 011, 0 B = 0110, 000, 0 C = 1001,011, 0 D = 1100, 101, 1 Input Present state OutputNext state XY1Y2ZY1*Y2*

Logic Minimization for Optimum State Assignment Fall 2008, Dec 3 ELEC Lecture X Y1 Y X 1 1 X Y1 Y2 Y1 Z Y1* Y2* Result: 5 products, 10 literals.

Circuit for Optimum State Assignment Fall 2008, Dec 3 ELEC Lecture Y2 Y1 Y2 X Z Y2* Y1* CK CLEAR Combinational logic

Using an Arbitrary State Assignment: A = 00, B = 01, C = 11, D = 10 Fall 2008, Dec 3 ELEC Lecture Present state Y1, Y2 Next state, output Y1*Y2*, Z Input, X 0 1 A = 0011, 010, 0 B = 0111, 000, 0 C = 1101,010, 0 D = 1000, 101, 1 Input Present state OutputNext state XY1Y2ZY1*Y2*

Logic Minimization for Arbitrary State Assignment Fall 2008, Dec 3 ELEC Lecture X Y1 Y X 1 1 X Y1 Y2 Y1 Z Y1* Y2* Result: 6 products, 14 literals.

Circuit for Arbitrary State Assignment Fall 2008, Dec 3 ELEC Lecture Y2 Y1 Y2 X Z Y2* Y1* CK CLEAR Comb. logic

Find Out More on FSM State minimization through partioning (Section 9.2.2). Incompletely specified sequential circuits (Section 9.3). Further rules for state assignment and use of implication graphs (Section 9.4). Asynchronous or fundamental-mode sequential circuits (Chapter 10). Fall 2008, Dec 3 ELEC Lecture 13 36