本书介绍了FPGA的发展及应用前景,基于Altera公司的FPGA开发芯片,介绍了Quartus Ⅱ软件和FPGA的开发使用流程,以及Verilog HDL的语法、语句等编程入门知识,同时,以项目化开发形式设计了数字电路基础实验、开发板基础实验、开发板进阶实验、通信系统实验、综合实验等FPGA开发例程。本书适合电子、通信、自动化等相关专业的本科生与研究生学习,以及从事FPGA开发、IC设计、PCB设计等相关职业的读者阅读参考。
(1)本书内容由简单到复杂,从软件使用到Verilog语言语法语句,设计例程深入浅出,满足广大FPGA设计者的学习需求。实验例程是经过实验板验证通过,图文并茂展示真实地展示给读者,经得起推敲,避免误导读者。(2)硬件描述语言选择verilog HDL,因为现在很多人都用的是verilog,因为它与C语言更接近,入门更容易。美国和中国台湾地区逻辑电路设计和制造厂家大都以Verilog HDL 为主,中国大陆地区目前学习使用verilog的也很多。从学习的角度来看,Verilog HDL比较简单,也与C 语言较接近,容易掌握。从使用的角度,支持Verilog 硬件描述语言的半导体厂家也较支持VHDL 的多。
FPGA为何物?如果 FPGA对我们来说是一片空白,可以说是一张白纸,任凭我们在上面挥毫泼墨,那么,只要我们的想象够丰富、基础够扎实,我们一定会绘出属于自己的一片蓝图。为什么将本书名定为《FPGA设计与项目化开发实战》?那是因为编者回顾自己的学习之路,发现自己曾经缺乏一些连贯的学习资料和系统的学习方法,为了让更多的人少走弯路而积累总结了很多资料,希望通过一个个简单的例子以点带面,让读者逐步掌握 FPGA 的设计要领,并通过综合实战将理论与 FPGA 的硬件实现相结合。本书不仅仅是实验手册,更是理论与实践相结合的 FPGA 设计手册,图文并茂,有助于读者一步步走好FPGA 设计之路。本书主要讲解FPGA的开发流程和程序设计,以一款资源丰富的FPGA开发板为例,介绍FPGA内部结构和设计流程,讲解及FPGA开发板的硬件配置Verilog HDL硬件描述语言的基础知识,,重点是第7章到第12章的实例程序,由简单到复杂,*后附上FPGA设计心得。本书适合电子、通信、自动化等相关专业的本科生与研究生,以及从事FPGA 开发、IC 设计、PCB 设计等相关职业的读者阅读参考。
第1章FPGA概述/1
1.1可编程逻辑器件的发展史/1
1.2FPGA简介/2
1.3FPGA的特点及应用领域/3
1.4FPGA发展前景/5
第2章开发软件的安装与使用/7
2.1Quartus Ⅱ软件安装/7
2.2USBBlaster驱动安装/10
2.3Vivado软件介绍/12
2.4Vivado软件安装/13
2.5Vivado软件的使用/15
第3章FPGA原理和结构/22
3.1FPGA技术原理/22
3.2FPGA芯片结构/23
3.3软核、硬核及固核的概念/26
第4章FPGA的开发流程/27
4.1设计输入/27
4.2设计编译/32
4.3仿真验证/33
4.4引脚锁定/44
4.5下载调试验证/44
第5章FPGA开发板/48
5.1FPGA开发板简介/48
5.2FPGA开发板硬件资源详细配置/50
5.3FPGA开发板硬件原理图/51
第6章Verilog HDL基础知识/65
6.1Verilog HDL设计模块的基本结构/65
6.2Verilog HDL的词法/70
6.3Verilog HDL的语句/80
6.4不同抽象级别的Verilog HDL模型/105
6.5Verilog HDL设计流程/113
6.6Verilog HDL仿真/116
6.7代码编写规范/122
第7章数字电路基础实验/125
7.1分频器的设计及其Quartus Ⅱ仿真/125
7.2计数器的设计及其波形仿真/130
7.3D触发器的设计及其波形仿真/132
7.4三态门的设计及其波形仿真/133
7.58-3编码器的设计及其波形仿真/134
7.68-3优先编码器的设计及其功能仿真/136
7.73-8译码器的设计及其功能仿真/139
7.8移位寄存器/141
7.9多路选择器的设计及其功能仿真/142
7.10串行加法器的设计及其功能仿真/144
7.11简单运算单元的设计及功能仿真/144
第8章开发板基础实验/147
8.1LED流水灯/147
8.2按键消抖/152
8.3PWM 控制LED的亮暗/156
8.4数码管的动态显示/160
8.5秒表数码管显示/163
8.6时钟数码管显示/169
8.7频率计的设计/174
8.8蜂鸣器音乐播放器/181
8.9按键计数器/185
8.10串口通信/187
8.11LCD1602 显示/196
8.12DDS与嵌入式逻辑分析仪的调用/206
8.13步进电动机控制实验/217
8.14矩阵键盘控制实验/224
8.15旋转编码开关实验/235
第9章宏功能模块的使用/240
9.1PLL的使用/240
9.2FIFO 的使用/244
9.3RAM 的使用/246
9.4乘法器的使用/250
第10章开发板进阶实验/252
10.1AD_TLC549 采集电压表/252
10.2DA_TLC5615 电压输出/259
10.3IIC协议与AT24C02读写实验/266
10.4VGA显示控制/280
10.5LCD12864 显示字符/288
10.6LCD12864 显示图形/296
10.7红外遥控接收解码/305
10.8DS18B20温度采集/313
10.9超声波测距/319
10.10PCF8563实时时钟设计/324
10.11LM75A温度采集/333
10.12DS1302实时时钟/344
第11章基于FPGA的通信系统实验/359
11.1伪随机信号发生器/359
11.22ASK调制/360
11.32FSK调制/362
11.42PSK调制/363
11.52DPSK调制/365
第12章综合实验/368
12.1基于 DDS 的任意波形发生器/368
12.2基于 FPGA 的出租车计费器设计/369
12.3基于 FPGA 的交通灯设计/374
12.4基于FPGA的通信信号源的设计/380
12.5SDRAM控制器设计/382
第13章学习FPGA技术总结/408