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.

Slides:



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

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:
1 Lecture 14 Memory storage elements  Latches  Flip-flops State Diagrams.
COE 202: Digital Logic Design Sequential Circuits Part 1 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office: Ahmad Almulhem, KFUPM.
A. Abhari CPS2131 Sequential Circuits Most digital systems like digital watches, digital phones, digital computers, digital traffic light controllers and.
CHAPTER 3 Sequential Logic/ Circuits.  Concept of Sequential Logic  Latch and Flip-flops (FFs)  Shift Registers and Application  Counters (Types,
ECE 331 – Digital System Design Latches and Flip-Flops (Lecture #17) The slides included herein were taken from the materials accompanying Fundamentals.
Computer Architecture CS 215
Flip-Flops, Registers, Counters, and a Simple Processor
Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and.
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Multiplexors Sequential Circuits and Finite State Machines Prof. Sin-Min Lee Department of Computer Science.
1 Sequential Systems A combinational system is a system whose outputs depend only upon its current inputs. A sequential system is a system whose outputs.
Circuits require memory to store intermediate data
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 1 – Storage.
Sequential Circuit Analysis & Design Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh.
EKT 124 / 3 DIGITAL ELEKTRONIC 1
Sequential circuit Digital electronics is classified into combinational logic and sequential logic. In combinational circuit outpus depends only on present.
ECE 331 – Digital System Design Introduction to and Analysis of Sequential Logic Circuits (Lecture #20) The slides included herein were taken from the.
1 Sequential logic networks I. Motivation & Examples  Output depends on current input and past history of inputs.  “State” embodies all the information.
Homework Reading Machine Projects Labs Tokheim Chapter 9.1 – 9.6
Logic and Computer Design Fundamentals Registers and Counters
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
KU College of Engineering Elec 204: Digital Systems Design
Chapter 3: Sequential Logic Circuit EKT 121 / 4 ELEKTRONIK DIGIT 1.
1 CSE370, Lecture 14 Lecture 14 u Logistics n Midterm 1: Average 90/100. Well done! n Midterm solutions online n HW5 due date delayed until this Friday.
Flip Flops. Clock Signal Sequential logic circuits have memory Output is a function of input and present state Sequential circuits are synchronized by.
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Sequential Networks Two major classes of Sequential Circuits 1.Fundamental Mode – A sequential circuit where: Only one input is allowed to change at any.
Digital Computer Design Fundamental
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
COE 202: Digital Logic Design Sequential Circuits Part 1
Rabie A. Ramadan Lecture 3
Synchronous Sequential Logic Chapter 5. Digital Circuits Sequential Circuits Combinational circuits contains no memory elements the outputs depends.
Chap 4. Sequential Circuits
Introduction to Sequential Logic Design Flip-flops FSM Analysis.
Sequential Circuits. Two primary differences between combinational circuits and sequential circuits –Sequential circuits are synchronous (use a clock)
D Latch Delay (D) latch:a) logic symbolb) NAND implementationc) NOR implementation.
Chapter 8 -- Analysis and Synthesis of Synchronous Sequential Circuits.
Important Components, Blocks and Methodologies. To remember 1.EXORS 2.Counters and Generalized Counters 3.State Machines (Moore, Mealy, Rabin-Scott) 4.Controllers.
1 CSE370, Lecture 15 Lecture 15 u Logistics n HW5 due this Friday n HW6 out today, due Friday Feb 20 n I will be away Friday, so no office hour n Bruce.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Instructor: Alexander Stoytchev CprE 281: Digital Logic.
2017/4/24 1.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
CHAPTER 6 Sequential Circuits’ Analysis CHAPTER 6 Sequential Circuits’ Analysis Sichuan University Software College.
ELEC Digital Logic Circuits Fall 2015 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) Vishwani D. Agrawal James J. Danaher Professor.
1 Lecture #11 EGR 277 – Digital Logic Ch. 5 - Synchronous Sequential Logic There are two primary classifications of logic circuits: 1.Combinational logic.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
EKT 121 / 4 ELEKTRONIK DIGIT I
Synchronous Sequential Logic Part I
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Dept. of Electrical Engineering
CHAPTER 11 LATCHES AND FLIP-FLOPS This chapter in the book includes: Objectives Study Guide 11.1Introduction 11.2Set-Reset Latch 11.3Gated D Latch 11.4Edge-Triggered.
1 CS 352 Introduction to Logic Design Lecture 6 Ahmed Ezzat Latches, Flip/Flops, Registers, and Counters Ch-11 + Ch-12.
©2010 Cengage Learning SLIDES 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.
UNIT 11 LATCHES AND FLIP-FLOPS Click the mouse to move to the next page. Use the ESC key to exit this chapter. This chapter in the book includes: Objectives.
1 Digital Design Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
Chapter #6: Sequential Logic Design
Reading: Hambley Chapters
ECE Digital logic Lecture 16: Synchronous Sequential Logic
332:437 Lecture 12 Finite State Machine Design
Digital Logic Design Sequential Circuits (Chapter 6)
Digital Design Fundamentals
Instructor: Alexander Stoytchev
Sequential Circuit Analysis & Design
SEQUENTIAL CIRCUITS __________________________________________________
Presentation transcript:

