ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

Similar documents
EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Vidyalankar S.E. Sem. III [ETRX] Digital Circuits and Design Prelim Question Paper Solution

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Sequential vs. Combinational

Lecture 14: State Tables, Diagrams, Latches, and Flip Flop

CPE100: Digital Logic Design I

Digital Design. Sequential Logic

Synchronous Sequential Logic

Synchronous Sequential Circuit

Reg. No. Question Paper Code : B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER Second Semester. Computer Science and Engineering

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS

Computers also need devices capable of Storing data and information Performing mathematical operations on such data

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

The Design Procedure. Output Equation Determination - Derive output equations from the state table

Digital Logic and Design (Course Code: EE222) Lecture 19: Sequential Circuits Contd..

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

Asynchronous sequence circuits

CPE/EE 422/522. Chapter 1 - Review of Logic Design Fundamentals. Dr. Rhonda Kay Gaede UAH. 1.1 Combinational Logic

Different encodings generate different circuits

ELCT201: DIGITAL LOGIC DESIGN

Chapter 7. Sequential Circuits Registers, Counters, RAM

S.Y. Diploma : Sem. III [CO/CM/IF/CD/CW] Digital Techniques

CPE100: Digital Logic Design I

CSE140: Components and Design Techniques for Digital Systems. Midterm Information. Instructor: Mohsen Imani. Sources: TSR, Katz, Boriello & Vahid

Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc.

Topic 8: Sequential Circuits


DIGITAL LOGIC CIRCUITS

Lecture 7: Logic design. Combinational logic circuits

Philadelphia University Student Name: Student Number:

Lecture 10: Synchronous Sequential Circuits Design

Fundamentals of Digital Design

I. Motivation & Examples

Sequential Logic Circuits

Chapter 4. Sequential Logic Circuits

FSM model for sequential circuits

Sample Test Paper - I

Synchronous Sequential Circuit Design. Digital Computer Design

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1

Fundamentals of Boolean Algebra

Chapter 9 Asynchronous Sequential Logic

Synchronous Sequential Circuit Design. Dr. Ehab A. H. AL-Hialy Page 1

S.Y. Diploma : Sem. III [DE/ED/EI/EJ/EN/ET/EV/EX/IC/IE/IS/IU/MU] Principles of Digital Techniques

Sequential Logic. Rab Nawaz Khan Jadoon DCS. Lecturer COMSATS Lahore Pakistan. Department of Computer Science

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Lecture 3 Review on Digital Logic (Part 2)

State and Finite State Machines

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

ALU, Latches and Flip-Flops

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6201 DIGITAL PRINCIPLES AND SYSTEM DESIGN

Philadelphia University Student Name: Student Number:

Review for B33DV2-Digital Design. Digital Design

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

Principles of Computer Architecture. Appendix B: Reduction of Digital Logic. Chapter Contents

EECS150 - Digital Design Lecture 23 - FSMs & Counters

Digital Electronics Sequential Logic

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

Introduction to Digital Logic

P2 (10 points): Given the circuit below, answer the following questions:

Written reexam with solutions for IE1204/5 Digital Design Monday 14/

ECE/Comp Sci 352 Digital Systems Fundamentals. Charles R. Kime Section 2 Fall Logic and Computer Design Fundamentals

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING EXAMINATION SEMESTER /2017

ASYNCHRONOUS SEQUENTIAL CIRCUITS

Sequential logic and design

COE 202: Digital Logic Design Sequential Circuits Part 4. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

BER KELEY D AV IS IR VINE LOS AN GELES RIVERS IDE SAN D IEGO S AN FRANCISCO

ENGG 1203 Tutorial_9 - Review. Boolean Algebra. Simplifying Logic Circuits. Combinational Logic. 1. Combinational & Sequential Logic

Chapter 5 Synchronous Sequential Logic

Sequential Circuits Sequential circuits combinational circuits state gate delay

Digital Logic Appendix A

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

on candidate s understanding. 7) For programming language papers, credit may be given to any other program based on equivalent concept.

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

15.1 Elimination of Redundant States

Digital Electronics Circuits 2017

CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010

