Decision Diagram Techniques for Micro- And Nano Electronic Design Handbook

915

Transcript of Decision Diagram Techniques for Micro- And Nano Electronic Design Handbook

Decision Diagram Techniques for Micro- and Nanoelectronic Design

HANDBOOK

2006 by Taylor & Francis Group, LLC

Decision Diagram Techniques for Micro- and Nanoelectronic Design

HANDBOOKSvetlana N. Yanushkevich D. Michael Miller Vlad P. Shmerko Radomir S. Stankovi c

Boca Raton London New York

A CRC title, part of the Taylor & Francis imprint, a member of the Taylor & Francis Group, the academic division of T&F Informa plc.

2006 by Taylor & Francis Group, LLC

Published in 2006 by CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 2006 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group No claim to original U.S. Government works Printed in the United States of America on acid-free paper 10 9 8 7 6 5 4 3 2 1 International Standard Book Number-10: 0-8493-3424-1 (Hardcover) International Standard Book Number-13: 978-0-8493-3424-5 (Hardcover) Library of Congress Card Number 2005051439 This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials or for the consequences of their use. No part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC) 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe.

Library of Congress Cataloging-in-Publication DataDecision diagram techniques for micro- and nanoelectric design handbook / Svetlana N. Yanushkevich [et al.]. p. cm. Includes bibliographical references and index. ISBN 0-8493-3424-1 (alk. paper) 1. Decision making--Mathematical models. 2. Decision logic tables. 3. Microelectronics. 4. Nanotechnology. I. Yanushkevich, Svetlana N. T57.95.I549 2004 621.381--dc22

2005051439

Visit the Taylor & Francis Web site at http://www.taylorandfrancis.comTaylor & Francis Group is the Academic Division of T&F Informa plc.

and the CRC Press Web site at http://www.crcpress.com

2006 by Taylor & Francis Group, LLC

Brief ContentsPreface I FUNDAMENTALS OF DECISION DIAGRAM TECHNIQUES xxv 13 21 37 79 119 135 157 179 209

1 Introduction 2 Data Structures 3 Graphical Data Structures 4 AND-EXOR Expressions, Trees, and Diagrams 5 Arithmetic Representations 6 Word - Level Representations 7 Spectral Techniques 8 Information - Theoretical Measures 9 Event - Driven Analysis

II

DECISION DIAGRAM TECHNIQUES FOR SWITCHING FUNCTIONS

239241 261 273 293 305 329

10 Introduction 11 Classication of Decision Diagrams 12 Variable Ordering in Decision Diagrams 13 Spectral Decision Diagrams 14 Linearly Transformed Decision Diagrams 15 Decision Diagrams for Arithmetic Circuits

v 2006 by Taylor & Francis Group, LLC

vi

Decision Diagrams Techniques for Micro- and Nanoelectronic Design 345 357 373 391 413 429 447 465 481 509 545 567

16 Edge - Valued Decision Diagrams 17 Word - Level Decision Diagrams 18 Minimization via Decision Diagrams 19 Decision Diagrams for Incompletely Specied Functions 20 Probabilistic Decision Diagram Techniques 21 Power Consumption Analysis using Decision Diagrams 22 Formal Verication of Circuits 23 Ternary Decision Diagrams 24 Information - Theoretical Measures in Decision Diagrams 25 Decomposition Using Decision Diagrams 26 Complexity of Decision Diagrams 27 Programming of Decision Diagrams

III DECISION DIAGRAM TECHNIQUES FOR MULTIVALUED FUNCTIONS28 Introduction 29 Multivalued Functions 30 Spectral Transforms of Multivalued Functions 31 Classication of Multivalued Decision Diagrams 32 Event - Driven Analysis in Multivalued Systems

579581 595 613 635 655

IV SELECTED TOPICS OF DECISION DIAGRAM TECHNIQUES33 Introduction 34 Three - Dimensional Techniques 35 Decision Diagrams in Reversible Logic 36 Decision Diagrams on Quaternion Groups

669671 685 719 741

2006 by Taylor & Francis Group, LLC

Contents 37 Linear Word - Level Decision Diagrams 38 Fibonacci Decision Diagrams 39 Techniques of Computing via Taylor - Like Expansions 40 Developing New Decision Diagrams 41 Historical Perspectives and Open Problems

vii 757 789 809 845 867

V

APPENDIX

889

Appendix-A: Algebraic Structures for the Fourier Transform on Finite Groups Appendix-B: Fourier Analysis on Groups Appendix-C: Discrete Walsh Functions Appendix-D: The Basic Operations for Ternary and Quaternary Logic

891 897 907 913

2006 by Taylor & Francis Group, LLC

ContentsPreface I FUNDAMENTALS OF DECISION DIAGRAM TECHNIQUES xxv 13 3 5 8 9 10 11 11 12 15 16 16 17 18 19 21 21 22 23 23 24 25 25 25 26 27 28 28

1 Introduction 1.1 Data structures for the representation of discrete functions . . 1.1.1 Switching theory . . . . . . . . . . . . . . . . . . . . . 1.1.2 Multivalued functions . . . . . . . . . . . . . . . . . . 1.2 Decision tables . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Graphical data structures . . . . . . . . . . . . . . . . . . . . 1.4 Spectral techniques . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Group theory . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Abstract Fourier analysis . . . . . . . . . . . . . . . . 1.4.3 Correlation analysis . . . . . . . . . . . . . . . . . . . 1.5 Stochastic models and information theoretic measures . . . . 1.5.1 Stochastic models and probability . . . . . . . . . . . 1.5.2 Information theoretical measures of logic functions and decision trees . . . . . . . . . . . . . . . . . . . . . . . 1.6 CAD of micro- and nanoelectronic circuits . . . . . . . . . . . 1.7 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Data Structures 2.1 Introduction . . . . . . . . . . . . . . . 2.2 Truth tables . . . . . . . . . . . . . . . 2.3 Algebraic representations . . . . . . . 2.3.1 Algebraic structure . . . . . . . 2.3.2 Matrix representation . . . . . 2.4 AND-OR expressions . . . . . . . . . . 2.4.1 Sum-of-products expressions . . 2.4.2 Computing the SOP coecients 2.4.3 Restoration . . . . . . . . . . . 2.5 Relevance to other data structures . . 2.5.1 Dataow graphs . . . . . . . . 2.5.2 Hypercube . . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

ix 2006 by Taylor & Francis Group, LLC

x

Decision Diagrams Techniques for Micro- and Nanoelectronic Design 2.5.3 Decision trees and diagrams 2.5.4 Direct acyclic graph . . . . Relationship of data structures . . Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 31 32 34 37 37 38 43 43 45 45 49 50 52 60 62 63 64 69 71 72

2.6 2.7

3 Graphical Data Structures 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Decision trees . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Tree-like graphs . . . . . . . . . . . . . . . . . . . . . 3.3.2 H-trees . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Denition of a decision tree . . . . . . . . . . . . . . 3.3.4 Denition of a binary decision diagram . . . . . . . . 3.3.5 Measures on decision trees and diagrams . . . . . . . 3.4 Shape of decision diagrams . . . . . . . . . . . . . . . . . . 3.5 Embedding decision trees and diagrams into various topological structures . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Examples with hierarchical FPGA conguration . . . . . . . 3.7 Voronoi diagrams and Delaunay triangulations . . . . . . . 3.7.1 Voronoi diagram . . . . . . . . . . . . . . . . . . . . 3.7.2 Delaunay tessellation . . . . . . . . . . . . . . . . . . 3.7.3 Decision diagrams and Delaunay tessellation . . . . . 3.8 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . 4 AND-EXOR Expressions, Trees, and Diagrams 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 4.2 Terminology and classication of AND-EXOR expressions . . . . . . . . . . . . . . . . 4.3 Algebraic representation . . . . . . . . . . . . . . . . 4.3.1 Positive polarity ReedMuller expressions . . 4.3.2 Fixed polarity . . . . . . . . . . . . . . . . . . 4.3.3 Linear ReedMuller expressions . . . . . . . . 4.4 Graphical representation . . . . . . . . . . . . . . . . 4.4.1 Hypercube representation . . . . . . . . . . . 4.4.2 Decision trees using AND-EXOR operations . 4.4.3 Decision diagrams . . . . . . . . . . . . . . . 4.5 Transeunt triangle representation . . . . . . . . . . . 4.6 Triangle topology . . . . . . . . . . . . . . . . . . . . 4.6.1 Representation of a symmetric function . . . 4.6.2 Measures of transeunt triangle structures . . 4.6.3 Transeunt triangles and decision trees . . . . 4.6.4 Using transeunt triangles for representation of multivalued functions . . . . . . . . . . . . . 4.7 Further reading . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

79 . . . . . 79 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 83 84 89 91 93 94 95 100 102 102 105 107 109

. . . . . 111 . . . . . 112

2006 by Taylor & Francis Group, LLC

Contents 5 Arithmetic Representations 5.1 Introduction . . . . . . . . . . . . . 5.2 Algebraic description . . . . . . . . 5.2.1 General algebraic form . . . 5.2.2 Computing the coecients 5.2.3 Data owgraphs . . . . . . 5.2.4 Restoration . . . . . . . . . 5.2.5 Useful rules . . . . . . . . . 5.2.6 Polarity . . . . . . . . . . . 5.3 Graphical representations . . . . . 5.3.1 Hypercube representation . 5.3.2 Decision trees and diagrams 5.3.3 Structural properties . . . . 5.3.4 Decision diagram reduction 5.4 Further reading . . . . . . . . . . .

