sequential logic synthesis3a978-1... · layout minimization of cmos cells, r.l. maziasz and j.p....

18
SEQUENTIAL LOGIC SYNTHESIS

Upload: others

Post on 13-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

SEQUENTIAL LOGIC SYNTHESIS

Page 2: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

THE KLUWER INTERNATIONAL SERIES IN ENGINEERING AND COMPUTER SCIENCE

VLSI, COMPUTER ARCHITECfURE AND DIGITAL SIGNAL PROCESSING

Latest Titles

Consulting Editor Jonathan Allen

VLSI Design of Neural Networks, U. Ramacher, U. Ruckert ISBN: 0-7923-9127-6

Synchronization Design for Digital Systems, T. H. Meng ISBN: 0-7923-9128-4

Hardware Annealing in Analog VLSI Neurocomputing, B. W. Lee, B. J. Sheu ISBN: 0-7923-9132-2

Neural Networks and Speech Processing, D. P. Morgan, c.L. Scofield ISBN: 0-7923-9144-6

Silicon-on-Insulator Technology: MaterilIls to VLSI, J.P. Colinge ISBN: 0-7923-9150-0

Microwave Semiconductor Devices, S. Yngvesson ISBN: 0-7923-9156-X

A SU1Vey of High-Level Synthesis Systems, R. A. Walker, R. Camposano ISBN: 0-7923-9158-6

Symbolic Analysis for Automated Design of Analog Integrated Circuits, G. Gielen, W. Sansen,

ISBN: 0-7923-9161-6 High-Level VLSI Synthesis, R. Camposano, W. Wolf,

ISBN: 0-7923-9159-4 Integrating Functional and Temporal Domains in Logic Design: The False Path

Problem and its Implications, P. C. McGeer, R. K. Brayton, ISBN: 0-7923-9163-2

Neural Models and Algorithmsfor Digital Testing, S. T. Chakradhar, V. D. Agrawal, M. L. Bushnell,

ISBN: 0-7923-9165-9 Monte Carlo Device Simulation: Full Band and Beyond, Karl Hess, editor

ISBN: 0-7923-9172-1 The Design of Communicating Systems: A System Engineering Approach,

C.J. Koomen ISBN: 0-7923-9203-5

Parallel Algorithms and Architectures for DSP Applications, M.A. Bayoumi, editor

ISBN: 0-7923-9209-4 Digital Speech Processing: Speech Coding, Synthesis and Recognition,

A. Neja lInce, edi lor ISBN: 0-7923-9220-5

Assessing Fault Model and Test Quality, K.M. Butler and M. R. Mercer ISBN: 0-7923-9222-1

Optimal VLSI Architectural Synthesis: Area, Performance and Tesl4bility C.H Gebolys and M.I. Elmasry

ISBN: 0-7923-9223-X Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes

ISBN: 0-7923-9182-9

Page 3: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

SEQUENTIAL LOGIC SYNTHESIS

by

Pranav Ashar University of California/Berkeley

Srinivas Devadas Massachusetts Institute of Technology

A. Richard Newton University of California/Berkeley

Springer Science+Business Media, LLC

Page 4: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

Li br-a ry of Congress Cataloging.in.Publication Data

Ashar, Pranav. Sequentiallogic synthesis / by Pranav Ashar, Srinivas Devadas, A.

Richard Newton. p. cm.·- (The Kluwer International series in engineering and

computer science) Includes bibliographical references and index. ISBN 978-1-4613-6613-3 ISBN 978-1-4615-3628-4 (eBook) DOI 10.1007/978-1-4615-3628-4 1. Logic circuits--Design and construction--Data processing.

2. Logic design-oData processing. 3. Computer-aided design. 4. Integrated circuits--Very large scale integration--Design and construction--Data processing. 1. Devadas, Srinivas. II. Newton, A. Richard (Arthur Richard), 1951- . III. Title. IV. Series TK7868.L6A84 1991 621.39'5--dc20 91-37874

CIP

Copyright © 1992 by Springer Science+Business Media New York Originally published by Kluwer Academic Publishers in 1992 Softcover reprint of the hardcover 1 st edition 1992 AII rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, mechanical, photo-copying, recording, or otherwise, without the prior written permission of the publisher, Springer Science+Business Media, LLC.

Prillfed OII acid-free paper.

