万本电子书0元读

万本电子书0元读

顶部广告

Xilinx Zynq系列SoC嵌入式系统应用与人工智能实现:基于Arm多核处理器和Vivado的设计方法电子书

涵盖Xilinx Zynq-7000 SoC和Zynq UltraScale+ MPSoC系统介绍Arm Cortex-A系列处理器理论知识采用新版本Ubuntu桌面操作系统和Vivado设计套件将Xilinx HLS工具引入图像处理和人工智能硬件加速器设计将人工智能一体化解决方法与Zynq系列SoC深度融合

售       价:¥

纸质售价:¥99.00购买纸书

10人正在读 | 0人评论 6.6

作       者:何宾,李天凌,等

出  版  社:电子工业出版社

出版时间:2024-06-01

字       数:45.3万

所属分类: 科技 > 工业技术 > 航空/电子

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是对《Xilinx Zynq-7000嵌式系统设计与实现:基于Arm Cortex-A9双核处理器和Vivado的设计方法(第二版)》一书的一次重要修订,全书共包含30章,主要内容包括Xilinx Zynq系列SoC设计导论、AMBA规范、Zynq-7000系统公共资源和特性、Zynq-7000调试和测试子系统、Cortex-A9处理器指令集、Cortex-A9片上存储器系统结构和功能、Zynq-7000 SoC的Vivado基本设计流程、Zynq-7000 GPIO原理和控制、Cortex-A0异常与中断原理和实现、Cortex-A9定时器原理及实现、Cortex-A9 DMA控制器原理和实现、Cortex-A9安全性扩展、Cortex-A9 NEON原理和实现、Zynq-7000的可编程逻辑资源、Zynq-7000的互联结构、Zynq-7000 SoC内定制简单AXI-Lite IP、Zynq-7000 SoC内定制复杂AXI Lite IP、Zynq-7000 AXI HP数据传输原理和实现、Zynq-7000 ACP数据传输原理和实现、Zynq-7000软件与硬件协同调试原理和实现、Zynq-7000 SoC启动与配置原理和实现、Linux发环境的构建、Zynq-7000 SoC内Ubuntu硬件运行环境的构建、Zynq-7000 SoC内Ubuntu软件运行环境的构建、Linux环境下简单字符设备驱动程序的发、Linux环境下包含中断机制驱动程序的发、Linux环境下图像处理系统的构建、Zynq-7000 SoC上构建和实现Python应用、手写体识别模型训练与推理一体化设计和实现,以及基于KR260平台的人体姿态识别的实现。<br/>【作者】<br/>何宾,知名的嵌式和EDA技术专家,长期从事电子设计自动化方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商密切合作。已经出版电子信息方面的著作共40余部,内容涵盖电路仿真、电路设计、FPGA、数字信号处理、单片机、嵌式系统等。典型的代表作有《模拟电子系统设计指南(基础篇):从半导体、分立元件到TI集成电路的分析与实现》、《模拟电子系统设计指南(实践篇):从半导体、分立元件到TI集成电路的分析与实现》、《Xilinx Zynq-7000嵌式系统设计与实现-基于ARM Cortex-A9双核处理器和Vivado的设计方法》、《Altium Designer17一体化设计标准教程-从仿真原理和PCB设计到单片机系统》、《STC8系列单片机发指南:面向处理器、程序设计和操作系统的分析与应用》等。<br/>
目录展开

内容简介

前言

第1章 Xilinx Zynq系列SoC设计导论

1.1 全可编程SoC基础知识

1.1.1 全可编程SoC的演进

1.1.2 SoC与MCU和CPU的比较

1.1.3 全可编程SoC诞生的背景

1.1.4 全可编程SoC的技术特点

1.1.5 全可编程SoC中的处理器类型

1.2 Arm架构及分类

1.2.1 M-Profile

1.2.2 R-Profile

1.2.3 A-Profile

1.3 Zynq-7000 SoC的功能和结构

1.3.1 Zynq-7000 SoC产品的分类及资源

1.3.2 Zynq-7000 SoC的功能