xi 119 119 120 120 120 121 122 124 124 126 126 127 129 132 132

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

6 Word - Level Representations 135 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.2 Arithmetic word-level computation in matrix form . . . . . . 139 6.2.1 Application of direct and inverse arithmetic transforms to word-level expressions . . . . . . . . . . . . . . . . . 139 6.2.2 Arithmetic word-level form in a given polarity . . . . . 143 6.2.3 Taylor representation . . . . . . . . . . . . . . . . . . . 144 6.3 Computing word-level expressions in the form of corteges . . 145 6.3.1 Algebra of corteges . . . . . . . . . . . . . . . . . . . . 145 6.3.2 Implementation of algebra of corteges . . . . . . . . . 146 6.3.3 Orthogonal corteges . . . . . . . . . . . . . . . . . . . 152 6.4 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . 154 7 Spectral Techniques 7.1 Introduction . . . . . . . . . . . . . . . . . 7.2 Spectral transforms . . . . . . . . . . . . . 7.2.1 Fourier transforms on nite groups 7.2.2 Discrete Walsh transform . . . . . 7.3 Haar and related transforms . . . . . . . . 7.4 Computing spectral coecients . . . . . . 7.4.1 Computing the Walsh coecients . 7.4.2 Computing the Haar coecients . 7.5 Discrete wavelet transforms . . . . . . . . 7.6 Further reading . . . . . . . . . . . . . . . 157 157 158 159 160 164 167 167 168 172 172

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

8 Information - Theoretical Measures 179 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.2 Information-theoretical measures . . . . . . . . . . . . . . . . 180 8.2.1 Quantity of information . . . . . . . . . . . . . . . . . 180

2006 by Taylor & Francis Group, LLC

xii

Decision Diagrams Techniques for Micro- and Nanoelectronic Design 8.2.2 Conditional entropy and relative information . . . . 8.2.3 Entropy of a variable and a function . . . . . . . . . 8.2.4 Mutual information . . . . . . . . . . . . . . . . . . . Information measures of elementary switching function of two variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . Information-theoretical measures and symmetry . . . . . . . 8.4.1 Entropy of distribution of values of logic function . . 8.4.2 Condition of symmetry over the distribution . . . . . Information and exibility . . . . . . . . . . . . . . . . . . . 8.5.1 Sets of pairs of functions to be distinguished . . . . . 8.5.2 Concept of neighborhood of a function in terms of information . . . . . . . . . . . . . . . . . . . . . . . Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . 182 . 184 . 186 . . . . . . 188 191 193 194 196 197

8.3 8.4

8.5

8.6

. 198 . 200 209 209 210 210 213 215

9 Event - Driven Analysis 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Formal denition of change in a binary system . . . . . . . 9.2.1 Detection of change . . . . . . . . . . . . . . . . . . 9.2.2 Matrix model of change . . . . . . . . . . . . . . . . 9.2.3 Model for simultaneous change . . . . . . . . . . . . 9.2.4 Model of multiple change: k-ordered Boolean dierences . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.5 Boolean dierence with respect to a vector of variables in matrix form . . . . . . . . . . . . . . . . . . . . . 9.2.6 Symmetric properties of Boolean dierence . . . . . 9.3 Generating ReedMuller expressions with logic Taylor series 9.4 Computing Boolean dierences on decision diagrams . . . . 9.4.1 Boolean dierence and N -hypercube . . . . . . . . . 9.4.2 Boolean dierence, Davio tree, and N -hypercube . . 9.5 Models of logic networks in terms of change . . . . . . . . . 9.5.1 Event-driven analysis of switching function properties: dependence, sensitivity, and fault detection . . . . . 9.5.2 Useful rules . . . . . . . . . . . . . . . . . . . . . . . 9.6 Other logic dierential operators . . . . . . . . . . . . . . . 9.6.1 Models of directed changes in algebraic form . . . . 9.6.2 Arithmetic analogs of Boolean dierences and logic Taylor expansion . . . . . . . . . . . . . . . . . . . . 9.7 Further reading . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

. 217 . . . . . . . . . . . 219 220 222 222 223 223 227 227 229 231 231

. 232 . 235

II

DECISION DIAGRAM TECHNIQUES FOR SWITCHING FUNCTIONS

239

10 Introduction 241 10.1 Genesis and evolution of decision diagrams . . . . . . . . . . . 241

2006 by Taylor & Francis Group, LLC

Contents 10.2 Various aspects of the construction of decision diagrams . . . . . . . . . . . . . . . . . . . . . 10.3 Applications of decision diagrams . . . . . . . 10.4 Implementation and technologies . . . . . . . 10.5 Further reading . . . . . . . . . . . . . . . . . 11 Classication of Decision Diagrams 11.1 Introduction . . . . . . . . . . . . 11.2 Classication of decision diagrams constant nodes . . . . . . . . . . 11.3 Classication of decision diagrams non-terminal nodes . . . . . . . . 11.4 Classication of decision diagrams decomposition rules . . . . . . . . 11.5 Classication of decision diagrams labels at the edges . . . . . . . . 11.6 Further reading . . . . . . . . . .

xiii

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

244 249 252 257

. . . . . . . . . with respect to . . . . . . . . . with respect to . . . . . . . . . with respect to . . . . . . . . . with respect to . . . . . . . . . . . . . . . . . .

261 . . . . . . . 261 . . . . . . . 263 . . . . . . . 265 . . . . . . . 266 . . . . . . . 267 . . . . . . . 271 273 273 275 276 277 279 279 279 281 281 283 284 285 286 287 293 . . . . . 293 294 296 296 300

12 Variable Ordering in Decision Diagrams 12.1 Introduction . . . . . . . . . . . . . . . . . . 12.2 Adjacent variable interchange . . . . . . . . 12.3 Exact BDD minimization techniques . . . . 12.4 Problem specic ordering techniques . . . . 12.5 Dynamic variable ordering . . . . . . . . . . 12.5.1 Window permutation . . . . . . . . . 12.5.2 Sifting . . . . . . . . . . . . . . . . . 12.6 Advanced techniques . . . . . . . . . . . . . 12.6.1 Symmetric variable and group sifting 12.6.2 Linear sifting . . . . . . . . . . . . . 12.6.3 Window optimization . . . . . . . . 12.7 Path length . . . . . . . . . . . . . . . . . . 12.8 Reordering in BDD packages . . . . . . . . 12.9 Further reading . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

13 Spectral Decision Diagrams 13.1 The theoretical background of spectral interpretation of decision diagram techniques . . . . . . . . . . . . . . . . . . . . 13.2 Decision tree and spectrum of switching function . . . . . . 13.3 Bases of spectral transforms and decision diagrams . . . . . 13.4 Fixed polarity spectral representations . . . . . . . . . . . . 13.5 Spectral decision diagram techniques . . . . . . . . . . . . . 13.5.1 Decision diagrams as relations between algebraic and graphical data structures . . . . . . . . . . . . . . . . 13.5.2 Bit-level and word-level strategy . . . . . . . . . . . 13.6 Further reading . . . . . . . . . . . . . . . . . . . . . . . . .

. 302 . 303 . 303

2006 by Taylor & Francis Group, LLC

xiv

Decision Diagrams Techniques for Micro- and Nanoelectronic Design 305 305 306 306 307 309 311 312 313 314 317 319 329 329 329 330 330 331 333 336

14 Linearly Transformed Decision Diagrams 14.1 Introduction . . . . . . . . . . . . . . . . . . . . . 14.1.1 Ane transforms . . . . . . . . . . . . . . 14.1.2 Linearly transformed decision diagrams . 14.2 Manipulation of variables using ane transforms 14.2.1 Direct and inverse ane transforms . . . . 14.2.2 Ane transforms of the adjacent variables 14.3 Linearly transformed decision trees and diagrams 14.3.1 Ane transforms in decision trees . . . . 14.3.2 Ane transforms in decision diagrams . . 14.4 Examples of linear transform techniques . . . . . 14.5 Further reading . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

15 Decision Diagrams for Arithmetic Circuits 15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Binary adders . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.1 Full-adder . . . . . . . . . . . . . . . . . . . . . . . . 15.2.2 Ripple-carry adder . . . . . . . . . . . . . . . . . . . 15.2.3 Binary-coded-decimal format . . . . . . . . . . . . . 15.3 Multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4 Word-level decision diagrams for arithmetic circuits . . . . . 15.4.1 Spectral diagrams for representation of arithmetical circuits . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4.2 Representation of adders by linear decision diagrams 15.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . 16 Edge - Valued Decision Diagrams 16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2 Terminology and abbreviations of edge-valued decision trees and diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3 Spectral interpretation of edge-valued decision diagrams . . 16.3.1 Relationship of EVBDDs and Kronecker decision diagrams . . . . . . . . . . . . . . . . . . . . . . . . . 16.3.2 Factored edge-valued BDDs . . . . . . . . . . . . . . 16.4 Binary moment diagrams . . . . . . . . . . . . . . . . . . . 16.4.1 Binary moment decision diagrams BMDs . . . . . 16.4.2 Arithmetic transform related decision diagrams . . . 16.4.3 Kronecker binary moment diagrams . . . . . . . . . 16.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . 17 Word - Level Decision Diagrams 17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 17.2 Multiterminal decision trees and diagrams . . . . . . . 17.3 Spectral interpretation of word-level decision diagrams 17.4 Binary moment trees and diagrams . . . . . . . . . . .

. . . . . . .