( c) Give logic symbol, Truth table and circuit diagram for a clocked SR flip-flop. A combinational circuit is defined by the function

ENGG 1203 Tutorial _03 Laboratory 3 Build a ball counter. Lab 3. Lab 3 Gate Timing. Lab 3 Steps in designing a State Machine. Timing diagram of a DFF

EEE2135 Digital Logic Design

14:332:231 DIGITAL LOGIC DESIGN

Overview of Chapter 4

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) State any two Boolean laws. (Any 2 laws 1 mark each)

Digital Logic Design - Chapter 4

Boolean Algebra. Digital Logic Appendix A. Postulates, Identities in Boolean Algebra How can I manipulate expressions?

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

Boolean Algebra. Digital Logic Appendix A. Boolean Algebra Other operations. Boolean Algebra. Postulates, Identities in Boolean Algebra

Chapter 7 Sequential Logic

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring

Show that the dual of the exclusive-or is equal to its compliment. 7

EET 310 Flip-Flops 11/17/2011 1

Clocked Sequential Circuits UNIT 13 ANALYSIS OF CLOCKED SEQUENTIAL CIRCUITS. Analysis of Clocked Sequential Circuits. Signal Tracing and Timing Charts

Systems I: Computer Organization and Architecture

Lecture 17: Designing Sequential Systems Using Flip Flops

CPE100: Digital Logic Design I

Parity Checker Example. EECS150 - Digital Design Lecture 9 - Finite State Machines 1. Formal Design Process. Formal Design Process

Transcription:

ELEC 2200-002 Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 http://www.eng.auburn.edu/~vagrawal vagrawal@eng.auburn.edu Fall 2014, Nov 10... ELEC2200-002 Lecture 7 1

Combinational vs. Sequential Combinational circuit: Output is a function of input No memory Example: parallel adder Sequential circuit: Output is a function of input and something else stored in the circuit Internal memory Example: serial adder Fall 2014, Nov 10... ELEC2200-002 Lecture 7 2

Parallel and Serial Adders (LSB) (LSB) 0 0 1 1 0 1 0 0 Four-bit Adder 0 1 1 1 (LSB) (LSB) 0 0 1 1 0 1 0 0 time One-bit Adder One-bit memory S C 0 1 1 1 time (LSB) 1. Memory initialized to 0 (initial carry = 0) 2. Time synchronization of Inputs, output, and memory (clock) Fall 2014, Nov 10... ELEC2200-002 Lecture 7 3

Another Example of Sequential System Four-year degree program: Student can be in four states (Fr, So, Jr, Sr) One-bit yearly input, 1 (completed) or 0 (in progress) Output = 1 (degree completed), 0 (in progress) State diagram: 0/0 0/0 0/0 0/0 1/0 1/0 1/0 Fr So Jr Sr Initial state 1/1 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 4

State Table or Excitation Table Input Present State Next State Output 0 Fr Fr 0 0 So So 0 0 Jr Jr 0 0 Sr Sr 0 1 Fr So 0 1 So Jr 0 1 Jr Sr 0 1 Sr Sr 1 Initial State: Fr Fall 2014, Nov 10... ELEC2200-002 Lecture 7 5

State Table (Alternative Form) Next state/output Inputs 0 1 Fr Fr/0 So/0 Present state So Jr Sr So/0 Jr/0 Sr/0 Jr/0 Sr/0 Sr/1 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 6

When Is Circuit Not Combinational? When the present input does not completely control output. For a logic circuit without feedback, input uniquely determines the output. Examples of non-combinational (sequential) circuits: Toggling 0-1 0 1 or 1 0 Odd inversions Even inversions Fall 2014, Nov 10... ELEC2200-002 Lecture 7 7

SR Latch: Basic Sequential Circuit Feedback loop with even number of inversions (no oscillation?). Output(s): two sets of logic values from the loop. Input functions: To control loop logic values To set the loop in input control or store state Fall 2014, Nov 10... ELEC2200-002 Lecture 7 8

Adding Inputs to Feedback Loop S R Q Q Fall 2014, Nov 10... ELEC2200-002 Lecture 7 9

