基础篇
第 1 章 数字集成电路基础 2
1.1 引言 2
1.2 数值与编码 2
1.2.1 数值的概念与转换方法 2
1.2.2 二进制编码方式 5
1.3 组合逻辑电路 6
1.3.1 组合逻辑电路的基本特点 6
1.3.2 组合逻辑电路的基本构件 7
1.3.3 组合逻辑电路的分析与设计 8
1.3.4 竞争与冒险 9
1.4 时序逻辑电路 10
1.4.1 时序逻辑电路的基本构件 10
1.4.2 时序逻辑电路分析 15
1.4.3 建立时间与保持时间 18
思考题 19
第 2 章 Verilog HDL语法 20
2.1 引言 20
2.2 Verilog HDL代码结构 22
2.3 数值表示与信号类型 24
2.3.1 Verilog HDL数值表示 24
2.3.2 Verilog HDL信号类型 25
2.4 Verilog HDL表达式 29
2.4.1 运算符 30
2.4.2 操作数 37
2.5 Verilog HDL赋值语句 38
2.5.1 持续赋值语句 38
2.5.2 过程赋值语句 39
2.5.3 语句块 41
2.6 Verilog HDL控制语句 42
2.6.1 条件语句 42
2.6.2 分支语句 43
2.6.3 循环语句 45
2.6.4 生成语句 48
2.7 建模方法 49
2.7.1 数据流建模 49
2.7.2 行为级建模 50
2.7.3 结构级建模 51
2.8 任务和函数 55
2.8.1 系统函数 56
2.8.2 编译指令 59
2.9 测试平台 60
思考题 62
提高篇
第 3 章 基于Verilog HDL的逻辑电路设计方法与实践 65
3.1 基于Verilog HDL的组合逻辑电路设计 65
3.1.1 设计要点 65
3.1.2 编码器与译码器 69
3.2 基于Verilog HDL的时序逻辑电路设计 73
3.2.1 设计要点 73
3.2.2 锁存器与触发器 74
3.2.3 计数器 75
3.2.4 分频器 76
3.2.5 FSM 设计 78
3.3 模块化设计理念与实践:多功能数字时钟 83
3.3.1 模块化设计概述 84
3.3.2 模块化设计流程 84
3.3.3 模块化设计实践 85
思考题 87
第 4 章 处理器工作原理与设计方法 89
4.1 计算机组成原理与指令系统 89
4.1.1 计算机工作原理与层次结构概述 89
4.1.2 指令系统 92
4.1.3 RISC-V 94
4.2 基于RISC-V的单周期CPU设计与实现 99
4.2.1 单周期CPU数据通路设计 100
4.2.2 单周期CPU控制器设计 109
4.2.3 单周期CPU性能分析 112
4.3 多周期CPU与流水线CPU概述 114
4.3.1 多周期CPU概述 114
4.3.2 流水线技术 118
思考题 122
实践篇
第 5 章 EDA仿真工具及FPGA实践平台 125
5.1 EDA仿真工具 125
5.1.1 仿真工具概述 125
5.1.2 主流仿真工具介绍 126
5.1.3 基于开源工具的Verilog HDL仿真环境配置与
使用 127
5.2 FPGA实践平台 129
5.2.1 大拇指开发板概述 129
5.2.2 大拇指开发板开发软件 131
思考题 134
第 6 章 基于FPGA的数字电路实践 135
6.1 流水灯 135
6.2 模M加法计数器 137
6.3 呼吸灯 144
6.4 任意波形发生器 148
6.5 UART通信协议 157
6.5.1 UART串口接收数据实验 157
6.5.2 UART串口发送数据实验 167
6.6 RISC-V处理器 175
思考题 183
参考文献 184