FPGA进阶开发与实践

FPGA进阶开发与实践

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

    关注微信公众号

因版权原因待上架

编辑推荐

FPGA设计与优化方法:硬件设计、软件设计、实际问题解决,提升开发设计能力。

内容简介

本书共分6章内容,主要包括目前两个类别的FPGA的设计与优化方法,包括硬件设计与优化方法以及软件设计与优化方法,通过介绍FPGA这两个类别的设计与优化方法,展示了使用FPGA解决实际问题的具体过程。本书硬件设计方法包括了FPGA的高阶设计与优化方法、FPGA SOPC设计方法以及FPGA SoC设计方法,软件设计方法包含FPGA HLS、OpenCL、OpenVINO高阶软件设计方法。力争通过深入浅出的语言描述介绍FPGA的软硬件设计与优化方法,并通过实例分析将读者的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 模型转换验证

后折页

封底

FPGA进阶开发与实践是2020年由电子工业出版社出版,作者田亮。

得书感谢您对《FPGA进阶开发与实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Intel FPGA/CPLD设计(高级篇) 电子书
本书作者凭借多年工作经验,深入地讨论了IntelFPGA/CPLD的设计和优化技巧。在讨论FPGA/CPLD设计指导原则的基础上,介绍了IntelFPGA器件的高-级应用;引-领读者学习逻辑锁定设计工具,详细讨论了时序约束与静态时序分析的方法;针对市场应用需求,分别介绍了SoCFPGA和OpenCL系统应用技术;结合实例讨论如何进行设计优化,介绍了Intel的可编程器件的高-级设计工具与系统级设计
Intel FPGA/CPLD设计.基础篇 电子书
本书结合作者多年工作经验,系统地介绍了FPGA/CPLD的基本设计方法。在介绍FPGA/CPLD概念的基础上,介绍了Intel主流FPGA/CPLD的结构与特点,并通过丰富的实例讲解QuartusⅡ与ModelSim、SynplifyPro等常用EDA工具的开发流程。本书所有实例的完整工程、源代码和使用说明文件,都以云存储的方式存放在云端,读者可以通过扫描二维码的方式进行下载。本书可作为高等院校通
H5安全开发实践教程 电子书
本书为教育部信息化新核心课程(NCC)融媒体专业系列教材,从前端、通信及服务器端这3个方面对H5开发中的安全技术和技巧进行介绍。本书共3篇,第1篇主要介绍在H5应用前端开发中对用户输入信息进行验证的方法;第2篇主要介绍H5应用通信方面的安全防护技术;第3篇主要介绍H5应用服务器端的安全防护技术,并结合两个实例对H5应用的安全防护进行整体介绍。本书适合作为高校教材,供计算机、软件工程、信息安全、网络
PyQt编程快速上手:PythonGUI开发从入门到实践 电子书
PyQt实用工具书,帮助读者快速上手功能强大的开发工具,轻松掌握GUI开发技巧,创建各式各样的桌面程序。
Bootstrap与移动应用开发 电子书
1、选取知识点核心实用,以互联网+实现终身学习2、以企业需求为设计导向,以任务驱动为讲解方式3、以案例为主线组织知识点,以实战项目来提升技术4、充分考虑学习者的认知曲线,由浅入深,边讲边练