Page 5: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

Contents

Table of Contents v

List of Figures xi

List of Tables xv

Preface xvii

Acknowledgments 1

1 Introd uction 3 1.1 Computer-Aided VLSI Design. 3 1.2 The Synthesis Pipeline . . . . . 4 1.3 Sequential Logic Synthesis . . . 5 1.4 Early Work in Sequential Logic Synthesis 7 1.5 Recent Developments. . . . . . . . . . . . 8

1.5.1 State Encoding . . . . . . . . . . . 8 1.5.2 Finite State Machine Decomposition 11 1.5.3 Sequential Don't Cares. . . . . . . . 12 1.5.4 Sequential Resynthesis at the Logic Level 13

1.6 Organization ofthe Book ............. 14

2 Basic Definitions and Concepts 17 2.1 Two-Valued Logic .. 17 2.2 Multiple-Valued Logic . . . . . 19 2.3 Multilevel Logic. . . . . . . . . 20 2.4 Multiple-Valued Input, Multilevel Logic 20 2.5 Finite Automata . . . . . . . . . . . . . 21

v

Page 6: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

3 Encoding of Symbolic Inputs 25 3.1 Introduction.......................... 25 3.2 Input Encoding Targeting Two-Level Logic ........ 27

3.2.1 One-Hot Coding and Multiple-Valued Minimization 28 3.2.2 Input Constraints and Face Embedding 30

3.3 Satisfying Encoding Constraints ....... 32 3.3.1 Definitions ............... 32 3.3.2 Column-Based Constraint Satisfaction 33 3.3.3 Row-Based Constraint Satisfaction . . 37 3.3.4 Constraint Satisfaction Using Dichotomies . 38 3.3.5 Simulated Annealing for Constraint Satisfaction 41

3.4 Input Encoding Targeting Multilevel Logic. . 43 3.4.1 Kernels and Kernel Intersections . . . 44 3.4.2 Kernels and Multiple-Valued Variables 46 3.4.3 Multiple-Valued Factorization. . . . . 48 3.4.4 Size Estimation in Algebraic Decomposition . 53 3.4.5 The Encoding Step . 54

3.5 Conclusion ......... 55

4 Encoding of Symbolic Outputs 57 4.1 Heuristic Output Encoding Targeting Two-Level Logic. 59

4.1.1 Dominance Relations. . . . . . . . . . . . . . .. 59 4.1.2 Output Encoding by the Derivation of Dominance

Relations ...... . . . . . . . . . . . . . . . .. 60 4.1.3 Heuristics to Minimize the Number of Encoding

Bits ...... . . . . . . 64 4.1.4 Disjunctive Relationships ..... . . . . . . 65 4.1.5 Summary . . . . . . . . . . . . . . . . . . . . 66

4.2 Exact Output Encoding Targeting Two-Level Logic. 66 4.2.1 Generation of Generalized Prime Implicants . 68 4.2.2 Selecting a Minimum Encodeable Cover . . . 68 4.2.3 Dominance and Disjunctive Relationships to Sat-

isfy Constraints . . . . . . . . . . . 70 4.2.4 Constructing the Optimized Cover 73 4.2.5 Correctness of the Procedure . . 73 4.2.6 Multiple Symbolic Outputs . . . 75 4.2.7 The Issue of the All Zeros Code. 75

Page 7: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

4.2.8 Reduced Prime Implicant Table Generation . . .. 76 4.2.9 Covering with Encodeability Constraints. . . . .. 78 4.2.10 Experimental Results Using the Exact Algorithm. 80 4.2.11 Computationally Efficient Heuristic Minimization. 81

4.3 Symbolic Output Don't Cares. . . . . 83 4.4 Output Encoding for Multilevel Logic 84 4.5 Conclusion .............. 85

5 State Encoding 87 5.1 Heuristic State Encoding Targeting Two-Level Logic 88

5.1.1 Approximating State Encoding as Input Encoding 89 5.1.2 Constructing Input and Dominance Relations . .. 89 5.1.3 Heuristics to Minimize the Number of Encoding

Bits ....... . . . . . . . . . . . . . . . . . 91 5.1.4 Alternate Heuristic State Encoding Strategies . 92

