目 录
第1章 EDA基础和实验系统 1
1.1 EDA简介 1
1.2 Verilog HDL简介 1
1.3 Vivado安装及使用说明 3
1.3.1 Vivado安装说明 3
1.3.2 Vivado使用说明 9
1.4 LCD触摸屏调用方法 27
1.5 实验系统 33
第2章 数字逻辑与数字电路实践 40
2.1 三人表决电路实验 40
2.1.1 实验类别 40
2.1.2 实验目的 40
2.1.3 实验原理 40
2.1.4 实验内容和要求 40
2.1.5 实验步骤 41
2.1.6 可研究与探索的问题 46
2.1.7 源代码 47
2.2 数据选择器实验 47
2.2.1 实验类别 47
2.2.2 实验目的 47
2.2.3 实验原理 47
2.2.4 实验内容和要求 47
2.2.5 实验步骤 48
2.2.6 可研究与探索的问题 49
2.2.7 源代码 49
2.3 半加器和全加器实验 50
2.3.1 实验类别 50
2.3.2 实验目的 50
2.3.3 实验原理 50
2.3.4 实验内容和要求 50
2.3.5 半加器实验步骤 51
2.3.6 全加器实验步骤 52
2.3.7 可研究与探索的问题 55
2.3.8 源代码 55
2.4 七段数码显示译码器实验 55
2.4.1 实验类别 55
2.4.2 实验目的 55
2.4.3 实验原理 56
2.4.4 实验内容和要求 56
2.4.5 实验步骤 58
2.4.6 可研究与探索的问题 59
2.4.7 源代码 59
2.5 计数器实验 60
2.5.1 实验类别 60
2.5.2 实验目的 60
2.5.3 实验原理 60
2.5.4 实验内容和要求 60
2.5.5 实验步骤 61
2.5.6 可研究与探索的问题 63
2.5.7 源代码 63
2.6 移位寄存器实验 64
2.6.1 实验类别 64
2.6.2 实验目的 64
2.6.3 实验原理 64
2.6.4 实验内容和要求 64
2.6.5 实验步骤(方案二) 66
2.6.6 可研究与探索的问题 68
2.6.7 源代码(实验设计方案二) 68
2.7 序列信号发生器实验 73
2.7.1 实验类别 73
2.7.2 实验目的 73
2.7.3 实验原理 74
2.7.4 实验内容和要求 74
2.7.5 可研究与探索的问题 76
2.8 序列检测器实验 76
2.8.1 实验类别 76
2.8.2 实验目的 76
2.8.3 实验原理 76
2.8.4 实验内容和要求 77
2.8.5 可研究与探索的问题 78
2.9 数字钟实验 78
2.9.1 实验类别 78
2.9.2 实验目的 78
2.9.3 实验原理 79
2.9.4 实验内容和要求 79
2.9.5 可研究与探索的问题 80
2.10 交通灯控制器实验 80
2.10.1 实验类别 80
2.10.2 实验目的 80
2.10.3 实验原理 80
2.10.4 实验内容和要求 80
2.10.5 可研究与探索的问题 82
第3章 计算机组成原理实践 83
3.1 32位算术逻辑运算器实验 83
3.1.1 实验类型 83
3.1.2 实验目的 83
3.1.3 实验原理 83
3.1.4 实验内容和要求 84
3.1.5 可研究与探索的问题 85
3.2 存储器实验 85
3.2.1 实验类别 85
3.2.2 实验目的 85
3.2.3 实验原理 85
3.2.4 实验内容和要求 87
3.2.5 建议的实验步骤 87
3.2.6 可研究与探索的问题 89
3.3 指令系统实验 89
3.3.1 实验类别 89
3.3.2 实验目的 89
3.3.3 实验原理 89
3.3.4 实验内容和要求 90
3.3.5 可研究与探索的问题 90
3.4 单周期CPU实验 90
3.4.1 实验类别 91
3.4.2 实验目的 91
3.4.3 实验原理 91
3.4.4 实验内容和要求 92
3.4.5 可研究与探索的问题 92
3.5 多周期CPU实验 93
3.5.1 实验类别 93
3.5.2 实验目的 93
3.5.3 实验原理 93
3.5.4 实验内容和要求 94
3.5.5 可研究与探索的问题 95
3.6 中断实验 95
3.6.1 实验类别 95
3.6.2 实验目的 95
3.6.3 实验原理 95
3.6.4 实验内容和要求 96
3.6.5 可研究与探索的问题 97
第4章 计算机体系结构实践 98
4.1 流水线CPU设计 98
4.1.1 实验类别 98
4.1.2 实验目的 98
4.1.3 实验原理 99
4.1.4 实验内容和要求 103
4.1.5 实验步骤 104
4.1.6 可研究与探索的问题 110
4.2 流水线带Cache的CPU设计 110
4.2.1 实验类别 110
4.2.2 实验目的 110
4.2.3 实验原理 110
4.2.4 实验内容和要求 112
4.2.5 可研究与探索的问题 113
第5章 计算机组成与体系结构实践 114
5.1 ALU实验 114
5.1.1 实验类型 114
5.1.2 实验目的 114
5.1.3 实验原理 114
5.1.4 实验内容和要求 115
5.1.5 实验步骤 116
5.1.6 可研究与探索的问题 124
5.1.7 源代码 125
5.2 存储器实验 130
5.2.1 实验类型 130
5.2.2 实验目的 130
5.2.3 实验原理 130
5.2.4 实验内容和要求 131
5.2.5 FPGA中ROM定制与读出实验步骤 131
5.5.6 FPGA的RAM定制与读写实验 137
5.2.7 可研究与探索的问题 139
5.2.8 源代码 140
5.3 多周期控制器实验 144
5.3.1 实验类型 144
5.3.2 实验目的 144
5.3.3 实验原理 144
5.3.4 实验内容和要求 145
5.3.5 实验步骤 146
5.3.6 可研究与探索的问题 148
5.3.7 源代码 148
5.4 多周期CPU实验 153
5.4.1 实验类型 153
5.4.2 实验目的 153
5.4.3 实验原理 153
5.4.4 实验内容和要求 155
5.4.5 实验步骤 156
5.4.6 可研究与探索的问题 157
5.4.7 源代码 157
附录A Icarus Verilog开发环境及使用 161
A.1 Icarus Verilog的安装 161
A.2 Icarus Verilog环境变量设置 162
A.3 Icarus Verilog的使用 163
附录B Verilog HDL语法简介 171
B.1 Verilog HDL基本结构 171
B.2 数据类型及常量、变量 173
B.3 运算符 175
B.4 语句 176
B.5 编译预处理语句 182
B.6 测试台、系统任务和函数 183
附录C 实验报告 185
附录D 引脚对应关系表 188
附录E MIPS指令 193
参考文献 203
展开