第1章FPGA硬件结构与系统设计基础 1
1.1 FPGA概述 1
1.1.1 FPGA的特点 1
1.1.2 FPGA的发展方向 3
1.1.3 FPGA的应用领域 4
1.2 FPGA体系结构 5
1.2.1 FPGA的基本结构 5
1.2.2 FPGA常用开发工具介绍 8
1.2.3 FPGA的设计流程 8
1.3 FPGA常用芯片与选用 9
1.3.1 FPGA的常用芯片 9
1.3.2 FPGA芯片的选用 10
小结 11
思考题 11
第2章硬件描述语言Veri1og HDL设计基础 12
2.1了解Verilog HDL 12
2.1.1什么是硬件描述语言 12
2.1.2为什么选择Verilog HDL 13
2.2 Verilog HDL的模块 13
2.2.1端口定义 13
2.2.2模块的描述方式 14
2.3 Verilog HDL的数据类型和运算符 17
2.3.1数据类型 17
2.3.2运算符 20
2.3.3运算符的优先级 24
2.4 VerilogHDL的赋值语句和块语句 25
2.4.1理解阻塞与非阻塞 25
2.4.2块语句 26
2.5 Verilog HDL的条件语句 29
2.5.1 if语句 29
2.5.2 case语句 31
2.6 Verilog HDL循环语句与结构说明语句 33
2.6.1循环语句 33
2.6.2结构说明语句 37
小结 39
思考题 39
第3章 硬件描述语言VerilogHDL设计进阶 40
3.1 Verilog HDL描述方法 40
3.2使用Verilog HDL设计组合逻辑电路 41
3.2.1 assign语句实现组合逻辑 41
3.2.2 always语句实现组合逻辑电路 42
3.2.3组合逻辑电路的例子 43
3.3使用Verilog HDL设计时序逻辑电路 44
3.3.1 always语句实现时序逻辑电路 44
3.3.2时序逻辑电路的例子 45
3.4同步状态机的原理与设计 46
3.4.1什么是状态机 46
3.4.2状态机的设计原理 47
3.4.3典型的状态机实例 48
3.5 Verilog HDL可综合的代码风格 50
3.5.1可综合代码编写原则 51
3.5.2 FPGA设计时always语句块使用注意事项 52
3.6 Verilog HDL仿真验证平台 53
3.6.1 Modelsim仿真工具介绍 53
3.6.2 Modelsim的使用 57
3.6.3编写测试文件 60
小结 61
思考题 61
第4章FPGA开发软件Quartus‖的使用技巧 62
4.1 Quartus‖简介 62
4.2 Quartus‖软件的安装 62
4.3 Quartus‖设计流程 64
4.3.1创建工程 65
4.3.2编译工程 70
4.3.3管脚分配 71
4.3.4配置工程 73
4.4 SignalTap II的使用方法 74
4.4.1 SignalTap II介绍 74
4.4.2逻辑分析器的原理 75
4.4.3 Signal Tap II的使用 77
小结 85
思考题 85
第5章FPGA在控制领域的应用 87
5.1概述 87
5.2交通控制灯 87
5.2.1交通控制灯的架构 87
5.2.2交通控制灯代码设计 88
5.2.3使用modelsim进行功能仿真 93
5.2.4交通控制灯实例在FPGA开发板上的实现 93
5.3 SDRAM控制器设计实例 94
5.3.1 SDRAM简介 94
5.3.2 SDRAM控制器代码设计 99
5.3.3 SDRAM控制器的功能仿真 103
5.3.4 SDRAM控制器的硬件实现 105
5.4 IIC控制总线实例 106
5.4.1 IIC总线介绍 106
5.4.2 IIC Controller控制器代码设计 109
5.4.3 I I C代码功能仿真 118
小结 119
思考题 120
第6章FPGA在通信领域的应用 121
6.1概述 121
6.2串行通信接口UART设计 121
6.2.1 UART通信协议 121
6.2.2 UART模块程序设计 122
6.2.3 UART代码功能仿真 127
6.2.4 UART基于FPGA开发板的实现 129
6.3 CRC校验码设计实例 131
6.3.1 CRC校验码原理 131
6.3.2 CRC校验码代码设计 132
6.3.3 CRC校验码功能仿真 134
6.3.4 CRC校验码的硬件实现 135
6.4 FSK频移键控设计实例 136
6.4.1 FSK频移键控原理 136
6.4.2 FSK代码设计 136
6.4.3 FSK功能仿真 140
6.4.4 FSK基于FPGA开发板的实现 141
小结 141
思考题 141
第7章 基于FPGA的SOPC设计 142
7.1概述 142
7.2 ALTERA公司的NIOS‖嵌入式处理器 142
7.2.1 NIOS‖的特点 142
7.2.2 NIOS‖实现方式 143
7.3 NIOS‖的开发流程 145
7.3.1硬件开发流程 146
7.3.2软件开发流程 152
7.4基于NIOS ‖处理器的简单程序设计实例 154
7.4.1实例内容 154
7.4.2实例详解 154
7.5基于NIOS‖处理器的数字钟设计 158
7.5.1数字钟设计原理 158
7.5.2设计步骤 158
小结 164
思考题 164
参考文献 165