第1章 Verilog HDL快速入门 1
1.1 Verilog HDL概述 1
1.2 Verilog HDL语法概要 2
1.2.1 数据类型及数的表示 2
1.2.2 运算符 5
1.2.3 模块 7
1.2.4 编译指示字 7
1.3 组合逻辑的Verilog HDL描述 8
1.3.1 用assign持续赋值语句描述组合逻辑 8
1.3.2 用always过程语句描述组合逻辑 10
1.4 时序逻辑的Verilog HDL描述 12
1.4.1 触发器 12
1.4.2 同步复位和异步复位 13
1.4.3 门控时钟和时钟使能 14
1.4.4 数据寄存器 15
1.4.5 计数器和移位寄存器 16
1.4.6 锁存器 17
1.4.7 存储器 18
1.4.8 阻塞赋值和非阻塞赋值 18
1.5 层次化和参数化设计 19
1.5.1 层次化设计 19
1.5.2 参数化设计 20
1.5.3 generate结构 21
第2章 16位微程序控制计算机的设计 24
2.1 概述 24
2.2 指令系统设计 25
2.2.1 指令格式及寻址方式 25
2.2.2 指令类型 26
2.3 运算器设计 28
2.3.1 补码加减运算电路 28
2.3.2 运算结果的特征标志 29
2.3.3 多功能加减运算电路 29
2.3.4 算术逻辑单元ALU设计 31
2.3.5 移位寄存器设计 33
2.3.6 运算器数据通路 35
2.4 微程序控制器设计 37
2.4.1 微程序控制器的基本组成 37
2.4.2 微指令寄存器μIR和微指令译码 37
2.4.3 微地址寄存器和微地址的形成 39
2.4.4 微程序控制时序 46
2.5 微程序设计 47
2.5.1 指令执行过程 47
2.5.2 微程序的设计方法 47
2.5.3 取指令的微程序设计 48
2.5.4 取操作数阶段微程序设计 50
2.5.5 执行阶段微程序设计举例 51
2.6 主存储器 56
2.7 输入输出 57
2.7.1 概述 57
2.7.2 输出接口 60
2.7.3 输入接口 61
2.7.4 中断控制器 62
2.7.5 CPU对中断的支持 64
2.8 片上调试器 65
2.8.1 JTAG简介 65
2.8.2 JTAG调试原理及结构 67
第3章 实验项目 70
3.1 信号和传输 70
3.1.1 实验目的 70
3.1.2 实验原理 70
3.1.3 实验操作和记录 74
3.2 加减运算及特征标志 76
3.2.1 实验目的 76
3.2.2 实验原理 76
3.2.3 预习要求 79
3.2.4 实验操作和记录 79
3.3 运算器数据通路 81
3.3.1 实验目的 81
3.3.2 实验原理 81
3.3.3 预习要求 86
3.3.4 实验操作和记录 86
3.4 主存储器组织 88
3.4.1 实验目的 88
3.4.2 实验原理 88
3.4.3 预习要求 92
3.4.4 实验操作和记录 92
3.5 高速缓冲存储器 93
3.5.1 实验目的 93
3.5.2 实验原理 93
3.5.3 预习要求 97
3.5.4 实验操作和记录 97
3.6 指令和寻址方式 100
3.6.1 实验目的 100
3.6.2 实验原理 100
3.6.3 实验操作和记录 100
3.7 微程序控制器 103
3.7.1 实验目的 103
3.7.2 实验原理 103
3.7.3 预习要求 110
3.7.4 实验操作和记录 110
3.8 微程序设计 115
3.8.1 实验目的 115
3.8.2 实验原理 115
3.8.3 预习要求 116
3.8.4 实验操作和记录 116
3.9 中断电路 117
3.9.1 实验目的 117
3.9.2 实验原理 118
3.9.3 预习要求 121
3.9.4 实验操作和记录 121
3.10 输入输出和中断 124
3.10.1 实验目的 124
3.10.2 实验原理 124
3.10.3 预习要求 127
3.10.4 实验操作和记录 127
3.11 实验电路的调试支持 129
第4章 课程设计项目 133
4.1 项目1——微程序设计 133
4.1.1 熟悉微程序的设计和调试方法 133
4.1.2 双操作数指令的设计与调试 135
4.1.3 条件转移指令的设计与调试 135
4.1.4 移位指令的设计与调试 136
4.1.5 堆栈相关指令的设计与调试 137
4.1.6 中断系统的设计与调试 137
4.1.7 考核 138
4.2 项目2——CPU设计 138
4.2.1 CPU的初步设计与验证 138
4.2.2 扩充输出接口 140
4.2.3 扩充条件转移指令 142
4.2.4 扩充移位指令 143
4.2.5 扩充堆栈类指令 143
4.2.6 中断系统的设计 144
4.2.7 考核 145
第5章 设计工具与实验环境 146
5.1 Altera QuartusⅡ使用入门 146
5.1.1 设计流程 146
5.1.2 片内存储器块的使用 159
5.1.3 系统存储器数据编辑器 166
5.2 Xilinx ISE使用入门 167
5.2.1 设计流程 167
5.2.2 片内存储器块的使用 181
5.3 实验开发板 185
5.3.1 Altera/Terasic DE2-115教学开发板 185
5.3.2 Xilinx/Digilent Nexys3 FPGA开发板 190
5.4 实验系统 194
5.4.1 实验系统组成 194
5.4.2 实验系统软件 196
5.4.3 逻辑部件实验的操作 197
5.4.4 模型机实验的操作 201