Architecture Design and Validation Methods
Springer-Verlag Berlin Heidelberg GmbH
Egon Börger (Ed.) Architecture Design and Validation Methods With 175 Figures, Springer
Editor Prof. Dr. Egon Börger Universita di Pisa Dipartimento di Informatica Corso Italia 40 56125 Pisa, Italy boerger@di.unipi.it Library of Congress Cataloging-in-Publication Data Architecture design and validation methods / Egon Börger (ed.) p.cm. Includes bibliographical references. ISBN 354064976x I. Computer architecture. 2. Integrated circuits-very large scale integration Design and construction. I. Börger, E. (Egon), 1946- QA76.9.A73A7182000 004.2'2-dc21 99-056374 ACM Computing Classification (1998): B.1-2, B.6-7 ISBN 978-3-642-62976-1 ISBN 978-3-642-57199-2 (ebook) DOI 10.1007/978-3-642-57199-2 This work is subject to copyright. All rights are reserved, whether tbe whole or part of the material is concemed, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any otber way, and storage in data banks. Duplication of tbis publication or parts thereof is permitted only under the provisions of the German copyright law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under tbe German Copyright Law. Springer-Verlag Berlin Heidelberg 2000 Originally published by Springer-Verlag Berlin Heidelberg in 2000 Softcover reprint of the hardcover 1 st edition 2000 The use of general descriptive names, trademarks, etc. in this publication does not imply, even in tbe absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Cover design: Künkel + Lopka, Heidelberg Typesetting: Camera-ready copy from the autbors using aspringer TEX macro package Printed on acid-free paper SPIN: 10645145 45/3142 GF- 54321 0
Preface This book grew out of material which was taught at the International Summer School on Architecture Design and Validation Methods, held June 23-July 5, 1997, on the Island of Lipari and directed to graduate students and young researchers. Since then the course notes have been completely elaborated and extended and additional chapters have been added so that this book offers a comprehensive presentation of the state of the art which leads the reader to the forefront of the current research in the area. The chapters, each of which was written by a group of eminent specialists in the field, are self-contained and can be read independently of each other. They cover the wide range of theoretical and practical methods which are currently used for the specification, design, validation and verification of hardware/software architectures. Synthesis methods are the subject of the first three chapters. The chapter on Modeling and Synthesis of Behavior, Control and Data Flow focusses on techniques above the register-transfer level. The chapter on Cell-Based Logic Optimizations concentrates on methods that interface logic design with physical design, in particular on techniques for cell-library binding, the back-end of logic synthesis. The chapter on A Design Flow for Performance Planning presents new paradigms for iteration-free synthesis where global wire plans for meeting timing constraints already appear at the conceptual design stage, even before fixing the functionality of the blocks in the plan. Design validation and verification is covered by two complementary approaches. The chapter on Test and Testable Design explains methods for generating test patterns which can already be supported in the design phase, in particular, built-in self-test techniques. The chapter on Machine Assisted Verification presents fully mechanized methods for the verification of combinational circuits at the gate and word level, for equivalence properties of sequential machines and for processor architectures at the instruction-set and algorithmic register-transfer level. High-level design approaches are discussed in the chapter on Models of Computation for System Design, which introduces in particular the novel concept of Co-Design Finite State Machines. The Abstract State Machine technique is applied in the chapter on Modular Design for the Java Virtual Machine Architecture, which provides a method for an on-the-fly verifiable platform-independent design of an instruction-set architecture. We are confident that not only the graduate students and young researchers but also the experts in architecture design will find this book useful. Pisa, January 2000 Egon Borger
Contents Modeling and Synthesis of Behavior, Control and Data Flow.......................................... Raul Camposano, Andrew Seawright, Joseph Buck 1 Introduction........... 1 2 Behavioral Synthesis............... 3 3 High-Level Control................................. 15......... 4 Data Flow.............................. 24......... 5 Conclusion....... 42 References... 42 Cell-based Logic Optimization......................... 49...... Giovanni De Micheli 1 Introduction... 49 2 Problem Formulation and Analysis......................... 49.... 3 Algorithms for Library Binding......................... 52....... 4 Boolean Matching................................ 60......... 5 Generalized Matching...... 78 6 Conclusion....... 83 References................................ 84........ A Design Flow for Performance Planning: New Paradigms for Iteration Free Synthesis.................. 89 Ralph H. J. M. Otten 1 Introduction... 89 2 Flow Components............................................ 92 3 Layout Synthesis................................... 99........ 4 Placement Versus Floorplan Design... 101 5 Global Wires............... 115 6 Wire Planning... 122 7 Gate Sizing... 127 8 Conclusions....... 137 References........ 138 Test and Testable Design....... 141 Hans-Joachim Wunderlich 1 Introduction... 141 2 Defect Analysis and Fault Modeling... 143 3 External Testing............... 155 4 Self-Testable Systems-On-Chip........ 162 References................................... 185
VIII Contents Machine Assisted Verification... 191 Hans Eveking 1 Introduction........... 191 2 Logic Verification... 195 3 Bit-Vector and Word-Level Verification... 207 4 Verification by Fixed-Point Calculations... 211 5 Verification Techniques for Bounded State Sequences... 218 6 Formally Correct Construction of Pipelined Systems... 231 References... 238 Models of Computation for System Design... 243 Luciano Lavagno, Alberto Sangiovanni- Vincentelli, and Ellen M. Sentovich 1 Introduction... 243 2 MOCs: Basic Concepts and the Tagged Signal Model... 248 3 Common Models of Computation... 261 4 Codesign Finite State Machines................................ 276 5 Conclusions... 289 References..................................................... 292 Modular Design for the Java Virtual Machine Architecture... 297 Egon Borger and Wolfram Schulte 1 Introduction... 297 2 The Trustful Virtual Machine... 301 3 The Defensive Virtual Machine... 313 4 The Diligent Virtual Machine.................................. 323 5 The Dynamic Virtual Machine................................. 334 6 Related and Future Work... 344 7 The JVM Abstract State Machine... 346 References... 356
List of Contributors Egon Borger Universita di Pisa Dipartimento di Informatica 56125 Pisa, Italy Joseph Buck Synopsys, Inc. 700 East Middlefield Road Mountain View, CA 94043-4033 Raul Camposano Synopsys, Inc. 700 East Middlefield Road Mountain View, CA 94043-4033 Giovanni De Micheli Computer Systems Laboratory Stanford University Stanford, CA 94305 Hans Eveking Dept. of Electrical and Computer Engineering Darmstadt University of Technology Merckstrasse 25 64283 Darmstadt, Germany Luciano Lavagno Politecnico di Torino Corso Duca degli Abruzzi 24 10129 Torino, Italy Ralph H.J.M. Otten Eindhoven University of Technology Faculty of Electrical Engineering P.O. Box 513 5600 MB Eindhoven The Netherlands Alberto Sangiovanni-Vincentelli University of California Berkeley Berkeley, CA 94720 Wolfram Schulte Microsoft Research Foundations of Software Engineering One Microsoft Way Redmond, WA 98052-6399 Andrew Seawright Synopsys, Inc., 700 East Middlefield Road Mountain View, CA 94043-4033 Ellen M. Sentovich.Cadence Berkeley Laboratories, 2001 Addison Street Berkeley, CA 94704 Hans-Joachim Wunderlich Dept. of Computer Science University of Stuttgart Breitwiesenstrasse 20-22 70565 Stuttgart, Germany