第1篇 数字逻辑电路设计 2
第1章 数制与编码 2
1.1 进位计数制 2
1.1.1 十进制 2
1.1.2 二进制 3
1.1.3 八进制和十六进制 3
1.2 数制转换 4
1.2.1 十进制和非十进制之间的转换 4
1.2.2 用二进制数表示八进制数和十六进制数 5
1.3 编码 7
1.3.1 二--十进制(BCD)码 7
1.3.2 格雷码 8
1.3.3 字符码 8
第2章 逻辑门 10
2.1 基本逻辑运算及逻辑门 10
2.1.1 “与”逻辑关系及“与”门 10
2.1.2 “或”逻辑关系及“或”门 12
2.1.3 “非”逻辑关系及“非”门 13
2.2 常用的复合逻辑门 14
2.2.1 与非门 14
2.2.2 或非门 14
2.2.3 与或非门 15
2.2.4 异或门和异或非(同或)门 15
2.2.5 正负逻辑 16
2.3 集电极开路与非门和三状态与非门 17
2.3.1 集电极开路与非门(OC门) 17
2.3.2 三态与非门 18
2.4 数字电路的分类、性能及器件名称的意义 19
2.4.1 TTL系列逻辑电路 20
2.4.2 CMOS系列逻辑电路 22
2.4.3 逻辑门电路使用中的几个实际问题 23
2.4.4 常用的TTL逻辑门芯片 25
第3章 逻辑代数与逻辑函数化简 27
3.1 逻辑代数的基本定律和规则 27
3.1.1 逻辑代数的基本公式 27
3.1.2 逻辑代数的基本规则 28
3.2 逻辑函数的代数化简法 29
3.2.1 逻辑函数与逻辑图 30
3.2.2 逻辑函数的化简原则及化简方法 30
3.3 逻辑函数的标准形式 32
3.4 逻辑函数的卡诺图化简法 34
3.4.1 卡诺图结构 34
3.4.2 逻辑函数的卡诺图表示法 35
3.4.3 逻辑函数的卡诺图化简法 36
3.4.4 具有无关项的逻辑函数的化简 37
第4章 组合逻辑电路的分析与设计 39
4.1 组合逻辑电路的分析 39
4.2 组合逻辑电路的设计 41
4.3 组合电路中的竞争与冒险 43
4.3.1 竞争现象 43
4.3.2 冒险现象 43
4.3.3 冒险现象的消除 44
第5章 常见的组合逻辑电路 46
5.1 编码器和译码器 46
5.1.1 编码器 46
5.1.2 译码器 50
5.2 数据选择器 57
5.2.1 数据选择器的工作原理 57
5.2.2 数据选择器的应用 58
5.3 算术运算电路 60
5.3.1 半加器 60
5.3.2 全加器 60
5.4 奇偶校验器 63
5.4.1 奇偶校验 63
5.4.2 奇偶校验电路 64
5.4.3 奇偶校验位的产生 66
第6章 触发器 67
6.1 基本RS触发器 67
6.1.1 基本RS触发器电路组成和工作原理 67
6.1.2 逻辑功能描述 68
6.2 钟控触发器 69
6.2.1 钟控RS触发器 70
6.2.2 钟控D触发器 72
6.2.3 钟控JK触发器 72
6.2.4 钟控T触发器和T′触发器 73
6.2.5 钟控触发器的空翻现象 74
6.3 触发器逻辑功能转换 75
6.3.1 D触发器转换为其它逻辑功能的触发器 75
6.3.2 JK触发器转换为其它逻辑功能的触发器 76
第7章 时序逻辑电路 78
7.1 时序电路概述 78
7.1.1 时序电路的特点 78
7.1.2 时序电路的分类 79
7.1.3 时序电路的描述方法 79
7.2 同步时序电路分析 81
7.2.1 同步时序电路的分析步骤 81
7.2.2 同步时序电路的分析举例 82
7.3 同步时序电路设计 84
7.3.1 同步时序电路的设计步骤 84
7.3.2 同步时序电路的设计举例 85
7.4 异步时序电路 92
第8章 常用时序逻辑器件 94
8.1 计数器 94
8.1.1 同步计数器 95
8.1.2 异步计数器 105
8.2 寄存器 113
8.2.1 基本寄存器 113
8.2.2 移位寄存器 114
8.3 序列信号产生器 118
第9章 脉冲产生电路和变换电路 121
9.1 555定时电路 121
9.1.1 电路组成 121
9.1.2 功能描述 123
9.2 多谐振荡器 123
9.2.1 电路组成 123
9.2.2 工作原理 124
9.3 单稳态电路 126
9.4 施密特电路 128
第2篇 数字系统设计基础 130
第10章 数字系统设计概述 130
10.1 传统的系统硬件设计方法 130
10.1.1 采用自下至上(Bottom Up)的设计方法 130
10.1.2 采用通用的逻辑元、器件 132
10.1.3 在系统设计的后期进行仿真和调试 133
10.1.4 主要设计文件是电原理图 133
10.2 利用硬件描述语言(HDL)的硬件电路设计方法 133
10.2.1 采用自上至下(Top Down)的设计方法 134
10.2.2 系统中可大量采用的ASIC芯片 135
10.2.3 采用系统早期仿真 136
10.2.4 降低了硬件电路设计难度 136
10.2.5 主要设计文件是用HDL语言编写的源程序 137
第11章 VHDL语言描述数字系统的基本方法 138
11.1 VHDL语言描述数字系统的基本方法 138
11.1.1 VHDL语言描述电路的基本方法 138
11.1.2 常数、变量、信号所描述的对象 143
11.1.3 数据类型 145
11.1.4 运算操作符 154
11.2 属性(ATTRIBUTE)描述 157
11.2.1 描述时钟边沿的属性′EVENT 158
11.2.2 描述数据范围的属性′RANGE和 ′REVERSE-RANGE 158
第12章 VHDL语言的基本设计单元 160
12.1 VHDL语言的基本设计单元构成 160
12.1.1 最基本的设计单元构成 160
12.1.2 一个完整的设计单元构成 161
12.1.3 设计单元中描述部分的命名规则和注释的标记 162
12.2 构造体的子结构描述 162
12.2.1 BLOCK语句结构描述 163
12.2.2 进程(PROCESS)语句结构描述 165
12.2.3 子程序(SUBPROGRAM)语句结构描述 166
12.3 库、包集合及配置 172
12.3.1 库 172
12.3.2 包集合 174
12.3.3 配置 175
第13章 VHDL语言构造体的描述方式 178
13.1 构造体的行为描述方式 178
13.1.1 代入语句 178
13.1.2 延时语句 180
13.1.3 多驱动器描述语句 181
13.1.4 GENERIC语句 183
13.2 构造体的寄存器传输(RTL)描述方式 184
13.2.1 RTL描述方式的特点 185
13.2.2 使用RTL描述方式应注意的几个问题 186
13.3 构造体的结构描述方式 191
13.3.1 构造体结构的描述的基本框架 191
13.3.2 COMPONENT语句 192
13.3.3 COMPONENT-INSTANT语句 192
第14章 VHDL语言的主要描述语句 194
14.1 顺序描述语句 194
14.1.1 WAIT语句 195
14.1.2 断言(ASSERT)语句 198
14.1.3 信号代入语句 199
14.1.4 变量赋值语句 199
14.1.5 IF语句 199
14.1.6 CASE语句 202
14.1.7 LOOP语句 207
14.1.8 NEXT语句 209
14.1.9 EXIT语句 210
14.2 并发描述语句 211
14.2.1 进程(PROCESS)语句 211
14.2.2 并发信号代入(Concurrent Signal Assignment)语句 212
14.2.3 条件信号代入(Conditional Signal Assignment)语句 213
14.2.4 选择信号代入(Selective Signal Assignment)语句 213
14.2.5 并发过程调用(Concurrent Procedure Call)语句 215
14.2.6 块(BLOCK)语句 216
14.2.7 GENERATE语句 220
第15章 基本逻辑电路设计 224
15.1 组合逻辑电路设计 224
15.1.1 编码器和译码器 224
15.1.2 数据选择器 229
15.1.3 加法器 230
15.1.4 奇偶校验电路 232
15.1.5 三态门电路及总线缓冲器 234
15.2 时序电路设计 237
15.2.1 时钟信号和复位信号的描述 237
15.2.2 触发器和锁存器 238
15.2.3 寄存器 244
15.2.4 计数器及序列信号发生器 245
第16章 VHDL语言程序的仿真、逻辑综合和下载 250
16.1 仿真 250
16.1.1 仿真输入信息的产生 250
16.1.2 仿真模块的编写 252
16.1.3 仿真△ 254
16.1.4 不同级别的仿真要求 255
16.2 逻辑综合 256
16.2.1 RTL描述至未优化的布尔描述的转换 257
16.2.2 布尔优化描述 257
16.2.3 门级映射 258
16.3 VHDL程序模块的下载 258
16.3.1 下载前的准备 258
16.3.2 配置 259
16.4 可编程逻辑器件介绍 261
16.4.1 可编程逻辑器件分类 261
16.4.2 可编程逻辑器件的几种典型结构 262
16.4.3 FPGA和CPLD芯片介绍 265
习题 269
主要参考文献 286