Optimization of Sequential Networks Step in Synthesis: Problem Flow Table Reduce States Minimum-State Table State Assignment Circuit Transition Table Flip-Flop.

Slides:



Advertisements
Similar presentations
Escola Politécnica da Universidade de São Paulo GSEIS - LME Logic Synthesis in IC Design and Associated Tools Sequential Synthesis Wang Jiang Chau Grupo.
Advertisements

Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Automatic Verification Book: Chapter 6. How can we check the model? The model is a graph. The specification should refer the the graph representation.
Chapter 9 -- Simplification of Sequential Circuits.
©2004 Brooks/Cole FIGURES FOR CHAPTER 15 REDUCTION OF STATE TABLES STATE ASSIGNMENT Click the mouse to move to the next page. Use the ESC key to exit this.
Proof of correctness; More reductions
CS1022 Computer Programming & Principles Lecture 7.1 Graphs (1)
Synthesis For Finite State Machines. FSM (Finite State Machine) Optimization State tables State minimization State assignment Combinational logic optimization.
L8 – Reduction of State Tables. Reduction of states  Given a state table reduce the number of states.  Eliminate redundant states  Ref: text Unit 15.
Sequential Circuit Synthesis - II
CS 253: Algorithms Chapter 22 Graphs Credit: Dr. George Bebis.
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Some Slides from: U.C. Berkeley, U.C. Berkeley, Alan Mishchenko, Alan Mishchenko, Mike Miller, Mike Miller, Gaetano Borriello Gaetano Borriello Introduction.
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:
1. 1. Output depends uniquely on inputs:  Contains only logic gates, AND, OR,...  No feedback interconnects 2. Output depends on inputs and memory:
Glitches & Hazards.
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.
Chapter 9 Asynchronous Sequential Logic 9-1 Introduction Introduction 9-2 Analysis Procedure Analysis ProcedureAnalysis Procedure 9-3 Circuits With Latches.
1 State Assignment Using Partition Pairs 2  This method allows for finding high quality solutions but is slow and complicated  Only computer approach.
Digital Logic Design Lecture 27.
CSE 421 Algorithms Richard Anderson Lecture 23 Network Flow Applications.
ECE 331 – Digital System Design State Reduction and State Assignment (Lecture #22) The slides included herein were taken from the materials accompanying.
Sequential System Synthesis -- Finite State Machine.
Asynchronous Sequential Logic
Finite State Machine Minimization Advanced Methods based on triangular table and binate covering.
Chapter 3 Simplification of Switching Functions
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.
Overview Sequential Circuit Design Specification Formulation
Exact State Minimization of Non-Deterministic FSMs 290N: The Unknown Component Problem Lecture 17.
CSE 421 Algorithms Richard Anderson Lecture 24 Network Flow Applications.
Applications of Synchronous Circuits (Class 10.2 – 3/28/2013) CSE 2441 – Introduction to Digital Logic Spring 2013 Instructor – Bill Carroll, Professor.
Zvi Kohavi and Niraj K. Jha 1 Capabilities, Minimization, and Transformation of Sequential Machines.
B-1 Appendix B - Reduction of Digital Logic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Zvi Kohavi and Niraj K. Jha 1 Memory, Definiteness, and Information Losslessness of Finite Automata.
L10 – State Machine Design Topics. States Machine Design  Other topics on state machine design Equivalent sequential machines Incompletely specified.
Minimum Spanning Trees Prof. Sin-Min Lee Dept. of Computer Science, San Jose State University.
Computing the chromatic number for block intersection graphs of Latin squares Ed Sykes CS 721 project McMaster University, December 2004 Slide 1.
Introduction to State Machine
Digital Circuits State Reduction and Assignment State Reduction reductions on the number of flip-flops and the number of gates a reduction in the.
CSCI 115 Chapter 8 Topics in Graph Theory. CSCI 115 §8.1 Graphs.
Problem Statement How do we represent relationship between two related elements ?
Chapter 8. Sequential machine. Sequential machine M = ( I, O, S, , ) I : set of input O : set of output S : set of states  (state transition) : I 
Testing of Synchronous Sequential Circuits By Dr. Amin Danial Asham.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect10: Two-level Logic Minimization.
1 Asynchronous Sequential Logic For most figures:.
Capabilities, Minimization, and Transformation of Sequential Machines
SLIDES FOR CHAPTER 15 REDUCTION OF STATE TABLES STATE ASSIGNMENT
Finite state machine optimization
Finite state machine optimization
Sequential logic design principles
Modeling Arithmetic, Computation, and Languages
Combinations COURSE 3 LESSON 11-3
State Reduction and State Assignment
Lecture 14 Reduction of State Tables
Synthesis and Verification of Finite State Machines
L10 – additional State Machine examples
Minimal DFA Among the many DFAs accepting the same regular language L, there is exactly one (up to renaming of states) which has the smallest possible.
Implement FSM with fewest possible states • Least number of flip flops
CHAPTER 15 REDUCTION OF STATE TABLES STATE ASSIGNMENT
DESIGN OF SEQUENTIAL CIRCUITS
Synthesis and Verification of Finite State Machines
AB AC AD AE AF 5 ways If you used AB, then, there would be 4 remaining ODD vertices (C, D, E and F) CD CE CF 3 ways If you used CD, then, there.
Regular Language Equivalence and DFA Minimization
Ladder Diagram Design: Huffman Method
ECE 352 Digital System Fundamentals
Chapter5: Synchronous Sequential Logic – Part 3
CSE 370 – Winter Sequential Logic-2 - 1
Chapter 9 -- Simplification of Sequential Circuits
Presentation transcript:

Optimization of Sequential Networks Step in Synthesis: Problem Flow Table Reduce States Minimum-State Table State Assignment Circuit Transition Table Flip-Flop or Latch Selection Excitation Table or Functions We focus here on minimizing states for: 1.Completely Specified Sequential Machines – specified by flow tables with no don’t cares 2.Incompletely Specified Sequential Machines – specified by flow tables with don’t cares

State Reduction Goal Given a flow table, to find an indistinguishable, minimum- state flow table. Note: this leads to a circuit with fewest possible memory elements & usually a minimum cost (but not always) Indistinguishable Flow Tables - flow tables that specify identical output sequences for the same input sequence. Inaccessible States – states not reached from initial state or from desired pattern We want to eliminate inaccessible states by state reduction or by making them accessible. We assume this is done before other state reduction techniques are employed.

Table Reduction for Completely Specified Networks Present state Next state, output x=0x=1 AB,1C,0 BB,1C,0 CA,0D,1 DA,0D,1 Present state Next state, output x=0x=1 EE,1F,0 FE,0F,1 Consider two flow tables: Table TTable T* If the same input sequence is applied to T or T*, they produce the same output sequences Example: for sequence x = 011, z(T,A)=101, z(T*,E)=101

Distinguishability Two states of a FSM s i and s j are distinguishable if they produce different output sequences for the same input sequence. Such an input sequence is a distinguishing sequence of ( s i, s j ) Two states of a FSM s i and s j are equivalent or indistinguishable if they produce the same output sequences for the same input sequence and are members of an indistinguishable class. If there is a distinguishing sequence with length k for ( s i, s j ), the ( s i, s j ) is k -distinguishable Goal: to merge all equivalent states to obtain the minimum number of states.

Partition and Array Techniques to Produce Minimum-State Tables Partition Test Steps: 1.Class States by output only Present state Next state, output x=0x=1 Q0Q0 Q 2,0Q 1,1 Q1Q1 Q 2,1Q 0,1 Q2Q2 Q 4,0Q 1,1 Q3Q3 Q 5,0Q 0,0 Q4Q4 Q 6,1 Q5Q5 Q3, 1Q3, 1Q 2,1 Q6Q6 Q 4,1Q 2,1 Present state Next state, output x=0x=1 Q 0 AQ 2 A,0Q 1 B,1 Q 1 BQ 2 A,1Q 0 A,1 Q 2 AQ 4 A,0Q 1 B,1 Q 3 CQ 5 B,0Q 0 A,0 Q 4 AQ 0 A,0Q 6 B,1 Q 5 BQ 3 C, 1Q 2 A,1 Q 6 BQ 4 A,1Q 2 A,1 A[Q 0 Q 2 Q 4 ] B[Q 1 Q 5 Q 6 ] C[Q 3 ]

Partition Test Steps: 2.Check Next States within classes, if necessary further subclass Present state Next state, output x=0x=1 Q 0 AQ 2 A,0Q 1 B,1 Q 1 BQ 2 A,1Q 0 A,1 Q 2 AQ 4 A,0Q 1 B,1 Q 3 CQ 5 BD,0Q 0 A,0 Q 4 AQ 0 A,0Q 6 B,1 Q 5 BDQ 3 C, 1Q 2 A,1 Q 6 BQ 4 A,1Q 2 A,1 A[Q 0 Q 2 Q 4 ] B[Q 1 Q 6 ] BD[Q 5 ] C[Q 3 ]

Partition Test Steps: 3. Minimum-State Table is set of indistinguishable classes. Present state Next state, output x=0x=1 Q 0 AQ 2 A,0Q 1 B,1 Q 1 BQ 2 A,1Q 0 A,1 Q 3 CQ 5 BD,0Q 0 A,0 Q 5 BDQ 3 C, 1Q 2 A,1 A[Q 0 Q 2 Q 4 ] B[Q 1 Q 6 ] BD[Q 5 ] C[Q 3 ]

Array Technique Steps: 1.Form Pair Chart with ½(S)(S-1) entries. Place X in cells that correspond to state pairs having different outputs. Present state Next state, output x=0x=1 Q0Q0 Q 2,0Q 1,1 Q1Q1 Q 2,1Q 0,1 Q2Q2 Q 4,0Q 1,1 Q3Q3 Q 5,0Q 0,0 Q4Q4 Q 6,1 Q5Q5 Q3, 1Q3, 1Q 2,1 Q6Q6 Q 4,1Q 2,1 X X X Q2Q4Q2Q4 X X X X X X X X X X X X Q1Q1 Q2Q2 Q3Q3 Q4Q4 Q5Q5 Q6Q6 Q1Q1 Q2Q2 Q3Q3 Q4Q4 Q5Q5 Q0Q0 Q0Q2Q1Q6Q0Q2Q1Q6 Q2Q3Q0Q2Q2Q3Q0Q2 Q2Q4Q0Q2Q2Q4Q0Q2 Q1Q6Q0Q4Q1Q6Q0Q4 Q3Q4Q3Q4 2. Each remaining pair examined, place asterisk in cells with identical next state entries. Place pairs of states that must be indistinguishable in order that pair represented by cell be indistinguishable

Array Technique X X X Q2Q4Q2Q4 X X X X X X X X X X X X Q1Q1 Q2Q2 Q3Q3 Q4Q4 Q5Q5 Q6Q6 Q1Q1 Q2Q2 Q3Q3 Q4Q4 Q5Q5 Q0Q0 Q0Q2Q1Q6Q0Q2Q1Q6 Q2Q3Q0Q2Q2Q3Q0Q2 Q2Q4Q0Q2Q2Q4Q0Q2 Q1Q6Q0Q4Q1Q6Q0Q4 Q3Q4Q3Q4 3. Make successive passes through array Xing out cells having pair entries that are distinguishable (marked by X elsewhere in Table) Result: [Q 0 Q 2 Q 4 ] [Q 1 Q 6 ] ] [Q 3 ] [Q 5 ]