. 336 . 338 . 340 345 . 345 . 346 . 349 . . . . . . . 352 352 353 353 353 354 354 357 357 358 360 361

. . . .

. . . .

. . . .

. . . .

2006 by Taylor & Francis Group, LLC

Contents 17.5 17.6 17.7 17.8 Haar spectral diagrams . . . . . Haar spectral transform decision Other decision diagrams . . . . Further reading . . . . . . . . . . . . . . . . trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xv 366 368 369 369 373 373 374 378 383 387

18 Minimization via Decision Diagrams 18.1 Introduction . . . . . . . . . . . . . . . . 18.2 Terminology . . . . . . . . . . . . . . . . 18.3 Minimization using hypercubes . . . . . 18.4 Minimization of AND-EXOR expressions 18.5 Further reading . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

19 Decision Diagrams for Incompletely Specied Functions 19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2 Representation of incompletely specied functions . . . . . 19.3 Decision diagrams for incompletely specied logic functions 19.3.1 Safe BDD minimization . . . . . . . . . . . . . . . 19.3.2 Kleene function and ternary decision diagrams . . 19.3.3 Manipulation of TDDs . . . . . . . . . . . . . . . . 19.4 Incompletely specied decision diagrams . . . . . . . . . . 19.4.1 Denition of the incompletely specied decision diagram . . . . . . . . . . . . . . . . . . . . . . . . 19.4.2 Manipulation of incompletely specied decision diagrams . . . . . . . . . . . . . . . . . . . . . . . . 19.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . 20 Probabilistic Decision Diagram Techniques 20.1 Introduction . . . . . . . . . . . . . . . . . . . . 20.2 BDD methods for computing output probability 20.2.1 A top-down approach . . . . . . . . . . 20.2.2 A bottom-up approach . . . . . . . . . . 20.2.3 Symbolic computation . . . . . . . . . . 20.3 Cross-correlation of functions . . . . . . . . . . 20.3.1 Recursive AND probability algorithm . 20.3.2 Modication of an algorithm . . . . . . 20.3.3 Computing spectral coecients . . . . . 20.4 Further reading . . . . . . . . . . . . . . . . . .

391 . . 391 . . 392 . 394 . . 394 . . 397 . . 399 . . 399 . . 400 . . 400 . . 407 413 413 414 415 416 419 420 422 424 424 426

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

21 Power Consumption Analysis using Decision Diagrams 429 21.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 21.2 Switching activity . . . . . . . . . . . . . . . . . . . . . . . . . 431 21.3 Decision diagrams for power consumption estimation . . . . . 433 21.3.1 BDD for switching activity evaluation . . . . . . . . . 434 21.3.2 Information measures on BDDs and switching activity 436

2006 by Taylor & Francis Group, LLC

xvi

Decision Diagrams Techniques for Micro- and Nanoelectronic Design 21.3.3 Other decision diagrams for switching activity evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 21.4 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . 441

22 Formal Verication of Circuits 22.1 Introduction . . . . . . . . . . . . . . . . 22.2 Verication of combinational circuits . . 22.3 Verication using other types of diagrams 22.3.1 Word-level BDDs . . . . . . . . . 22.3.2 Boolean expression diagrams . . 22.3.3 Non-canonical BDDs . . . . . . . 22.4 Verication of sequential circuits . . . . 22.5 Further reading . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

447 447 448 453 455 457 458 458 460

23 Ternary Decision Diagrams 465 23.1 Terminology and abbreviations . . . . . . . . . . . . . . . . . 465 23.2 Denition of ternary decision trees . . . . . . . . . . . . . . . 467 23.3 EXOR ternary decision trees . . . . . . . . . . . . . . . . . . 469 23.4 Bit-level ternary decision trees . . . . . . . . . . . . . . . . . 469 23.5 Word-level ternary decision trees . . . . . . . . . . . . . . . . 471 23.6 Arithmetic transform ternary decision diagrams . . . . . . . . 473 23.7 The relationships between arithmetic transform ternary decision diagrams and other decision trees . . . . . . . . . . . . . 473 23.8 Ternary decision diagrams and dierential operators for switching functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 23.9 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . 476 24 Information - Theoretical Measures in Decision Diagrams 24.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.2 Information-theoretical measures . . . . . . . . . . . . . . . 24.3 Information-theoretical measures in decision trees . . . . . . 24.3.1 Decision tree induction . . . . . . . . . . . . . . . . . 24.3.2 Information-theoretical notation of switching function expansion . . . . . . . . . . . . . . . . . . . . . . . . 24.3.3 Optimization of variable ordering in a decision tree . 24.3.4 Information measures in the N -hypercube . . . . . . 24.4 Information-theoretical measures in multivalued functions . 24.4.1 Information notation of S expansion . . . . . . . . . 24.4.2 Information notations of pD and nD expansion . . . 24.4.3 Information criterion for decision tree design . . . . 24.4.4 Remarks on information-theoretical measures in decision diagrams . . . . . . . . . . . . . . . . . . . . . . 24.5 Ternary and pseudo-ternary decision trees . . . . . . . . . . 24.6 Entropy-based minimization using pseudo-ternary trees . . 24.7 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . 481 481 481 484 484 484 488 490 492 493 495 497 498 500 503 506

. . . . . . . . . . . . . . .

2006 by Taylor & Francis Group, LLC

Contents 25 Decomposition Using Decision Diagrams 25.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.1.1 Covering strategy . . . . . . . . . . . . . . . . . . . . 25.1.2 Decomposition strategy . . . . . . . . . . . . . . . . 25.2 Decomposition types . . . . . . . . . . . . . . . . . . . . . . 25.2.1 Shannon decomposition . . . . . . . . . . . . . . . . 25.2.2 Davio decomposition . . . . . . . . . . . . . . . . . . 25.2.3 Ashenhurst decomposition . . . . . . . . . . . . . . . 25.2.4 Curtis decomposition . . . . . . . . . . . . . . . . . . 25.2.5 Bi-decomposition . . . . . . . . . . . . . . . . . . . . 25.3 Decomposition based on BDD structure . . . . . . . . . . . 25.3.1 Multiplexer-based circuits . . . . . . . . . . . . . . . 25.3.2 Disjoint Ashenhurst decomposition . . . . . . . . . . 25.3.3 Curtis decomposition . . . . . . . . . . . . . . . . . . 25.3.4 Bi-decomposition . . . . . . . . . . . . . . . . . . . . 25.4 Decomposition based on BDD operations . . . . . . . . . . 25.4.1 Incompletely specied functions . . . . . . . . . . . . 25.4.2 BBD based calculation of the m-fold minimum and m-fold maximum . . . . . . . . . . . . . . . . . . . . 25.4.3 OR-bi-decomposition and AND-bi-decomposition . . 25.4.4 EXOR-bi-decomposition . . . . . . . . . . . . . . . . 25.4.5 Weak OR- and AND-bi-decomposition . . . . . . . . 25.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . 26 Complexity of Decision Diagrams 26.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 26.2 Specic functions . . . . . . . . . . . . . . . . . . . . 26.2.1 Basic logic functions . . . . . . . . . . . . . . 26.2.2 Adders . . . . . . . . . . . . . . . . . . . . . . 26.2.3 Multipliers and hidden weighted bit functions 26.3 Bounds . . . . . . . . . . . . . . . . . . . . . . . . . 26.3.1 The general case . . . . . . . . . . . . . . . . 26.3.2 Totally-symmetric functions . . . . . . . . . . 26.3.3 Existence . . . . . . . . . . . . . . . . . . . . 26.4 Complemented edges . . . . . . . . . . . . . . . . . . 26.5 Path length . . . . . . . . . . . . . . . . . . . . . . . 26.5.1 Symmetric variable nodes . . . . . . . . . . . 26.5.2 Experimental results . . . . . . . . . . . . . . 26.5.3 Longest path length oriented techniques . . . 26.6 Further reading . . . . . . . . . . . . . . . . . . . . .

xvii 509 509 510 511 513 513 514 514 516 516 518 518 519 521 523 526 527 528 530 533 534 536 545 545 546 546 548 548 549 549 550 552 552 554 554 557 557 561

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

27 Programming of Decision Diagrams 567 27.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 27.2 Representation of nodes . . . . . . . . . . . . . . . . . . . . . 568 27.3 Representation of decision diagrams . . . . . . . . . . . . . . 568

2006 by Taylor & Francis Group, LLC

xviii

Decision Diagrams Techniques for Micro- and Nanoelectronic Design . . . . . . . . . . . . . . . . . . tables and . . . . . . . . . . . . . . . . . . . 569 . 572 . 572 . 573 . 575 . 576

27.4 Construction of decision diagrams . . . . . . . . . 27.4.1 Unique table . . . . . . . . . . . . . . . . 27.4.2 Computed table . . . . . . . . . . . . . . . 27.5 Construction of decision diagrams based on truth variable ordering . . . . . . . . . . . . . . . . . . 27.6 Calculations with decision diagrams . . . . . . . 27.7 Further reading . . . . . . . . . . . . . . . . . . .

III DECISION DIAGRAM TECHNIQUES FOR MULTIVALUED FUNCTIONS28 Introduction 28.1 Multivalued logic . . . . . . . . . . . . . 28.2 Representation of multivalued functions 28.3 Spectral theory of multivalued functions 28.4 Multivalued decision trees and diagrams 28.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

579. . . . . 581 581 583 584 586 588 595 595 596 596 597 601 602 602 604 604 606 606 610 613 613 614 614 615 622 622 622 624 627 627 629

