-
内容大纲
本书内容共6章,主要介绍FPGA设计与优化方法,以及使用FPGA解决实际问题的具体过程。其中,硬件设计方法包括FPGA高阶设计方法,以及基于FPGA的SOPC和SoC设计方法;软件设计方法包括基于FPGA的HLS、OpenCL、OpenVINO高阶设计方法。
本书可作为相关开发人员进行FPGA设计、应用与优化的参考用书。 -
作者介绍
-
目录
第1章 FPGA高阶设计方法
1.1 可编程逻辑设计原则
1.1.1 面积与速度互换原则
1.1.2 数字电路硬件原则
1.1.3 系统设计原则
1.1.4 同步设计原则
1.2 可编程逻辑常用设计思想和技巧
1.2.1 乒乓操作
1.2.2 串并转换
1.2.3 流水操作
1.2.4 异步时钟域的数据同步
1.2.5 英特尔推荐的Coding Style
1.3 英特尔FPGA器件的高级特性与应用
1.3.1 时钟管理
1.3.2 片内存储器
1.3.3 数字信号处理
1.3.4 片外存储器
1.3.5 高速差分接口
1.3.6 高速串行收发器
1.4 时序约束与时序分析
1.4.1 时序约束和分析基础
1.4.2 高级时序分析
1.5 区域约束
1.5.1 Logic Lock设计方法简介
1.5.2 Logic Lock区域
1.6 命令行与Tcl脚本
1.6.1 命令行
1.6.2 Tcl基础知识
1.6.3 创建和执行Tcl脚本
1.6.4 Tcl脚本实验
1.7 FPGA系统设计技术
1.7.1 信号完整性设计
1.7.2 电源完整性设计
1.7.3 高速I/O设计
1.7.4 高速I/O的PCB设计
第2章 基于FPGA的SOPC设计
2.1 SOPC开发流程
2.1.1 硬件开发流程
2.1.2 软件开发流程
2.2 系统集成工具Qsys
2.2.1 Qsys简介
2.2.2 Qsys系统设计流程
2.2.3 Qsys用户界面
2.2.4 用户自定义元件
2.3 Nios嵌入式处理器
2.3.1 第一代Nios嵌入式处理器
2.3.2 第二代Nios嵌入式处理器
2.3.3 可配置的软核嵌入式处理器的优势
2.3.4 软件设计实例
2.3.5 HAL系统库
2.4 基于FPGA的SOPC设计实验
2.4.1 实验一:流水灯实验
2.4.2 实验二:中断控制实验
2.4.3 实验三:定时器实验
第3章 基于FPGA的SoC设计
3.1 SoC FPGA简介
3.2 英特尔SoC FPGA的特点
3.3 Cyclone Ⅴ SoC FPGA资源组成
3.4 开发SoC FPGA所需的工具
3.4.1 Quartus Prime
3.4.2 SoC EDS
3.5 SoC FPGA中HPS与FPGA的接口
3.5.1 H2F_AXI_Master
3.5.2 F2H_AXI_Slave
3.5.3 H2F_LW_AXI_Master
3.5.4 连接AXI总线与Avalon-MM总线
3.5.5 MPU外设地址映射
3.6 SoC FPGA开发
3.6.1 SoC FPGA开发流程
3.6.2 SoC FPGA启动过程
3.6.3 使用GHRD
3.6.4 生成Preloader Image
3.6.5 编译生成u-boot文件
3.6.6 生成Root Filesystem
3.6.7 配置和编译Linux内核
3.6.8 系统镜像制作及刻录方法
3.6.9 DS-5程序的编写、调试及运行
3.7 Linux相关知识
3.7.1 安装Ubuntu虚拟机
3.7.2 下载Linux系统源码
3.8 常见问题
3.9 基于FPGA的SoC设计实验
3.9.1 实验一:生成Preloader源码
3.9.2 实验二:编译Preloader源码
3.9.3 实验三:编译生成u-boot文件
3.9.4 实验四:配置和编译Linux内核
第4章 基于FPGA的HLS技术与应用
4.1 HLS简介
4.2 优化的依据
4.3 循环优化
4.3.1 并行与管道
4.3.2 性能度量
4.3.3 循环依赖
4.3.4 明确循环的退出条件
4.3.5 线性操作
4.3.6 循环展开
4.3.7 嵌套循环
4.4 代码优化
4.4.1 避免指针别名
4.4.2 最小化内存依赖
4.4.3 将嵌套循环改为单层循环
4.5 指令优化
4.5.1 ivdep指令
4.5.2 loop_coalesce指令
4.5.3 ii和max_concurrency指令
4.6 内存优化
4.6.1 本地内存
4.6.2 内存架构
4.6.3 本地内存的属性
4.6.4 静态变量
4.6.5 寄存器的使用
4.7 接口优化
4.7.1 标准接口
4.7.2 Avalon MM Master接口
4.7.3 Avalon MM Slave接口
4.7.4 流式接口
4.7.5 不使用指针的标准接口
4.8 数据类型优化
4.8.1 任意精度的整数
4.8.2 任意精度的定点数
4.8.3 特殊数据类型与普通数据类型之间的转换
4.9 浮点运算优化
4.10 其他优化建议
4.11 基于FPGA的HLS实验
4.11.1 实验一:简单的乘法器
4.11.2 实验二:接口
4.11.3 实验三:循环优化
第5章 基于FPGA的OpenCL技术与应用
5.1 OpenCL简介
5.2 OpenCL环境搭建
5.3 OpenCL基本架构
5.3.1 平台模型
5.3.2 执行模型
5.3.3 存储模型
5.3.4 执行流程
5.4 OpenCL主机端程序设计
5.4.1 OpenCL平台
5.4.2 OpenCL设备
5.4.3 OpenCL上下文
5.4.4 OpenCL命令队列
5.4.5 OpenCL程序对象
5.4.6 OpenCL内核对象
5.4.7 OpenCL对象回收与错误处理
5.5 OpenCL设备端程序设计
5.5.1 基本语法和关键字
5.5.2 数据类型
5.5.3 维度和工作项
5.5.4 其他注意事项
5.6 OpenCL常用优化方法
5.6.1 单工作项优化
5.6.2 循环优化
5.6.3 任务并行优化
5.6.4 NDRange类型内核的优化
5.6.5 内存访问优化
5.7 OpenCL编程原则
5.7.1 避免“昂贵”的函数和方法
5.7.2 使用“廉价”的数据类型
5.8 基于FPGA的OpenCL实验
5.8.1 准备工作
5.8.2 实验一:hello
5.8.3 实验二:platform
5.8.4 实验三:device
5.8.5 实验四:ctxt_and_queue
5.8.6 实验五:program_and_kernel
5.8.7 实验六:sample
5.8.8 实验七:first
第6章 基于FPGA的OpenVINO人工智能应用
6.1 OpenVINO简介
6.1.1 OpenVINO工具套件堆栈
6.1.2 OpenVINO的优势
6.1.3 应用前景
6.2 OpenVINO的安装与验证
6.2.1 安装步骤
6.2.2 验证安装结果
6.3 OpenVINO中的模型优化器
6.3.1 模型优化器的作用
6.3.2 优化模型
6.3.3 模型优化器高级应用
6.3.4 模型优化器定制层
6.4 OpenVINO深度学习推理引擎
6.4.1 推理引擎简介
6.4.2 推理引擎的组成
6.4.3 推理引擎的使用方法
6.4.4 扩展推理引擎内核
6.4.5 集成推理引擎
6.4.6 神经网络构建器
6.4.7 动态批处理
6.4.8 形状推理
6.4.9 低精度8位整数推理
6.4.10 模型转换验证
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...