Lecture 21 State minimization via implication charts.

Slides:



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

Some Slides from: U.C. Berkeley, U.C. Berkeley, Alan Mishchenko, Alan Mishchenko, Mike Miller, Mike Miller, Gaetano Borriello Gaetano Borriello Introduction.
CSE 311 Foundations of Computing I
CMPS 3223 Theory of Computation
Lecture 19: Parallel Algorithms
VIII - Working with Sequential Logic © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Finite state machine optimization State minimization  fewer.
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Finite Automata CPSC 388 Ellen Walker Hiram College.
CSE 311: Foundations of Computing Fall 2013 Lecture 23: Finite state machines and minimization.
Give qualifications of instructors: DAP
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
CYK Parser Von Carla und Cornelia Kempa. Overview Top-downBottom-up Non-directional methods Unger ParserCYK Parser.
1 State Assignment Using Partition Pairs 2  This method allows for finding high quality solutions but is slow and complicated  Only computer approach.
Operations Research Assignment Problem.
No. 9-1 Chapter #9: Finite State Machine Optimization.
Nonlinear & Neural Networks LAB. CHAPTER 13 Analysis of Clocked Sequential Circuit 13.1 A Sequential Parity Checker 13.2 Analysis by Signal Tracing 13.3.
Unit 13 Analysis of Clocked Sequential Circuits Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
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.
Give qualifications of instructors: DAP
Spring 2002EECS150 - Lec15-seq2 Page 1 EECS150 - Digital Design Lecture 15 - Sequential Circuits II (Finite State Machines revisited) March 14, 2002 John.
Computing with Finite Automata (part 2) 290N: The Unknown Component Problem Lecture 10.
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.
CPSC 171 Introduction to Computer Science Boolean Logic, Gates, & Circuits.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
Lexical Analysis Constructing a Scanner from Regular Expressions.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
Lecture 18 More Moore/Mealy machines.
1 Lecture 22 State encoding  One-hot encoding  Output encoding State partitioning.
1 CSE370, Lecture 19 Lecture 19 u Logistics n Lab 8 this week to be done in pairs íFind a partner before your lab period íOtherwise you will have to wait.
9-1 Introduction Chapter #9: Finite State Machine Optimization.
Copyright © Curt Hill Finite State Machines The Simplest and Least Capable Automaton.
Multiplication with Arrays and Boxes – A Visual Model.
Domain: a set of first elements in a relation (all of the x values). These are also called the independent variable. Range: The second elements in a relation.
Simplifying Radicals. You’ve already done some work with radicals and square roots such as: Finding the square root of perfect squares Estimate the square.
Functions and relations
Finite state machine optimization
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
Finite state machine optimization
Lecture 12 Analysis of Clocked Sequential Network
CS 352 Introduction to Logic Design
CSE 311 Foundations of Computing I
MIPS ALU.
Model Functions Input x 6 = Output Input x 3 = Output
Functions and relations
CSE 311 Foundations of Computing I
Synthesis of sequential circuits
CSE 370 – Winter Sequential Logic-2 - 1
Lecture 25 Logistics Last lecture Today HW8 posted today, due 12/5
Lecture 24 Logistics Last lecture Today HW7 due today
Implement FSM with fewest possible states • Least number of flip flops
Lecture 25 Logistics Last lecture Today HW8 posted today, due 12/5
Lecture 21 Logistics Last lecture Today HW7 due Wednesday
Lecture 24 Logistics Last lecture Today HW7 due today
Lecture 22 Logistics Last lecture Today
Lecture 20 State minimization via row matching.
Lecture 22 Logistics Last lecture Today HW7 is due on Friday
Multiplication with Arrays and Boxes
Lecture 22 Logistics Last lecture Today HW7 is due on Friday
Announcements Assignment 7 due now or tommorrow Assignment 8 posted
Software Development Techniques
CSE 370 – Winter Sequential Logic-2 - 1
Concept Development and End Product Description
Chapter 9 -- Simplification of Sequential Circuits
Presentation transcript:

Lecture 21 State minimization via implication charts

