FPGA的人工智能之路:基于IntelFPGA开发的入门到实践

FPGA的人工智能之路:基于IntelFPGA开发的入门到实践

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

FPGA技术基础、开发方法与AI应用一书,全面介绍FPGA核心知识。

内容简介

本书主要从技术基础、开发方法和人工智能应用三个方面介绍FPGA的各种开发方法,围绕FPGA的基础知识、Verilog硬件描述语言、FPGA在Quartus中的开发流程,FPGA的SOPC、HLS、OpenCL设计方法,FPGA在人工智能领域的应用等方面进行阐述。使开发人员能理解FPGA的核心知识,掌握FPGA的开发方法和开发工具。本书包含技术基础篇、开发方法篇和人工智能应用篇三大块共计14章。本书以FPGA基础知识为切入点,通过对开发方法和设计思路的讲解,帮助读者快速掌握FPGA开发技术以及FPGA在人工智能上的应用,可作为FPGA和其他开发人员进行FPGA设计和应用的参考用书。

章节目录

封面

前折页

版权信息

内容简介

前言

第一部分 FPGA技术基础篇

第1章 FPGA的特点及其历史

1.1 无处不在的FPGA

1.2 创造性地解释FPGA

1.2.1 珠串法

1.2.2 乐高积木法

1.3 FPGA的可定制性

1.4 早期的逻辑功能实现

1.4.1 数字设计与TTL逻辑

1.4.2 从TTL到可编程逻辑

1.5 可简单编程逻辑器件(PAL)

1.5.1 可编程阵列逻辑优势

1.5.2 PAL编程技术

1.6 可编程逻辑器件(PLD)

1.7 复杂可编程逻辑器件(CPLD)

1.7.1 普通CPLD逻辑块的特点

1.7.2 CPLD的一般优势

1.7.3 非易失FPGA

1.8 现场可编程逻辑门阵列(FPGA)

第2章 FPGA架构

2.1 FPGA全芯片架构

2.2 FPGA逻辑阵列模块

2.2.1 查找表(LUT)

2.2.2 可编程寄存器

2.2.3 LABs和LE:更进一步的观察

2.2.4 自适应逻辑模块(ALM)

2.3 FPGA嵌入式存储

2.3.1 存储资源的利用

2.3.2 M9K资源介绍

2.4 时钟网络

2.4.1 FPGA时钟架构

2.4.2 PLL(锁相环)

2.5 DSP模块

2.6 FPGA布线

2.7 FPGA编程资源

2.8 FPGA I/O元件

2.8.1 典型的I/O元件逻辑

2.8.2 高速收发器

2.9 英特尔SoC FPGA

第3章 Verilog HDL

3.1 Verilog HDL概述

3.1.1 Verilog HDL的介绍

3.1.2 Verilog HDL的发展历史

3.1.3 Verilog HDL的相关术语

3.1.4 Verilog HDL的开发流程

3.2 Verilog HDL基础知识

3.2.1 程序结构

3.2.2 程序实例

3.2.3 数据类型

3.2.4 模块例化

3.2.5 运算符

3.3 Verilog HDL的基本语法

3.3.1 if-else语句

3.3.2 case语句

3.3.3 for循环

3.3.4 Verilog HDL常用关键字汇总

3.4 Verilog HDL高级知识点

3.4.1 阻塞与非阻塞的区别

3.4.2 assign语句和always语句的区别

3.4.3 锁存器与寄存器的区别

3.4.4 状态机

3.5 Verilog HDL开发实例篇

3.5.1 汉明码编码器

3.5.2 数码管译码器

3.5.3 双向移位寄存器

3.5.4 冒泡排序

第4章 Quartus Prime基本开发流程

4.1 Quartus Prime软件介绍

4.1.1 英特尔FPGA软件与硬件简介

4.1.2 Quartus Prime标准版设计软件简介

4.1.3 Quartus Prime主窗口界面

4.1.4 Quartus Prime默认操作环境

4.1.5 Quartus Prime主工具栏

4.1.6 Quartus Prime内置帮助系统

4.1.7 Quartus Prime可分离的窗口

4.1.8 Quartus Prime任务窗口

4.1.9 Quartus Prime自定义任务流程

4.2 Quartus Prime开发流程

4.2.1 典型的FPGA开发流程

4.2.2 创建Quartus Prime工程

4.2.3 设计输入

4.2.4 编译

4.2.5 分配管脚

4.2.6 仿真

4.2.7 器件配置