NOR Set-Reset (SR) Latch S R Q Q S Q S Q Q R Q R Also drawn as Symbol used in Logic schematics Fall 2014, Nov 10... ELEC2200-002 Lecture 7 10

States of Latch State S R Q Q Set 1 0 1 0 Reset 0 1 0 1 Store 0 0 Prev. Q Prev. Q Illegal 1 1 0 0 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 11

The Set State Loop is broken S = 1 Q = 1 R = 0 Q = 0 Behavior is combinational. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 12

The Reset State S = 0 Q = 0 R = 1 Q = 1 Loop is broken Behavior is combinational. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 13

The Store State S = 0 Q = 1 R = 0 Q = 0 Loop is activated; behavior is sequential. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 14

The Illegal State S = 1 Q = 0 R = 1 Q = 0 Loop is broken in two places and inconsistent values inserted. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 15

Illegal State Cannot Be Stored Assume two gates have equal delays. S = 1 0 Q = 0 1 0 1... R = 1 0 Q = 0 1 0 1... Output oscillates with a period of loop delay. For unequal gate delays, faster gate will settle to 1 and slower gate to 0. This is known as RACE CONDITION. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 16

Excitation Table of SR Latch Excitation inputs Present state Next state S R Q Q* 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 Functional Name of State Store Reset Set 1 1 0 Illegal Race 1 1 1 Illegal condition Fall 2014, Nov 10... ELEC2200-002 Lecture 7 17

Characteristic Equation for SR Latch Next-state function: Treat illegal states as don t care Minimize using Karnaugh map Characteristic equation, Q* = S + RQ S Φ 1 Q 1 Φ 1 R Fall 2014, Nov 10... ELEC2200-002 Lecture 7 18

State Diagram of SR Latch SR = 0X SR = 10 SR = X0 Q = 0 Q = 1 SR = 01 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 19

Clocked SR Latch S SR-latch Q CK Q R Fall 2014, Nov 10... ELEC2200-002 Lecture 7 20

Clocked Delay Latch or D-Latch D SR-latch Q CK Q Fall 2014, Nov 10... ELEC2200-002 Lecture 7 21

Setup and Hold Times of Latch Signals are synchronized with respect to clock (CK). Operation is level-sensitive: CK = 1 allows data (D) to pass through CK = 0 holds the value of Q, ignores data (D) Setup time is the interval before the clock transition during which data (D) should be stable (not change). This will avoid any possible race condition. Hold time is the interval after the clock transition during which data should not change. This will avoid data from latching incorrectly. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 22

Latch Inputs t p 1 D 0 time t s t h 1 CK 0 time t r Fall 2014, Nov 10... ELEC2200-002 Lecture 7 23

JK-Latch SR-latch J Q K Q Characteristic Equation, Q = J Q* + K Q* Where Q = present state, Q* = previous state Fall 2014, Nov 10... ELEC2200-002 Lecture 7 24

T-Latch (Toggle Latch) J SR-latch Q T K Q Characteristic Equation, Q = T Q* + T Q* Where Q = present state, Q* = previous state Fall 2014, Nov 10... ELEC2200-002 Lecture 7 25

Master-Slave D-Flip-Flop D Master latch Slave latch Q Q CK Fall 2014, Nov 10... ELEC2200-002 Lecture 7 26

Master-Slave D-Flip-Flop Uses two clocked D-latches. Transfers data (D) with one clock period delay. Operation is edge-triggered: Negative edge-triggered, CK = 1 0, Q = D (previous slide) Positive edge-triggered, CK = 0 1, Q = D Fall 2014, Nov 10... ELEC2200-002 Lecture 7 27

Negative-Edge Triggered D-Flip-Flop Clock period, T CK Triggering clock edge Master open Slave closed Setup time Slave open Master closed Hold time D Data can change Data stable Data can change Time Fall 2014, Nov 10... ELEC2200-002 Lecture 7 28

D-Flip-Flop With CLEAR CLR D Master latch Slave latch Q Q CK Fall 2014, Nov 10... ELEC2200-002 Lecture 7 29

D-Flip-Flop With PRESET D Master latch Slave latch Q Q CK PRESET Fall 2014, Nov 10... ELEC2200-002 Lecture 7 30

