第1章 FPGA数字系统设计 1
1.1 数字系统设计方法简介 1
1.2 FPGA结构和工作原理 3
1.2.1 FPGA工作原理 3
1.2.2 CycloneII系列FPGA内部结构 4
1.3 FPGA设计流程 26
第2章 Verilog HDL程序设计 29
2.1 Verilog HDL程序的基本结构 29
2.1.1 模块端口定义 30
2.1.2 模块内容 30
2.2 Verilog HDL的数据类型 31
2.2.1 常量 31
2.2.2 变量 33
2.3 Verilog HDL的运算符 35
2.4 Verilog HDL的基本语句 39
2.4.1 赋值语句 39
2.4.2 条件语句 41
2.4.3 循环语句 42
2.4.4 结构声明语句 44
2.4.5 编译预处理语句 49
2.5 模块化程序设计 51
第3章 EDA开发环境简介 55
3.1 DE2-70开发板简介 55
3.2 软件集成开发环境简介 56
3.2.1 软件的安装 56
3.2.2 驱动程序安装 57
3.3 QuartusⅡ设计步骤 58
3.3.1 设计介绍 58
3.3.2 设计过程 59
第4章 常用组合和时序逻辑电路设计 77
4.1 编码器 77
4.2 译码器 80
4.2.1 二进制译码器 80
4.2.2 十进制译码器 82
4.2.3 七段译码器 84
4.3 数据选择器和数据分配器 86
4.3.1 数据选择器 86
4.3.2 数据分配器 87
4.4 数据比较器 88
4.5 奇偶产生/校验电路 90
4.6 触发器 92
4.6.1 基本R-S触发器 92
4.6.2 D触发器 93
4.6.3 J-K触发器 96
4.6.4 T触发器 97
4.7 计数器 98
4.7.1 常用二进制计数器 98
4.7.2 可预置加减计数器 103
4.7.3 特殊功能计数器 104
4.8 寄存器 107
4.8.1 基本寄存器 107
4.8.2 移位寄存器 109
4.9 分频器 113
4.9.1 偶数分频器 113
4.9.2 奇数分频器 116
4.9.3 任意整数分频器 118
第5章 运算器设计 122
5.1 加法器 122
5.1.1 常用加法器 122
5.1.2 串行加法器 123
5.1.3 超前进位加法器 128
5.2 减法器 132
5.3 乘法器 133
5.3.1 原码乘法器 133
5.3.2 补码乘法器 134
5.3.3 阵列乘法器 136
5.4 除法器 141
5.4.1 原码除法器 141
5.4.2 补码除法器 144
5.4.3 阵列除法器 147
第6章 存储器设计 154
6.1 ROM 154
6.1.1 ROM存储器原理 154
6.1.2 ROM存储器设计与实现 154
6.2 RAM 155
6.2.1 RAM存储器原理 155
6.2.2 RAM存储器设计与实现 155
6.3 双端口存储器 157
6.3.1 双端口存储器原理 157
6.3.2 双端口存储器的设计与实现 158
6.4 堆栈 164
6.4.1 堆栈工作原理 164
6.4.2 堆栈的设计与实现 164
6.5 队列 167
6.5.1 队列工作原理 167
6.5.2 队列的设计与实现 167
6.6 存储器驱动器 171
第7章 模型机设计 178
7.1 模型机概述 178
7.2 RISC CPU简介 178
7.2.1 基本特征和构成 178
7.2.2 RISC CPU基本构成 179
7.3 RISC CPU指令系统设计 180
7.4 RISC CPU的数据通路图 183
7.5 指令流程设计 185
7.6 CPU内部各功能模块的设计与实现 187
7.6.1 时钟发生器(clock) 187
7.6.2 程序计数器(PC) 189
7.6.3 指令寄存器(IR) 191
7.6.4 地址寄存器(MAR) 192
7.6.5 数据寄存器(MDR) 194
7.6.6 寄存器组(Register Array) 197
7.6.7 堆栈指针寄存器(SP) 199
7.6.8 控制器(CU) 200
7.6.9 算术逻辑运算单元(ALU) 213
7.6.10 标志寄存器(FLAGS) 219
7.7 RISC CPU设计 220
7.8 模型机组成 223
7.8.1 总线控制 223
7.8.2 ROM 224
7.8.3 RAM 224
7.8.4 模型机构成 225
7.8.5 模型机的样例程序 228
第8章 SOPC系统设计 233
8.1 IP核介绍 233
8.1.1 IP核类型 233
8.1.2 SOPC设计中的IP核 233
8.2 NiosⅡ处理器简介 234
8.2.1 Nios II的特点 234
8.2.2 Nios II应用系统结构 235
8.3 SOPC应用系统的开发 236
8.3.1 SOPC应用系统开发步骤 236
8.3.2 SOPC应用系统开发实例 236
第9章 NIOS II常用外设编程 256
9.1 并行接口 256
9.1.1 PIO寄存器描述 256
9.1.2 PIO硬件配置 257
9.1.3 PIO软件编程 257
9.2 中断系统 261
9.2.1 中断系统硬件配置 261
9.2.2 中断系统软件编程 263
9.3 定时器 267
9.3.1 定时器寄存器描述 267
9.3.2 定时器硬件配置 268
9.3.3 定时器软件编程 269
9.4 存储器扩展 272
9.4.1 SRAM扩展 272
9.4.2 SDRAM扩展 283
9.4.3 Flash扩展 288
9.5 SOPC应用综合实例 292
9.5.1 多功能数字钟简介 292
9.5.2 多功能数字钟硬件配置 293
9.5.3 多功能电子钟软件编程 295