资料介绍
Preface xi
Part I Asynchronous circuit design – A tutorial
Author: Jens Sparsø
1
Introduction 3
1.1 Why consider asynchronous circuits? 3
1.2 Aims and background 4
1.3 Clocking versus handshaking 5
1.4 Outline of Part I 8
2
Fundamentals 9
2.1 Handshake protocols 9
2.1.1 Bundled-data protocols 9
2.1.2 The 4-phase dual-rail protocol 11
2.1.3 The 2-phase dual-rail protocol 13
2.1.4 Other protocols 13
2.2 The Muller C-element and the indication principle 14
2.3 The Muller pipeline 16
2.4 Circuit implementation styles 17
2.4.1 4-phase bundled-data 18
2.4.2 2-phase bundled data (Micropipelines) 19
2.4.3 4-phase dual-rail 20
2.5 Theory 23
2.5.1 The basics of speed-independence 23
2.5.2 Classification of asynchronous circuits 25
2.5.3 Isochronic forks 26
2.5.4 Relation to circuits 26
2.6 Test 27
2.7 Summary 28
3
Static data-flow structures 29
3.1 Introduction 29
3.2 Pipelines and rings 30
v
vi PRINCIPLES OF ASYNCHRONOUS CIRCUIT DESIGN
3.3 Building blocks 31
3.4 A simple example 33
3.5 Simple applications of rings 35
3.5.1 Sequential circuits 35
3.5.2 Iterative computations 35
3.6 FOR, IF, and WHILE constructs 36
3.7 A more complex example: GCD 38
3.8 Pointers to additional examples 39
3.8.1 A low-power filter bank 39
3.8.2 An asynchronous microprocessor 39
3.8.3 A fine-grain pipelined vector multiplier 40
3.9 Summary 40
4
Performance 41
4.1 Introduction 41
4.2 A qualitative view of performance 42
4.2.1 Example 1: A FIFO used as a shift register 42
4.2.2 Example 2: A shift register with parallel load 44
4.3 Quantifying performance 47
4.3.1 Latency, throughput and wavelength 47
4.3.2 Cycle time of a ring 49
4.3.3 Example 3: Performance of a 3-stage ring 51
4.3.4 Final remarks 52
4.4 Dependency graph analysis 52
4.4.1 Example 4: Dependency graph for a pipeline 52
4.4.2 Example 5: Dependency graph for a 3-stage ring 54
4.5 Summary 56
5
Handshake circuit implementations 57
5.1 The latch 57
5.2 Fork, join, and merge 58
5.3 Function blocks – The basics 60
5.3.1 Introduction 60
5.3.2 Transparency to handshaking 61
5.3.3 Review of ripple-carry addition 64
5.4 Bundled-data function blocks 65
5.4.1 Using matched delays 65
5.4.2 Delay selection 66
5.5 Dual-rail function blocks 67
5.5.1 Delay insensitive minterm synthesis (DIMS) 67
5.5.2 Null Convention Logic 69
5.5.3 Transistor-level CMOS implementations 70
5.5.4 Martin’s adder 71
5.6 Hybrid function blocks 73
5.7 MUX and DEMUX 75
5.8 Mutual exclusion, arbitration and metastability 77
5.8.1 Mutual exclusion 77
5.8.2 Arbitration 79
5.8.3 Probability of metastability 79
Contents vii
5.9 Summary 80
6
Speed-independent control circuits 81
6.1 Introduction 81
6.1.1 Asynchronous sequential circuits 81
6.1.2 Hazards 82
6.1.3 Delay models 83
6.1.4 Fundamental mode and input-output mode 83
6.1.5 Synthesis of fundamental mode circuits 84
6.2 Signal transition graphs 86
6.2.1 Petri nets and STGs 86
6.2.2 Some frequently used STG fragments 88
6.3 The basic synthesis procedure 91
6.3.1 Example 1: a C-element 92
6.3.2 Example 2: a circuit with choice 92
6.3.3 Example 2: Hazards in the simple gate implementation 94
6.4 Implementations using state-holding gates 96
6.4.1 Introduction 96
6.4.2 Excitation regions and quiescent regions 97
6.4.3 Example 2: Using state-holding elements 98
6.4.4 The monotonic cover constraint 98
6.4.5 Circuit topologies using state-holding elements 99
6.5 Initialization 101
6.6 Summary of the synthesis process 101
6.7 Petrify: A tool for synthesizing SI circuits from STGs 102
6.8 Design examples using Petrify 104
6.8.1 Example 2 revisited 104
6.8.2 Control circuit for a 4-phase bundled-data latch 106
6.8.3 Control circuit for a 4-phase bundled-data MUX 109
6.9 Summary 113
7
Advanced 4-phase bundled-data
protocols and circuits
115
7.1 Channels and protocols 115
7.1.1 Channel types 115
7.1.2 Data-validity schemes 116
7.1.3 Discussion 116
7.2 Static type checking 118
7.3 More advanced latch control circuits 119
7.4 Summary 121
8
High-level languages and tools 123
8.1 Introduction 123
8.2 Concurrency and message passing in CSP 124
8.3 Tangram: program examples 126
8.3.1 A 2-place shift register 126
8.3.2 A 2-place (ripple) FIFO 126
viii PRINCIPLES OF ASYNCHRONOUS CIRCUIT DESIGN
8.3.3 GCD using while and if statements 127
8.3.4 GCD using guarded commands 128
8.4 Tangram: syntax-directed compilation 128
8.4.1 The 2-place shift register 129
8.4.2 The 2-place FIFO 130
8.4.3 GCD using guarded repetition 131
8.5 Martin’s translation process 133
8.6 Using VHDL for asynchronous design 134
8.6.1 Introduction 134
8.6.2 VHDL versus CSP-type languages 135
8.6.3 Channel communication and design flow 136
8.6.4 The abstract channel package 138
8.6.5 The real channel package 142
8.6.6 Partitioning into control and data 144
8.7 Summary 146
Appendix: The VHDL channel packages 148
A.1 The abstract channel package 148
A.2 The real channel package 150
Part II Balsa - An Asynchronous Hardware Synthesis System
Author: Doug Edwards, Andrew Bardsley
9
An introduction to Balsa 155
9.1 Overview 155
9.2 Basic concepts 156
9.3 Tool set and design flow 159
9.4 Getting started 159
9.4.1 A single-place buffer 161
9.4.2 Two-place buffers 163
9.4.3 Parallel composition and module reuse 164
9.4.4 Placing multiple structures 165
9.5 Ancillary Balsa tools 166
9.5.1 Makefile generation 166
9.5.2 Estimating area cost 167
9.5.3 Viewing the handshake circuit graph 168
9.5.4 Simulation 168
10
The Balsa language 173
10.1 Data types 173
10.2 Data typing issues 176
10.3 Control flow and commands 178
10.4 Binary/unary operators 181
10.5 Program structure 181
10.6 Example circuits 183
10.7 Selecting channels 190
Contents ix
11
Building library components 193
11.1 Parameterised descriptions 193
11.1.1 A variable width buffer definition 193
11.1.2 Pipelines of variable width and depth 194
11.2 Recursive definitions 195
11.2.1 An n-way multiplexer 195
11.2.2 A population counter 197
11.2.3 A Balsa shifter 200
11.2.4 An arbiter tree 202
12
A simple DMA controller 205
12.1 Global registers 205
12.2 Channel registers 206
12.3 DMA controller structure 207
12.4 The Balsa description 211
12.4.1 Arbiter tree 211
12.4.2 Transfer engine 212
12.4.3 Control unit 213
Part III Large-Scale Asynchronous Designs
13
Descale 221
Joep Kessels & Ad Peeters, Torsten Kramer and Volker Timm
13.1 Introduction 222
13.2 VLSI programming of asynchronous circuits 223
13.2.1 The Tangram toolset 223
13.2.2 Handshake technology 225
13.2.3 GCD algorithm 226
13.3 Opportunities for asynchronous circuits 231
13.4 Contactless smartcards 232
13.5 The digital circuit 235
13.5.1 The 80C51 microcontroller 236
13.5.2 The prefetch unit 239
13.5.3 The DES coprocessor 241
13.6 Results 243
13.7 Test 245
13.8 The power supply unit 246
13.9 Conclusions 247
14
An Asynchronous Viterbi Decoder 249
Linda E. M. Brackenbury
14.1 Introduction 249
14.2 The Viterbi decoder 250
14.2.1 Convolution encoding 250
14.2.2 Decoder principle 251
14.3 System parameters 253
14.4 System overview 254
x PRINCIPLES OF ASYNCHRONOUS CIRCUIT DESIGN
14.5 The Path Metric Unit (PMU) 256
14.5.1 Node pair design in the PMU 256
14.5.2 Branch metrics 259
14.5.3 Slot timing 261
14.5.4 Global winner identification 262
14.6 The History Unit (HU) 264
14.6.1 Principle of operation 264
14.6.2 History Unit backtrace 264
14.6.3 History Unit implementation 267
14.7 Results and design evaluation 269
14.8 Conclusions 271
14.8.1 Acknowledgement 272
14.8.2 Further reading 272
15
Processors 273
Jim D. Garside
15.1 An introduction to the Amulet processors 274
15.1.1 Amulet1 (1994) 274
15.1.2 Amulet2e (1996) 275
15.1.3 Amulet3i (2000) 275
15.2 Some other asynchronous microprocessors 276
15.3 Processors as design examples 278
15.4 Processor implementation techniques 279
15.4.1 Pipelining processors 279
15.4.2 Asynchronous pipeline architectures 281
15.4.3 Determinism and non-determinism 282
15.4.4 Dependencies 288
15.4.5 Exceptions 297
15.5 Memory – a case study 302
15.5.1 Sequential accesses 302
15.5.2 The Amulet3i RAM 303
15.5.3 Cache 307
15.6 Larger asynchronous systems 310
15.6.1 System-on-Chip (DRACO) 310
15.6.2 Interconnection 310
15.6.3 Balsa and the DMA controller 312
15.6.4 Calibrated time delays 313
15.6.5 Production test 314
15.7 Summary 315
Epilogue 317
References 319
Index 333
- 基于BQ40z80的电量计电路设计原则 7次下载
- 单片机硬件电路设计的七个原则分享 14次下载
- 可规划逻辑电路设计与实习报告 5次下载
- 小信号放大电路设计方案汇总 127次下载
- LLC电路设计原理及电路失效分析综述 144次下载
- AC24V接口EMC标准电路设计方案 33次下载
- AC380V EMC标准电路设计方案 49次下载
- AV接口EMC标准电路设计方案 28次下载
- CAN总线接口EMC标准电路设计方案 199次下载
- 基于LM2733升压变换器电路设计 5次下载
- 详解单片机系统硬件电路设计的原则及方法资料下载 6次下载
- 超强电路及电路设计经验技巧大合集 0次下载
- 基于广义系统观测器的电池荷电状态估计_何朕 0次下载
- 抗恶劣环境下的异步串行接口电路设计 17次下载
- 异步电路设计 (Asynchronous Circuit D 109次下载
- 硬件电路设计之晶体与晶振电路设计 530次阅读
- 系统设计的端到端原则 553次阅读
- 异步和同步电路的区别 同步时序设计规则 1w次阅读
- 怎么样使用protel电路设计软件实现高速PCB的设计 2755次阅读
- 基于FPGA器件实现异步FIFO读写系统的设计 1050次阅读
- 电子电路设计原则_电子电路设计方法_电子电路设计步骤 1.8w次阅读
- 单片机硬件电路设计的七个原则分享 1.2w次阅读
- 基于FPGA的异步FIFO设计方法详解 7873次阅读
- 一文汇总PCB电路设计的六大原则 5851次阅读
- 低功率CMOS无线射频芯片设计 2744次阅读
- FPGA电路必须遵循的原则和技巧 663次阅读
- 汽车防盗系统中的模块电路设计—电路精选(19) 6598次阅读
- 异步时钟切换电路 5669次阅读
- FPGA硬件电路的调试必备原则和技巧 4666次阅读
- 基于扫描的电路设计 2122次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1490次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 92次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 10次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7蓝牙设备在嵌入式领域的广泛应用
- 0.63 MB | 3次下载 | 免费
- 89天练会电子电路识图
- 5.91 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论