1.3.3 Zynq-7000 SoC内的PS的构成

1.3.4 Zynq-7000 SoC内的PL的构成

1.3.5 Zynq-7000 SoC内的互联结构

1.3.6 Zynq-7000 SoC的供电引脚

1.3.7 Zynq-7000 SoC内MIO到EMIO的连接

1.3.8 Zynq-7000 SoC内为PL分配的信号

1.4 Zynq UltraScale+MPSoC的功能和结构

1.4.1 Zynq UltraScale+MPSoC产品的分类及资源

1.4.2 Zynq UltraScale+MPSoC的结构

1.4.3 Zynq UltraScale+MPSoC的供电区域

1.4.4 Zynq UltraScale+MPSoC PS-PL AXI接口

第2章 AMBA规范

2.1 AMBA规范的发展

2.1.1 AMBA 1

2.1.2 AMBA 2

2.1.3 AMBA 3

2.1.4 AMBA 4

2.1.5 AMBA 5

2.2 AMBA APB规范

2.2.1 AMBA APB写传输

2.2.2 AMBA APB读传输

2.2.3 AMBA APB错误响应

2.2.4 操作状态

2.2.5 AMBA 3 APB信号

2.3 AMBA AHB规范

2.3.1 AMBA AHB的结构

2.3.2 AMBA AHB操作

2.3.3 AMBA AHB的传输类型

2.3.4 AMBA AHB的猝发操作

2.3.5 AMBA AHB的传输控制信号

2.3.6 AMBA AHB地址译码

2.3.7 AMBA AHB从设备传输响应

2.3.8 AMBA AHB数据总线

2.3.9 AMBA AHB传输仲裁

2.3.10 AMBA AHB分割传输

2.3.11 AMBA AHB复位

2.3.12 关于AHB数据总线的位宽

2.3.13 AMBA AHB接口设备

2.4 AMBA AXI4规范

2.4.1 AMBA AXI4概述

2.4.2 AMBA AXI4的功能

2.4.3 AMBA AXI4的互联结构

2.4.4 AXI4-Lite的功能

2.4.5 AXI4-Stream的功能

第3章 Zynq-7000系统的公共资源和特性

3.1 时钟子系统

3.1.1 时钟子系统的架构

3.1.2 CPU时钟域

3.1.3 时钟编程实例

3.1.4 时钟子系统内的生成电路结构

3.2 复位子系统

3.2.1 复位子系统的结构

3.2.2 复位流程

3.2.3 复位结果

第4章 Zynq-7000 SoC调试和测试子系统

4.1 JTAG和DAP子系统

4.1.1 JTAG和DAP子系统的功能

4.1.2 JTAG和DAP子系统I/O信号

4.1.3 编程模型

4.1.4 Arm DAP控制器

4.1.5 TPIU

4.1.6 Xilinx TAP控制器

4.2 CoreSight系统的结构及功能

4.2.1 CoreSight系统的结构

4.2.2 CoreSight系统的功能

第5章 Cortex-A9处理器及其指令集

5.1 应用处理单元概述

5.1.1 基本功能

5.1.2 系统级视图

5.2 Cortex-A9处理器的结构

5.2.1 处理器模式

5.2.2 寄存器

5.2.3 流水线

5.2.4 分支预测

5.2.5 指令和数据对齐

5.2.6 跟踪和调试

5.3 Cortex-A9处理器的指令集

5.3.1 指令集基础

5.3.2 数据处理操作

5.3.3 存储器指令

5.3.4 分支

5.3.5 饱和算术

5.3.6 杂项指令

第6章 Cortex-A9片上存储器系统的结构和功能

6.1 L1高速缓存

6.1.1 高速缓存的背景

6.1.2 高速缓存的优势和问题

6.1.3 存储器的层次

6.1.4 高速缓存的结构

6.1.5 缓存策略

6.1.6 写和取缓冲区

6.1.7 缓存性能和命中速度

6.1.8 无效和清除缓存

6.1.9 一致性点和统一性点