ELEC 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 Fall 2014, Nov ELEC 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 ELEC Lecture 7 2

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

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: Fall 2014, Nov ELEC Lecture 7 4 FrSoJrSr 0/0 1/0 1/1 Initial state

State Table or Excitation Table InputPresent StateNext StateOutput 0Fr 0 0So 0 0Jr 0 0Sr 0 1FrSo0 1 Jr0 1 Sr0 1 1 Fall 2014, Nov ELEC Lecture 7 5 Initial State: Fr

State Table (Alternative Form) Fr/0So/0 Jr/0 Sr/0 Sr/1 Fall 2014, Nov ELEC Lecture 7 6 Fr So Jr Sr Inputs 01 Present state Next state/output

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: Fall 2014, Nov ELEC Lecture 7 7 Toggling 0-1 Odd inversionsEven inversions 0 1 or 1 0

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 ELEC Lecture 7 8

Adding Inputs to Feedback Loop Fall 2014, Nov ELEC Lecture 7 9 QQQQ SRSR

NOR Set-Reset (SR) Latch Fall 2014, Nov ELEC Lecture 7 10 QQQQ SRSR Q  Q SRSR QQQQ SRSR Also drawn as Symbol used in Logic schematics

States of Latch StateSRQ QQ Set1010 Reset0101 Store00Prev. Q Prev.  Q Illegal1100 Fall 2014, Nov ELEC Lecture 7 11

The “Set” State Fall 2014, Nov ELEC Lecture 7 12 Q = 1  Q = 0 S = 1 R = 0 Behavior is combinational. Loop is broken

The “Reset” State Fall 2014, Nov ELEC Lecture 7 13 Q = 0  Q = 1 S = 0 R = 1 Behavior is combinational. Loop is broken

The “Store” State Fall 2014, Nov ELEC Lecture 7 14 Q = 1  Q = 0 S = 0 R = 0 Loop is activated; behavior is sequential.

The “Illegal” State Fall 2014, Nov ELEC Lecture 7 15 Q = 0  Q = 0 S = 1 R = 1 Loop is broken in two places and inconsistent values inserted.

“Illegal” State Cannot Be Stored Fall 2014, Nov ELEC Lecture 7 16 Q = 0 → 1 → 0 → 1 →...  Q = 0 → 1 → 0 → 1 →... S = 1 → 0 R = 1 → 0 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. Assume two gates have equal delays.

Excitation Table of SR Latch Excitation inputs Present state Next state Functional Name of State SRQQ* 0000 Store Reset Set Illegal Race condition 111Illegal Fall 2014, Nov ELEC 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 Fall 2014, Nov ELEC Lecture 7 18  1 1  1 Q S R

State Diagram of SR Latch Fall 2014, Nov ELEC Lecture 7 19 Q = 0Q = 1 SR = 10 SR = 01 SR = 0XSR = X0

Clocked SR Latch Fall 2014, Nov ELEC Lecture 7 20 S CK R Q  Q SR-latch

Clocked Delay Latch or D-Latch Fall 2014, Nov ELEC Lecture 7 21 D CK Q  Q SR-latch

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 ELEC Lecture 7 22

Latch Inputs Fall 2014, Nov ELEC Lecture time D 1010 CK trtr tsts thth tptp

JK-Latch Fall 2014, Nov ELEC Lecture 7 24 JKJK Q  Q SR-latch Characteristic Equation, Q = J  Q* +  K Q* Where Q = present state, Q* = previous state

T-Latch (Toggle Latch) Fall 2014, Nov ELEC Lecture 7 25 JKJK Q  Q SR-latch Characteristic Equation, Q = T  Q* +  T Q* Where Q = present state, Q* = previous state T

