第一章 概论 1
1.1 数字系统计算机辅助设计的主要领域 1
1.2 模拟技术 2
1.3 逻辑综合 4
1.4 测试与诊断 4
1.5 逻辑设计形式验证 5
1.6 工程实现 5
1.7 硬件描述语言 8
1.7.1 硬件描述语言的描述能力 9
1.7.2 硬件描述语言的分类 11
1.7.3 图形硬件描述语言 14
1.7.4 多级硬件描述语言 15
1.8 CAD系统简介 18
参考文献 20
第二章 逻辑综合 21
2.1 引言 21
2.1.1 术语简介 21
2.1.2 布尔函数的立方体表示法 23
2.2 立方运算 25
2.2.1 基本概念 25
2.2.2 相交和包含判断的具体实现 31
2.2.3 锐积运算(SharpProduct) 33
2.2.4 星积运算(Star Product) 38
2.3 多输出函数与单输出函数的阵列变换 41
2.3.1 单输出函数的表示形式 42
2.3.2 阵列合并 43
2.3.3 阵列分离 43
2.4 单输出函数质立方体的计算 44
2.4.1 锐积求质立方体 44
2.4.2 迭代星积求质立方体 44
2.4.3 广义星积求质立方体 45
2.4.4 改进列表法求质立方体 48
2.5 单输出函数的综合 50
2.5.1 选拔法求函数的最小化覆盖 51
2.5.2 收缩算法求无冗余覆盖 54
2.6 多输出函数的综合 55
2.6.1 收缩算法求无冗余覆盖 55
2.6.2 选拔法求最小化覆盖 59
2.7 组合逻辑电路的变换 60
2.7.1 多级逻辑电路转化为二级逻辑电路 60
2.7.2 二级逻辑电路转化为多级逻辑电路 63
2.8 时序逻辑电路综合简介 73
2.9 实现锐积运算的程序实例 76
参考文献 80
第三章 并发语言和行为描述 81
3.1 行为描述 81
3.2 CE语言简介 82
3.2.1 模块 83
3.2.2 进程和管程 84
3.2.3 进程之间的通讯 85
3.2.4 延迟时间的描述 89
3.2.5 函数empty 90
3.2.6 变量的绝对地址 91
3.3 模拟实例 91
3.3.1 表决器 92
3.3.2 容错策略简介 96
3.4 VHDL中行为描述的特点 97
3.3.3 行为描述和模拟 97
3.4.1 进程 98
3.4.2 顺序执行语句 99
3.4.3 决断信号与决断函数 100
3.4.4 并行执行语句 100
3.4.5 实例分析 101
参考文献 103
第四章 寄存器传输级描述和模拟 104
4.1 引言 104
4.2 AHPL语言简介 104
4.3.1 数据类型 106
4.3.2 运算符 106
4.3 AHPL的电路描述 106
4.3.3 基本结构及描述 108
4.3.4 AHPL标准函数 113
4.3.5 时序的精细调整 116
4.3.6 编写AHPL描述文件的某些规定 117
4.4 AHPL通讯文件 118
4.5 应用举例 120
小结 128
参考文献 128
5.1 逻辑模拟的目的 129
5.2 逻辑模拟过程 129
第五章 逻辑描述和模拟 129
5.3 逻辑模拟模型 131
5.3.1 元件模型 131
5.3.2 元件的延迟时间 132
5.3.3 模拟信号的状态值 134
5.3.4 逻辑电平的强度 141
5.4 门级和功能块级硬件描述语言GFHL 144
5.4.1 GFHL概述 144
5.4.2 如何定义元件 147
5.4.3 子线路描述 155
5.4.4 逻辑电路网络的描述 161
5.4.5 外部激励信号波形的描述 163
5.4.6 模拟命令 164
5.5 交互式逻辑图输入系统 165
5.5.2 符号库和字符库 166
5.5.1 概述 166
5.5.3 交互逻辑图编辑软件的设计 167
5.6 逻辑模拟算法 168
5.6.1 编译方法和编排级数法 168
5.6.2 表驱动方法 169
5.6.3 提高模拟速度的方法 174
5.6.4 表驱动法的表格结构和调度算法 175
5.6.5 惯性延迟模型的模拟算法 180
5.7 逻辑模拟系统举例 181
5.8.1 开关级模拟的对象与功能 188
5.8 开关级模拟 188
5.8.2 MOSSIM的强度比较算法 189
5.8.3 RS1M的等效阻容网络算法 192
5.8.4 开关级电路的延迟计算 194
5.8.5 门级和开关级的混合模拟处理 195
参考文献 197
第六章 故障诊断 199
6.1 故障诊断的目的和基本方法 199
6.1.1 故障模型 199
6.1.2 测试与测试集 200
6.1.3 压缩测试集的方法 203
6.1.4 故障字典 209
6.1.5 测试过程 210
6.1.6 测试生成问题 211
6.2 组合电路测试生成算法 211
6.2.1 路径敏化法 211
6.2.2 D算法 213
6.2.3 关键路径法 216
6.2.4 路向判决法 221
6.2.5 布尔差分法 222
6.2.6 其它故障模型的诊断 225
6.3 时序电路的测试生成 228
6.3.1 同步时序电路的迭代展开 229
6.3.2 扩展D算法 230
6.3.3 异步时序电路的迭代展开 233
6.4 功能块模型的测试生成 234
6.4.1 功能块模型 235
6.4.2 功能块测试生成举例 236
6.5 故障模拟 240
6.5.1 并行故障模拟 240
6.5.2 演绎故障模拟 241
6.5.3 同时故障模拟 243
6.6 可测试性设计 244
6.6.1 可测试性设计的一般措施 244
6.6.2 设置观察点与控制点 244
6.6.3 组合电路的可测试性电路结构 245
6.6.4 时序电路的扫描方式 248
参考文献 250
第七章 逻辑设计的形式验证 252
7.1 逻辑设计验证的目的和基本方法 252
7.1.1 设计和验证 252
7.1.2 逻辑模拟与验证的关系 252
7.1.3 形式验证的基本方法 253
7.2 基于符号处理的形式推理方法 254
7.2.1 电路的描述 254
7.2.2 公理系 255
7.2.3 FOL定理证明系统 257
7.3.1 时态逻辑简介 260
7.3 基于时态逻辑的验证 260
7.3.2 用时态逻辑描述电路的时序关系 263
7.3.3 利用状态迁移表的验证方法 265
7.4 归纳断言法在逻辑验证中的应用 272
7.4.1 归纳断言法简介 272
7.4.2 一个寄存器传输语言及其公理定义 274
7.4.3 验证实例 277
7.5 提取行为表达式的验证方法 278
7.5.1 硬件描述语言ISPB简介 279
7.5.2 事件、历史序列和行为 280
7.5.3 行为表达式 281
7.5.4 由ISPB程序求行为表达式 283
7.5.5 用行为表达式进行验证 285
附录7.1 Wagner形式推理系统的硬件描述语言BNF范式 286
附录7.2 Wagner形式推理系统的公理式 287
附录7.3 同步计数器验证过程 289
参考文献 293
第八章 设计自动化的几个新技术领域 295
8.1 硬件算法 295
8.1.1 硬件算法的概念 295
8.1.2 硬件算法与逻辑设计 296
8.1.3 硬件算法的分析与评价 301
8.2.1 硅编译器的概念 302
8.2 硅编译器 302
8.2.2 硅编译器的主要技术动向 303
8.2.3 几个硅编译器的例子 304
8.3 CAD专用硬件 312
8.3.1 CAD专用硬件的背景 312
8.3.2 硬件逻辑模拟器 313
8.3.3 硬件开关级模拟器 319
8.4 智能CAD 324
8.4.1 智能CAD出现的背景 324
8.4.2 智能逻辑设计 325
参考文献 331
英汉名词对照表 333