描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302518419
本书以实战为宗旨,通过初级、中级、高级三个阶段的案例,让读者多练习、多实战,以便全面、深入、透彻地理解FPGA开发原理,提高实际开发水平和项目实战能力。
本书共分6章,涵盖的内容有FPGA简史、FPGA和其他器件的区别、FPGA相应开发软件的下载及安装方法、Verilog语言的语法、FPGA开发流程、呼吸灯设计与实现、流水灯设计与实现、按键控制LED设计与实现、自动售货机的设计与实现、串口通信设计与实现、VGA设计与实现、VGA显示图像、Sobel算子实现、VGA显示原理、DDR3和PCI-e的理论讲解与实践、SG软件和HLS软件。
本书内容丰富,实例典型,实用性强,适合各个层次想要学习FPGA的人员阅读,尤其适合有一定FPGA基础且想进一步学习的开发人员阅读。
第1章 FPGA基本情况介绍 1
1.1 FPGA简史 1
1.1.1 FPGA与ASIC 1
1.1.2 FPGA与CPLD 4
1.1.3 Altera与Xilinx 5
1.1.4 Verilog与VHDL 6
1.2 FPGA芯片(Xilinx)介绍 8
1.2.1 FPGA的基本结构 8
1.2.2 软核、硬核及固核 12
1.2.3 7系列FPGA简介 13
1.3 FPGA的应用领域 17
1.3.1 机器学习 17
1.3.2 5G无线 19
1.3.3 嵌入式视觉 20
1.3.4 工业物联网 21
1.3.5 云计算 22
1.3.6 FPGA硬件加速平台 23
1.4 总结 23
第2章 FPGA设计基础知识 24
2.1 软件下载及安装 24
2.1.1 ISE下载及安装 24
2.1.2 ModelSim下载及安装 28
2.1.3 Vivado下载及安装 29
2.1.4 ISE关联ModelSim 32
2.1.5 Vivado关联ModelSim 36
2.1.6 UE(UltraEdit)的安装和配置 40
2.2 Verilog基本语法介绍 44
2.2.1 发展历史 44
2.2.2 语言设计思路 45
2.2.3 语言要素 46
2.2.4 数据类型 47
2.2.5 流程控制 50
2.2.6 语言描述方法 52
2.2.7 逻辑门级描述 56
2.2.8 晶体管级描述 57
2.2.9 逻辑综合编辑 58
2.2.10 可综合代码 58
2.2.11 不可综合结构类型 58
2.2.12 高级功能编辑 59
2.3 FPGA开发流程 60
2.3.1 设计流程 60
2.3.2 典型FPGA开发流程与注意事项 61
2.4 总结 63
第3章 FPGA初级设计 64
3.1 呼吸灯设计与实现 64
3.1.1 需求分析 64
3.1.2 流程 64
3.1.3 时序图 65
3.1.4 时序图寄存器分析 66
3.1.5 源码展示 67
3.1.6 仿真文件 68
3.1.7 仿真结果分析 69
3.1.8 约束文件 70
3.1.9 扩展训练 70
3.2 流水灯设计与实现 70
3.2.1 需求分析 70
3.2.2 流程 71
3.2.3 时序图 71
3.2.4 时序图寄存器分析 72
3.2.5 源码展示 73
3.2.6 仿真文件 74
3.2.7 仿真结果分析 74
3.2.8 扩展训练 75
3.3 按键控制LED设计与实现 75
3.3.1 需求分析 75
3.3.2 流程 75
3.3.3 时序图 75
3.3.4 时序图寄存器分析 76
3.3.5 源码展示 77
3.3.6 仿真文件 79
3.3.7 仿真结果分析 80
3.3.8 扩展训练 81
3.4 自动售货机设计与实现 81
3.4.1 需求分析 81
3.4.2 流程 81
3.4.3 时序图 82
3.4.4 时序图寄存器分析 84
3.4.5 源码展示 87
3.4.6 仿真文件 87
3.4.7 仿真结果分析 89
3.4.8 扩展训练 90
3.5 总结 90
第4章 FPGA中级设计 91
4.1 串口通信设计与实现 91
4.1.1 需求分析 91
4.1.2 UART协议简介 91
4.1.3 流程图 93
4.1.4 源码分析 94
4.1.5 仿真测试 97
4.2 VGA设计与实现 99
4.2.1 需求分析 99
4.2.2 VGA原理简介 99
4.2.3 源码展示分析 103
4.2.4 仿真结果分析 106
4.2.5 扩展训练 107
4.3 VGA显示图像 107
4.3.1 需求分析 107
4.3.2 流程 107
4.3.3 时序图 108
4.3.4 调用RAM模块IP核步骤 108
4.3.5 扩展训练 110
4.4 Sobel算子实现 110
4.4.1 需求分析 110
4.4.2 Sobel算子详解 110
4.4.3 Sobel算子流程 112
4.4.4 Sobel算子时序图 113
4.4.5 核心代码展示和分析 114
4.5 总结 120
第5章 FPGA高级设计 121
5.1 DDR3理论讲解和实践部分 121
5.1.1 DDR3工作流程 121
5.1.2 DDR3的一些基本概念 123
5.1.3 文档研读 128
5.1.4 DDR3的IP核测试 133
5.1.5 总结 139
5.2 PCI-e理论讲解和实践 139
5.2.1 理论讲解 139
5.2.2 扩展和未来方向 144
5.2.3 硬件协议摘要 144
5.2.4 RIFFA简介 147
5.2.5 RIFFA使用之FPGA端 150
5.2.6 RIFFA使用之PC端 157
5.3 总结 159
第6章 FPGA高级综合设计 160
6.1 System Generator介绍及安装 160
6.2 System Generator工具的基本使用方法 166
6.2.1 System Generator中的库 167
6.2.2 System Generator中的数据类型 174
6.2.3 System Generator自动代码生成 174
6.3 System Generator实例 175
6.3.1 FIR滤波器实例 176
6.3.2 FFT实例 193
6.3.3 数字正交解调(DDC)实例 199
6.4 HLS介绍及安装 211
6.5 HLS工具的基本使用方法 213
6.6 HLS实例——基于HLS的Sobel边缘检测 214
6.6.1 再次出现的Sobel算子 214
6.6.2 MATLAB仿真实现边缘检测 216
6.6.3 HLS实现图像边缘检测 216
6.7 总结 224
随着人工智能、大数据、图像处理等技术的发展,传统计算机架构难以满足日益增长的数据处理需求,FPGA的存在使传统体系结构发生了较大的变化,软硬协同设计使得传统架构进行了较为深入的改革。FPGA工程师想从事该行业,除了需要有较为扎实的数字电路知识外,还要学会相关的FPGA设计方法,有阅读文档的能力。
目前图书市场上关于FPGA的图书不少,但有的图书过于注重理论,有的图书过于注重零碎的知识点和心得体会。本书以实战为宗旨,通过初级、中级、高级三个阶段的案例,让读者全面、深入、透彻地理解FPGA开发的原理,提高读者的实际开发水平和项目实战能力。
本书特色
1. 详细深入的解说
为了便于读者理解本书内容、提高学习效率,本书从易到难逐渐深入讲解FPGA的设计方法。
2. 原理讲解深入透彻
为了让有一定基础的读者进一步提升自己的能力,本书后期内容更偏向于原理的讲解,使初级FPGA工程师快速提高自己。
3. 流程图、时序图丰富精确
FPGA工程师都懂时序图的价值,本书中的时序图均是由作者亲自绘制的,讲解详细,读者深入体会便可快速提高开发能力。
4. 项目案例典型,实战性强,有较高的应用价值
本书使用项目案例进行解说。这些案例来源于作者所开发的实际项目,具有很高的应用价值和参考性,便于读者融会贯通、理解书中所介绍的技术。这些案例稍加修改便可用于实际项目开发中。
本书知识体系
第1章 FPGA基本情况介绍
本章介绍了FPGA简史、FPGA和其他器件的区别、Altera与Xilinx两大公司的产品及FPGA的基本结构、应用领域和进展等。
第2章 FPGA设计基础知识
本章介绍FPGA相应开发软件的下载及安装方法、Verilog语言的语法、FPGA的开发流程等。
第3章 FPGA初级设计
本章主要介绍呼吸灯、流水灯、按键控制LED、自动售货机的设计与实现,从需求分析、流程图、时序图、源码等方面依次递进,逐级深入,便于初学者细细理解、打好基础。
第4章 FPGA中级设计
本章主要介绍串口通信设计与实现、VGA设计与实现、VGA显示图像、Sobel算子实现,讲解串口通信、VGA显示等原理。设计FPGA不仅仅需要基础设计方法,更重要的是对原理的理解和剖析。
第5章 FPGA高级设计
本章主要介绍DDR3和PCIE的理论与实践部分。其中,篇幅多的是原理性的讲解和文档的阅读分析,并且对大量英文文档做了详细的翻译解读。
第6章 FPGA高级综合设计
本章主要介绍FPGA如何用SG软件和HLS软件进行设计。本章的目的是提供一种全新的设计思路,这也是Xilinx公司一个主要的发展方向。
本书资源彩图下载
为了使读者看清楚本书使用的图片,我们把彩色图片文件放到网盘中供读者下载,可以扫描右边的二维码获取。如果下载有问题,请联系[email protected],邮件主题为“FPGA实战训练精粹”。
本书读者
? 需要全面学习FPGA的人员
? 广大FPGA工程师
? 希望提高项目开发水平的人员
? 专业培训机构的学员
? 逻辑硬件开发项目经理
? 需要一本案头查询手册的人员
从2017年12月起笔,到2018年7月写完,作者用半年多的时间将之前的FPGA项目由易到难做了详细的总结。本书第1章和第6章由章振栋书写、第2~5章由张晋荣书写。刘荣福对一些器件的使用和特性进行了指点。在此,感谢刘靖宇老师对作者学习FPGA的大力支持。师恩重如山,刘靖宇老师在作者读研期间提供了很多宝贵的意见。同样感谢V3学院的杨亮老师,他在作者学习FPGA期间提供了很多指导性意见并给予了巨大的支持鼓励。后感谢张奇、王迪、王守彬、张冰、彭伟桃、高一寒、王月华、王建姣、陈彤、范金泉等小伙伴对作者写书的鼓励和支持。
张晋荣
2019年1月
评论
还没有评论。