5.2 Exact State Encoding for Two-Level Logic. . . . . . 92 5.2.1 Generation of Generalized Prime Implicants . 93 5.2.2 Selecting a Minimum Encodeable Cover . . . 94 5.2.3 Constructing an Optimized Cover ...... 97 5.2.4 Reduced Prime Implicant Table Generation . 97 5.2.5 The Covering Step . . . . . . . . . . . . . . . 99 5.2.6 Heuristics to Minimize the Number of Encoding

Bits .,. . . . . . . . . . . . . . . . 99 5.2.7 Encoding Via Boolean Satisfiability . 100

5.3 Symbolic Next State Don't Cares. . . 102 5.4 State Encoding for Multilevel Logic. . . . . . 102

5.4.1 Introduction ............. . 102 5.4.2 Modeling Common Cube Extraction . 103 5.4.3 A Fanout-Oriented Algorithm. . 106 5.4.4 A Fanin-Oriented Algorithm .... . 109 5.4.5 The Embedding Algorithm .... . . 112 5.4.6 Improvements to Estimation Strategies . 114

5.5 Conclusion .................... . 115

6 Finite State Machine Decomposition 6.1 Introduction ........... . 6.2 Definitions for Decomposition .. 6.3 Preserved Covers and Partitions

117 .117

. .119

.. 121

Page 8: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

6.4 General Decomposition Using Factors 6.4.1 Introduction ....... . 6.4.2 An Example Factorization . 6.4.3 Defining An Exact Factor

.122

.122

.122

.125 6.4.4 Exact Factorization .... . 126 6.4.5 Identifying Good Factors . . 131 6.4.6 Limitations of the Factoring Approach . . 132

6.5 Exact Decomposition Procedure for a Two-Way General Topology ...................... . 132 6.5.1 The Cost Function . . . . . . . . . . . . . . 133 6.5.2 Formulation of Optimum Decomposition. 6.5.3 Relationship to Partition Algebra. . . . . 6.5.4 Relationship to Factorization ...... . 6.5.5 Generalized Prime Implicant Generation . 6.5.6 Encodeability of a GPI Cover ...... . 6.5.7 Correctness of the Exact Algorithm .., 6.5.8 Checking for Output Constraint Violations 6.5.9 Checking for Input Constraint Violations . 6.5.10 Relative Complexity of Encodeability Checking 6.5.11 The Covering Step in Exact Decomposition

6.6 Targeting Arbitrary Topologies . 6.6.1 Cascade Decompositions. 6.6.2 Parallel Decompositions . 6.6.3 Arbitrary Decompositions 6.6.4 Exactness of the Decomposition Procedure

6.7 Heuristic General Decomposition . . . . . . . . .. 6.7.1 Overview .................. . 6.7.2 Minimization of Covers and Removal of Constraint

.134

· 137 .137

· 138 .140 .142 .144 .147 .149 .150 .150 · 151 · 153 .155

· 156 .156 .156

Violations . . . . . 157 6.7.3 Symbolic-expand...... . 158 6.7.4 Symbolic-reduce ...... . 160

6.8 Relationship to State Assignment . . 161 6.9 Experimental Results. . 162 6.10 Conclusion ............. . 168

Page 9: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

7 Sequential Don't Cares 169 7.1 Introduction................. . 169 7.2 State Minimization . . . . . . . . . . . . . . 171

7.2.1 Generating the Implication Table. . 171 7.2.2 Completely-Specified Machines . . . 174 7.2.3 Incompletely-Specified Machines . 175 7.2.4 Dealing with Exponentially-Sized Input Alphabets 177

7.3 Input Don't Care Sequences ................. 178 7.3.1 Input Don't Care Vectors .............. 178 7.3.2 Input Don't Care Sequences to Minimize States .. 179 7.3.3 Exploiting Input Don't Care Sequences .. . 180 7.3.4 Early Work on Input Don't Care Sequences . 184

7.4 Output Don't Cares to Minimize States . . . . . . . 185 7.4.1 Exploiting Output Don't Cares . . . . . . . . 186

7.5 Single Machine Optimization at the Logic Level . . . 188 7.5.1 Introduction ................. . 188 7.5.2 Invalid State and Unspecified Edge Don't Cares .. 189 7.5.3 Equivalent State Don't Cares ............ 189 7.5.4 Boolean Relations Due To Equivalent States ... 192 7.5.5 Minimization With Don't Cares and Boolean Re-