6.1.10 Zynq-7000 SoC中的Cortex-A9 L1高速缓存的特性

6.2 存储器访问顺序

6.2.1 普通、设备和强顺序存储器模型

6.2.2 存储器属性

6.2.3 存储器屏障

6.3 存储器管理单元

6.3.1 MMU功能描述

6.3.2 虚拟存储器

6.3.3 转换表

6.3.4 页表入口域的描述

6.3.5 TLB的构成

6.3.6 存储器访问顺序

6.4 侦听控制单元

6.4.1 地址过滤

6.4.2 SCU主设备端口

6.5 L2高速缓存

6.5.1 互斥L2-L1高速缓存配置

6.5.2 高速缓存替换策略

6.5.3 高速缓存锁定

6.5.4 使能/禁止L2高速缓存控制器

6.5.5 RAM访问延迟控制

6.5.6 保存缓冲区操作

6.5.7 Cortex-A9处理器和L2高速缓存控制器之间的优化

6.5.8 预取操作

6.5.9 编程模型

6.6 片上存储器

6.6.1 片上存储器概述

6.6.2 片上存储器的功能

6.7 系统地址空间分配

6.7.1 地址映射

6.7.2 系统总线主设备

6.7.3 I/O外设

6.7.4 SMC存储器

6.7.5 SLCR

6.7.6 PS系统寄存器

6.7.7 CPU私有寄存器

第7章 Zynq-7000SoC的Vivado基本设计流程

7.1 创建新的工程

7.2 使用IP集成器创建处理器系统

7.3 生成顶层HDL并导出设计到SDK

7.4 创建应用测试程序

7.5 设计验证

7.5.1 验证前的硬件平台准备

7.5.2 设计验证的具体实现

7.6 SDK调试工具的使用

7.6.1 打开前面的设计工程

7.6.2 导入工程到SDK

7.6.3 建立新的存储器测试工程

7.6.4 运行存储器测试工程

7.6.5 调试存储器测试工程

7.7 SDK性能分析工具

第8章 Zynq-7000 SoC GPIO原理和控制实现

8.1 GPIO模块的原理

8.1.1 GPIO接口及其功能

8.1.2 GPIO编程流程

8.1.3 I/O接口

8.1.4 部分寄存器说明

8.1.5 底层读/写函数说明

8.1.6 GPIO的API函数说明

8.2 Vivado集成开发环境下MIO读/写控制的实现

8.2.1 调用底层读/写函数编写GPIO应用程序

8.2.2 调用API函数编写GPIO应用程序

8.3 Vivado集成开发环境下EMIO读/写控制的实现

8.3.1 调用底层读/写函数编写GPIO应用程序

8.3.2 调用API函数编写GPIO应用程序

第9章 Cortex-A9异常与中断原理和实现

9.1 异常原理

9.1.1 异常类型

9.1.2 异常处理

9.1.3 其他异常句柄

9.1.4 Linux异常程序流

9.2 中断原理

9.2.1 外部中断请求

9.2.2 Zynq-7000 SoC内的中断环境

9.2.3 中断控制器的功能

9.3 Vivado集成开发环境下中断系统的实现

9.3.1 Cortex-A9处理器中断及异常的初始化流程

9.3.2 Cortex-A9处理器的GPIO控制器的初始化流程

9.3.3 导出硬件设计到SDK

9.3.4 创建新的应用工程

9.3.5 运行应用工程

第10章 Cortex-A9定时器原理和控制实现

10.1 定时器的系统结构

10.1.1 CPU私有定时器和看门狗定时器

10.1.2 全局定时器/计数器

10.1.3 系统级看门狗定时器

10.1.4 3重定时器/计数器

10.1.5 I/O信号

10.2 Vivado集成开发环境下定时器的控制实现

10.2.1 打开前面的设计工程

10.2.2 创建SDK软件工程

10.2.3 运行软件应用工程

第11章 Cortex-A9 DMA控制器原理和实现

11.1 DMA控制器的结构

11.2 DMA控制器的功能