29 Multivalued Functions 29.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 29.2 Multivalued functions . . . . . . . . . . . . . . . . . . . . 29.3 Multivalued logic . . . . . . . . . . . . . . . . . . . . . . . 29.3.1 Operations of multivalued logic . . . . . . . . . . . 29.3.2 Multivalued algebras . . . . . . . . . . . . . . . . . 29.4 Galois elds . . . . . . . . . . . . . . . . . . . . . . . . . . 29.4.1 Galois elds GF (m) . . . . . . . . . . . . . . . . . 29.4.2 Algebraic structure for Galois eld representations 29.4.3 Galois eld expansions . . . . . . . . . . . . . . . . 29.4.4 Partial Galois eld transforms . . . . . . . . . . . . 29.5 Fault models based on the concept of change . . . . . . . 29.6 Further reading . . . . . . . . . . . . . . . . . . . . . . . . 30 Spectral Transforms of Multivalued Functions 30.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 30.2 ReedMuller spectral transform . . . . . . . . . . . 30.2.1 Direct and inverse ReedMuller transforms 30.2.2 Polarity . . . . . . . . . . . . . . . . . . . . 30.3 Arithmetic transform . . . . . . . . . . . . . . . . . 30.3.1 Direct and inverse arithmetic transforms . . 30.3.2 Polarity . . . . . . . . . . . . . . . . . . . . 30.3.3 Word-level representation . . . . . . . . . . 30.4 Partial ReedMullerFourier transforms . . . . . . 30.5 Relation of spectral representations . . . . . . . . . 30.5.1 Families of spectral transforms . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

2006 by Taylor & Francis Group, LLC

Contents

xix

30.5.2 Information about the behavior of logic functions in terms of change . . . . . . . . . . . . . . . . . . . . . . 629 30.6 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . 629 31 Classication of Multivalued Decision Diagrams 31.1 Introduction . . . . . . . . . . . . . . . . . . . . . 31.2 Background theory . . . . . . . . . . . . . . . . . 31.3 Construction of EVDDs . . . . . . . . . . . . . . 31.3.1 Motivation . . . . . . . . . . . . . . . . . 31.3.2 Algorithms . . . . . . . . . . . . . . . . . 31.3.3 Complexity . . . . . . . . . . . . . . . . . 31.3.4 Eciency of EVDDs . . . . . . . . . . . . 31.4 Illustrative examples . . . . . . . . . . . . . . . . 31.5 Further reading . . . . . . . . . . . . . . . . . . . 635 635 636 638 640 641 641 643 643 650 655 655 656 662 662 663 663 665 666

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

32 Event - Driven Analysis in Multivalued Systems 32.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Multivalued dierence . . . . . . . . . . . . . . . . . . . . . 32.3 Generation of ReedMuller expressions . . . . . . . . . . . . 32.3.1 Logic Taylor expansion of a multivalued function . . 32.3.2 Computing ReedMuller expressions . . . . . . . . . 32.3.3 Computing ReedMuller expressions in matrix form 32.3.4 N -hypercube representation . . . . . . . . . . . . . . 32.4 Further reading . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . .

IV SELECTED TOPICS OF DECISION DIAGRAM TECHNIQUES

669

33 Introduction 671 33.1 Relationship between decision diagrams and spatial structures 671 33.1.1 Embedding decision trees and diagrams into dierent topologies . . . . . . . . . . . . . . . . . . . . . . . . . 672 33.1.2 Linear and multidimensional systolic arrays . . . . . . 673 33.2 Decision diagrams for reversible computation . . . . . . . . . 678 33.3 Special types of decision diagrams and hybrid techniques . . . 678 33.4 Developing of new decision diagrams . . . . . . . . . . . . . . 680 33.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . 680 34 Three - Dimensional Techniques 34.1 Introduction . . . . . . . . . . . . 34.2 Spatial structures . . . . . . . . . 34.3 Hypercube data structure . . . . 34.4 Assembling of hypercubes . . . . 34.5 N -hypercube denition . . . . . 34.5.1 Extension of a hypercube 685 685 687 689 694 696 696

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

2006 by Taylor & Francis Group, LLC

xx

Decision Diagrams Techniques for Micro- and Nanoelectronic Design 34.5.2 Degree of freedom and rotation . . . . . . . . . . . . 34.5.3 Coordinate description . . . . . . . . . . . . . . . . . 34.5.4 N -hypercube design for n > 3 dimensions . . . . . . Embedding a binary decision tree into an N -hypercube . . Spatial topological measurements . . . . . . . . . . . . . . . Embedding decision diagrams into incomplete N -hypercubes 34.8.1 Incomplete N -hypercubes . . . . . . . . . . . . . . . 34.8.2 Embedding technique . . . . . . . . . . . . . . . . . Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697 698 702 702 707 710 . 710 . 710 . 711 719 719 720 720 723 729 731 734 737 741 742 743 744 745 746 748 748 749

34.6 34.7 34.8

34.9

35 Decision Diagrams in Reversible Logic 35.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 35.2 Reversible and quantum circuits . . . . . . . . . . 35.2.1 Reversible circuits . . . . . . . . . . . . . . 35.2.2 Quantum circuits . . . . . . . . . . . . . . . 35.3 Decision diagram techniques . . . . . . . . . . . . . 35.3.1 Representing matrices as decision diagrams 35.3.2 Matrix operations using decision diagrams . 35.4 Further reading . . . . . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

36 Decision Diagrams on Quaternion Groups 36.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . 36.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 36.3 Group-theoretic approach to decision diagrams . . . . . . . 36.3.1 Decision diagrams for LUT FPGAs design . . . . . . 36.3.2 Spectral interpretation . . . . . . . . . . . . . . . . . 36.4 Decision diagrams on quaternion group . . . . . . . . . . . . 36.4.1 Fourier transform on Q2 . . . . . . . . . . . . . . . . 36.4.2 Decision diagrams on nite non-Abelian groups . . . 36.4.3 Decision diagrams on non-Abelian groups with preprocessing . . . . . . . . . . . . . . . . . . . . . . . . 36.4.4 Advantages of non-Abelian groups in optimization of decision diagrams . . . . . . . . . . . . . . . . . . . . 36.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . 37 Linear Word - Level Decision Diagrams 37.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 37.2 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . 37.3 Linear arithmetic expressions . . . . . . . . . . . . . . . . 37.3.1 Grouping . . . . . . . . . . . . . . . . . . . . . . . 37.3.2 Computing the coecients in the linear expression 37.3.3 Weight assignment . . . . . . . . . . . . . . . . . . 37.3.4 Masking . . . . . . . . . . . . . . . . . . . . . . . . 37.4 Linear arithmetic expressions of elementary functions . . . 37.4.1 Functions of two and three variables . . . . . . . .

. . . . . . . .

. 750 . 751 . 752 757 757 757 758 758 760 761 762 763 764

. . . . . . . . .

. . . . . . . . .

2006 by Taylor & Francis Group, LLC

Contents 37.4.2 AND, OR, and EXOR functions of n variables . . . . 37.4.3 Garbage functions . . . . . . . . . . . . . . . . . . . Linear decision diagrams . . . . . . . . . . . . . . . . . . . . . Representation of a circuit level by linear word-level expression Linear decision diagrams for circuit representation . . . . . . Linear word-level expressions of multivalued functions . . . . 37.8.1 Approach to linearization . . . . . . . . . . . . . . . . 37.8.2 Algorithm for linearization of multivalued functions . . 37.8.3 Manipulation of the linear model . . . . . . . . . . . . 37.8.4 Library of linear models of multivalued gates . . . . . 37.8.5 Representation of a multilevel, multivalued circuit . . 37.8.6 Linear decision diagrams . . . . . . . . . . . . . . . . . 37.8.7 Remarks on computing details . . . . . . . . . . . . . Linear nonarithmetic word-level representation of multivalued functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37.9.1 Linear word-level for MAX expressions . . . . . . . . . 37.9.2 Network representation by linear models . . . . . . . . Further reading . . . . . . . . . . . . . . . . . . . . . . . . . .

xxi 765 766 767 769 772 773 774 775 777 779 780 780 782 782 782 784 784

37.5 37.6 37.7 37.8

37.9

37.10

38 Fibonacci Decision Diagrams 38.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 38.2 Terminology and abbreviations for Fibonacci decision trees and diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 38.3 Generalized Fibonacci numbers and codes . . . . . . . . . . 38.3.1 Fibonacci p-numbers . . . . . . . . . . . . . . . . . . 38.3.2 Fibonacci p-codes . . . . . . . . . . . . . . . . . . . . 38.4 Fibonacci decision trees . . . . . . . . . . . . . . . . . . . . 38.4.1 Binary decision trees and multiterminal binary decision trees . . . . . . . . . . . . . . . . . . . . . . . . 38.4.2 Properties of Fibonacci decision diagrams . . . . . . 38.5 Fibonacci decision trees and contracted Fibonacci p-codes . 38.6 Spectral Fibonacci decision diagrams . . . . . . . . . . . . . 38.7 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . 39 Techniques of Computing via Taylor - Like Expansions 39.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 39.1.1 Additive structure of spectral coecients . . . . 39.1.2 Multiplicative structure of spectral coecients . 39.1.3 Relationship of polynomial-like representations . 39.2 Computing ReedMuller expressions . . . . . . . . . . . 39.2.1 Cube-based logic Taylor computing . . . . . . . . 39.2.2 Properties of Boolean dierence in cube notation 39.2.3 Numerical example . . . . . . . . . . . . . . . . . 39.2.4 Matrix form of logic Taylor expansion . . . . . .