lations ......................... 192 7.6 Interconnected Machine Optimization at the Logic Level. 193

7.6.1 Unconditional Compatibility . 194 7.6.2 Conditional Compatibility . . . . . . . . . . .. . 195 7.6.3 Invalid States and Edges. . . . . . . . . . . .. . 196 7.6.4 Searching for Unreachability and Compatibility . 197

7.7 Conclusion .................... . 200

8 Conclusions and Directions for Future Work 203 8.1 Alternate Representations . . . . . 204 8.2 Optimization at the Logic Level. . . . . . . . . . 205 8.3 Don't Cares and Testability . . . . . . . . . . . . 206 8.4 Exploiting Register-Transfer Level Information . 207 8.5 Sequential Logic Synthesis Systems . . . . . . . . 208

Bibliography 209

Index 221

Page 10: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

List of Figures

1.1 An example of a State Transition Graph (STG) . . . . .. 6

2.1 An example of a symbolic cover and its multiple-valued representation . . . . . . . . . . . . . . . . . . . . . . . .. 18

3.1 A symbolic tabular representation of a Finite State Machine 26 3.2 A function with a symbolic input . . . . . . . . 28 3.3 Two different encodings for the symbolic input 28 3.4 One-hot coding and minimization . . . . . . . 29 3.5 Multiple-valued minimization . . . . . . . . . . 30 3.6 Satisfying constraints and cover construction . 31 3.7 Example of exact satisfaction of input constraints using

dichotomies . . . 41

4.1 Symbolic covers. 57 4.2 Possible encodings of the symbolic output 58 4.3 lliustrating dominance relations . . . . . . 60 4.4 Procedure for symbolic minimization in CAPPUCCINO 61 4.5 Example function to illustrate dominance-relation-based

encoding . . . . . . . . . . . . . . . . . . . . . . . 63 4.6 First step of constructing dominance relations . . 63 4.7 Second step of constructing dominance relations 64 4.8 Encoding satisfying dominance relations . . 65 4.9 Dominance and disjunctive relationships . . 66 4.10 Generation of generalized prime implicants 68 4.11 Encodeability of selected GPIs . 70 4.12 Encodeability graphs . . . . . . . 72 4.13 Constructing the optimized cover 73

xi

Page 11: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

4.14 Transformation for output encoding 4.15 Symbolic output don't cares .....

5.1 State Transition Table of Finite State Machine 5.2 Multiple-valued functions ........... . 5.3 Generation of GPIs in state assignment ... . 5.4 Encodeability constraints for a selected set of GPIs 5.5 Construction of optimized and state-assigned cover 5.6 Transformation for state assignment ... . . . . . 5.7 Example Finite State Machine to be state assigned 5.8 Steps 1 and 2 of the fanout-oriented algorithm 5.9 Step 3 of the fanout-oriented algorithm .. .. 5.10 Graph produced by fanout-oriented algorithm. 5.11 Step 1 of the fanin-oriented algorithm 5.12 Step 2 of the fanin-oriented algorithm .... 5.13 Step 3 of the fanin-oriented algorithm .. . . 5.14 Graph produced by fanin-oriented algorithm. 5.15 Procedure for heuristic graph embedding. . .

6.1 A STT representation of a Finite State Machine 6.2 General decomposition topology 6.3 Example decomposition .. . . . . 6.4 Procedure to find all exact factors

77 83

87 88 94 96 97 98

· 104 .107

· 107 · 109 · 109 · 110 .111

· 112 . .114

.120 · 123 .124 .128

6.5 Procedure to derive exit states .. . 129 6.6 Example of detecting exact factors . 130 6.7 Examples of cube merging . . . . . . 138 6.8 An example of an input constraint violation . 141 6.9 Example of a general decomposition .... . 144 6.10 Encodeability check graph for the example decomposition 147 6.11 Adding a new edge . . . . . . . . . . . . . . . . . . 147 6.12 Topology for three-way cascade decomposition. . 150 6.13 An example of a two-way cascade decomposition . 152 6.14 Topology for three-way parallel decomposition. . . 153 6.15 An example of a two-way parallel decomposition . 154 6.16 An arbitrary decomposition topology . . 155

7.1 Interacting Finite State Machines . 7.2 State Graph to be minimized ...

.170

.172

Page 12: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

