第一部分 异步电路设计教程第1章 引言 2
1.1 为什么要考虑异步电路 2
1.2 目的与背景 3
1.3 时钟与握手 4
1.4 第一部分概要 6
第2章 基础 7
2.1 握手协议 7
2.2 Muller C单元和指示原理 11
2.3 Muller流水线 12
2.4 电路实现方式 14
2.5 理论 19
2.6 测试 22
2.7 小结 23
第3章 静态数据流结构 24
3.1 引言 24
3.2 流水线和环路 25
3.3 构造块 25
3.4 一个简单的例子 27
3.5 环路的简单应用 29
3.6 FOR,IF和WHILE结构 30
3.7 更复杂的例子:最大公约数电路 32
3.8 补充例子 32
3.9 小结 33
第4章 性能 34
4.1 引言 34
4.2 电路性能的定性分析 35
4.3 性能的定量分析 39
4.4 相关图分析法 43
4.5 小结 47
第5章 握手电路实现 48
5.1 锁存器 48
5.2 分支、汇合与并入 48
5.3 功能块——基础 50
5.4 捆绑数据功能块 55
5.5 双轨功能块 56
5.6 混合功能块 61
5.7 多路选择器和多路分配器 63
5.8 互斥、仲裁和亚稳定性 65
5.9 小结 68
第6章 速度无关控制电路 69
6.1 引言 69
6.2 信号转换图 73
6.3 基本综合过程 77
6.4 采用状态保持元件实现 81
6.5 初始化 85
6.6 综合过程概述 86
6.7 Petrify:从STG综合SI电路的工具 86
6.8 用Petrify设计的实例 87
6.9 小结 97
第7章 高级4相捆绑数据协议和电路 98
7.1 通道和协议 98
7.2 静态类型检查 100
7.3 更高级的锁存器控制电路 101
7.4 小结 104
第8章 高级语言和工具 105
8.1 引言 105
8.2 CSP中的并发和信息传送 106
8.3 Tangram:程序实例 107
8.4 Tangram:面向语法编译 109
8.5 Martin的转换过程 113
8.6 使用VHDL进行异步设计 114
8.7 小结 124
附录A VHDL通道包 125
A.1 抽象通道包 125
A.2 实际通道包 128
第二部分 Balsa——异步硬件综合系统第9章 Balsa入门 134
9.1 概述 134
9.2 基本概念 135
9.3 工具集和设计流程 137
9.4 开始设计 138
9.5 Balsa辅助工具 143
第10章 Balsa语言 149
10.1 数据类型 149
10.2 数据类型相关问题 152
10.3 控制流和指令 153
10.4 二进制/单目运算符 156
10.5 程序结构 157
10.6 电路实例 158
10.7 通道选择 165
第11章 建立库元件 167
11.1 参数化描述 167
11.2 递归定义 169
第12章 一个简单的DMA控制器 180
12.1 全局寄存器 181
12.2 通道寄存器 181
12.3 DMA控制器结构 182
12.4 Balsa描述 184
第三部分 大规模异步电路设计第13章 DESCALE:应用于低功耗智能卡设计实验 194
13.1 引言 194
13.2 VLSI中异步电路的程序设计 195
13.3 异步电路的机遇 202
13.4 非接触式智能卡 202
13.5 数字电路 205
13.6 结果 211
13.7 测试 213
13.8 电源 214
13.9 小结 215
第14章 异步维特比(Viterbi)解码器 216
14.1 引言 216
14.2 Viterbi解码器 217
14.3 系统参数 219
14.4 系统概述 220
14.5 路径度量单元(PMU) 221
14.6 历史单元 227
14.7 结果和设计评估 232
14.8 小结 234
第15章 处理器 235
15.1 Amulet微处理器简介 235
15.2 其他几种异步微处理器 238
15.3 处理器作为设计实例的缘由 239
15.4 处理器实现技术 240
15.5 存储器——实例研究 258
15.6 大型异步系统 266
15.7 小结 269
参考文献 272
索引 285