789 . 789 . . . . . . . . . . 790 794 794 794 795 795 799 802 803 805 809 810 810 811 811 812 815 819 820 820

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

2006 by Taylor & Francis Group, LLC

xxii

Decision Diagrams Techniques for Micro- and Nanoelectronic Design

39.2.5 Computing logic Taylor expansion by decision diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 39.3 Computing arithmetic expressions via arithmetic Taylor expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39.3.1 Arithmetic analog of logic Taylor expansion . . . . . 39.3.2 Cube based arithmetic spectrum computing . . . . . 39.3.3 Properties of arithmetic dierences in cube notation 39.3.4 Matrix form of arithmetic Taylor expansion . . . . . 39.3.5 Computing arithmetic Taylor expansion by decision diagram . . . . . . . . . . . . . . . . . . . . . . . . . 39.4 Computing Walsh expressions via Taylor expansion . . . . . 39.4.1 Matrix form of Walsh dierences . . . . . . . . . . . 39.4.2 Walsh dierences in symbolic form . . . . . . . . . . 39.4.3 Properties of Walsh dierences in cube notation . . . 39.4.4 Computing Taylor expansion by decision diagram . . 39.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . 40 Developing New Decision Diagrams 40.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 40.2 Spectral tools for generation of decision diagrams . . . . . . 40.2.1 Approaches to the construction of decision diagrams 40.2.2 The spectral approach . . . . . . . . . . . . . . . . . 40.2.3 Basic theorems . . . . . . . . . . . . . . . . . . . . . 40.2.4 Decision diagram and the spectrum of a switching function . . . . . . . . . . . . . . . . . . . . . . . . . 40.3 Group theoretic approach to designing decision diagrams . . 40.3.1 Basic theorems . . . . . . . . . . . . . . . . . . . . . 40.3.2 Group-theoretic approach and topology . . . . . . . 40.4 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . 41 Historical Perspectives and Open Problems 41.1 Trends in decision diagram techniques . . . . . . . . . . . . 41.2 New design and optimization strategies . . . . . . . . . . . . 41.2.1 Bio-inspired strategies . . . . . . . . . . . . . . . . . 41.2.2 Adaptive reconguration . . . . . . . . . . . . . . . . 41.2.3 Articial intelligence . . . . . . . . . . . . . . . . . . 41.2.4 Neural networks . . . . . . . . . . . . . . . . . . . . 41.2.5 Flexibility . . . . . . . . . . . . . . . . . . . . . . . . 41.2.6 Probabilistic techniques and information-theoretical measures . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Extension of the area of application . . . . . . . . . . . . . . 41.3.1 Implementation aspects . . . . . . . . . . . . . . . . 41.3.2 Topology and embedding properties . . . . . . . . . 41.4 Nanocircuit design a new frontier for decision diagrams . 41.4.1 Modeling spatial dimensions . . . . . . . . . . . . . .

. 821 . . . . . . . . . . . . 822 822 826 826 827 829 829 829 833 835 837 839 845 845 845 846 848 848 850 857 858 858 860 867 867 867 869 870 870 871 872 873 874 874 875 875 875

. . . . . . . . . .

. . . . . . . . . . . . .

2006 by Taylor & Francis Group, LLC

Contents

xxiii

41.4.2 Modeling spatial computing structures . . . . . . . . . 875 41.4.3 Modeling nanocomputing . . . . . . . . . . . . . . . . 876 41.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . 876

V

APPENDIX

889

Appendix-A: Algebraic Structures for the Fourier Transform on Finite Groups Appendix-B: Fourier Analysis on Groups Appendix-C: Discrete Walsh Functions Appendix-D: The Basic Operations for Ternary and Quaternary Logic

891 897 907 913

2006 by Taylor & Francis Group, LLC

PrefaceThis handbook presents the fundamental theory and practice of decision diagrams as applied to the representation and manipulation of logic functions. It is primarily intended for computer science, and electrical and computer engineering students, researchers and practitioners. However, individuals in other elds with interest in these and related areas will nd it a comprehensive source of relevant information. The handbook includes decision diagram techniques that have been collected by the authors during preparation of courses and lectures on advanced logic circuit design, research projects, and various student projects. The focus is on the use of decision diagram techniques for analysis and design applicable to micro and nanoelectronic integrated circuits (nanoICs).

Rationale and audienceAlgorithms used in CAD systems for micro and nano-devices typically require the manipulation of large amounts of data. Graphical representations such as networks, ow-graphs, hypercubes, trees, and decision diagrams are foundational data structures used in logic design. Among these, decision diagrams are of a specic interest, since they support: Representation of logic functions. Diverse representations such as sum-ofproducts expressions, Reed-Muller expansions, arithmetic expansions, and word-level expressions can be represented using decision diagrams compactly in terms of both space and time. Optimization of logic functions. Both exact and heuristic minimization of logic functions can be performed by the manipulation of decision diagrams. Estimates of switching circuit performance. Measures such as switching activity, power dissipation, and eects of noise in circuits can be estimated using decision diagrams. Verication of circuits can be accomplished by comparing decision diagrams.

xxv 2006 by Taylor & Francis Group, LLC

xxvi

Decision Diagrams Techniques for Micro- and Nanoelectronic Design

Decision diagrams have two key properties that make their use both attractive and ecient. These include: (a) Canonical form. For a given variable ordering, reduced ordered decision diagrams represent each logic function uniquely. (b) Compactness. Decision diagrams can in many instances compactly represent large functions and large sets of combinatorial data. Decision diagram techniques have been used at the following levels of abstraction in various CAD systems for micro and nano-devices: Logic synthesis (decomposition, testing, minimization, timing optimization), Behavioral synthesis (pipelining, partitioning, etc.), Sequential synthesis (state assignments and minimization, testability, state machine verication), Technology mapping (mapping to a library of logic gates, synthesis with macro-cells, dierent programmable structures, etc.), and Physical design mapping (cell placements, layout, routing, fabrication). Specic applications of decision diagrams in digital design include: Circuit optimization. Reduction of the size and complexity of decision diagrams can be directly relevant to minimizing the area of logic networks. Choosing a variable ordering that signicantly reduces the decision diagram size can be done by dynamic programming, sifting, and information-theoretic criterion. Pass-transistor logic circuit optimization. The advantage of this method is that pass-transistor logic circuits derived from decision diagrams are path-free, i.e., there is no assignment to the inputs that produce a conducting path from power supply to the ground. Testing. Decision diagrams can be used to calculate changes that are described by dierences which are applicable for testing. Fault simulation. Simulation of multiple stuck-at faults can be accomplished by representing sets of fault combinations with decision diagrams. Time-driven analysis. The testability of circuits synthesized by mapping a decision diagram to a multiplexor circuit using the path delay fault model allows detection of static and dynamic faults. Estimation of power dissipation. Power dissipation reductions can be considered with respect to the minimum size decision diagram. The power dissipation is estimated as a function of switching activity and heuristic optimization targets the cost expressed in terms of the probability of signal as derived from the decision diagram.

2006 by Taylor & Francis Group, LLC

Preface

xxvii

Decomposition. The logic decomposition methods based in the past on algebraic techniques have been replaced with new decision diagram based decomposition techniques. The verication problem is formulated as follows. Given two specications, e.g two circuits, with the same number of inputs and outputs, verify that both produce the same output for each input assignment. Complete ordered decision trees can be generated from each specication and compared for equivalency. Alternatively, reduced ordered decision diagrams can be generated and compared. This approach is possible since both the complete ordered decision tree and the reduced ordered decision diagram are canonical forms. Nanodevices design. Decision diagrams are a viable candidate of topological models for nanoelectronic circuits since nanoelectronics requires switchtype, not gate-level, logic modelling (similar to pass-transistor logic). In particular, a type of quantum-dot network, decision diagram nanowire wrap-gate networks, has been developed. Decision diagrams and trees can be embedded into various topologies, for example, into hexagonal, lattice, or hypercube-like topologies, suitable for nanoelectronic design. Our aim has been to make this handbook both a comprehensive review and a suitable starting point for developing applications of decision diagram techniques in logic circuit design and related areas. To achieve this goal, the presentation is organized in four parts consisting of self-contained chapters written in a tutorial style. Selected methods of contemporary logic design are presented using decision diagrams, as specic methods for the design of nanoICs. When applied to nano-device design, decision diagram techniques oer two attractive features: (a) Nodes of decision diagrams can be implemented by multiplexers; the latter, viewed as one-input two-output switches, are good candidates for various nantechnologies, in particular, wrap-gate nanowire networks. (b) Decision diagrams can be embedded into a number of other topological structures. The following key features distinguish this handbook: This handbook presents a comprehensive catalog of decision diagram techniques. Standard textbooks on logic circuit design generally do not discuss decision diagram techniques in entirely or in a tutorial manner. The central role of topological models, for example, embedding decision trees and diagrams in various spatial structures and assembling the topology, is discussed. The key recent trends in the theory and practice of decision diagram techniques are highlighted.

2006 by Taylor & Francis Group, LLC

xxviii Decision Diagrams Techniques for Micro- and Nanoelectronic Design Novel techniques of advanced logic design (algebraic, matrix, and graphbased) are presented with respect to new possibilities of processing in spatial dimensions. Solutions inspired by recent developments in nano-technologies are given such as the information theoretic approach and stochastic computing for the modelling and simulation of logic circuits. This volume should be especially valuable to those engineers, scientists, and students who are interested in the design of discrete devices in the coming era of nano-technologies. It is our hope that this handbook will inspire a new generation of innovators to continue the development of decision diagram techniques for the design and analysis of micro and nano-devices.