Row matching not optimal Two FSMs for odd parity checking

No rows match! Present State Next State Output X=0 X=1 S0 S1 S2 1

FSM minimization Row matching Implication chart Easier to do by hand Misses minimization opportunities Implication chart Guaranteed to find the most reduced FSM More complicated algorithm (but still relatively easy to write a program to do it)

Implication chart method Row matching will not work

Implication chart method Basic Idea: Assume that all states are grouped together and only split state pairs that must be split

Implication chart method Draw a table with a box for every pair of states Cross out boxes for pairs of states with different outputs Fill rest of table with transition pairs For each box and possible input, list pairs of destination states, one per source state Repeat until no more boxes can be crossed out: If box (Si,Sj) contains some transition pair Sk-Sl corresponding to an already crossed-out box then cross out box (Si,Sj) Combine all pairs of states that are left

Step 1: Draw table of state pairs

Step 2: Consider the outputs

Step 3: Add transition pairs C-R 1

Step 3: Add transition pairs C-R 1 01 01 01 Transitivity: if states are combined then successor states must be combined  if successor states cannot be combined then states cannot be combined

Step 4: Consider transitions

Final reduced FSM

Odd parity checker revisited Next State Present State X=0 X=1 Output S0 S1 S2 1 S1 S2 S0 S0-S2 S1–S1

More complex minimization inputs here 10 01 11 00 S0 [1] S2 [1] S4 [1] S1 [0] S3 S5 present next state output state 00 01 10 11 S0 S0 S1 S2 S3 1 S1 S0 S3 S1 S4 0 S2 S1 S3 S2 S4 1 S3 S1 S0 S4 S5 0 S4 S0 S1 S2 S5 1 S5 S1 S4 S0 S5 0 symbolic state transition table

Implication chart S1 S2 S3 S4 S5 S0 present next state output state 00 01 10 11 S0 S0 S1 S2 S3 1 S1 S0 S3 S1 S4 0 S2 S1 S3 S2 S4 1 S3 S1 S0 S4 S5 0 S4 S0 S1 S2 S5 1 S5 S1 S4 S0 S5 0 S0-S1 S1-S3 S2-S2 S3-S4 S0-S1 S3-S0 S1-S4 S4-S5 S0-S0 S1-S1 S2-S2 S3-S5 S1-S0 S3-S1 S2-S2 S4-S5 S0-S1 S3-S4 S1-S0 S4-S5 S4-S0 S5-S5 S1-S1 S0-S4

Minimized FSM present next state output state 00 01 10 11 S0 S0 S1 S2 S3 1 S1 S0 S3 S1 S4 0 S2 S1 S3 S2 S4 1 S3 S1 S0 S4 S5 0 S4 S0 S1 S2 S5 1 S5 S1 S4 S0 S5 0 S1 S2 S3 S4 S5 S0 S0-S1 S1-S3 S2-S2 S3-S4 S0-S1 S3-S0 S1-S4 S4-S5 minimized state table (S0==S4) (S3==S5) present next state output state 00 01 10 11 S0' S0' S1 S2 S3' 1 S1 S0' S3' S1 S3' 0 S2 S1 S3' S2 S0' 1 S3' S1 S0' S0' S3' 0 S0-S0 S1-S1 S2-S2 S3-S5 S1-S0 S3-S1 S2-S2 S4-S5 S0-S1 S3-S4 S1-S0 S4-S5 S4-S0 S5-S5 S1-S1 S0-S4

Minimizing not always good Two FSMs for 0  1 edge detection

Minimizing not always good In Q1 Q0 Q1+ Q0+ 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 – 1 0 – – Q1+ = In Q0 Q0+ = In Out = Q1’ Q0

Minimizing not always good In Q1 Q0 Q1+ Q0+ 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 Q1+ = Q0 Q0+ = In Out = Q1’ Q0

A little perspective These kinds of optimizations are what CAD (Computer Aided Design) / EDA (Electronic Design Automation) is all about The interesting problems are almost always computationally intractable to solve optimally People really care about the automation of the design of billion-transistor chips