第1章 认识数字系统设计开发环境 1
教学导航 1
任务1 基于原理图实现的基本门电路设计 2
1.1 Quartus Ⅱ集成开发环境 16
1.1.1 认识Quartus Ⅱ集成开发环境 16
1.1.2 Quartus Ⅱ集成开发环境的设计流程 17
1.1.3 常用可编程逻辑器件开发环境 18
任务2 基于原理图实现的2选1数据选择器设计 19
1.2 可编程逻辑器件 23
1.2.1 什么是可编程逻辑器件 23
1.2.2 简单可编程逻辑器件 25
1.2.3 高密度可编程逻辑器件 28
1.2.4 可编程逻辑器件主要厂商 41
1.3 EDA技术 42
1.3.1 电子系统设计方法 42
1.3.2 FPGA/CPLD进行电路设计的一般流程 44
知识梳理与总结 46
习题1 46
第2章 Verilog设计基础 48
教学导航 48
任务3 基于HDL实现的基本门电路设计 49
2.1 什么是HDL 53
2.1.1 HDL及其特点 53
2.1.2 Verilog电路模块的一般结构 54
2.1.3 基于Verilog的系统设计流程 59
任务4 基于HDL实现的2选1数据选择器设计 62
2.2 数据类型及常量变量 66
2.2.1 标识符 66
2.2.2 常量 67
2.2.3 变量及其数据类型 69
2.3 连续赋值语句及“?:”语句 71
2.3.1 持续赋值语句 71
2.3.2 “?:”语句 72
2.4 运算符及表达式 74
2.4.1 运算符 74
2.4.2 表达式 79
任务5 2位二进制数据比较器的设计 80
2.5 条件语句 86
2.5.1 if条件语句 86
2.5.2 case条件语句 90
2.6 循环语句 93
2.6.1 for语句 93
2.6.2 repeat语句 95
2.6.3 while语句 95
2.6.4 forever语句 95
任务6 4选1数据选择器的设计 96
2.7 Verilog HDL的模块调用 99
知识梳理与总结 102
习题2 103
第3章 组合逻辑电路设计 105
教学导航 105
任务7 三人表决器设计 106
3.1 组合逻辑电路设计基础 113
3.1.1 组合逻辑电路的定义和基本特征 114
3.1.2 标准CMOS组合逻辑电路结构 114
3.1.3 典型组合逻辑电路设计方法 117
3.2 理解Verilog的并行语句 118
任务8一 位加法器的设计 121
3.3 运算部件及其设计方法 129
3.3.1 加法器 129
3.3.2 乘法器与除法器 132
任务9 3-8译码器的设计 135
3.4 Verilog语言的过程及用法 143
3.4.1 过程块和过程语句 143
3.4.2 过程中的阻塞赋值与非阻塞赋值 145
3.4.3 基于过程块的组合逻辑建模标准 149
任务10 基于三态门的双向端口设计 150
3.5 三态门的原理及其应用 157
3.5.1 三态门电路 157
3.5.2 三态门电路应用——多路选择器设计 159
任务11 七段LED数码管显示电路设计 161
3.6 LED数码管显示电路及其设计方法 167
3.6.1 LED数码管及其显示电路 167
3.6.2 动态LED数码管显示电路设计 171
知识梳理与总结 173
习题3 174
第4章 时序逻辑电路设计 176
教学导航 176
任务12 上升沿检测电路设计 177
4.1 时序逻辑电路基本概念 180
4.1.1 时序逻辑电路设计中的等效模型 180
4.1.2 触发器的建立时间和保持时间 181
4.1.3 时序分析基础 181
4.1.4 同步电路设计规则 182
任务13 带异步复位/同步置位端的D触发器设计 183
4.2 D触发器及其设计方法 186
任务14 计数器设计 190
4.3 计数器及其设计方法 193
4.3.1 计数器基本概念 193
4.3.2 计数器设计方法 193
任务15 分频器设计 197
4.4 分频器及其设计方法 200
4.4.1 2的整数次幂的分频器设计 201
4.4.2 偶数分频电路设计 201
4.4.3 占空比为1:15的分频电路设计 202
4.4.4 奇数分频电路设计 203
任务16 流水灯设计 205
4.5 数据寄存器及其设计方法 209
4.5.1 数据寄存器设计 210
4.5.2 移位数据寄存器设计 210
任务17 采用状态机实现序列检测器设计 214
4.6 状态机及其设计方法 220
4.6.1 状态机的基本概念 220
4.6.2 状态机的几种描述方法 222
知识梳理与总结 227
习题4 227
第5章 数字系统的验证 230
教学导航 230
任务18 跑表的设计及验证 231
5.1 Modelsim仿真工具 239
5.2 使用Modelsim进行功能仿真 244
5.2.1 Modelsim的运行方式 244
5.2.2 Modelsim仿真步骤 245
5.3 Testbench设计方法 250
5.3.1 Testbench基本结构 250
5.3.2 简单CPU接口激励产生方式 251
5.3.3 仿真结果分析 251
5.3.4 常用产生激励描述方式 252
5.4 常用的Verilog测试语句 255
知识梳理与总结 257
习题5 257
第6章 数字系统设计实践 259
任务19 简易数字钟设计 260
任务20 可编程多彩霓虹灯设计 273
任务21 多功能数字钟设计 287
任务22 交通灯控制器设计 301
任务23 多功能密码锁设计 312
任务24 自动售货机设计 326