Optimization of Incompletely Specified Machines Some definitions: Two states are I-Equivalent IFF 1.Outputs are identical, if specified 2.Matching d-outputs occur 3.Matching unspecified next states occur or specified next states must be equivalent. Two states are Compatible IFF 1.Outputs are identical, if specified 2.Compatible next-states occur, if both are specified. Maximal Compatible Classes - classes that are not subsets of any other compatibility class.

Optimization of Incompletely Specified Machines Flow TableI-Equivalent States Removed Compatible State Pair Chart Maximal Compatibility Classes Minimum-State Table

Optimization of Incompletely Specified Machines Steps in finding Reduced Table: 1.Remove I-Equivalence states 2.Find Maximal Compatibility Classes 3.Form Flow Table in which each state corresponds to a maximal compatibility class subject to satisfying the closure property and all states of the original table are represented, that is satisfying the covering property.

Optimization of Incompletely Specified Machines – Array Technique Example: Present state Next state, output I1I1 I2I2 I3I3 I4I4 A--E,1- BC,0A,1B,0- CC,0D,1-A,0 D-E,1B,-- EB,0-C,-B,0 BE * X BC AE AD BC DE B C D E BCDA AB. BC CE Compatibility State Set: [AC], [AD], [CD], [ACD], [BC], [BE], [ED] Maximal compatibility classes