11.2.1 考虑AXI交易的因素

11.2.2 DMA管理器

11.2.3 多通道FIFO(MFIFO)

11.2.4 存储器—存储器交易

11.2.5 PL外设AXI交易

11.2.6 PL外设请求接口

11.2.7 PL外设长度管理

11.2.8 DMAC的长度管理

11.2.9 事件和中断

11.2.10 异常终止

11.2.11 安全性

11.2.12 IP配置选项

11.3 DMA控制器编程指南

11.3.1 启动控制器

11.3.2 执行DMA传输

11.3.3 中断服务例程

11.3.4 寄存器描述

11.4 DMA引擎编程指南

11.4.1 写微代码编程用于AXI交易的CCRx

11.4.2 存储器到存储器的传输

11.4.3 PL外设DMA传输长度管理

11.4.4 使用一个事件重新启动DMA通道

11.4.5 中断一个处理器

11.4.6 指令集参考

11.5 编程限制

11.6 系统功能之控制器复位配置

11.7 I/O接口

11.7.1 AXI主接口

11.7.2 外设请求接口

11.8 Vivado集成开发环境下DMA传输的实现

11.8.1 DMA控制器初始化流程

11.8.2 中断控制器初始化流程

11.8.3 中断服务句柄处理流程

11.8.4 导出硬件设计到SDK

11.8.5 创建新的应用工程

11.8.6 运行软件应用工程

第12章 Cortex-A9安全性扩展

12.1 TrustZone硬件架构

12.1.1 多核系统的安全性扩展

12.1.2 非安全世界和安全世界的交互

12.2 Zynq-7000 SoC APU内的TrustZone

12.2.1 CPU安全过渡

12.2.2 CP15寄存器访问控制

12.2.3 MMU安全性

12.2.4 L1高速缓存安全性

12.2.5 安全异常控制

12.2.6 CPU调试TrustZone访问控制

12.2.7 SCU寄存器访问控制

12.2.8 L2高速缓存中的TrustZone支持

第13章 Cortex-A9 NEON原理和实现

13.1 SIMD

13.2 NEON架构

13.2.1 与VFP的共性

13.2.2 数据类型

13.2.3 NEON寄存器

13.2.4 NEON指令集

13.3 NEON C编译器和汇编器

13.3.1 向量化

13.3.2 检测NEON

13.4 NEON优化库

13.5 SDK工具提供的优化选项

13.6 NEON内联函数

13.6.1 NEON数据类型

13.6.2 NEON内联函数的用法

13.7 优化NEON汇编器代码

13.8 提高存储器访问效率

13.9 自动向量化实现

13.9.1 导出硬件设计到SDK

13.9.2 创建新的应用工程

13.9.3 运行软件应用工程

13.10 NEON汇编代码实现

13.10.1 导出硬件设计到SDK

13.10.2 创建新的应用工程

13.10.3 运行软件应用工程

第14章 Zynq-7000 SoC的PL资源

14.1 PL资源概述

14.2 PL资源的功能

14.2.1 CLB、切片和LUT

14.2.2 时钟管理

14.2.3 块RAM

14.2.4 数字信号处理-DSP切片

14.2.5 I/O

14.2.6 低功耗串行收发器

14.2.7 PCI-E模块

14.2.8 XADC

14.2.9 配置

第15章 Zynq-7000 SoC的互联结构

15.1 系统互联架构

15.1.1 互联模块及其功能

15.1.2 数据路径

15.1.3 时钟域

15.1.4 连接性

15.1.5 AXI ID

15.1.6 GPV寄存器概述

15.2 服务质量

15.2.1 基本仲裁

15.2.2 高级QoS

15.2.3 DDR端口仲裁

15.3 AXI_HP接口

15.3.1 AXI_HP接口的结构及特点

15.3.2 接口数据宽度

15.3.3 交易类型

15.3.4 命令交替和重新排序

15.3.5 性能优化总结

15.4 AXI_ACP接口

15.5 AXI_GP接口

15.6 AXI信号总结

15.7 PL接口选择