7.3 7.4 7.5 7.6

Initial implicant table ............. . Implicant tables after first and second passes . Minimizing an incompletely-specified machine. Two minimized realizations of the incompletely-specified machine ...................... .

.173

.174

.175

.176 7.7 Input don't care sequences. . . . . . . . . . . . . . 180 7.8 Procedure to exploit input don't care sequences . . 182 7.9 Example of exploiting input don't care sequences . 183 7.10 Example of output expansion . . . . . . . . . . 186 7.11 Procedure to expand outputs . . . . . . . . . . 187 7.12 Invalid state and unspecified edge don't cares . 189 7.13 A State Graph with equivalent states. . . . . . 190 7.14 State minimization results in a larger implementation . 191 7.15 An example of utilizing a next state don't care set . 191 7.16 The State Graphs of two interacting machines. . . . 193 7.17 The State Graphs of the overall (product) machine . 194 7.18 Conditionally compatible states . . . . . . . . . . . . 195 7.19 Procedure to traverse all reachable edges in a submachine 198 7.20 Procedure for edge traversal from an edge . . . . . . . . . 199 7.21 Procedure to find unconditional and conditionally com-

patible states . . . . . . . . . . . . . . . . . . . . . . . . . 200

Page 13: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

List of Tables

4.1 Results using the exact output encoding algorithm . 81

6.1 Statistics of the encoded prototype machines ... . 163 6.2 Results of the heuristic two-way decomposition algorithm 164 6.3 Performance improvement in multilevel logic via decom-

position . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 6.4 Results of the exact decomposition algorithm . . . . . . . 166 6.5 Comparison of literal counts of multilevel-logic implemen-

tations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

xv

Page 14: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

Preface Automata theory forms a cornerstone of digital Very Large

Scale Integrated (VLSI) system design. This book deals exclusively with finite automata theory and practice. The extensive use of finite state automata, finite state machines (FSMs) or simply sequential logic in VLSI circuits and the recent proliferation of Computer-Aided Design (CAD) research in the area of FSM synthesis has prompted the writing of this book.

Historically, finite automata were first used to model neuron nets by McCulloch and Pitts [69] in 1943. Kleene [52] considered regular expressions and modeled the neuron nets of McCulloch and Pitts by finite automata, proving the equivalence of the two concepts. Similar models were considered by Huffman [48], Moore [75], and Mealy [70] in the '50s.

The early sixties saw the increasing use of finite automata in switching circuit or switching relay design. The problem of finding a minimal realization of a FSM became increasingly important. Consid­erable theoretical work in the algebraic structure of FSMs was carried out, notably by Armstrong [1], Hartmanis [41], and others. Applications of the developed theory led to algorithms that minimize the number of states in a FSM, encode the states of a FSM and decompose a FSM into smaller submachines. The work of this era has been comprehen­sively presented in several books - for instance those by Hartmanis and Stearns [44], Hennie [45], and Kohavi [54].

In parallel, the area of switching circuit design and optimization was a focus of considerable attention. Boolean algebra provided the ba­sic mathematical foundation for switching circuit design. Shannon [87] provided a basis for the synthesis of two-terminal switching circuits in 1949. Quine in 1952 [77] proposed the notion of prime implicants which is fundamental to the minimization of sum-of-product Boolean expres­sions Based on the work of Quine, McCluskey in 1956 [68] developed a systematic covering procedure to find the sum-of-products expression with a minimum number of product terms for any given Boolean func­tion - the well-known Quine-McCluskey procedure for two-level logic minimization. Multilevel switching circuits, that contain more logic lev­els than the two levels in sum-of-product expressions, were also being

Page 15: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

designed and optimized. Work by Ashenhurst [6], Karp [79] and Lawler [58] in the late '50s and early '60s dealt with the minimization of mul­tilevel Boolean graphs and circuits.

The current era of two-level and multilevel combinational logic synthesis began in the '70s with the advent of sophisticated two-level logic minimizers like MINI, developed at IBM, and multilevel logic syn­thesis systems developed by Muroga (19] and Davidson (23] among oth­ers. The first industrial logic synthesis system appears to be the LSS

system developed at IBM, in the early '80s. Today, there are several uni­versity and commercial logic synthesis systems that have been used to design VLSI circuits. The efforts of Brayton [15] and other researchers have resulted in a large body of theoretical work in switching theory as well as efficient and practical combinational logic optimization algo­rithms.

