第1章 FPGA技术 1
1.1 认识FPGA 1
1.2 学习FPGA的意义 2
1.3 FPGA器件选型 3
1.4 FPGA的开发方法及工具 5
1.5 FPGA的三种应用类型 6
1.6 FPGA技术的发展趋势 6
1.7 FPGA与CPLD的特点比较 7
1.8 FPGA的JTAG加载 8
1.9 FPGA的边界扫描测试 10
习题 12
第2章 Verilog HDL语法基础 13
2.1 Verilog HDL简介 13
2.2 Verilog HDL基本模块结构 14
2.2.1 Verilog HDL设计程序介绍 14
2.2.2 模块端口定义 15
2.2.3 模块内容 16
2.3 Verilog HDL语言要素 16
2.3.1 常量 16
2.3.2 变量 17
2.3.3 标识符 18
2.3.4 关键词 19
2.4 运算符及表达式 19
2.4.1 基本的算术运算符 19
2.4.2 位运算符 20
2.4.3 逻辑运算符 21
2.4.4 关系运算符 21
2.4.5 等式运算符 22
2.4.6 移位运算符 23
2.4.7 位拼接运算符 23
2.4.8 缩减运算符 24
2.5 Verilog HDL基本语句 25
2.5.1 赋值语句 25
2.5.2 块语句 28
2.5.3 条件语句 30
2.5.4 循环语句 33
2.6 任务与函数 37
2.6.1 系统任务 37
2.6.2 函数 39
2.7 预编译指令 41
2.7.1 宏定义指令define 41
2.7.2 “文件包含”指令include 41
2.7.3 时间尺度timescale 42
2.7.4 条件编译指令ifdef、else、endif 43
小结 44
习题 44
第3章 QuartusⅡ及Modelsim设计工具的使用方法 45
3.1 QuartusⅡ软件使用方法 45
3.1.1 FPGA的设计流程 45
3.1.2 QuartusⅡ的设计流程 47
3.2 Modelsim的调用及Testbench编写 62
习题 71
第4章 Verilog HDL设计进阶 73
4.1 Verilog HDL组合电路设计 73
4.1.1 Verilog HDL设计的不同描述方式 73
4.1.2 选择电路的设计 77
4.1.3 基本组合逻辑电路设计实例 84
4.2 Verilog HDL时序电路设计 86
4.2.1 触发器的描述方式 87
4.2.2 计数器与分频器的设计 90
4.2.3 阻塞赋值与非阻塞赋值 95
4.3 Verilog HDL有限状态机设计 99
4.3.1 Moore型状态机和Mealy型状态机的设计 100
4.3.2 Verilog HDL有限状态机的不同设计方法 100
小结 103
习题 104
第5章 基于Verilog的FPGA系统设计实例 105
5.1 LED花样灯控制模块的设计 105
5.2 按键及防抖接口电路设计 111
5.3 LCD1602液晶控制器设计 115
5.4 A/D转换控制器的设计 119
第6章 时序约束分析及实例讲解 124
6.1 关于时序约束 124
6.2 输入最大最小延时 125
6.2.1 最大输入延时 126
6.2.2 最小输入延时 126
6.3 输出最大最小延时 127
6.3.1 最大输出延时 128
6.3.2 最小输出延时 128
6.4 时序约束实例讲解 129
6.4.1 时钟的时序约束 129
6.4.2 I/O口的时序约束 134
习题 141
第7章 Quartus与Matlab协同设计举例 142
7.1 正弦信号发生器设计 142
7.1.1 设计方案 142
7.1.2 设计步骤 142
7.1.3 设计结果 150
7.2 快速傅里叶变换设计 151
7.2.1 快速傅里叶变换原理 151
7.2.2 设计思路 153
7.2.3 设计步骤 153
7.2.4 设计结果 156
7.3 CIC抽取滤波器设计 157
7.3.1 CIC抽取滤波器设计原理 157
7.3.2 12倍抽取滤波器设计与仿真 158
7.3.3 仿真结果分析 165
7.4 CIC插值滤波器设计 166
7.4.1 CIC插值滤波器原理及数据处理 166
7.4.2 12倍插值滤波器设计与仿真 167
7.4.3 仿真结果分析 171
习题 172
第8章 SOPC系统设计 173
8.1 SOPC及其技术概述 173
8.2 基于SOPC的系统设计举例 175
8.2.1 SOPC系统设计流程 175
8.2.2 SOPC系统设计举例 176
参考文献 189