15.7.1 使用通用主设备端口的Cortex-A9处理器

15.7.2 使用通用主设备的PS DMA控制器

15.7.3 使用高性能接口的PL DMA

15.7.4 使用AXI ACP的PL DMA

15.7.5 使用通用AXI从(GP)的PL DMA

第16章 在Zynq-7000 SoC内定制简单AXI-Lite IP

16.1 设计原理

16.2 定制AXI-Lite IP

16.2.1 创建定制IP模板

16.2.2 修改定制IP模板

16.2.3 使用IP封装器封装外设

16.3 打开并添加IP到设计中

16.3.1 打开工程和修改设置

16.3.2 添加定制IP到设计

16.3.3 添加XDC约束文件

16.4 导出硬件到SDK

16.5 建立和验证软件应用工程

16.5.1 建立应用工程

16.5.2 下载硬件比特流文件到FPGA

16.5.3 运行应用工程

第17章 在Zynq-7000 SoC内定制复杂AXI-Lite IP

17.1 设计原理

17.1.1 VGA IP核的设计原理

17.1.2 移位寄存器IP核的设计原理

17.2 定制VGA IP核

17.2.1 创建定制VGA IP模板

17.2.2 修改定制VGA IP模板

17.2.3 使用IP封装器封装VGA IP

17.3 定制移位寄存器IP核

17.3.1 创建定制SHIFTER IP模板

17.3.2 修改定制SHIFTER IP模板

17.3.3 使用IP封装器封装SHIFTER IP

17.4 打开并添加IP到设计

17.4.1 打开工程和修改设置

17.4.2 添加定制IP到设计

17.4.3 添加XDC约束文件

17.5 导出硬件到SDK

17.6 建立和验证软件工程

17.6.1 建立应用工程

17.6.2 下载硬件比特流文件到FPGA

17.6.3 运行应用工程

第18章 Zynq-7000AXIHP数据传输原理和实现

18.1 设计原理

18.2 构建硬件系统

18.2.1 打开工程和修改设置

18.2.2 添加并连接AXI DMA IP核

18.2.3 添加并连接FIFO IP核

18.2.4 连接DMA中断到PS

18.2.5 验证和建立设计

18.3 建立和验证软件工程

18.3.1 导出硬件到SDK

18.3.2 创建软件应用工程

18.3.3 下载硬件比特流文件到FPGA

18.3.4 运行应用工程

第19章 Zynq-7000 ACP数据传输原理和实现

19.1 设计原理

19.2 打开前面的设计工程

19.3 配置PS端口

19.4 添加并连接IP到设计

19.4.1 添加IP到设计

19.4.2 系统连接

19.4.3 分配地址空间

19.5 使用SDK设计和实现应用工程

19.5.1 创建新的软件应用工程

19.5.2 导入应用程序

19.5.3 下载硬件比特流文件到FPGA

19.5.4 运行应用工程

第20章 Zynq-7000 SoC软件与硬件协同调试原理和实现

20.1 设计目标

20.2 ILA核的原理

20.2.1 ILA触发器输入逻辑

20.2.2 多触发器端口的使用

20.2.3 使用触发和存储限制条件

20.2.4 ILA触发器输出逻辑

20.2.5 ILA数据捕获逻辑

20.2.6 ILA控制与状态逻辑

20.3 VIO核的原理

20.4 构建协同调试硬件系统

20.4.1 创建新的设计工程

20.4.2 添加定制IP

20.4.3 添加ILA和VIO核

20.4.4 标记和分配调试网络

20.5 生成软件工程

20.6 S/H协同调试

第21章 Zynq-7000 SoC启动与配置原理和实现

21.1 Zynq-7000 SoC的启动过程

21.2 Zynq-7000 SoC的启动要求

21.2.1 供电要求

21.2.2 时钟要求

21.2.3 复位要求

21.2.4 模式引脚

21.3 Zynq-7000 SoC内的BootROM

21.3.1 BootROM的特性

21.3.2 BootROM的头部

21.3.3 启动设备