Svetlana N. Yanushkevich D. Michael Miller Vlad P. Shmerko Radomir S. Stankovi c Calgary (Canada) Victoria (Canada) Ni (Serbia) s

work by S. N. Yanushkevich was partially supported by Natural Sciences and Engineering Research Council of Canada (NSERC), grant 239025-02. The joint work by S. N. Yanushkevich, D. M. Miller, and V. P. Shmerko was partially supported by NATO Collaborative Linkage Grant PST-CLG.979071. A part of the work by R. S. Stankovic has been done during his stay at Tampere International Center for Signal Processing, Tampere University of Technology, Tampere, Finland, and was supported by the Academy of Finland, Finish Center of Excellence Programme, Grant No. 44876.

The

2006 by Taylor & Francis Group, LLC

Part I

FUNDAMENTALS OF DECISION DIAGRAM TECHNIQUES

Digital Circuit Technologies and Decision Diagrams Technique Data Structures for Logic Functions Graph Theory and Decision Trees Reed-Muller Representation Boolean and Arithmetic Differences Arithmetic Representations Word-Level Representations Spectral Technique Walsh and Haar Arithmetic Representations Information-Theoretical Measures

1 2006 by Taylor & Francis Group, LLC

1 IntroductionThis part includes eight chapters covering the basic theory of decision diagram techniques: Data structures for representations of discrete and switching functions, including algebraic and graphical data structures, Spectral techniques for analysis and synthesis of discrete systems, and The basics of stochastic (probabilistic) techniques and information theoretical measures for logic functions, and Event-driven analysis. The basics of decision diagram techniques include methods from various areas (Figure 1.1) such as: graph theory, discrete mathematics, group theory, as well as Boolean and multivalued algebras, information theory, etc. The choice of the representation form and corresponding manipulation technique depends heavily on the application. Most applications of decision diagrams considered in this book lie in the areas of digital system design, verication, and testing. Prior to their application to switching theory, decision trees were applied in the programming of decision tables (branching programs), databases, pattern recognition, taxonomy and identication of objects (system faults, biological specimens, etc.), machine diagnosis, testing, and analysis of algorithms, complexity measures in particular. Many methods developed for the above applications have been adopted for solving the problems of logic design. This application eventually evolved towards VLSI circuit design, and further towards nanoelectronic design.

1.1

Data structures for the representation of discrete functions

In this section, various representation forms of discrete functions are considered with respect to their applications and their relationship to decision trees and diagrams. Discrete functions can be represented:

3 2006 by Taylor & Francis Group, LLC

4

Decision Diagrams Techniques for Micro- and Nanoelectronic Design

Graph theory

Graph algorithms Complexity Assembling Embedding

Probabilistic theories

Stochastic processes Decision making Bayes theorem Probability distributions Tests of hypotheses Markov models Estimation techniques

Signal processing

Fourier transform Walsh transform Haar transform Correlation analysis Factorization Parallel processing

Theory of information

Entropy and information Information transmission Losses of information Computing of Information Estimation techniques

Group theory

Algebras Lattice Fourier-like transforms Boolean algebras Logic functions Group-theory approach Galois fields

Multivalued logic

Multivalued algebras Multivalued circuits Decision making Fault models Event-driven analysis

Switching theory

Design styles Multilevel circuits Optimization of functions Sequential systems Finite state machines Verification models Fault models Event-driven analysis

VLSI technology

Layout design and tools Power optimization Interconnect optimization Floorplanning Verification

Algorithms

Sorting Dynamic programming Graph coloring Covering Evolutionary

Nano electronics

Spatial topologies Optimization Fault tolerance computing Information-theory analysis

FIGURE 1.1 The basics of decision diagram techniques include selected topics from several theoretical areas.

2006 by Taylor & Francis Group, LLC

Introduction

5

Algebraically, as an expression in terms of an algebra (Boolean algebra for switching functions, in particular), In a tabular form, as a decision table, In graphic form, as a graph or hypercube. A discrete function is a function of discrete variables, f (x1 , ..., xn ), where each variable, xi , i = 1, ..., n, takes exactly m values, which are denoted 0, ..., m 1. A discrete function is completely specied if it is dened everywhere, and incompletely specied otherwise. When a variable is evaluated, given xi = ci , the function is denoted as f (x1 , ..., xi1 , ci , xi+1 , ..., xn ), or f |xi =ci . A variable, xi is redundant if, and only if, f |xi =0 = ... = f |xi =m1 . Table 1.1 shows dierent classes of discrete functions where a nite discrete function of n variables is dened as a mapping f : Di Ri=1 n

where is the Cartesian product, Di and R are nite sets, and variable xi Di .

1.1.1

Switching theory

A Boolean algebra B = {A; +, ; ; 0, 1} is dened as a set A, two elements 0 and 1, two binary operations +, , and a unary operation . Boolean functions are described in terms of expressions over a Boolean algebra. Switching functions. The special case of Boolean algebra denoted by B = {(0, 1); +, ; ; 0, 1} with two elements is called switching algebra. Switching algebra is the theoretical foundation of circuit design and decision diagram techniques. In switching algebra, an n-variable function f : Bn B is called a switching function. A switching function of n variables is a discrete function, f :{0, 1}n {0, 1}, where {0, 1}n denotes the n-fold Cartesian product of {0, 1}, that is, the set of all binary n-tuples. Each n-tuple, (x1 , ...., xn ), mapped to 1 by the function, is a minterm of the function. A switching function of n variables can be specied by its 2n 1 truth table or by a Boolean formula. A switching function of n variables can be expressed in terms of Shannons expansion theorem: f = xi f |xi =0 xi f |xi =1 .

2006 by Taylor & Francis Group, LLC

6

Decision Diagrams Techniques for Micro- and Nanoelectronic DesignTABLE 1.1

Discrete functions. Name Formal representation

Integer Multivalued

f : {0, 1, . . . , mi 1} {0, 1, . . . , 1}i=1

n

f : {0, 1, . . . , 1}n {0, 1, . . . , 1}

Switching (Boolean) f : {0, 1}n {0, 1} Pseudo-logic f : {0, 1, . . . , mi 1} {0, 1}i=1 n

f : {0, 1}n {0, 1, . . . , 1} Pseudo-Boolean Galois Fuzzy f : {0, 1}n R f : {GF (p)}n {GF (p)} f : I n I, I = [0, 1]

Example 1.1 A function f of two variables x1 and x2 can describe various data structures: Table 1.2 species a two-output switching function, Table 1.3 describes an incompletely specied ternary logic function. There are several useful properties of a switching function: There are exactly four switching functions of a single variable x: two of them are the constant functions f0 (x) = 0, and f1 (x) = 1, f2 (x) = x, and f3 (x) = x. Note, a literal denotes a variable x or its complement x. There are 16 switching functions of two variables. Among these are six trivial functions (constants and literals). The remaining functions are used in elementary logic gate descriptions (AND, OR, EXOR, etc). The number of n-variable switching functions with one output and m outn n puts are equal to 22 and 2m2 correspondingly. A circuit with n inputs and one output can be described in terms of an n-variable switching function f = (x1 , x2 , . . . xn ). A circuit with n inputs and m outputs can be described in terms of m-tuple f = (f1 , f2 , . . . fm ).

2006 by Taylor & Francis Group, LLC

IntroductionTABLE 1.3 TABLE 1.2

7 Incompletely specied ternary logic function (Example 1.1). x1 x2 f 0 1 2 3 4 5 0 0 0 1 1 1 0 1 2 0 1 2 f (0) f (1) f (2) f (3) f (4) f (5)

Binary input two-output switching function (Example 1.1). x1 x2 f 0 1 2 3 0 0 1 1 0 1 0 1 f0 (0)f1 (0) f0 (1)f1 (1) f0 (2)f1 (2) f0 (3)f1 (3)

Switching theory oers ecient algorithms for minimization, analysis, testing, and verication of switching circuits. The choice of data structure for representation and manipulation of logic functions is important for implementation or mapping these algorithms into hardware. Logic function minimization. Specialized methods of switching theory for the reduction of switching functions to canonical or minimal forms and decomposition methods are well developed. In terms of graphical data structures, logic function minimization means the construction of decision trees and diagrams with minimal implementation cost.

Verication. Formal verication in contemporary digital design ow is accomplished through advanced techniques such as Boolean satisability (SAT) and binary decision diagrams. The aim of formal verication is a formal mathematical proof that the functional behavior of the specication and the implementation coincide. The representation of the original circuit is interpreted as the specication. The representation of the optimized circuit is considered an implementation. It has to be proven formally that specication and implementation are functionally equivalent, i.e., that both compute exactly the same switching function(s). Functional representations for both networks are derived and tested for equivalence. By this method, two sequential systems can also be compared. The

2006 by Taylor & Francis Group, LLC

8

Decision Diagrams Techniques for Micro- and Nanoelectronic Design

