第1章 FPGA开发简介 1
1.1 可编程逻辑器件概述 1
1.2 FPGA芯片 3
1.2.1 FPGA框架结构 3
1.2.2 Altera公司的FPGA 7
1.3 FPGA开发工具 11
1.4 基于FPGA的开发流程 12
1.4.1 FPGA设计方法概论 12
1.4.2 典型FPGA开发流程 13
1.4.3 FPGA的配置 13
1.4.4 基于FPGA的SoC设计方法 17
第2章 硬件描述语言 21
2.1 VHDL硬件描述语言 22
2.1.1 程序基本结构 22
2.1.2 VHDL程序语法规则 31
2.1.3 并行语句 41
2.1.4 顺序语句 47
2.1.5 子程序及子程序调用语句 53
2.2 Verilog硬件描述语言 55
2.2.1 Verilog HDL程序基本结构 55
2.2.2 Verilog HDL数据类型 57
2.2.3 Verilog HDL运算符 59
2.2.4 Verilog HDL描述语句 63
2.2.5 语句的顺序执行与并行执行 71
2.2.6 Verilog HDL元件例化 72
第3章 Quartus Prime设计开发环境 74
3.1 Quartus Prime概述 74
3.2 Quartus Prime设计流程 76
3.2.1 设计输入 76
3.2.2 设计处理 81
3.2.3 波形仿真 84
3.2.4 器件编程 93
3.3 嵌入式逻辑分析仪使用 95
第4章 基本电路的HDL设计 101
4.1 基本电路的VHDL设计 101
4.1.1 优先编码器 101
4.1.2 数据选择器 103
4.1.3 组合逻辑电路与并行语句、进程语句的关系 105
4.1.4 运算电路 106
4.1.5 时钟信号 110
4.1.6 锁存器和触发器 113
4.1.7 同步、异步信号描述 117
4.1.8 同步电路设计原则 119
4.1.9 计数器 120
4.1.10 分频电路 122
4.1.11 寄存器 123
4.1.12 状态机 130
4.1.13 动态扫描电路 136
4.2 基本电路的Verilog设计 139
4.2.1 优先编码器 139
4.2.2 译码器 140
4.2.3 数据选择器 141
4.2.4 运算电路设计 143
4.2.5 时钟信号 144
4.2.6 触发器 145
4.2.7 同步、异步控制信号 146
4.2.8 计数器 147
4.2.9 分频器 148
4.2.10 寄存器 150
4.2.11 串并转换电路 152
4.2.12 有限状态机 155
4.2.13 动态扫描电路 158
第5章 基于IP的设计 161
5.1 IP核 161
5.2 触发器IP核的VHDL设计应用 162
5.3 存储器IP核的VHDL设计应用 166
5.4 锁相环IP核的VHDL设计应用 172
5.5 运算电路IP核的VHDL设计应用 174
第6章 人机交互接口设计 179
6.1 键盘扫描电路的VHDL设计 179
6.1.1 设计原理 179
6.1.2 设计实现 182
6.1.3 综合仿真 189
6.2 液晶驱动电路的VHDL设计 190
6.2.1 设计原理 190
6.2.2 设计实现 194
6.2.3 综合仿真 197
第7章 数字信号处理 199
7.1 差错控制电路的VHDL设计(CRC校验电路) 199
7.1.1 设计原理 199
7.1.2 校验电路的VHDL实现 200
7.1.3 综合仿真 202
7.2 滤波电路的VHDL设计 204
7.2.1 设计原理 204
7.2.2 FIR滤波电路的设计实现 204
7.2.3 综合仿真 207
7.3 HDB3基带信号编译码电路的VHDL设计 209
7.3.1 设计原理 209
7.3.2 设计实现 211
7.3.3 综合仿真 219
第8章 密码算法设计 221
8.1 分组密码算法的VHDL设计(SM4) 221
8.1.1 SM4算法原理 221
8.1.2 设计实现 224
8.1.3 仿真验证 230
8.2 流密码算法的VHDL设计(ZUC) 231
8.2.1 ZUC算法原理 231
8.2.2 设计实现 236
8.2.3 仿真验证 244
8.3 HASH算法的VHDL设计(SM3) 245
8.3.1 SM3算法原理 245
8.3.2 设计实现 247
8.3.3 仿真验证 254
第9章 基于NiosⅡ的SOPC系统开发 256
9.1 简介 256
9.1.1 SOPC技术 256
9.1.2 NiosⅡ嵌入式处理器 258
9.1.3 Qsys开发工具 259
9.2 SOPC硬件开发 259
9.2.1 启动Qsys 259
9.2.2 添加NiosⅡ及外设IP模块 260
9.2.3 集成NiosⅡ系统至Quartus Prime 267
9.3 SOPC软件系统开发 268
9.3.1 创建NiosⅡ工程 269
9.3.2 设置工程的系统属性 272
9.3.3 程序编写及编译 273
9.3.4 代码调试及运行 275
附录 DES算法的S盒 279
参考文献 281