为你推荐
前折页
内容简介
前言
第一部分 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 推理引擎
后记
反侵权盗版声明
后折页
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