Professional Documents
Culture Documents
Cikuit: Asynchronous Design
Cikuit: Asynchronous Design
Myers
Copyright 2001 by John Wiley & Sons, Inc.
ISBNs: 0-471-41543-X (Hardback); 0-471-22414-6 (Electronic)
Asynchronous
Cikuit Design
Chris J. Myers
A Wilcplnterscience Publication
JOHN WILEY 8z SONS, INC.
New York / Chichester / Weinheim / Brisbane / Singapore / Toronto
Copyright 2001 by John Wiley and Sons, Inc., New York. All rights
reserved.
ISBN 0-471-22414-6.
For more information about Wiley products, visit our web site at
www.Wiley.com.
To Ching and John
Asynchronous Circuit Design. Chris J. Myers
Copyright 2001 by John Wiley & Sons, Inc.
ISBNs: 0-471-41543-X (Hardback); 0-471-22414-6 (Electronic)
Contents
Preface xiii
Acknowledgments xvii
I Introduction 1
I. 1 Problem Specification 1
1.2 Communication Channels 2
1.3 Communication Protocols 4
1 .,J Graphical Representations 8
1.5 Delay-Insensitive Circuits 10
1.6 Hujjfman Circuits 13
I. 7 Muller Circuits 16
1.8 Timed Circuits 17
1.9 Verification 20
1.10 Applications 20
1.11 Let’s Get Started 21
1.12 Sources 21
Problems 22
2 Communication Channels 23
2.1 Basic Structure 24
...
VIII CONTENTS
3 Communication Protocols 57
3.1 Basic Structure 57
3.2 Active and Passive Ports 61
3.3 Handshaking Expansion 61
3.4 Reshufling 65
3.5 State Variable Insertion 66
3.6 Data Encoding 67
3.7 Example: Two Wine Shops 71
3.8 Syntax-Directed Translation 73
3.9 Sources 80
Problems 82
4 Graphical Representations 85
4.1 Graph Basics 85
4.2 Asynchronous Finite State Machines 88
42.1 Finite State Machines and Flow Tables 88
42.2 Burst-Mode State Machines 91
4.2.3 Extended Burst-Mode State Machines 93
4.3 Petri Nets 100
43.1 Ordinary Petri Nets 100
4.3.2 Signal Transition Graphs 111
,J .d Timed Event/Level Structures 116
4.5 Sources 120
Problems 121
CONTENTS ix
8 Verification 295
8.1 Protocol Verification 296
8.1.1 Linear- Time Temporal Logic 296
8.1.2 Time- Quantified Requirements 300
8.2 Circuit Verification 303
8.2.1 Trace Structures 303
CONTENTS xi
9 Applications 321
9.1 Brief History of Asynchronous Circuit Design 322
9.2 An Asynchronous Instruction-Length Decoder 325
9.3 Performance Analysis 329
94 Testing Asynchronous Circuits 330
9: 5 The Synchronization Problem 332
9.5.1 Probability of Synchronixation Failure 334
9.5.2 Reducing the Probability of Failure 335
9.5.3 Eliminating the Probability of Failure 336
95.4 Arbitration 340
9.6 The Future of Asynchronous Circuit Design 341
9.7 Sources 342
Problems 346
References 365
Index 393
Preface
...
XIII
xiv PREFACE
Despite all these potential advantages, asynchronous design has seen lim-
ited usage to date. Although there are many reasons for this, perhaps the
most serious is a lack of designers with experience in asynchronous design.
This textbook is a direct attempt at addressing this problem by providing a
means for graduate or even undergraduate courses to be created that teach
modern asynchronous design methods. I have used it in a course which
includes both undergraduates and graduates. Lectures and other material
used in this and future courses will be made available on our Web site:
http : //www . async. elen. Utah. edu/book/. This book may also be used for
self-study by engineers who would like to learn about modern asynchronous
PREFACE xv
design methods. Each chapter includes numerous problems for the student to
try out his or her new skills.
The history of asynchronous design is quite long. Asynchronous design
methods date back to the 1950s and to two people in particular: Huffman
and Muller. Every asynchronous design methodology owes its roots to one of
these two men. Huffman developed a design methodology for what is known
today as fundamental-mode circuits [1701. Muller developed the theoretical
underpinnings of speed-independent circuits [279]. Unger is a member of the
“Huffman School,” so his textbook focused primarily on fundamental-mode
circuit design with only a brief treatment of Muller circuits. Although I am a
student of the “Muller School,” in this book we present both design methods
with the hope that members of both schools will grow to understand each
other better, perhaps even realizing that the differences are not that great.
Since the early days, asynchronous circuits have been used in many in-
teresting applications. In the 1950s and 1960s at the University of Illinois,
Muller and his colleagues used speed-independent circuits in the design of
the ILLIAC and ILLIAC II computers [46]. In the early days, asynchronous
design was also used in the MU-5 and Atlas mainframe computers. In the
1970s at Washington University in St. Louis, asynchronous macromodules
were developed [87]. These modules could be plugged together to create nu-
merous special-purpose computing engines. Also in the 1970s asynchronous
techniques were used at the University of Utah in the design of the first oper-
ational dataflow computer [102, 1031 and at Evans and Sutherland in design
of the first commercial graphics system.
Due to the advantages cited above, there has been a resurgence of inter-
est in asynchronous design. There have been several recent successful de-
sign projects. In 1989, researchers at Caltech designed the first fully asyn-
chronous microprocessor [251, 257, 2581. Since that time, numerous other
researchers have produced asynchronous microprocessors of increasing com-
plexity [lo, 13, 76, 134, 135, 138, 191, 259, 288, 291, 324, 379, 4061. Commer-
cially, asynchronous circuits have had some recent success. Myranet uses asyn-
chronous circuits coupled with pipeline synchronization [348] in their router
design. Philips has designed numerous asynchronous designs targeting low
power [38, 136, 192, 1931. Perhaps the most notable accomplishment to come
out of this group is an asynchronous 8OC51 microcontroller, which is now used
in a fully asynchronous pager being sold by Philips. Finally, the RAPPID
project at Intel demonstrated that a fully asynchronous instruction-length
decoder for the x86 instruction set could achieve a threefold improvement
in speed and a twofold improvement in power compared with the existing
synchronous design [141, 142, 143, 144, 330, 3671.
In the time of Unger’s text, there were perhaps only a handful of pub-
lications each year on asynchronous design. As shown in Figure 0.1, this
rate of publication continued until about 1985, when there was a resurgence
of interest in asynchronous circuit design [309]. Since 1985, the publication
rate has grown to well over 100 technical publications per year. Therefore,
xvi PREFACE
170
160
L.
150
140
130
4
120
iii 110
E 4
g 100
2 90
5
b 80 ! 1
e 70
ii 60
50
40
El
30
20
10
0
1960 1970 1980 1990 2000
Year of publication
although Unger did a superb job of surveying the field, this author has his
work cut out for him. In the sources section at the end of each chapter, the
interested reader is pointed to an extensive bibliography (over 400 entries)
to probe deeper. Although an attempt has been made to give a flavor of the
major design methodologies being developed and used, it is impossible even to
reference every paper published on asynchronous design, as the number of en-
tries in the asynchronous bibliography [309] now exceeds 1400. The interested
reader should consult this bibliography and the proceedings from the recent
symposiums on asynchronous circuits and systems [14, 15, 16, 17, 18, 19, 201.
The book is organized as follows. In Chapter 1 we introduce the asyn-
chronous design problem through a small example illustrating the differences
among the various timing models used. In Chapter 2 we introduce the con-
cept of asynchronous communication and describe a methodology for spec-
ifying asynchronous designs using VHDL. In Chapter 3 we discuss various
asynchronous protocols. In Chapter 4 we introduce graphical representations
that are used for asynchronous design. In Chapter 5 we discuss Huffrnan cir-
cuits and in Chapter 6 we describe Muller circuits. In Chapter 7 we develop
techniques for timing analysis and optimization which can lead to significant
improvements in circuit quality. In Chapter 8 we introduce methods for the
analysis and verification of asynchronous circuits. Finally, in Chapter 9 we
give a brief discussion of issues in asynchronous application.
CHRIS J. MYERS
Salt Lake City, Utah
Acknowledgments
C.J.M.
xvii
Asynchronous
Circuit Design