As switching circuit design matured into combinational logic synthesis, the problems of finding minimal realizations of finite au­tomata, which are implemented as switching circuits with feedback, sub­tly changed, and became more complex. The FSM optimization algo­rithms developed between the '50s to the '70s exclusively operated at the symbolic State Transition Graph (STG) level. These algorithms had to now predict the effects of a succeeding combinational logic minimization step, that was growing increasingly sophisticated.

Let us define an optimal encoding for a FSM as being one that results in minimized combinational circuitry that requires the smallest area. If the target implementation is a two-level circuit, and the com­binational logic minimization algorithm used is restricted to distance-l merging of product terms in the encoded FSM, finding an optimal en­coding is relatively easy, and optimum algorithms run in reasonable times, even for large circuits! However, what we now have to model during the encoding step corresponds to full-fledged two-level Boolean minimization, or multilevel logic optimization, depending on the target implementation.

Exact two-level Boolean minimization algorithms have been known since the '50s. The methodology of using discrete "off-the-shelf' logic-gates was common till the early '70s, and therefore the problem of modeling two-level minimization during symbolic encoding was largely ignored, until the advent of VLSI. A primary focus of this book has

Page 16: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

been to document efforts in the predictive modeling of two-level and multilevel combinational logic minimization during symbolic encoding - a step that is key to the efficient synthesis of FSMs. Chapters 3 through 6 of this book deal with predictive modeling in the context of optimal input, output, and state encoding and FSM decomposition. Hierarchical specifications of sequential circuits have become common in an effort to manage increasing design complexity. The generalization of optimization algorithms to operate on hierarchical specifications is non-trivial and has been the subject of recent research, motivating us to describe hierarchical optimization methods in Chapter 7.

Most of the optimization problems in switching and automata circuit design have been proven to be nondeterministic polynomial-time complete (NP-complete) or NP-hard. This implies that the best avail­able algorithms that guarantee optimality will require CPU times that grow exponentially with the circuit size, in the worst case. With in­tegrated circuits moving from Small Scale Integrated (SSI) circuits to Very Large Scale Integrated (VLSI) circuits in the last two decades, it is obvious that efficient, heuristic algorithms with reasonable average-case performance are sorely needed.

Heuristic algorithms form a basic part of any Computer-Aided Design (CAD) tool for the optimization of combinational or sequen­tial circuits. However, the development of efficient heuristics tailored for a particular optimization problem, requires a deep understanding of the mathematical structure underlying the optimization problem. In this book, we have presented optimum algorithms for FSM optimization problems, because they shed light on the mathematical structures under­neath the problems. Moreover, successful heuristic procedures have been developed for most of these problems, based on the optimum algorithms. We have not presented every nuance, variation or implementation de­tail in the heuristic procedures developed for a particular problem, but instead have focused on the essential aspects of successful heuristic algo­rithms for each of the problems considered. We have also leaned toward the algorithmic, rather than the empirical analysis of the relative merits and demerits of the procedures described. Some of the heuristic tech­niques presented may become out-of-date in a few years and others may stay, but we believe that the theoretical results presented here will be long-lasting.

Page 17: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

Acknowledgements Over the years, several people have helped to deepen our under­

standing of automata theory, sequential logic synthesis, or VLSI CAD in general. We thank Jonathan Allen, Robert Brayton, Gaetano Borriello, Raul Camposano, Tim Cheng, Aart De Geus, Giovanni De Micheli, Al­fred Dunlop, Abhijit Ghosh, Kurt Keutzer, Michael Lightner, Bill Lin, Tony Ma, Sharad Malik, Rick McGeer, Paul Penfield, Richard Rudell, Alexander Saldanha, Alberto Sangiovanni-Vincentelli, Fabio Somenzi, Albert Wang, Jacob White, and Wayne Wolf.

Lastly, we thank our families for their continual encouragement and support.

Page 18: SEQUENTIAL LOGIC SYNTHESIS3A978-1... · Layout Minimization of CMOS Cells, R.L. Maziasz and J.P. Hayes ISBN: 0-7923-9182-9 . SEQUENTIAL LOGIC SYNTHESIS by Pranav Ashar University

SEQUENTIAL LOGIC SYNTHESIS