21.3.4 BootROM多启动和启动分区查找机制

21.3.5 调试状态

21.3.6 BootROM后状态

21.4 Zynq-7000 SoC设备配置接口

21.4.1 描述功能

21.4.2 器件的配置流程

21.4.3 配置PL

21.4.4 寄存器概述

21.5 生成SD卡镜像文件并启动

21.5.1 SD卡与XC7Z020接口设计

21.5.2 打开前面的设计工程

21.5.3 创建第一级启动引导

21.5.4 创建SD卡启动镜像

21.5.5 从SD卡启动引导系统

21.6 生成QSPI Flash镜像并启动

21.6.1 QSPI Flash接口

21.6.2 创建QSPI Flash镜像

21.6.3 从QSPI Flash启动引导系统

21.7 Cortex-A9双核系统的配置和运行

21.7.1 构建双核硬件系统工程

21.7.2 添加IP核

21.7.3 导出硬件设计到SDK

21.7.4 建立FSBL应用工程

21.7.5 建立CPU0应用工程

21.7.6 建立CPU1应用工程

21.7.7 修改工程设置

21.7.8 创建SD卡镜像文件

21.7.9 双核硬件系统的运行和测试

第22章 Linux开发环境的构建

22.1 构建虚拟机环境

22.2 安装和启动Ubuntu 16.04客户机操作系统

22.2.1 下载Ubuntu操作系统镜像

22.2.2 安装Ubuntu操作系统

22.2.3 设置共享文件夹

22.2.4 更换镜像下载源

22.3 安装FTP和配置FileZilla

22.3.1 在Linux操作系统中安装FTP

22.3.2 在Windows操作系统中配置FileZilla

22.4 安装和启动SSH与GIT组件

22.4.1 安装和启动SSH组件

22.4.2 安装和启动GIT组件

22.5 安装交叉编译环境

22.5.1 安装32位支持工具包

22.5.2 安装Vivado设计套件

22.6 安装和配置Qt集成开发工具

22.6.1 Qt集成开发工具的功能

22.6.2 构建计算机平台Qt集成开发环境

22.6.3 构建Arm平台Qt集成开发环境

第23章 Zynq-7000 SoC内Ubuntu硬件运行环境的构建

23.1 建立新的设计工程

23.2 添加自定义IP核路径

23.3 构建完整的硬件系统

23.3.1 创建块设计

23.3.2 添加和配置ZYNQ7 IP核

23.3.3 添加和配置VDMA IP核

23.3.4 添加和配置Video Timing Controller IP核

23.3.5 添加和配置AXI4-Stream to Video Out IP核

23.3.6 添加和配置HDMI IP核

23.3.7 添加和配置Dynamic Clock Generator IP核

23.3.8 添加和配置RGB2BGR IP核

23.3.9 添加和配置DVI_Transmitter IP核

23.3.10 添加和配置Concat IP核

23.3.11 连接IP核

23.4 设计有效性检查

23.5 添加设计约束文件

23.6 导出硬件设计到SDK

第24章 Zynq-7000 SoC内Ubuntu软件运行环境的构建

24.1 u-boot的原理和实现

24.1.1 下载u-boot源码

24.1.2 u-boot文件结构

24.1.3 u-boot的工作模式

24.1.4 修改u-boot启动配置和编译u-boot

24.1.5 SDK生成BOOT.bin文件及设备树

24.2 内核的结构和编译过程

24.2.1 内核的结构

24.2.2 下载Linux内核源码

24.2.3 内核版本

24.2.4 内核系统配置

24.2.5 Bootloader的启动过程

24.2.6 Linux内核的启动过程

24.2.7 添加驱动源码文件

24.2.8 修改内核配置文件

24.2.9 编译内核

24.3 设备树的原理和实现

24.3.1 设备树概述

24.3.2 设备树的数据格式

24.3.3 设备树的修改

24.3.4 设备树的编译

24.4 创建新的SD卡分区

24.5 复制boot分区的文件

24.6 文件系统的下载和验证

24.6.1 文件系统的下载