Symbols for Latch and D-Flip-Flops CK D Q (LATCH) Level sensitive Q (DFF) Pos. Edge Triggered Q (DFF) Neg. Edge Triggered D CK D CK D CK Q Q Q Fall 2014, Nov 10... ELEC2200-002 Lecture 7 31

CLR Register (3-Bit Example) Stores parallel data Parallel input D0 D1 D2 D CLR Q D CLR Q D CLR Q CK CK CK CK Q0 Q1 Q2 Parallel output Fall 2014, Nov 10... ELEC2200-002 Lecture 7 32

Shift Register (3-Bit Example) Stores serial data (parallel output) Delays data (serial output) CLR D Serial input D CLR Q D CLR Q D CLR Q Serial output CK CK CK CK Q0 Q1 Q2 Parallel output Fall 2014, Nov 10... ELEC2200-002 Lecture 7 33

Two Types of Digital Circuits 1. Output depends uniquely on inputs: Contains only logic gates, AND, OR,... No feedback interconnects 2. 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 flipflops 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 2014, Nov 10... ELEC2200-002 Lecture 7 34

Textbook Organization Chapter 6: Sequential devices latches, flipflops. 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 2014, Nov 10... ELEC2200-002 Lecture 7 35

Mealy and Moore FSM Mealy machine: Output is a function of input and the state. Moore machine: Output is a function of the state alone. 1/1 0/1 0/0 1/0 0/1 0/0 S0 S1 S0/1 S1/0 1/0 1/1 Mealy machine Moore machine G. H. Mealy, A Method for Synthesizing Sequential Circuits, Bell Systems Tech. J., vol. 34, pp. 1045-1079, September 1955. E. F. Moore, Gedanken-Experiments on Sequential Machines, Annals of Mathematical Studies, no. 34, pp. 129-153,1956, Princeton Univ. Press, NJ. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 36

Example 8.17: Robot Control A robot moves in straight line, encounters obstacle and turns right or left until path is clear; on successive obstacles right and left turn strategies are used. Define input: One bit X = 0, no obstacle X = 1, an obstacle encountered Define outputs: Two bits to represent three possible actions. Z1, Z2 = 00 no turn Z1, Z2 = 01 turn right by a predetermined angle Z1, Z2 = 10 turn left by a predetermined angle Z1, Z2 = 11 output not used Fall 2014, Nov 10... ELEC2200-002 Lecture 7 37

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 2014, Nov 10... ELEC2200-002 Lecture 7 38

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 prespecified state. Inputs Present state Combinational logic Next state Outputs Flipflops Clock Clear Fall 2014, Nov 10... ELEC2200-002 Lecture 7 39

Example 8.17: Robot Control (Continued... 3) Construct state diagram. X Z1 Z2 A: no obstacle, last turn was left B: obstacle, turn right C: no obstacle, last turn was right D: obstacle, turn left 0/00 A 1/01 B 1/01 Input: X = 0, no obstacle X = 1, obstacle 0/00 0/00 Outputs: Z1, Z2 = 00, no turn Z1, Z2 = 01, right turn Z1, Z2 = 10, left turn 1/10 D 1/10 C 0/00 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 40

Example 8.17: Robot Control (Continued... 4) Construct state table. 0/00 A X Z1 Z2 1/01 B 1/01 X Present 0 1 state A A/00 B/01 B C/00 B/01 0/00 0/00 C C/00 D/10 1/10 D 1/10 C 0/00 Next state D A/00 D/10 Outputs Z1, Z2 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 41

Example 8.17: Robot Control (Continued... 5) State assignment: Each state is assigned a unique binary code. Need log 2 4 = 2 binary state variables 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 X Present 0 1 state A A/00 B/01 X Y1 Y2 0 1 00 00/00 01/01 B C/00 B/01 01 11/00 01/01 C C/00 D/10 11 11/00 10/10 D A/00 D/10 10 00/00 10/10 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 42

Realization of FSM Primary input: X Primary outputs: Present state variables: Z1, Z2 Y1, Y2 Next state variables: Y1*, Y2* Clock Clear X Y1 Combinational logic Y2 Y1* Flipflop Flipflop Y2* Z1 Z2 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 43

