Table Of ContentSYNTHESIS 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.