24.6.2 文件系统的验证

24.7 MATE桌面的安装

第25章 Linux环境下简单字符设备驱动程序的开发

25.1 驱动程序的必要性

25.2 Linux操作系统下的设备文件类型

25.3 Linux驱动程序的开发流程

25.4 Linux驱动程序的结构框架

25.4.1 加载和卸载函数模块

25.4.2 字符设备中重要的数据结构和函数

25.5 编写Makefile文件

25.6 编译驱动程序

25.7 编写测试程序

25.8 运行驱动程序

第26章 Linux环境下包含中断机制驱动程序的开发

26.1 设计原理

26.2 编写包含处理中断的驱动程序

26.2.1 驱动程序头文件

26.2.2 驱动的加载和卸载函数

26.2.3 初始化file_operations结构体

26.2.4 设备树的改写

26.3 编写Makefile文件

26.4 编译驱动程序

26.5 编写测试程序

26.6 测试驱动程序

第27章 Linux环境下图像处理系统的构建

27.1 系统的整体架构和功能

27.2 OV5640摄像头的性能

27.2.1 摄像头捕获模块的硬件

27.2.2 SCCB接口规范

27.2.3 写OV5640摄像头传感器模组寄存器操作

27.2.4 读OV5640摄像头传感器模组寄存器操作

27.2.5 OV5640摄像头传感器模组初始化流程

27.3 Vivado HLS工具实现拉普拉斯算子滤波算法设计

27.3.1 Vivado HLS工具的性能和优势

27.3.2 拉普拉斯算法与HDL之间的映射

27.4 图像处理系统的整体构建

27.5 图像处理系统软件设计

27.5.1 Ubuntu桌面系统的构建

27.5.2 Qt图像处理程序的开发

27.6 嵌入式图像处理系统测试

第28章 在Zynq-7000 SoC上构建和实现Python应用

28.1 设计所需的硬件和软件环境

28.2 构建PetaLinux开发环境

28.2.1 PetaLinux开发环境概述

28.2.2 安装32位库

28.2.3 安装并测试TFTP服务器

28.2.4 下载并安装PetaLinux

28.3 构建嵌入式硬件系统

28.3.1 下载并安装Vivado IDE

28.3.2 添加板级支持包文件

28.3.3 建立新的Vivado工程

28.3.4 构建硬件系统

28.4 构建嵌入式Python开发环境

28.5 构建PC端Python开发环境

28.6 服务器和客户端Python的开发

28.6.1 服务器Python的开发

28.6.2 客户端Python的开发

28.7 设计验证

28.7.1 启动服务器程序

28.7.2 启动客户端程序

第29章 手写体识别模型训练与推理一体化设计和实现

29.1 卷积神经网络训练和推理过程概述

29.2 卷积神经网络前向推理与反向传播的原理

29.2.1 卷积层的前向推理与反向传播的原理

29.2.2 池化层的前向推理与反向传播的原理

29.2.3 全连接层的前向推理与反向传播的原理

29.2.4 激活函数层的前向推理与反向传播原理

29.3 卷积神经网络参数更新原理

29.3.1 损失函数

29.3.2 学习率与网络参数更新

29.4 卷积神经网络训练与推理加速器IP核的设计方法

29.4.1 IP核子模块的设计

29.4.2 IP核数据流与映射的实现

29.5 卷积神经网络训练与推理加速器IP核的实现

29.5.1 创建新的HLS工程

29.5.2 添加C语言设计代码

29.5.3 执行高级综合

29.6 构建完整的硬件系统

29.6.1 创建新的Vivado设计工程

29.6.2 建立新的处理器系统设计

29.6.3 生成顶层HDL并导出设计到SDK

29.7 创建Jupyter工程并测试

第30章 基于KR260开发平台的人体姿态识别的软件实现

30.1 Ubuntu操作系统镜像制作

30.2 Ubuntu操作系统的运行

30.3 PYNQ框架的安装

30.4 Jupyter Notebook的登录

30.5 姿态识别代码的执行

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部