Example 8.17: Robot Control (Continued... 6) Construct truth tables for outputs, Z1 and Z2, and excitation variables, Y1 and Y2. X Y1 Y2 0 1 00 01 11 10 00/00 11/00 11/00 00/00 Next State, Y1*, Y2* 01/01 01/01 10/10 10/10 Outputs Z1, Z2 Input Present state Outputs Next state X Y1 Y2 Z1 Z2 Y1* Y2* 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 44

Example 8.17: Robot Control (Continued... 7) Synthesize logic functions, Z1, Z2, Y1*, Y2*. Input Present state Outputs Next state X Y1 Y2 Z1 Z2 Y1* Y2* 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 Z1 = XY1 Y2 + XY1 Y2 = XY1 Z2 = X Y1 Y2 + X Y1 Y2 = X Y1 Y1* = X Y1 Y2 +... Y2* = X Y1 Y2 +... Fall 2014, Nov 10... ELEC2200-002 Lecture 7 45

Example 8.17: Robot Control (Continued... 8) Synthesize logic functions, Z1, Z2, Y1*, Y2*. Z1 X Y1* X 1 1 Y2 1 Y2 1 1 1 Z2 Y1 X Y2* Y1 X 1 1 Y2 1 Y2 1 1 1 Y1 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 46 Y1

Example 8.17: Robot Control (Continued... 9) Synthesize logic and connect memory elements (flip-flops). X Combinational logic Z1 Y1* Y2* Z2 Y1 Y1 Y2 Y2 CLEAR CK Fall 2014, Nov 10... ELEC2200-002 Lecture 7 47

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. Don t forget to connect clock and clear signals. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 48

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. Inputs Present state Combinational logic Next state Outputs Flipflops Clock Clear D. A. Huffman, The Synthesis of Sequential Switching Circuits, J. Franklin Inst., vol. 257, pp. 275-303, March-April 1954. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 49

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: Ceiling operator 1. N s = 16, N ff = log 2 16 = 4 2. N s = 17, N ff = log 2 17 = 4.0875 = 5 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 50

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. Si 0/0 1/0 Sm Si and Sj are equivalent and merged into a single state. 1/0 Sm 1/0 Si,j 0/0 Sj 0/0 Sn Sn Fall 2014, Nov 10... ELEC2200-002 Lecture 7 51

Minimizing States Example: States A... I, Inputs I1, I2, Output, Z A and D are equivalent A and E produce same output Q: Can they be equivalent? A: Yes, if B and D were equivalent and C and G were equivalent. Present state Next state, output (Z) I1 Input I2 A D / 0 C / 1 B E / 1 A / 1 C H / 1 D / 1 D D / 0 C / 1 E B / 0 G / 1 F H / 1 D /1 G A / 0 F / 1 H C / 0 A / 1 I G / 1 H / 1 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 52

Implication Table Method B C EH AD Present state Next state, output (Z) I1 Input I2 A D / 0 C / 1 D E F BD CG EH AD BD CG B E / 1 A / 1 C H / 1 D / 1 D D / 0 C / 1 E B / 0 G / 1 F H / 1 D / 1 G H AD CF CD AC AD CF CD AC AB FG BC AG AC AF G A / 0 F /1 H C / 0 A / 1 I G / 1 H / 1 I EG AH GH DH GH DH A B C D E F G H Fall 2014, Nov 10... ELEC2200-002 Lecture 7 53

Implication Table Method (Cont.) B Equivalent states: C EH AD S1: A, D, G D S2: B, C, F E BD CG BD CG S3: E, H F EH AD S4: I G AD CF AD CF AB FG H CD AC CD AC BC AG AC AF I EG AH GH DH GH DH A B C D E F G H Fall 2014, Nov 10... ELEC2200-002 Lecture 7 54

