ebook img

Synthesis of Finite State Machines: Logic Optimization PDF

381 Pages·1997·9.738 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Synthesis of Finite State Machines: Logic Optimization

SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION Tiziano Villa University of California/Berkeley Timothy Kam Intel Corporation Robert K. Brayton University of California/Berkeley Alberto Sangiovanni-Vincentelli University of California/Berkeley ~. " SPRINGER-SCIENCE+BUSINESS MEDIA, LLC ISBN 978-1-4613-7821-1 ISBN 978-1-4615-6155-2 (eBook) DOI 10.1007/978-1-4615-6155-2 Library of Congress Cataloging-in-Publication Data A C.I.P. Catalogue record for this book is available from the Library of Congress. Copyright @ 1997 by Springer Science+Business Media New York Originally published by Kluwer Academic Publishers in 1997 Softcover reprint of the hardcover 1s t edition 1997 All 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 permis sion of the publisher, Springer-Science+Business Media, LLC. Printed on acid-free paper. To Alle mie scorte: Franco e Marta, Maria, Marta e Letizia; Professor and Mrs. Wai-Kee Kam, and Mrs. Kate Kam for unfailing love and support; Ruth for continuous support over many years; To Marcolino, whose laughters and joy of life are bringing so much happiness around him. CONTENTS PREFACE xi Part I FROM SYMBOLIC TO LOGIC REPRESENTATIONS 1 1 INTRODUCTION 3 1.1 Logic Synthesis of Sequential Behaviors 3 1.2 The Encoding Problem: From Symbolic to Boolean Domain 5 1.3 Overview of the Book 9 2 DEFINITIONS 13 2.1 Sequential Functions and Their Representation 13 2.2 Finite State Machines 14 2.3 Taxonomy of Encoding Problems 19 2.4 Behavior vs. Structure in Encoding Problems 23 2.5 Boolean Algebras and Boolean Functions 24 2.6 Discrete Functions as Boolean Functions 25 2.7 Two-level Minimization of Multi-Valued Functions 30 2.8 Multi-level Multi-Valued Functions 33 2.9 Multi-Valued Relations 35 2.10 Binary Decision Diagrams 36 2.11 Hypercubes 37 3 COMPLEXITY ISSUES 39 3.1 Computational Complexity 39 3.2 Counting State Assignments 48 Vll viiiSVNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION 4 ENCODING FOR SYNTHESIS 51 4.1 Algorithms for Optimal Encoding 51 4.2 Combinational Encoding Problems 96 4.3 State Assignment and FSM Decomposition 111 4.4 State Assignment for Testability 124 4.5 Sequential Optimization at the Gate Level 130 Part II CONSTRAINED ENCODING 139 5 SYMBOLIC MINIMIZATION 141 5.1 Introduction 141 5.2 Encoding for Two-level Implementations 143 5.3 A New Symbolic Minimization Algorithm 148 5.4 Symbolic Reduction 155 5.5 Symbolic Oring 159 5.6 Ordering of Symbolic Minimization 161 5.7 Symbolic Minimization by Example 164 5.8 Experimental Results 176 5.9 Conclusions 182 6 ENCODING CONSTRAINTS 183 6.1 Introduction 183 6.2 Statement and Complexity of the Encoding Problems 185 6.3 Definitions 188 6.4 Abstraction of the Problem 189 6.5 Input Constraint Satisfaction 191 6.6 Input and Output Constraint Satisfaction 194 6.7 Bounded Length Encoding 205 6.8 Other Applications 210 6.9 Results 213 6.10 Conclusions 218 Part III GENERALIZED PRIME IMPLICANTS 219 7 GENERALIZED PRIME IMPLICANTS 221 7.1 Introduction 221 Contents ix 7.2 Definition of GPIs 221 7.3 GPIs by Consensus Operation 224 7.4 Encodeability of GPIs 227 7.5 Sufficiency of GPIs 229 7.6 GPIs by Computation of MV Primes 231 7.7 A Procedure for Analysis of GPIs 242 8 MINIMIZATION OF GPIS 245 8.1 Reduction of GPI Minimization to Unate Covering 245 8.2 Reduction of GPI Minimization to Binate Covering 261 8.3 GPIs and Non-Determinism 265 9 ENCODEABILITY OF GPIS 277 9.1 Introduction 277 9.2 Efficient Encodeability Check of GPIs 277 9.3 Encoding of a Set of Encodeable GPIs 283 9.4 Updating Sets and Raising Graphs 284 9.5 Choice of a Branching Column 292 9.6 Computation of a Lower Bound 295 Part IV IMPLICIT TECHNIQUES FOR ENCODING 299 10 IMPLICIT FORMULATION OF UNATE COVERING 301 10.1 Introduction 301 10.2 Implicit Representations and Manipulations 301 10.3 A Fully Implicit Unate Covering Solver 305 10.4 Quantifier-Free Reduction of Unate Tables 310 10.5 An Application to Encoding Dichotomies 320 11 IMPLICIT MINIMIZATION OF GPIS 323 11.1 Introduction 323 11.2 Useful Relations 323 11.3 Implicit Generation of GPIs and Minterms 325 11.4 Implicit Selection of GPIs 328 xSVNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION 11.5 An Example of Implicit GPI Minimization 342 11.6 Verification of Correctness 345 11.7 Implementation Issues 348 11.8 Experiments 350 11.9 Conclusions 351 Part V CONCLU S IONS 355 12 CONCLUSIONS 357 REFERENCES 359 INDEX 379 PREFACE This book is the second of a set of two monographs devoted to the synthesis of Finite State Machines (FSMs). The first volume addresses functional optimiza tion, whereas this one addresses logic optimization. The result of functional optimization is a symbolic description of an FSM which represents a sequential function chosen from a collection of permissible candidates. Logic optimization is the body of techniques to convert a symbolic description of an FSM into an hardware implementation. The mapping of a given symbolic representation into a two-valued logic implementation is called state encoding (or state assign ment) and it impacts heavily area, speed, testability and power consumption of the realized circuit. Here we present a quite extensive account of the subject matter, describing contributions due to the authors and to many other researchers. In the ex position we have emphasized modern approaches pursued since the 80s, but also the previous literature has been integrated into a comprehensive picture. The exposition is self-contained, but some familiarity with Boolean algebra and automata theory will be helpful. Key themes running throughout the book are the minimization of symbolic logic, the satisfaction of encoding constraints and the representation of combi natorial problems of FSM synthesis with binary decision diagrams (BDDs). The first part of the book introduces the relevant background, presents re sults previously scattered in the literature on the computational complexity of encoding problems, and finally surveys in depth old and new approaches to encoding in logic synthesis. Many recent techniques for encoding can be described as symbolic minimiza tion, i.e., given a function, the generation of an optimal symbolic representation that is implement able in the two-valued domain, provided that some conditions on the binary codes of the states are satisfiable (encoding constraints). The second part of the book presents two main results about symbolic minimization: a new procedure to find minimal two-level symbolic covers, under face, domi- xi xiiSYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION nance and disjunctive constraints, and a unified frame to check encodeability of encoding constraints and find codes of minimum length that satisfy them. This frame has been used for various types of encoding constraints arising in problems that range from encoding for minimum multi-level representation to race-free encoding of asynchronous FSMs. Experiments for different applica tions are reported. The third part of the book introduces generalized prime implicants (GPIs), which are the counterpart, in symbolic minimization of two-level logic, to prime implicants in two-valued two-level minimization. GPIs enable the design of an exact procedure for two-level symbolic minimization, based on a covering step which is complicated by the need to guarantee encodeability of the final cover. We present a new efficient algorithm to verify encodeability of a selected cover. If a cover is not encodeable, it is shown how to augment it minimally until an encodeable superset of GPIs is determined. To handle encodeability we have extended the frame to satisfy encoding constraints presented in the second part. The covering problems generated in the minimization of GPIs tend to be very large. Recently large covering problems have been attacked successfully by representing the covering table with BDDs. In the fourth part of book we introduce such techniques and extend them to the case of the implicit min imization of GPIs, where also the encodeability and augmentation steps are performed implicitly. In all these years we benefited from close associations with various researchers operating in the field, especially our colleagues at the University of California at Berkeley. We owe gratitude to all of them. A special mention goes to Alex Saldanha with whom we developed the research presented in the second part of this volume. We acknowledge very helpful dis cussions with present or former colleagues in the Berkeley CAD group: Pranav Ashar, Mark Beardslee, Luca Carloni, Srinivas Devadas, Stephen Edwards, Eu gene Goldberg, Sunil Khatri, Yuji Kukimoto, William Lam, Luciano Lavagno, Sharad Malik, Rick McGeer, Rajeev Murgai, Arlindo Oliveira, Tom Shiple, Gitanjali Swamy, Huey-Yih Wang and Yosinori Watanabe. Luciano Lavagno, Sharad Malik and Rajeev Murgai helped in countless ways through discussions and sharing material. Gitanjali Swamy and Rick McGeer contributed an efficient software package for the implicit computation of multi valued prime implicants. Huey-Yih Wang kindly shared some drawings from his dissertation. Stephen Edwards gave advice in matters of style and contributed a software package to visualize FSMs.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.