4.3 实验指导

4.3.1 流水灯实验

4.3.2 按键实验

4.3.3 PLL实验

第二部分 FPGA开发方法篇

第5章 FPGA设计工具

5.1 编译报告

5.1.1 源文件读取报告

5.1.2 资源使用报告

5.1.3 动态综合报告

5.2 网表查看工具

5.2.1 RTL Viewer

5.2.2 Technology Map Viewer

5.2.3 State Machine Viewer

5.3 物理约束

5.3.1 物理约束设计

5.3.2 Assignment Editor

5.3.3 QSF文件设置

5.4 时序分析工具

5.4.1 TimeQuest Timing Analyzer的GUI图形交互界面

5.4.2 任务窗格(Tasks)

5.4.3 创建时序数据库(Netlist Setup)

5.4.4 常用的约束报告

5.4.5 报告窗格(Report Pane)

5.4.6 时序异常(Exceptions)

5.4.7 关于SDC的最后说明

5.5 功耗分析工具

5.5.1 功耗考虑因素

5.5.2 功耗分析工具比较

5.5.3 EPE电子表格

5.5.4 Power Analyzer

5.6 片上调试工具

5.6.1 Quartus Prime软件中的片上调试工具

5.6.2 Signal Probe Pin(信号探针)

5.6.3 SignalTap Ⅱ嵌入式逻辑分析仪

第6章 基于英特尔FPGA的SOPC开发

6.1 SOPC技术简介

6.2 IP核与Nios处理器

6.2.1 基于IP硬核的SOPC

6.2.2 基于IP软核的SOPC

6.3 构建SOPC系统

6.3.1 Platform Designer

6.3.2 SOPC设计工具

6.4 SOPC开发实战

6.4.1 SOPC系统设计

6.4.2 SOPC硬件设计

6.4.3 SOPC软件设计

第7章 基于英特尔FPGA的HLS开发

7.1 HLS的基本概念

7.2 HLS的基本开发流程

7.2.1 HLS的安装

7.2.2 核心算法代码

7.2.3 功能验证

7.2.4 生成硬件代码

7.2.5 模块代码优化

7.2.6 HLS的Modelsim仿真

7.2.7 集成HLS代码到FPGA系统

7.2.8 HDL实例化

7.2.9 添加IP路径到Qsys系统

7.3 HLS的多种接口及其使用场景

7.3.1 标准接口

7.3.2 隐式的Avalon MM Master接口

7.3.3 显式的Avalon MM Master接口

7.3.4 Avalon MM Slave接口

7.3.5 Avalon Streaming接口

7.4 HLS简单的优化技巧

第8章 基于英特尔FPGA的OpenCL异构技术

8.1 OpenCL基本概念

8.1.1 异构计算简介

8.1.2 OpenCL基础知识

8.1.3 OpenCL语言简介

8.2 基于英特尔FPGA的OpenCL开发环境

8.2.1 英特尔FPGA的OpenCL解决方案

8.2.2 系统要求

8.2.3 环境安装

8.2.4 设置环境变量

8.2.5 初始化并检测OpenCL环境

8.3 主机端Host程序设计

8.3.1 建立Platform环境

8.3.2 创建Program与Kernel

8.3.3 Host与Kernel的交互

8.3.4 OpenCL的内核执行

8.3.5 Host端程序示例

8.4 设备端Kernel程序设计流程

8.4.1 Kernel编译

8.4.2 功能验证

8.4.3 静态分析

8.4.4 动态分析

第三部分 人工智能应用篇

第9章 人工智能简介

9.1 FPGA在人工智能领域的独特优势

9.1.1 确定性低延迟

9.1.2 灵活可配置

9.1.3 针对卷积神经网络的特殊优化

9.2 人工智能的概念

9.3 人工智能的发展史

9.3.1 早期的兴起与低潮

9.3.2 人工智能的诞生

9.3.3 人工智能的“冬天”

9.3.4 交叉学科的兴起

9.3.5 云计算与大数据时代的来临

9.4 人工智能的应用

9.4.1 智能决策

9.4.2 最优路径规划

9.4.3 智能计算系统

9.5 人工智能的限制

9.6 人工智能的分类

9.6.1 弱人工智能

9.6.2 强人工智能

9.6.3 超人工智能

9.7 人工智能的发展及其基础

9.7.1 矩阵论

9.7.2 应用统计

9.7.3 回归分析与方差分析

9.7.4 数值分析

第10章 深度学习

10.1 深度学习的优势