two systems must have identical encoding, i.e., output and next-state functions. Event-driven analysis stands for sensitivity and observability analysis, testability and related applications for logic design. The theoretical basis of this eld is Boolean dierential calculus. Boolean dierential operators analyze the behavior of computing structures in terms of change. Boolean dierences can be computed on decision trees and diagrams, as considered in Chapter 9. The Boolean dierence is a certain analog of the Taylor cofactor of an algebraic function. The analog of the Taylor expansion in switching theory is the Reed Muller expansion, as well as arithmetic and Walsh forms. Thus, Boolean dierence can be utilized to calculate ReedMuller, arithmetical and Walsh coecients, and, therefore, is relevant to spectral techniques. One application of this analysis is in automatic test generation. The Boolean dierence describes the set of all tests for each single fault. Another application is in the area of combinational logic optimization. The dont care set for a signal line of the circuit, i.e., those cases where the circuit outputs are independent of the signal value on this line, can be determined. This information can be used by the circuit optimizer, which can apply transformations such as eliminating a signal line or moving a line to a dierent gate output. To avoid recomputing the Boolean dierence every time the optimizer modies the circuit, a set of compatible dont care functions can be found, which remain valid even as the circuit structure is changed. Analysis of sequential circuits. A nite-state system over a sequence of state transitions is traditionally used to model a sequential digital system. For very small systems, an explicit representation using state graph methods and analysis of the graph is used. For larger systems, symbolic state graph methods with the state transition represented as a switching function are more appropriate.

1.1.2

Multivalued functions

Besides the well-known two-valued Boolean algebra or switching algebra, there are other Boolean algebras. Any m-valued function can be represented by a multivalued decision tree and decision diagram, which are canonical graph-based data structures.

2006 by Taylor & Francis Group, LLC

Introduction

9

A multivalued tree and diagram is specied in the same way as a binary decision tree and BDD, except the nodes become more complex due to the use of Shannon and Davio expansion for multivalued functions. Multivalued decision diagrams are considered in Part III as an extension of decision diagram technique to multivalued functions.

1.2

Decision tables

A decision table is an organizational or programming tool for the representation of discrete functions. It can be viewed as a matrix where the columns specify sets of conditions and the rows sets of actions to be taken when the corresponding conditions are satised. The columns specify the rules of the type if conditions, then actions. If some columns specify identical actions, they are redundant. Some rules can overlap, i.e., a combination of condition values can be found that satises the condition sets of both rules. Two overlapping rules that specify dierent actions make the table ambiguous.

Example 1.2 An unambiguous decision table is a special case of a multivalued discrete function, where the conditions correspond to the variables and the action sets to the function values. In particular, a complete decision table corresponds to a completely specied discrete function.

A decision table can be evaluated sequentially, that is, it can be implemented, or programmed by if-then-else constructs. This is also known as an ID3 algorithm. Evaluation leads to classication of event objects represented by the decision table into one of a nite number of known categories. Such a classication is based upon the outcome of a number of tests (assignment of variables). Example 1.3 In decision making and pattern recognition, tests are known as features and objects as classes. Decision tables can be easily represented by a tree, and a probability distribution can be evaluated using the information specied on the set of objects. A priori probability that an unknown object will be identied as each object in the set can be given.

2006 by Taylor & Francis Group, LLC

10

Decision Diagrams Techniques for Micro- and Nanoelectronic Design

1.3

Graphical data structures

This section investigates the genesis of decision trees and diagrams and the ontology with respect to data structures for discrete function representation. Decision trees and decision diagrams are graphical data structures for logic functions. Manipulation of decision tables or algebraic expressions is replaced by manipulation of graphical components. Other graphical data structures, such as directed acyclic graphs of Boolean networks, are used for logic functions and circuit representation. Decision trees and diagrams. Decision trees and diagrams are models of the evaluation of discrete functions, wherein the value of a variable is determined and the next action (to choose another variable to evaluate or to output the value of the function) is chosen accordingly. Since switching functions are a sub-class of discrete functions, decision trees and diagrams are applicable to logic design tasks formulated in terms of such evaluation (see Chapter 2). While a decision tree is derived from the simple mapping of variable assignment to function values, it implicitly reects the relationship between variables and function values. A simpler way of mapping assignments of variables to the function values is a singular hypercube. Many algorithms for solving various computational problems of logic analysis and synthesis employ decision trees and diagrams. Analysis of algorithms. Decision diagrams are well suited to composition and recursion, while these operations are dicult to carry out using formulas. Many graph algorithms have been developed for computations based upon a matrix representation. Generally, any algorithm that can be formulated or rened to the evaluation of a variable on a function f of k-ary variables can be resolved using a decision tree. Evaluation of a k-ary variable provides at most log2 k bits of information, and, thus, the minimum height of any tree for the function f must obey the relation h H(f )/log2 k, where H(f ) is the functional entropy. This relation has been used to provide lower bounds on the complexity of several combinational problems, such as sorting and various set operations. Decision tree optimization. The problem of constructing optimal decision trees and diagrams has been addressed by many researchers using branch-andbound techniques and dynamic programming.

2006 by Taylor & Francis Group, LLC

Introduction

11

The dynamic programming approach is embodied in an algorithm designed to convert limited-entry decision tables to decision trees with minimal expected testing cost. The branch-and-bound method is aimed at optimization of diagram storage cost. A branch-and-bound algorithm proceeds by always developing the partial solution that is potentially less expensive than any other, often switching from one partial solution to another when lower bounds change, until one solution has been completely developed. A non-redundant variable must appear at least once in any diagram. The principal disadvantage of the branch-and-bound method is that it may result in a near-exhaustive search of the possible trees and diagrams.

1.4

Spectral techniques

Spectral techniques is a discipline of applied mathematics, representing a subarea of abstract harmonic analysis. Spectral representations of logic functions are canonical. Spectral techniques express the principle of linearity and superposition. Switching functions are considered as elements of the Hilbert space consisting of complex-valued functions dened on nite dyadic groups. Functional expressions for switching and multivalued functions include spectral representations such as sum-of-products, ReedMuller, word-level arithmetic, and Walsh expressions. Spectral representations are based on matrix procedures, which, on the other hand, are easily represented by decision trees and diagrams. That is why the spectral transforms of switching and multivalued functions considered in this book have their representation as spectral decision diagrams related to matrix procedures of spectral transforms.

1.4.1

Group theory

An algebraic structure is dened by the tuple A, o1 , . . . , ok ; R1 , . . . , Rm ; c1 , . . . , ck , where A is a non-empty set, oi is a function Api A, Rj is a relation in A, pi is a positive integer, and ci is an element of A. Various algebraic systems are used in decision diagram techniques (Figure 1.2).

2006 by Taylor & Francis Group, LLC

12

Decision Diagrams Techniques for Micro- and Nanoelectronic Design Example 1.4 The algebraic system Z, + , where Z is a set of integers and + is addition is used in edge-valued binary decision diagrams (EVBDDs).

Semigroup Group Ring Field

FIGURE 1.2 Relation of algebraic systems. A lattice is an algebraic system with two binary operations. In a lattice, any two elements have both meet and joint. All nite lattices have a greatest element, denoted 1 and a least element (0). Various algebraic systems satisfy the axioms of a lattice. Example 1.5 Let B = {0, 1}. Then {B, , , 1} is a eld where symbols and are modulo 2 addition and multiplication. This is the eld GF (2), also known as ReedMuller algebra. A eld must satisfy associative and commutative laws for addition and multiplication, distributive law, and the following: for an arbitrary non-zero element z, there exists y such that x y = y x = 1. A function f is a mapping f :G P , x G and f P , where G is an Abelian group of order |G| = N , and P is a eld. Switching functions are a particular example, when G = C2 . . . C2 , C2 (0, 1, ), and the group operation is the addition modulo 2, and P is the nite Galois eld GF (2), Fourier and Fourier-like transforms on a nite group G of order |G| = N are dened using the group characters of G as the set of basic functions.

1.4.2

Abstract Fourier analysis

Functional expressions for switching and multivalued functions include spectral representations such as sum-of-products, ReedMuller, word-level arithmetic, and Walsh expressions. The technique for generation, mutual trans-

2006 by Taylor & Francis Group, LLC

Introduction

13

form and manipulation of these expression is based on abstract Fourier analysis, which covers various spectral transforms and correlation analysis. Fourier transform. Classical Fourier analysis is applicable for functions dened on a particular Abelian group, i.e., for functions of real-valued variables that are to be transformed into the complex eld C. Extensions to other classes of functions, i.e., to functions dened on other groups in other elds, are possible. This is easily done through the group-theoretical approach and group representation theory. The real group R is replaced by an arbitrary, not necessarily Abelian group. Fourier representations for functions in these groups are dened in terms of group representations. This leads to a mathematical discipline known as abstract harmonic analysis. Fourier and Fourier-like transforms on dyadic groups. The Fourier series represents the signal as a sum of cosines with given frequencies. The Fourier transform of a signal is a function of frequency. The signal representations depend on frequency. This concept is known as the spectral content of a signal. This concept plays an important role in signal analysis. In particular, the frequencies that play a dominant role in the composition of the signal give us clues to the properties of the signal. Functional analysis is a mathematical discipline dealing with functions, function spaces, dierent operators in these spaces, and related subjects. The main statement of functional analysis is that each function can be represented (expanded) in terms of a basis in vector space. The basis is a set of linearly independent functions, which means that any function from a set of linearly independent functions cannot be reduced to some other function from this set by some simple linear operations over this function and other functions. The ReedMuller transform can be expressed as: f : {GF (2)}2 GF (2). The ReedMuller transforms a switching function from its original domain to the ReedMuller domain, an algebra dened on logic product and exclusive OR of Boolean variables and constant 1. The Kronecker transforms considered below are a subclass of the ReedMuller transform. Arithmetic transform. Assume that the values 0 and 1 of a logic function are interpreted as integers 0 and 1. To have a vector space as the range, we need to consider these values 0 and 1 as elements of a eld containing integers. The smallest possible would be the eld of rational numbers Q, but it will be convenient to go further and use the eld of complex numbers. Thus, we replace GF (2) by C and consider functionsn f : C2 C.