Optimization of Incompletely Specified Machines – Merger Graph Example: Present state Next state, output I1I1 I2I2 I3I3 I4I4 A--E,1- BC,0A,1B,0- CC,0D,1-A,0 D-E,1B,-- EB,0-C,-B,0 Compatibility State Set: [AC], [AD], [CD], [ACD], [BC], [BE], [ED] Maximal compatibility classes A E D C B (DE) (BE) (BC) (AD) (AE) (BC) (DE) (BC) (AB) Complete Subgraph

State Compatibility Graph State Compatibility Graph is a directed graph satisfying the conditions: 1.Each node corresponds to a compatible state set. 2.When a state set implies another state set S, attach OR directed edges from the nodes corresponding to the original state set to the node corresponding to the state sets containing S. 3. When a state set implies two or more state sets: S 0, …., S k-1, S k, Attach AND directed edges from the node corresponding to the original state set to the nodes that correspond to S 0, …., S k-1, S k

Finding Minimum Number of States Using State Compatibility Graph Must Satisfy Two Conditions: 1.Covering Property – Each state of the FSM is contained by at least one compatible set V 2.Closure Property: If v i  V, then V i  V, where V i is the set of implied compatible sets. V i satisfies the following condition: for the OR directed edges that emerge from v i, V i contains the nodes for at least one edge. For the AND directed edges that emerge from v i, V i contains the nodes for all the AND directed edges.