Minimized State Table Present state Original Next state, output (Z) I1 Input I2 A D / 0 C / 1 B E / 1 A / 1 C H / 1 D / 1 D D / 0 C / 1 E B / 0 G / 1 F H / 1 D / 1 G A / 0 F / 1 H C / 0 A / 1 I G / 1 H / 1 Present state Minimized Next state, output (Z) I1 Input I2 S1 = (A, D, G) S1 / 0 S2 / 1 S2 = (B, C, F) S3 / 1 S1 / 1 S3 = (E, H) S2 / 0 S1 / 1 S4 = I S1 / 1 S3 / 1 Number of flip-flops is reduced from 4 to 2. Fall 2014, Nov 10... ELEC2200-002 Lecture 7 55

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 2014, Nov 10... ELEC2200-002 Lecture 7 56

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 2014, Nov 10... ELEC2200-002 Lecture 7 57

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) A Karnaugh map of output function or next state function 1 1 1 1 1 1 Y2 Larger clusters produce smaller logic function. Y1 1 1 1 1 1 Clustered minterms differ in one variable. B Fall 2014, Nov 10... ELEC2200-002 Lecture 7 58

Size of an Implementation Number of product terms determines number of gates. Number of literals in a product term determines number of gate inputs, which is proportional to number of transistors. Hardware α (total 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 2014, Nov 10... ELEC2200-002 Lecture 7 59

Rule 1 States that have the same next state for some fixed input should be assigned logically adjacent codes. Fixed Inputs Si Sj Present state Combinational logic Flipflops Sk Next state Outputs Clock Clear Fall 2014, Nov 10... ELEC2200-002 Lecture 7 60

Rule 2 States that are the next states of the same state under logically adjacent inputs, should be assigned logically adjacent codes. Adjacent Inputs I1 I2 Fixed present state Si Combinational logic Sk Sm Next state Outputs Flipflops Clock Clear Fall 2014, Nov 10... ELEC2200-002 Lecture 7 61

Example of State Assignment Present state Next state, output (Z) Input, X 0 1 A C, 0 D, 0 A adj C (Rule 1) 0/1 1/0 A 0/0 1/0 A adj B (Rule 1) B C, 0 A, 0 C B, 0 D, 0 D A, 1 B, 1 Figure 9.19 of textbook 0 1 C adj D (Rule 2) D 1/0 1/1 C 0/0 B 0/0 0 1 A C B D Verify that BC and AD are not adjacent. B adj D (Rule 2) Fall 2014, Nov 10... ELEC2200-002 Lecture 7 62

A = 00, B = 01, C = 10, D = 11 Present state Y1, Y2 Next state, output Y1*Y2*, Z Input, X 0 1 A = 00 10 / 0 11 / 0 B = 01 10 / 0 00 / 0 C = 10 01 / 0 11 / 0 D = 11 00 / 1 01 / 1 Input Present state Output Next state X Y1 Y2 Z Y1* Y2* 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 63

Logic Minimization for Optimum State Assignment X Z Y1* X 1 1 1 Y2 1 1 Y2 1 1 Y1 Y2* Y1 X Result: 5 products, 10 literals. Y2 1 1 1 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 64 Y1

Circuit for Optimum State Assignment X 32 transistors Combinational logic Z Y1* Y1 Y1 Y2* CLEAR Y2 Y2 CK Fall 2014, Nov 10... ELEC2200-002 Lecture 7 65

Using an Arbitrary State Assignment: A = 00, B = 01, C = 11, D = 10 Present state Y1, Y2 Next state, output Y1*Y2*, Z Input, X 0 1 A = 00 11 / 0 10 / 0 B = 01 11 / 0 00 / 0 C = 11 01 / 0 10 / 0 D = 10 00 / 1 01 / 1 Input Present state Output Next state X Y1 Y2 Z Y1* Y2* 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 66

Logic Minimization for Arbitrary State Assignment X Z Y1* 1 1 X 1 1 Y2 Y2 1 1 Y1 Y2* Y1 X Result: 6 products, 14 literals. 1 1 Y2 1 1 Fall 2014, Nov 10... ELEC2200-002 Lecture 7 67 Y1

Circuit for Arbitrary State Assignment Comb. logic Z X Y1* Y2* 42 transistors Y1 Y1 CLEAR Y2 Y2 CK Fall 2014, Nov 10... ELEC2200-002 Lecture 7 68

Find Out More About 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 2014, Nov 10... ELEC2200-002 Lecture 7 69