Master-Slave D-Flip-Flop Fall 2014, Nov ELEC Lecture 7 26 D CK Q  Q Master latchSlave latch

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 ELEC Lecture 7 27

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

D-Flip-Flop With CLEAR Fall 2014, Nov ELEC Lecture 7 29 D CK Q  Q Master latchSlave latch CLR

D-Flip-Flop With PRESET Fall 2014, Nov ELEC Lecture 7 30 D CK Q  Q Master latchSlave latch PRESET

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

Register (3-Bit Example) Stores parallel data Fall 2014, Nov ELEC Lecture 7 32 CLR DQ CK CLR DQ CK CLR DQ CK CLR CK Q0 Q1 Q2 Parallel output Parallel input D0 D1 D2

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

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 2014, Nov ELEC Lecture 7 34

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 2014, Nov ELEC 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. Fall 2014, Nov ELEC Lecture 7 36 S0 S1 1/1 1/0 0/1 0/0 Mealy machine S0/1 S1/0 1/0 1/1 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 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 = 00no turn Z1, Z2 = 01turn right by a predetermined angle Z1, Z2 = 10turn left by a predetermined angle Z1, Z2 = 11output not used Fall 2014, Nov ELEC 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 ELEC 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. Fall 2014, Nov ELEC Lecture 7 39 Combinational logic Flip- flops OutputsInputs Present state Next state Clock Clear

Example 8.17: Robot Control (Continued... 3) Construct state diagram. Fall 2014, Nov ELEC Lecture 7 40 A DC B A: no obstacle, last turn was left B: obstacle, turn right C: no obstacle, last turn was right 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 2014, Nov ELEC Lecture 7 41 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: 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 Fall 2014, Nov ELEC Lecture 7 42 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

Realization of FSM Primary input:X Primary outputs:Z1, Z2 Present state variables:Y1, Y2 Next state variables:Y1*, Y2* Fall 2014, Nov ELEC Lecture 7 43 Combinational logic Flip- flop Z1 Z2 X Y1 Y2 Y1* Y2* Clock Clear Flip- flop

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 2014, Nov 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 2014, Nov ELEC Lecture 7 45 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 2014, Nov ELEC Lecture Y2 X Y Y2 Y1 1 1 Y2 X Y1 1 1 Y2 X Y1 X Z1 Z2 Y1* Y2*

Example 8.17: Robot Control (Continued... 9) Synthesize logic and connect memory elements (flip-flops). Fall 2014, Nov ELEC Lecture 7 47 Y2 Y1  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. Don’t forget to connect clock and clear signals. Fall 2014, Nov ELEC 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. Fall 2014, Nov ELEC Lecture 7 49 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 2014, Nov ELEC Lecture 7 50 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 2014, Nov ELEC Lecture 7 51 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 2014, Nov ELEC Lecture 7 52 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 Q: Can they be equivalent? A: Yes, if B and D were equivalent and C and G were equivalent.

Implication Table Method Fall 2014, Nov ELEC Lecture 7 53 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 2014, Nov ELEC Lecture 7 54 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 2014, Nov ELEC Lecture 7 55 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 2014, Nov ELEC 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 ELEC 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) Fall 2014, Nov ELEC Lecture 7 58 A B Y1 Y2 Karnaugh map of output function or next state function  Larger clusters produce smaller logic function.  Clustered minterms differ in one variable.

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 ELEC Lecture 7 59

Rule 1 States that have the same next state for some fixed input should be assigned logically adjacent codes. Fall 2014, Nov ELEC Lecture 7 60 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 2014, Nov ELEC Lecture 7 61 Combinational logic Flip- flops Outputs Adjacent Inputs Fixed present state Next state Clock Clear Sk Sm Si I1 I2

Example of State Assignment Fall 2014, Nov ELEC Lecture 7 62 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 2014, Nov ELEC Lecture 7 63 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 2014, Nov ELEC Lecture Y2 X Y1 111 Y2 Y1 11 Y2 X Y1 X Z Y1* Y2* Result: 5 products, 10 literals.

Circuit for Optimum State Assignment Fall 2014, Nov ELEC Lecture 7 65 Y2 Y1  Y1  Y2 X Z Y2* Y1* CK CLEAR Combinational logic 32 transistors

Using an Arbitrary State Assignment: A = 00, B = 01, C = 11, D = 10 Fall 2014, Nov ELEC Lecture 7 66 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 2014, Nov ELEC Lecture 7 67 Result: 6 products, 14 literals Y2 X 11 X Z Y1* Y2 Y1 X Y2* Y1

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

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 ELEC Lecture 7 69