2006 by Taylor & Francis Group, LLC

14

Decision Diagrams Techniques for Micro- and Nanoelectronic Design

Arithmetic polynomials are used for ecient representation and calculation of multi-output functions, and can be represented using word-level decision diagrams.

Walsh transform. In the ReedMuller transform, we viewed the values 0,1 of a logic function as elements of GF (2). By viewing these values as integers 0,1 as elements of C, we obtain an arithmetic (functions) transform. Instead of the values 0 and 1, we could use some other complex numbers , and n consider functions f : C2 {, }. By using = 1 and = 1 we obtain the Walsh functions and the Walsh transform. This transform has many useful properties. In particular, under multiplication of complex numbers, {0, 1} forms a group with exactly the same structure as the group {0, 1} under modulo 2 addition. It can be shown that the Walsh transform is the Fourier transform dened 2 on the dyadic groups Cn . It expresses properties corresponding to those of the classical Fourier transform on R. Therefore, it is often called the Walsh Fourier transform. ReedMuller and arithmetic transforms do not have the properties of the Walsh transform, and cannot be derived from the group representation theory as a generalization of the classical Fourier transform. However, they are closely related and share some of the useful properties of Fourier transforms dened on groups. Therefore, they are referred to as Fourier-like transforms. Kronecker transforms. The transforms we discussed can be generalized n into Kronecker product representable transforms. Denote by P (C2 ) the set 2 of all switching functions on Cn into P , where P is a eld that may be a nite (Galois) eld or the complex eld C. Partial Kronecker transforms. The fast Fourier transform (FFT) is an ecient algorithm for calculation of the discrete Fourier transform. The aln gorithm is based on the property that a function on a group C2 of order 2n 2 can be considered as an n-variable function on Cn . A discrete Fourier transform of order 2n can be performed as n discrete Fourier transforms of orders 2. Each of these transforms is performed with respect to a variable in f . The method dened for the discrete Fourier transform can be extended to any Kronecker product representable transform due to the properties of the Kronecker product. Fixed polarity transforms. In a xed polarity ReedMuller transform, the Davio expansion rule of a given polarity is applied to each variable in f . The xed polarity ReedMuller spectrum with the minimum number of non-zero coecients denes the coecients in the minimum ReedMuller expansion for f . Fixed polarity arithmetic and Walsh transforms can be dened by analogy.

2006 by Taylor & Francis Group, LLC

Introduction

15

Walsh polynomials expressed in terms of switching variables reduce, after simplication, to arithmetic polynomials. Walsh polynomials can be used to represent multi-output functions in the same way as is done with arithmetic polynomials.

Haar transform. The discrete Haar transform is an important example of n non-Kronecker transforms in C(C2 ). It is dened in terms of the discrete Haar functions, which can be considered as a discrete counterpart of Haar functions on the interval [0; 1] derived by sampling these functions at 2n points, or as n a set of functions in C(C2 ) dened in such a way as to share or resemble properties of the Haar functions.

1.4.3

Correlation analysis

The degree of similarity between two signals can be described using correlation coecients, which should logically take the values +1 for two identical signals, zero for two signals that have no relationship to each other, and -1 for signals in opposition to each other. Autocorrelation is a useful concept in spectral methods for analysis and synthesis of networks realizing logic functions. For a given n-variable switching function f , the autocorrelation function Bf is dened as2n 1

Bf ( ) =x=0

f (x)f (x ),

where {0, . . . , 2n 1} is the Hamming distance. The WinerKhintchine theorem states a relationship between the autocorrelation function and Walsh (Fourier) coecients. The autocorrelation function is invariant to the shift operator in terms of which Bf is dened. There are also various results that are useful in spectral techniques, in particular, composition properties of WalshHadamard spectra of switching functions derived as convolutions of the corresponding spectra, properties of correlation matrices and their applications in permutations of switching functions, and cross-correlation and autocorrelation including the Winer Khintchine theorem for switching functions. Example 1.6 One of the eective methods in decision diagram technique, linear transformed decision diagrams, can be formulated in terms of the WienerKhintchine theorem [8] (Chapter 14).

2006 by Taylor & Francis Group, LLC

16

Decision Diagrams Techniques for Micro- and Nanoelectronic Design

1.5

Stochastic models and information theoretic measures

Stochastic, or probabilistic, techniques constitute the theoretical basis for fault-tolerant computing.

This is important for large scale integrated circuits, and especially for computing in nanodimensions. Probabilistic models of switching networks can be related to decision diagrams, as shown in Chapter 20.

1.5.1

Stochastic models and probability

A stochastic process X = {X(t), t T } is a collection of random variables. That is, for each t in the set T , X(t) is a random variable. The parameter t is often interpreted as time. Any realization of X is called a sample path. Statistical inference concerns generalizations based on sample data. It applies to such problems in decision diagram technique as estimation of variable activity (see Further Reading section in Chapter 20). Markov models. Stochastic models for noise-making signals include Markov chain models and stochastic pulse stream models. Advanced models such as the Markov random eld can be deployed toward logic design. Example 1.7 Given a circuit, a Markov random eld is a graph indicating the neighborhood relations of the circuit nodes. This graph is used in probability maximization processes, aimed at characterization of circuit congurations for the best thermal noise reliability (expressed in terms of logic signal errors). Example 1.8 Let the inputs of the OR gate x1 {0, 1} and x2 {0, 1} be mutually independent with probabilities p1 = p(x1 ) and p2 = p(x2 ) correspondingly (Figure b). The output probability can be evaluated as the probability of at least one event x1 and x2 , i.e., p = 1 (1 p1 )(1 p2 ) = p1 + p2 p1 p2 . Since the input signals are independent, then p1 p2 = 0, and, thus, the OR gate with deterministic input and output signals can be considered as an adder of probabilities p1 and p2 : p = p1 + p 2 .

2006 by Taylor & Francis Group, LLC

Introduction

17

p(x)x1 x2(a)

f

p(x1) p(x2)(b)

p( f )

p(1)(c)

p(0)

FIGURE 1.3 Deterministic input signals (a), random input signals (b), and probabilistic interpretation of the node of a decision diagram (Example 1.8).

These methods are used for probabilistic computing and probabilistic decision diagram design (see Chapter 20). Probabilities of variables calculated on decision trees and diagrams are used to estimate power dissipation (Chapter 21).

1.5.2

Information theoretical measures of logic functions and decision trees

A circuit can be seen as a process of communication between circuit components (gates). The source of information is dened in terms of the probability distribution for signals from this source.

Entropy is a measure of the information content of logic functions that can be computed using decision diagrams.

In this strategy, commonly used (near) minimization of the expected testing cost, the problem is viewed as one of rening an initial uncertainty about the functions value in a certitude. At each step, the test of a variable diminishes the universe of possibilities, thereby removing a certain amount of ambiguity. In terms of information theory, the initial ambiguity of a function is expressed by the entropy of the function. The ambiguity remaining after testing a variable can be computed as the average ambiguity among the restrictions. Details of entropy computations using decision trees are considered in Chapter 24.

2006 by Taylor & Francis Group, LLC

18

Decision Diagrams Techniques for Micro- and Nanoelectronic Design

1.6

CAD of micro- and nanoelectronic circuits

VLSI design. CAD tools provide ecient synthesis and optimization techniques at every step of microelectronic circuit design. Synthesis is aimed at the generation of models of a circuit. These models are created for the following levels of abstraction: Architectural, or high level, Logic level, and Physical design level. Some of the CAD tools for microelectronics based on decision diagram are referred to in Part 2. As for nanoelectronic design, the CAD tools, especially those based on decision diagram techniques, are still in their infancy. The reason for this is a current gap between the possibilities that nanoelectronic and molecular technology oer, and the design methodology developed in this area. Some technological aspects and problems are mentioned below. Nanoelectronics and nanotechnologies include, in particular, the following directions: Solid-state nanoelectronics Molecular electronics, and Bioelectronics. Logic design of nanodevices is being developed in two directions: Using advanced logic design techniques and methods from other disciplines, in particular, fault-tolerant computing. Development of a new theory and technique for logic design in spatial dimensions. The rst direction adapts architectural approaches such as array-based logic, parallel and distributed architectures, methods from fault-tolerant computing and adaptive structures such as neural networks. The design of nanostructure topologies based on decision diagram techniques is considered in Chapter 34. The second direction can be justied, in particular, by nanotechnologies that implement devices on the reversibility principle. This is quite relevant to the design of adiabatic circuits, which is not associated only with nanotechnology. This is where the usefulness of multivalued logic models such as decision diagrams has been shown too (see Chapter 35).

2006 by Taylor & Francis Group, LLC

Introduction

19

1.7

Further reading

Discrete functions. For an overview of the theory of discrete and switching functions, see the book by Davio et al. [4]. References and overview of event-driven analysis are presented in Chapter 9. Decision tables are used to formalize many approaches and to represent data [1, 13, 16]. Multivalued counterpart of decision tables are used to represent multivalued relations (see, for example, [12]). Decision trees and diagrams. Decision trees were introduced rst to represent discrete sets in 1935 by Kurepa [9]. The applications of decision trees include decision table programming [13, 16], databases, pattern recognition [1], taxonomy and identication [6], and analysis of algorithms [17]. A particular case, binary decision trees are used in many areas of data mining and processing. Bin