第1章 概述 1
1.1 同步电路和异步电路的特点 1
1.1.1 同步电路的问题 1
1.1.2 异步电路的优势与问题 2
1.2 时钟和握手[1] 4
1.3 异步电路设计的发展概况 6
1.4 章节介绍 7
第2章 异步电路分类和C单元 8
2.1 握手协议 8
2.1.1 四相位握手协议 8
2.1.2 两相位握手协议 8
2.2 数据编码方式[10] 9
2.2.1 单轨编码 9
2.2.2 双轨编码 9
2.2.3 1/4编码 10
2.3 延迟模型 10
2.3.1 速度无关电路 11
2.3.2 延迟不敏感电路 11
2.3.3 准延迟不敏感电路 11
2.4 C单元 12
2.5 Muller流水线[1] 13
2.6 电路实现风格[1] 14
2.6.1 捆绑数据协议 15
2.6.2 两相位握手协议 15
2.6.3 四相位捆绑数据 16
2.6.4 两相位捆绑数据(微流水线) 17
2.6.5 四相位双轨流水线 18
2.7 总结 19
第3章 静态数据流结构 20
3.1 概述[1] 20
3.2 基本单元 21
3.3 基本单元应用 23
3.3.1 异步电路令牌流[1] 23
3.3.2 时序电路[1] 23
3.4 FOR、IF和WHILE结构[1] 25
3.5 最大公约数计算电路 26
3.6 其他电路设计介绍[1] 27
3.6.1 低功耗滤波器组 27
3.6.2 异步微处理器 27
3.7 总结 28
第4章 异步流水线性能 29
4.1 引言 29
4.2 性能参数及分析 30
4.2.1 延迟、吞吐量和波长 30
4.2.2 FIFO性能分析 32
4.2.3 一个3级环的性能分析 34
4.2.4 小结 35
4.3 流水线的依赖图分析[1] 35
4.4 总结 37
第5章 异步电路实现 38
5.1 简介 38
5.2 基本单元结构 38
5.2.1 锁存器 38
5.2.2 流控制单元 39
5.2.3 功能模块[1] 43
5.3 捆绑数据协议的功能模块 45
5.4 双轨功能模块 46
5.4.1 延迟不敏感的最小项综合 46
5.4.2 非传统逻辑 47
5.4.3 加法器的CMOS晶体管实现 48
5.4.4 Martin的加法器 48
5.5 多协议功能模块 50
5.6 总结 51
第6章 国内外研究成果 52
6.1 概述 52
6.2 异步处理器 52
6.2.1 异步处理器的发展[60] 52
6.2.2 异步开放代码DLX处理器(ASPIDA)[61] 55
6.2.3 异步FPGA处理器[99] 56
6.3 异步数字信号处理(DSP)电路[65] 58
6.4 异步通信电路 60
6.5 其他应用 61
6.6 异步电路设计研究现状 61
6.6.1 面向语法的行为级综合[73] 61
6.6.2 基于SystemC的结构综合[83] 64
6.6.3 异步组合电路网表优化[84] 66
6.6.4 在亚阈值电路中采用异步电路设计技术[87] 69
6.6.5 深亚微米CMOS电路的高容错异步电路设计[88] 73
6.6.6 异步电路FPGA设计技术[101] 81
6.7 小结 84
第7章 异步电路设计举例 85
7.1 概述 85
7.2 计数器 86
7.2.1 同步计数器 86
7.2.2 行波计数器 86
7.2.3 异步电路实现的计数器 87
7.2.4 更高阶的异步电路计数器——脉动计数器 93
7.3 CRC模块 96
7.3.1 CRC多项式 96
7.3.2 同步电路实现CRC编码 96
7.3.3 异步电路实现 97
7.4 基带模块 98
7.4.1 功能描述 98
7.4.2 同步电路实现方案 99
7.4.3 异步电路实现方案 101
7.5 其他例子 105
7.5.1 总数计数器(population counter)[1] 105
7.5.2 Balsa移位器[1] 107
7.5.3 判决器树[1] 109
7.5.4 简单的DMA控制器[1] 111
第8章 Balsa语言介绍 122
8.1 概述 122
8.1.1 基础概念 123
8.1.2 工具集和设计流程 125
8.2 Balsa语言的使用 126
8.2.1 单级缓冲器 126
8.2.2 双级缓冲器 128
8.2.3 并行设计和模块复用 129
8.2.4 多重结构设计 130
8.3 Balsa的附属工具 131
8.3.1 生成Makefile 131
8.3.2 面积估算 132
8.3.3 查看握手电路的示意图 132
8.3.4 仿真 132
8.4 Balsa语言 135
8.4.1 数据类型 135
8.4.2 关于数据类型的说明 137
8.4.3 控制流程和相关命令 139
8.4.4 二元运算符和单目运算符 142
8.4.5 程序结构 142
8.4.6 通道选择 143
8.5 建立元件库 144
8.5.1 参数化描述 144
8.5.2 递归定义:一个n路复用器 145
参考文献 148