计算机
类型
可以朗读
语音朗读
161千字
字数
2020-12-01
发行日期
展开全部
主编推荐语
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 模型转换验证
- 后折页
- 封底
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。