Architecture Design and Validation Methods

Similar documents
Modeling Manufacturing Systems. From Aggregate Planning to Real-Time Control

MATLAB Guide to Finite Elements

Design for Innovative Value Towards a Sustainable Society

ANALOG CIRCUITS AND SIGNAL PROCESSING

Application of Evolutionary Algorithms for Multi-objective Optimization in VLSI and Embedded Systems

U. Lindemann (Ed.) Human Behaviour in Design

Cognitive Systems Monographs

StraBer Wahl Graphics and Robotics

Advances in Modern Tourism Research

Springer Series on. Signals and Communication Technology

Data Assimilation: Tools for Modelling the Ocean in a Global Change Perspective

Advances in Computer Vision and Pattern Recognition

Matthias Pilz Susanne Berger Roy Canning (Eds.) Fit for Business. Pre-Vocational Education in European Schools RESEARCH

Risk-Based Ship Design

Future-Oriented Technology Analysis

Applied Technology and Innovation Management

Lecture Notes in Artificial Intelligence. Lecture Notes in Computer Science

Health Information Technology Standards. Series Editor: Tim Benson

ZEW Economic Studies. Publication Series of the Centre for European Economic Research (ZEW), Mannheim, Germany

Lecture Notes in Applied and Computational Mechanics

ICT for the Next Five Billion People

Studies in Economic Ethics and Philosophy

Acoustic Emission Testing

Broadband Networks, Smart Grids and Climate Change

Lindenmayer Systems. G. Rozenberg A. Salomaa (Eds.) Impacts on Theoretical Computer Science, Computer Graphics, and Developmental Biology

Handbook of Engineering Acoustics

B.I. Dundas M. Levine P.A. Østvær O. Röndigs. Motivic Homotopy Theory. Lectures at a Summer School in Nordfjordeid, Norway, August 2002 ABC

Computer-Aided Production Management

Communications in Computer and Information Science 85

Lecture Notes in Computer Science 2500 Edited by G. Goos, J. Hartmanis, and J. van Leeuwen

Lecture Notes in Computer Science Edited by G. Goos, J. Hartmanis and J. van Leeuwen

Founding Editor Martin Campbell-Kelly, University of Warwick, Coventry, UK

Simulation by Bondgraphs

SpringerBriefs in Space Development

Advances in Behavioral Economics

Requirements Engineering for Digital Health

Lecture Notes in Computational Science and Engineering 68

Introduction to Computational Optimization Models for Production Planning in a Supply Chain

Technology Roadmapping for Strategy and Innovation

Faster than Nyquist Signaling

Studies in Empirical Economics

SpringerBriefs in Space Development

Advances in Metaheuristic Algorithms for Optimal Design of Structures

Dry Etching Technology for Semiconductors. Translation supervised by Kazuo Nojiri Translation by Yuki Ikezi

TECHNOLOGY, INNOVATION, and POLICY 3. Series of the Fraunhofer Institute for Systems and Innovation Research (lsi)

@'1? CAD. ~ Office. Integration

Scientific Data Mining and Knowledge Discovery

Hierarchy Process. The Analytic. Bruce L. Golden Edward A. Wasil Patrick T. Harker (Eds.) Applications and Studies

Dao Companion to the Analects

Pierre-Yves Henin (Ed.) Advances in Business Cycle Research

Advanced Electronic Circuits

2 Forensic Science Progress

COOP 2016: Proceedings of the 12th International Conference on the Design of Cooperative Systems, May 2016, Trento, Italy

CMOS Test and Evaluation

3 Forensic Science Progress

Introduction to Fuzzy Logic using MATLAB

Foundations in Signal Processing, Communications and Networking

Enabling Manufacturing Competitiveness and Economic Sustainability

Studies in Systems, Decision and Control

Lecture Notes in Computer Science

Sustainable Development

Lecture Notes in Computer Science 2599 Edited by G. Goos, J. Hartmanis, and J. van Leeuwen

Lecture Notes in Computer Science

Sergey Ablameyko and Tony Pridmore. Machine Interpretation of Line Drawing Images. Technical Drawings, Maps and Diagrams.

Lecture Notes in Control and Information Sciences 283. Editors: M. Thoma M. Morari

The Test and Launch Control Technology for Launch Vehicles

Lecture Notes in Economics and Mathematical Systems

Lecture Notes in Computer Science

Lecture Notes in Computer Science

Innovation Policy in a Knowledge-Based Economy

Better Business Regulation in a Risk Society

Explaining Technical Change in a Small Country. The Finnish National Innovation System

EDA for IC System Design, Verification, and Testing

K-Best Decoders for 5G+ Wireless Communication

Computational Social Sciences

SpringerBriefs in Electrical and Computer Engineering

Design of Logic Systems

Dynamics of Fibre Formation and Processing

Advances in Real-Time Systems

SpringerBriefs in Astronomy

Testing Safety-Related Software

Robust Hand Gesture Recognition for Robotic Hand Control

Socio-technical Design of Ubiquitous Computing Systems

Lecture Notes in Control and Information Sciences 233. Editor: M. Thoma

Palgrave Studies in Comics and Graphic Novels. Series Editor Roger Sabin University of the Arts London London, United Kingdom

Applied Computing. Springer-Verlag London Ltd.

Surface Mining Machines

Offshore Energy Structures

Lecture Notes in Control and Information Sciences

S.P. Vingron Switching Theory

Computational Intelligence for Network Structure Analytics

Sami Beydeda Volker Gruhn (Eds.) Testing Commercial-off-the-Shelf Components and Systems

Knowledge-Based Vision-Guided Robots

Lecture Notes in Computer Science. Edited by G. Goos, J. Hartmanis and J. van Leeuwen

The Cultural and Social Foundations of Education. Series Editor A.G. Rud College of Education Washington State University USA

ANALOG CMOS FILTERS FOR VERY HIGH FREQUENCIES

SpringerBriefs in Computer Science

Advanced Information and Knowledge Processing

Patterns, Programming and Everything

Springer Optimization and Its Applications

Transcription:

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