Implement FSM with fewest possible states • Least number of flip flops

Slides:



Advertisements
Similar presentations
Nonlinear & Neural Networks LAB. PART State Reduction ( )
Advertisements

L8 – Reduction of State Tables. Reduction of states  Given a state table reduce the number of states.  Eliminate redundant states  Ref: text Unit 15.
Lecture 21 State minimization via implication charts.
Some Slides from: U.C. Berkeley, U.C. Berkeley, Alan Mishchenko, Alan Mishchenko, Mike Miller, Mike Miller, Gaetano Borriello Gaetano Borriello Introduction.
Finite State Machines (FSMs)
Reducing DFA’s Section 2.4. Reduction of DFA For any language, there are many DFA’s that accept the language Why would we want to find the smallest? Algorithm:
State-machine structure (Mealy)
Cook’s Theorem The Foundation of NP-Completeness.
VIII - Working with Sequential Logic © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Finite state machine optimization State minimization  fewer.
Give qualifications of instructors: DAP
Asynchronous Sequential Logic
Digital Logic Design Lecture 27.
No. 9-1 Chapter #9: Finite State Machine Optimization.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
Sequential Circuit Design
ECE 331 – Digital System Design State Reduction and State Assignment (Lecture #22) The slides included herein were taken from the materials accompanying.
ECE 331 – Digital System Design
ECE C03 Lecture 111 Lecture 11 Finite State Machine Optimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
ECE C03 Lecture 131 Lecture 13 Finite State Machine Optimization Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
Contemporary Logic Design Finite State Machine Design © R.H. Katz Transparency No Chapter #8: Finite State Machine Design 8.5 Finite State Machine.
Aho-Corasick String Matching An Efficient String Matching.
1 State Reduction: Row Matching Example 1, Section 14.3 is reworked, setting up enough states to remember the first three bits of every possible input.
Spring 2002EECS150 - Lec15-seq2 Page 1 EECS150 - Digital Design Lecture 15 - Sequential Circuits II (Finite State Machines revisited) March 14, 2002 John.
Contemporary Logic Design FSM Optimization © R.H. Katz Transparency No Chapter #9: Finite State Machine 9.4 Choosing Flip-Flops 9.5 Machine Partitioning.
ENGIN112 L25: State Reduction and Assignment October 31, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 25 State Reduction and Assignment.
CSCI 3301 Transparency No. 9-1 Chapter #9: Finite State Machine Optimization Contemporary Logic Design.
CSE 311: Foundations of Computing Fall 2014 Lecture 23: State Minimization, NFAs.
Zvi Kohavi and Niraj K. Jha 1 Capabilities, Minimization, and Transformation of Sequential Machines.
Chapter 5 - Part Sequential Circuit Design Design Procedure  Specification  Formulation - Obtain a state diagram or state table  State Assignment.
Circuit, State Diagram, State Table
Unit 14 Derivation of State Graphs
CPEN Digital System Design Chapter 5 - Sequential Circuits Sequential Circuit Design C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed.,
9-1 Introduction Chapter #9: Finite State Machine Optimization.
1Sequential circuit design Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA by Erol Sahin and Ruken Cakici.
Synchronous Counter Design
Sequential Circuit Design 05 Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA.
Lecture 14: Theory of Automata:2014 Finite Automata with Output.
Capabilities, Minimization, and Transformation of Sequential Machines
Finite state machine optimization
Sequential Networks and Finite State Machines
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
4.
Finite state machine optimization
Sequential logic design principles
Modeling Arithmetic, Computation, and Languages
Turing Machines 2nd 2017 Lecture 9.
Reading: Hambley Chapters
State Reduction and State Assignment
Lecture 14 Reduction of State Tables
CSE 370 – Winter Sequential Logic-2 - 1
Lecture 25 Logistics Last lecture Today HW8 posted today, due 12/5
L10 – additional State Machine examples
CHAPTER 15 REDUCTION OF STATE TABLES STATE ASSIGNMENT
DESIGN OF SEQUENTIAL CIRCUITS
Lecture 25 Logistics Last lecture Today HW8 posted today, due 12/5
Chapter 10.3 and 10.4: Combinatorial Circuits
ECE 352 Digital System Fundamentals
Lecture 22 Logistics Last lecture Today
Lecture 20 State minimization via row matching.
ECE 352 Digital System Fundamentals
CS M51A/EE M16 Winter’05 Section 1 Logic Design of Digital Systems Lecture 11 February 23 W’05 Yutao He 4532B Boelter Hall
EGR 2131 Unit 12 Synchronous Sequential Circuits
Announcements Assignment 7 due now or tommorrow Assignment 8 posted
Chapter5: Synchronous Sequential Logic – Part 3
CSE 370 – Winter Sequential Logic-2 - 1
332:437 Lecture 14 Turing Machines and State Machine Sequences
Chapter 9 -- Simplification of Sequential Circuits
Presentation transcript:

Implement FSM with fewest possible states • Least number of flip flops Motivation State Reduction Implement FSM with fewest possible states • Least number of flip flops • Boundaries are power of two number of states • Fewest states usually leads to more opportunities for don't cares • Reduce the number of gates needed for implementation Material taken from Katz, Randy H., Contemporary Logic Design Benjamin/Cummings Publishing, Co. Inc. © 1994

State Reduction Goal Identify and combine states that have equivalent behavior Equivalent States: for all input combinations, states transition to the same or equivalent states Algorithmic Approach • Start with state transition table • Identify states with same output behavior • If such states transition to the same next state, they are equivalent • Combine into a single new renamed state • Repeat until no new states are combined

State Reduction Row Matching Method Example FSM Specification: Single input X, output Z Taking inputs grouped four at a time, output 1 if last four inputs were the string 1010 or 0110 Example I/O Behavior: X = 0010 0110 1100 1010 0011 . . . Z = 0000 0001 0000 0001 0000 . . . Upper bound on FSM complexity: Fifteen states (1 + 2 + 4 + 8) Thirty transitions (2 + 4 + 8 + 16) sufficient to recognize any binary string of length four!

State Reduction Row Matching Method State Diagram for Example FSM:

State Reduction Row Matching Method Initial State Transition Table:

State Reduction Row Matching Method Initial State Transition Table:

State Reduction Row Matching Method

State Reduction Row Matching Method

State Reduction Row Matching Method

State Reduction Row Matching Method

State Transition Table State Reduction Row Matching Method Final Reduced State Transition Table Corresponding State Diagram

State Reduction Implication Chart Method New example FSM: Single input X, Single output Z Output a 1 whenever the serial sequence 010 or 110 has been observed at the inputs State transition table:

Implication Chart Method State Reduction Implication Chart Method Enumerate all possible combinations of states taken two at a time S1 S2 S3 S4 S5 S6 S0 Implication Chart

State Reduction Implication Chart Method S2 and S4 have different I/O behavior This implies that S1 and S0 cannot be combined Starting Implication Chart

Reduced State Transition Table State Reduction Implication Chart Method S1 Results of First Marking Pass S2 S3-S5 S4-S6 Second Pass Adds No New Information S3 S3 and S5 are equivalent S4 and S6 are equivalent This implies that S1 and S2 are too! S4 S5 S0-S0 S0-S0 S6 S0-S0 S0-S0 S0 S1 S2 S3 S4 S5 Reduced State Transition Table

State Reduction Multiple Input State Diagram Example Symbolic State Diagram State Diagram

State Reduction Multiple Input Example Minimized State Table Implication Chart

State Reduction Implication Chart Method The detailed algorithm: 1. Construct implication chart, one square for each combination of states taken two at a time 2. Square labeled Si, Sj, if outputs differ than square gets "X". Otherwise write down implied state pairs for all input combinations 3. Advance through chart top-to-bottom and left-to-right. If square Si, Sj contains next state pair Sm, Sn and that pair labels a square already labeled "X", then Si, Sj is labeled "X". 4. Continue executing Step 3 until no new squares are marked with "X". 5. For each remaining unmarked square Si, Sj, then Si and Sj are equivalent.