This book was compiled to address a perceived need for an introductory text on asynchronous design. There are several highly technical books on aspects of the subject, but no obvious starting point for a designer who wishes to become acquainted for the first time with asynchronous technology. We hope this book will serve as that starting point. | PRINCIPLES OF ASYNCHRONOUS CIRCUIT DESIGN – A Systems Perspective Edited by JENS SPARSØ Technical University of Denmark STEVE FURBER The University of Manchester, UK Kluwer Academic Publishers Boston/Dordrecht/London Contents Preface xi Part I Asynchronous circuit design – A tutorial Author: Jens Sparsø 1 Introduction 3 Why consider asynchronous circuits? 3 Aims and background 4 Clocking versus handshaking 5 Outline of Part I 8 2 Fundamentals 9 Handshake protocols 9 Bundled-data protocols 9 The 4-phase dual-rail protocol 11 The 2-phase dual-rail protocol 13 Other protocols 13 The Muller C-element and the indication principle 14 The Muller pipeline 16 Circuit implementation styles 17 4-phase bundled-data 18 2-phase bundled data (Micropipelines) 19 4-phase dual-rail 20 Theory 23 The basics of speed-independence 23 Classification of asynchronous circuits 25 Isochronic forks 26 Relation to circuits 26 Test 27 Summary 28 3 Static data-flow structures 29 Introduction 29 Pipelines and rings 30 v vi PRINCIPLES OF ASYNCHRONOUS CIRCUIT DESIGN Building blocks 31 A simple example 33 Simple applications of rings 35 Sequential circuits 35 Iterative computations 35 FOR, IF, and WHILE constructs 36 A more complex example: GCD 38 Pointers to additional examples 39 A low-power filter bank 39 An asynchronous microprocessor 39 A fine-grain pipelined vector multiplier 40 Summary 40 4 Performance 41 Introduction 41 A qualitative view of performance 42 Example 1: A FIFO used as a shift register 42 Example 2: A shift register with parallel load 44 Quantifying performance 47 Latency, throughput and wavelength 47 Cycle time of a ring 49 Example 3: Performance of a 3-stage ring 51 Final remarks 52 Dependency graph analysis 52 Example 4: Dependency graph for a .