Addressing the Closure Property V 1 : [BE] V 2 : [AD] V 3 : [CD] V 4 : [BC] V 5 : [ACD] V 6 : [DE] V 7 : [AC] V 8 : [A] V 9 : [B] V 10 : [C] V 11 : [D] V 12 : [E] V1V1 V 7 V 8 V 9 V 10 V 11 V 12 V4V4 V3V3 V6V6 V5V5 V2V2 AND OR Present state Next state, output I1I1 I2I2 I3I3 I4I4 A--E,1- BC,0A,1B,0- CC,0D,1-A,0 D-E,1B,-- EB,0-C,-B,0 E D B (DE) (BE) (BC) (AD) (AE) (BC) (DE) (BC) (AB)

Optimization Example Covering Property State A: v 2 + v 5 + v 7 + v 8 = 1 State B: v 1 + v 4 + v 9 = 1 State C: v 3 + v 4 + v 5 + v 7 + v 10 = 1 State D: v 2 + v 3 + v 5 + v 6 + v 11 = 1 State E: v 1 + v 6 + v 12 = 1

Closure Property Example From the state compatibility graph v 1  v 4, so v 1 + v 4 = 1 v 2  v 1, so v 2 + v 1 = 1 v 3  v 6, so v 3 + v 6 = 1 v 4  (v 2 + v 5 ), so v 4 + v 2 + v 5 = 1 v 5  v 1 v 6, so (v 5 + v 1 )(v 5 + v 6 ) = 1 v 6  v 4, so v 6 + v 4 = 1 AND of all conditions gives solution of minimum weight