经典篇 2
第1章 数字逻辑基础 2
1.1 概述 2
1.1.1 模拟信号及数字信号 2
1.1.2 数字抽象 3
1.1.3 数字信号传输时对“0”“1”的处理 4
1.2 数制与码制 5
1.2.1 数制 5
1.2.2 码制 9
1.2.3 常用编码 11
1.3 数字逻辑设计基础 13
1.3.1 逻辑代数 13
1.3.2 逻辑函数的表示方法 17
1.3.3 逻辑函数的化简 19
1.3.4 逻辑门电路 31
习题 41
第2章 组合逻辑电路 44
2.1 概述 44
2.2 组合逻辑电路的分析 45
2.2.1 组合逻辑电路的分析方法 45
2.2.2 组合逻辑电路的分析举例 46
2.3 常用的组合逻辑电路 47
2.3.1 编码器 47
2.3.2 译码器 52
2.3.3 数据选择器 58
2.3.4 数值比较器 61
2.3.5 加法器 65
2.4 组合逻辑电路的设计 72
2.4.1 组合逻辑电路的设计方法 72
2.4.2 组合逻辑电路的设计举例 73
2.5 组合逻辑电路的时序分析 77
习题 81
第3章 时序逻辑电路 83
3.1 概述 83
3.1.1 时序电路的基本概念及特点 83
3.1.2 时序电路逻辑功能的表示方法 84
3.1.3 时序电路的分类 86
3.2 锁存器与触发器 86
3.2.1 锁存器 86
3.2.2 触发器 90
3.3 时序电路的分析 98
3.3.1 时序电路的分析方法 98
3.3.2 时序电路的分析举例 98
3.4 常用的时序逻辑电路 101
3.4.1 寄存器 101
3.4.2 计数器 105
3.5 时序电路的设计方法 120
3.6 时序逻辑电路时序分析的基本概念 125
习题 128
现代篇 133
第4章 硬件描述语言Verilog HDL 133
4.1 HDL简介 133
4.1.1 关于硬件描述语言 133
4.1.2 Verilog HDL的特点 135
4.1.3 硬件描述语言的发展趋势 135
4.2 初步认知 136
4.2.1 门级风格的描述 136
4.2.2 数据流风格的描述 136
4.2.3 行为风格的描述 137
4.2.4 测试平台的编写 137
4.2.5 使用ModelSim进行仿真 138
4.2.6 Verilog HDL在电路综合中的应用 141
4.3 Verilog HDL基本知识 141
4.3.1 标识符和关键字 141
4.3.2 编写格式 142
4.3.3 模块和端口 142
4.3.4 系统任务和系统函数 144
4.3.5 常用编译器指令 145
4.4 数据类型、操作符和表达式 146
4.4.1 值的种类 146
4.4.2 数据类型 148
4.4.3 操作符 151
4.4.4 表达式 157
4.5 数据流建模 157
4.6 行为级建模 157
4.6.1 过程结构 157
4.6.2 时序控制 159
4.6.3 语句块 160
4.6.4 过程性赋值 161
4.6.5 过程性连续赋值 163
4.6.6 几种赋值方式的对比 163
4.6.7 分支语句 163
4.6.8 循环控制语句 165
4.6.9 任务和函数 167
4.7 结构级建模 167
4.7.1 Verilog HDL的4个抽象层次 167
4.7.2 内置基本门级元件 167
4.7.3 结构建模 170
4.7.4 用户自定义元件(UDP) 171
4.8 测试平台及测试激励 171
4.9 良好的编程风格 172
习题 172
第5章 基于EDA的数字逻辑电路设计基础 175
5.1 EDA技术简介 175
5.1.1 EDA技术及其发展 175
5.1.2 EDA技术实现的目标 176
5.1.3 EDA和传统设计方法的比较 176
5.1.4 EDA技术的发展趋势 177
5.2 EDA设计流程及工具 177
5.2.1 数字系统设计的一般步骤 177
5.2.2 EDA工具及其作用 178
5.3 FPGA简介 180
5.3.1 关于FPGA 180
5.3.2 FPGA的基本分类 181
5.3.3 FPGA的体系结构 181
5.3.4 FPGA主流厂商简介 181
5.3.5 集成开发环境Libero IDE 181
5.4 IP核基础 181
5.4.1 IP技术概述 181
5.4.2 ActelIP核简介 182
5.5 EDA开发综合实例 182
5.5.1 实例一:ModelSim的使用 182
5.5.2 实例二:Libero IDE完整设计流程 189
5.5.3 实例三:SmartDesign的使用 190
习题 190
第6章 基于EDA的组合电路设计、综合及验证 192
6.1 基本逻辑门电路 192
6.1.1 基本逻辑门电路的Verilog设计 192
6.1.2 基本逻辑门电路的综合 192
6.1.3 测试平台设计 193
6.1.4 基本逻辑门电路的验证 193
6.2 编码器 193
6.2.1 8-3编码器 194
6.2.2 综合结果分析 197
6.2.3 74HC 148设计 199
6.3 译码器 200
6.3.1 3-8译码器 200
6.3.2 扩展型4511设计 202
6.4 数据选择器 203
6.5 数值比较器 204
6.5.1 4位数值比较器 204
6.5.2 74HC85设计 205
6.6 加法器 206
6.6.1 4位串行(行波)进位加法器 206
6.6.2 4位超前进位加法器 207
6.7 乘法器 208
6.8 组合逻辑电路的竞争冒险问题 208
6.8.1 竞争冒险分析 208
6.8.2 竞争冒险的解决方法 210
6.8.3 进一步分析 211
6.9 组合逻辑电路的综合性实例 212
6.9.1 实例一:补码生成电路 212
6.9.2 实例二:有符号数的比较电路设计 213
6.9.3 实例三:有符号数的加法电路设计 216
6.9.4 实例四:8位二进制数转换为十进制数的电路设计 219
6.9.5 实例五:编码器扩展电路设计 220
习题 225
第7章 基于EDA的时序电路设计、综合及验证 228
7.1 锁存器 228
7.2 触发器 228
7.2.1 D触发器 228
7.2.2 RS触发器 230
7.2.3 JK触发器(同步) 230
7.2.4 T触发器(异步清零) 232
7.3 寄存器 233
7.3.1 基本寄存器 233
7.3.2 移位寄存器(并入并出单向左移) 235
7.3.3 移位寄存器(并入串出单向左移) 236
7.3.4 移位寄存器(串入并出单向左移) 236
7.3.5 移位寄存器(串入串出单向左移) 236
7.4 寄存器传输 237
7.5 计数器 237
7.5.1 计数器(4位二进制加法) 237
7.5.2 74HC161设计 238
7.6 有限状态机 239
7.6.1 有限状态机概述 239
7.6.2 有限状态机的设计方法 242
7.6.3 基于状态转换图(STG)的FSM设计实例 248
7.6.4 基于算法状态图(ASM)的FSM设计 254
7.6.5 有限状态机设计总结 255
7.7 时序逻辑电路的综合性实例 255
7.7.1 实例一:计数器数码管显示电路设计 255
7.7.2 实例二:4位数码管动态扫描显示电路的设计 256
7.7.3 实例三:交通灯控制器 260
7.7.4 实例四:键盘扫描器和编码器 267
7.7.5 实例五:短跑计时器 267
习题 267
实验篇 269
第8章 实验 269
8.1 数字逻辑及系统设计实验箱介绍 269
8.2 基于实验箱的数字逻辑实验 270
8.2.1 基本门电路 270
8.2.2 门电路综合实验 271
8.2.3 组合逻辑电路 275
8.2.4 时序逻辑电路 278
8.3 数字逻辑综合实验 282
8.3.1 组合逻辑综合实验 282
8.3.2 时序逻辑综合实验 283
8.4 数字逻辑基础设计仿真及验证 287
8.4.1 基本门电路 287
8.4.2 组合逻辑电路 288
8.4.3 时序逻辑电路 291
8.5 数字逻辑综合设计仿真及验证 299
8.5.1 基于Verilog HDL的组合逻辑综合实验 299
8.5.2 基于Verilog HDL的时序逻辑综合实验 300
参考文献 307