10.2 深度学习的概念

10.3 神经网络的基本构成

10.3.1 神经元的基本原理

10.3.2 全连接神经网络

10.3.3 卷积神经网络

10.3.4 常见的卷积神经网络

10.4 常见的深度学习数据集

10.5 深度学习的应用挑战

第11章 基于英特尔FPGA进行深度学习推理

11.1 视频监控

11.2 视觉系统架构

11.2.1 物理特征的捕捉

11.2.2 预处理

11.2.3 高级处理

11.3 计算机视觉的常见任务

11.3.1 图形图像分割

11.3.2 对象检测

11.3.3 对象分类

11.3.4 面部识别

11.3.5 其他任务

11.4 计算机视觉的基础

11.4.1 深度学习框架

11.4.2 OpenCL

11.4.3 OpenCV

11.4.4 OpenVINO

11.5 使用OpenVINO工具在英特尔FPGA上部署深度学习推理应用

11.5.1 OpenVINO工具

11.5.2 端到端机器学习

11.5.3 OpenVINO安装

11.5.4 模型优化器

11.5.5 推理引擎

后记

反侵权盗版声明

后折页

封底

FPGA的人工智能之路:基于IntelFPGA开发的入门到实践是2020年由电子工业出版社出版,作者张瑞。

得书感谢您对《FPGA的人工智能之路:基于IntelFPGA开发的入门到实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Java 开发从入门到精通 电子书
本书由浅入深地详细讲解了Java的开发技术,并通过具体实例的实现过程演练了各个知识点的具体使用流程。本书共20章,第1~2章讲解了Java技术的基础知识,包括Java印象和首段Java程序;第3~9章分别讲解了Java语法、条件语句、循环语句、数组、面向对象等知识,这些内容都是Java开发技术的核心知识;第10~14章分别讲解了集合、类库、泛型、异常处理、I/O和文件处理的基本知识,这些内容是Ja
C++ 开发从入门到精通 电子书
本书的特色是实现了入门知识、实例演示、范例演练、技术解惑、综合实战5大部分内容的融合,让读者看得懂、用得上、学得会。 一本书的容量,讲解了入门类、范例类和项目实战类三类图书的内容。 丰富的配套资源学习更高效 440个实例,更多的实践演练机会 837分钟视频讲解,降低学习难度 290个拓展实例,真正地举一反三 101个技术解惑,破解学习难点 “技术讲解”→范例演练”→“技术解惑”贯穿全书,全面掌握C++语言开发 技术讲解:通过145个实例,循序渐进地讲解了C开发的各个知识点。 范例演练:290个拓展范例和5个综合实例,使读者真正具有项目实战能力。 技术解惑:把容易混淆的概念单独讲解和剖析,帮助读者绕过学习中的陷阱。 QQ群 网站论坛实现教学互动,形成互帮互学的朋友圈 网站论坛:读者答疑/学习辅导/PPT资源下载读者 QQ群:疑惑快速解答/和作者直接交流
C语言开发从入门到精通 电子书
本书循序渐进、由浅入深地详细讲解了C语言开发的技术,并通过具体实例的实现过程演练了各个知识点的具体使用流程。全书共22章,第1~4章分别讲解了C语言开发的基础知识,包括C语言简介,安装开发工具等;第5~10章分别讲解了函数、输入/输出、流程控制、数组操作等知识,这些内容都是C语言技术的核心知识;第11~20章分别讲解了指针、结构体、共用体和枚举、链表、位运算、预编译、文件操作、错误调试和高级编程技
Visual Basic 开发从入门到精通 电子书
本书由浅入深地详细讲解了VisualBasic(简称VB)的开发技术,并通过具体实例的实现过程演示了各个知识点的具体应用。全书共24章,其中第1章讲解了VisualBasic技术的基础知识,包括搭建开发环境和编写首段VisualBasic程序;第2~10章分别讲解了VisualBasic的基础语法、条件语句、流程控制、数组、函数和控件应用等知识,这些内容都是VisualBasic开发技术的核心知识
移动Web开发从入门到精通 电子书
本书以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍了移动Web开发的相关知识和实战技能。本书第1篇【基础知识】主要讲解网页和网站制作基础、搭建移动Web开发环境、打造移动Web应用程序等;第2篇【核心技术】主要讲解与移动Web开发相关的核心技术和工具,包括HTML、HTML5、CSS、JavaScript、jQueryMobile、PhoneGap等,还通过实例介绍了移动设备网页的开发方法