热搜关键词: 电路基础ADC数字信号处理封装库PLC

pdf

Xilinx All Programmable Zynq-7000 SoC设计指南

  • 1星
  • 2023-07-24
  • 57.05MB
  • 需要1积分
  • 25次下载
标签: FPGA

FPGA

本书系统地论述了XilinxALLProgrammableZynq7000SoC的体系结构与设计方法,全书共23章,分为3篇。Zynq7000基础理论篇介绍了可编程SoC设计和AMBA协议规范;Zynq7000体系结构篇介绍了Zynq7000应用处理单元、可编程逻辑资源、系统互联结构、系统公共资源特性及功能、Zynq调试和测试子系统、Zynq平台的启动和配置、Zynq平台主要外设模块、Zynq平台描述规范和高级综合工具HLS;Zynq7000设计实践篇介绍了Zynq基本处理器系统的建立和运行、添加AXIIP到设计、基于定制IP实现简单嵌入式系统设计、基于定制IP实现复杂嵌入式系统设计、软件和硬件协同调试系统、Zynq平台配置和启动的实现、基于ZynqHP从端口的数据传输实现、基于ZynqACP从端口的数据传输实现、XADC在Zynq平台上的应用、Ubuntu操作系统在Zynq平台上的实现、μC/OSⅢ操作系统在Zynq平台上的实现和HLS在Zynq嵌入式系统设计中的应用。全书基于Xilinx最新的Zynq7000平台,理论和实践相结合;并配套提供了工程文件及课件。

推荐序(一)1

推荐序(二)3

前言5

第一篇Zynq7000基础理论

第1章可编程SoC设计

1.1可编程SoC系统

1.1.1软核及硬核处理器

1.1.2可编程SoC技术的发展

1.1.3可编程SoC技术的特点

1.1.4可编程SoC的设计流程

1.1.5可编程SoC的开发工具

1.2Xilinx  Zynq平台

1.2.1Zynq平台的功能

1.2.2处理系统PS特性

1.2.3可编程逻辑PL特性

1.2.4互联特性

1.2.5Zynq信号、接口和引脚

1.3Zynq平台设计方法学

1.3.1使用PL实现软件算法的优势

1.3.2设计PL加速器

1.3.3PL加速限制

1.3.4降低功耗

1.3.5实时减负

1.3.6可重配置计算

第2章AMBA协议规范

2.1AMBA规范导论

2.2AMBA  APB规范

2.2.1AMBA  APB写传输

2.2.2AMBA  APB读传输

2.2.3AMBA  APB错误响应

2.2.4操作状态

2.2.5AMBA3  APB信号

2.3AMBA  AHB规范

2.3.1AMBA  AHB结构

2.3.2AMBA  AHB操作

2.3.3AMBA  AHB传输类型

2.3.4AMBA  AHB猝发操作

2.3.5AMBA  AHB传输控制信号

2.3.6AMBA  AHB地址译码

2.3.7AMBA  AHB从设备传输响应

2.3.8AMBA  AHB数据总线

2.3.9AMNA  AHB传输仲裁

2.3.10AMBA  AHB分割传输

2.3.11AMBA  AHB复位

2.3.12AHB数据总线的位宽

2.3.13AMBA  AHB接口设备

2.4AMBA  AXI  4规范

2.4.1AMBA  AXI  4功能

2.4.2AMBA  AXI  4互联结构

2.4.3AXI  4Lite功能

2.4.4AXI  4Stream功能

第二篇Zynq7000体系结构

第3章Zynq7000应用处理单元

3.1应用处理单元

3.1.1基本功能

3.1.2系统级视图

3.2CortexA9处理器

3.2.1中央处理器

3.2.2L1高速缓存

3.2.3存储器管理单元

3.2.4接口

3.2.5NEON

3.2.6性能监视单元

3.3侦听控制单元

3.3.1地址过滤

3.3.2SCU主设备端口

3.4L2高速缓存

3.4.1互斥L2L1高速缓存配置

3.4.2高速缓存替换策略

3.4.3高速缓存锁定

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

3.4.5RAM访问延迟控制

3.4.6保存缓冲区操作

3.4.7在CortexA9和L2控制器之间的优化

3.4.8预取操作

3.4.9编程模型

3.5片上存储器

3.5.1片上存储器结构

3.5.2片上存储器功能

3.6APU接口

3.6.1PL协处理接口

3.6.2中断接口

3.7APU内的TrustZone

3.7.1CPU安全过渡

3.7.2CP15寄存器访问控制

3.7.3MMU安全性

3.7.4L1缓存安全性

3.7.5安全异常控制

3.7.6CPU调试TrustZone访问控制

3.7.7SCU寄存器访问控制

3.7.8L2缓存中的TrustZone支持

3.8应用处理单元复位

3.8.1复位功能

3.8.2复位后的APU状态

3.9功耗考虑

3.9.1待机模式

3.9.2在L2控制器内的动态时钟门控

3.10系统地址分配

3.10.1地址映射

3.10.2系统总线主设备

3.10.3I/O外设

3.10.4SMC存储器

3.10.5SLCR寄存器

3.10.6杂项PS寄存器

3.10.7CPU私有总线寄存器

3.11中断

3.11.1中断环境

3.11.2中断控制器的功能

3.11.3编程模型

3.12定时器

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

3.12.2全局定时器

3.12.3系统看门狗定时器

3.12.4三重定时器/计数器

3.12.5I/O信号

3.13DMA控制器

3.13.1DMA控制器结构及特性

3.13.2DMA控制器功能

3.13.3外部信号

3.13.4寄存器描述

3.13.5用于管理器和命令的指令集参考

3.13.6编程模型参考

3.13.7编程限制

3.13.8DMAC  IP配置选项

第4章Zynq7000可编程逻辑资源

4.1Zynq7000可编程逻辑资源特性

4.2可编程逻辑资源功能

4.2.1CLB、Slice和LUT

4.2.2时钟管理

4.2.3块RAM

4.2.4数字信号处理

4.2.5输入/输出

4.2.6低功耗串行收发器

4.2.7PCIE模块

4.2.8模拟/数字转换

4.2.9配置

第5章系统互联结构

5.1系统互联功能及特性

5.1.1数据路径

5.1.2时钟域

5.1.3连接性

5.1.4AXI  ID

5.1.5寄存器

5.2服务质量

5.2.1基本仲裁

5.2.2高级QoS

5.2.3DDR端口仲裁

5.3AXI_HP接口

5.3.1AXI_HP接口结构及特点

5.3.2接口数据宽度

5.3.3交易类型

5.3.4命令交替和重新排序

5.3.5性能优化总结

5.4AXI_ACP接口

5.5AXI_GP接口

5.6AXI信号总结

5.7PL接口选择

5.7.1使用通用主设备端口的CortexA9

5.7.2通过通用主设备的PS  DMA控制器(DMAC)

5.7.3通过高性能接口的PL  DMA

5.7.4通过AXI  ACP的PL  DMA

5.7.5通过通用AXI从(GP)的PL  DMA

第6章系统公共资源特性及功能

6.1时钟子系统

6.1.1时钟系统结构及功能

6.1.2CPU时钟域

6.1.3时钟编程实例

6.1.4时钟系统内生成电路结构

6.2复位子系统

6.2.1复位系统结构和层次

6.2.2启动流程

6.2.3复位的结果

第7章Zynq调试和测试子系统

7.1JTAG和DAP子系统

7.1.1JTAG和DAP系统功能

7.1.2JTAG和DAP系统I/O信号

7.1.3编程模型

7.1.4ARM  DAP控制器

7.1.5跟踪端口接口单元TPIU

7.1.6Xilinx  TAP控制器

7.2CoreSight系统结构及功能

7.2.1CoreSight结构

7.2.2CoreSight功能

第8章Zynq平台的启动和配置

8.1Zynq平台启动和配置功能

8.2外部启动要求

8.3BootROM

8.3.1BootROM功能

8.3.2BootROM头部

8.3.3启动设备

8.3.4BootROM多启动和启动分区查找

8.3.5调试状态

8.3.6BootROM后状态

8.4器件配置接口

8.4.1器件配置接口功能

8.4.2器件配置流程

8.4.3PL配置

8.4.4寄存器集合

第9章Zynq平台主要外设模块

9.1DDR存储器控制器

9.1.1DDR存储器控制器接口及功能

9.1.2AXI存储器端口接口

9.1.3DDR核交易调度器

9.1.4DDRC仲裁

9.1.5DDR控制器PHY

9.1.6DDR初始化和标定

9.1.7纠错码

9.2静态存储器控制器

9.2.1静态存储器控制器接口及功能

9.2.2静态存储器控制器和存储器的信号连接

9.3四SPI  Flash控制器

9.3.1四SPI  Flash控制器功能

9.3.2四SPI控制器反馈时钟

9.3.3四SPI  Flash控制器接口

9.4SD/SDIO外设控制器

9.4.1SD/SDIO控制器功能

9.4.2SD/SDIO控制器传输协议

9.4.3SD/SDIO控制器接口信号连接

9.5通用输入/输出控制器

9.5.1通用输入/输出GPIO接口及功能

9.5.2通用输入/输出GPIO中断功能

9.6USB主机、设备和OTG控制器

9.6.1USB控制器接口及功能

9.6.2USB主机操作模式

9.6.3USB设备操作模式

9.6.4USB  OTG操作模式

9.7吉比特以太网控制器

9.7.1吉比特以太网控制器接口及功能

9.7.2吉比特以太网控制器接口编程向导

9.7.3吉比特以太网控制器接口信号连接

9.8SPI控制器

9.8.1SPI控制器的接口及功能

9.8.2SPI控制器时钟设置规则

9.9CAN控制器

9.9.1CAN控制器接口及功能

9.9.2CAN控制器操作模式

9.9.3CAN控制器消息保存

9.9.4CAN控制器接收过滤器

9.9.5CAN控制器编程模型

9.10UART控制器

9.11I2C控制器

9.11.1I2C速度控制逻辑

9.11.2I2C控制器的功能和工作模式

9.12ADC转换器接口

9.12.1ADC转换器功能

9.12.2ADC命令格式

9.12.3供电传感器报警

9.13PCIE接口

第10章Zynq平台描述规范

10.1Zynq平台文件描述规范功能集

10.2微处理器硬件规范

10.2.1通用微处理器硬件规范

10.2.2AXI系统微处理器硬件规范

10.2.3Zynq7000系统微处理器规范实例

10.3微处理器外设规范

10.3.1微处理器规范框架

10.3.2总线接口规范

10.3.3I/O接口规范

10.3.4选项规范

10.3.5参数规范

10.3.6端口规范

10.3.7设计考虑

10.4外设分析命令

10.5黑盒定义

10.6微处理器软件规范

10.6.1微处理器软件规范格式

10.6.2全局参数

10.6.3实例指定参数

10.6.4MDD/MLD指定参数

10.6.5OS指定参数

10.6.6处理器指定参数

10.7微处理器库定义

10.7.1库定义文件

10.7.2MLD格式规范

10.7.3MLD参数描述

10.7.4设计规则检查

10.7.5库产生

10.8微处理器驱动定义

10.8.1驱动定义文件

10.8.2MDD格式规范

10.9Xilinx板描述格式

10.9.1XBD格式

10.9.2属性命令

10.9.3本地参数命令及子属性

10.9.4本地端口命令及子属性

10.9.5使用IO_INTERFACE关联IP

10.9.6AXI系统XBD格式

第11章高级综合工具HLS

11.1高级综合工具结构

11.1.1不同的命令对HLS综合结果的影响

11.1.2从C中提取硬件结构

11.2高级综合工具调度和绑定

11.2.1高级综合工具调度

11.2.2高级综合工具绑定

11.3Vivado  HLS工具的优势

11.4C代码的关键属性

11.4.1函数

11.4.2类型

11.4.3循环

11.4.4数组

11.4.5端口

11.4.6操作符

11.5HLS内提供的用于时钟测量的术语

第三篇Zynq7000设计实践

第12章Zynq基本处理系统的建立和运行

12.1使用BSB向导生成Zynq基本系统

12.1.1Zynq硬件系统的生成

12.1.2生成Hello  World应用工程

12.1.3运行Hello  World应用工程

12.2生成和运行存储器测试工程

12.2.1导入前面的XPS设计到SDK

12.2.2生成存储器测试工程

12.2.3运行存储器测试工程

12.2.4调试存储器测试工程

12.3生成和运行外设测试工程

12.3.1导入前面的XPS设计到SDK

12.3.2生成外设测试工程

12.3.3运行外设测试工程

第13章添加AXI  IP到设计

13.1设计原理

13.2添加IP到系统设计

13.2.1创建设计工程

13.2.2添加GPIO  IP到设计

13.2.3添加AXI  Timer  IP到设计

13.2.4连接中断源到PS

13.2.5通过EMIO将PS的GPIO连接到PL

13.2.6添加约束到约束文件

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

13.3.1导入前面的XPS设计到SDK

13.3.2生成应用工程

13.3.3运行应用工程

第14章基于定制IP实现简单嵌入式系统设计

14.1创建设计工程

14.2定制GPIO  IP核

14.2.1产生GPIO  IP模板

14.2.2基于模板构建完整GPIO  IP

14.3添加和连接AXI外设

14.4添加约束到用户约束文件

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

14.5.1修改模板驱动函数

14.5.2导入硬件设计到SDK工具

14.5.3生成新应用工程

14.5.4添加定制IP核软件驱动到设计

14.5.5导入应用程序

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

14.5.7运行应用工程

14.5.8使用XMD分析目标文件

第15章基于定制IP实现复杂嵌入式系统设计

15.1设计原理

15.1.1VGA  IP核的设计原理

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

15.2创建设计工程

15.3定制VGA  IP核

15.3.1产生VGA  IP模板

15.3.2基于模板构建完整VGA  IP

15.4定制移位寄存器IP核

15.4.1产生shifter  IP模板

15.4.2基于模板构建完整shifter  IP

15.5添加和连接VGA  IP核

15.6添加和连接shifter  IP核

15.7添加约束到用户约束文件

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

15.8.1修改模板驱动函数

15.8.2导入硬件设计到SDK工具

15.8.3生成新的应用工程

15.8.4添加定制IP核软件驱动到设计

15.8.5编写应用程序

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

15.8.7运行应用工程

第16章软件和硬件协同调试系统

16.1复制并打开设计工程

16.2例化AXI  Chipscope核

16.3导入硬件设计到SDK工具

16.4启动ChipScope  Pro硬件调试器

16.5执行H/S验证

第17章Zynq平台配置和启动的实现

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

17.1.1SD卡接口

17.1.2复制并打开前面的设计工程

17.1.3创建第一级启动引导

17.1.4创建SD卡启动镜像

17.1.5从SD卡启动引导系统

17.2生成QSPI  Flash镜像并启动

17.2.1QSPI  Flash接口

17.2.2创建QSPI  Flash镜像

17.2.3从QSPI  Flash启动引导系统

第18章基于Zynq  HP从端口的数据传输实现

18.1设计原理

18.2创建设计工程

18.3添加并配置AXI  CDMA到设计

18.3.1添加AXI  CDMA  IP和互联到设计

18.3.2连接AXI  CDMA到设计

18.3.3添加端口连接

18.3.4分配地址空间

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

18.4.1软件应用的实现原理

18.4.2导入硬件设计到SDK

18.4.3创建新的软件应用工程

18.4.4导入应用程序

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

18.4.6运行应用工程

第19章基于Zynq  ACP从端口的数据传输实现

19.1设计原理

19.2创建设计工程

19.3配置PS端口

19.3.1配置PS  32位GP  AXI主端口

19.3.2配置PS的ACP从端口

19.4添加并连接IP到设计

19.4.1添加IP到设计

19.4.2总线连接

19.4.3端口连接

19.4.4分配地址空间

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

19.5.1导入硬件设计到SDK

19.5.2创建新的软件应用工程

19.5.3导入应用程序

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

19.5.5运行应用工程

第20章XADC在Zynq平台上的应用

20.1设计原理

20.2创建设计工程

20.3添加XADC  IP到设计

20.4添加约束到用户约束文件

20.4.1Zedboard板上XADC接口

20.4.2添加约束条件

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

20.5.1导入硬件设计到SDK工具

20.5.2生成新的应用工程

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

20.5.4运行应用工程

第21章Ubuntu操作系统在Zynq平台上实现

21.1Ubuntu操作系统环境搭建

21.1.1安装虚拟机

21.1.2在虚拟机上安装Ubuntu  12.10

21.1.3Linux和Windows文件传输工具CuteFTP安装使用

21.1.4Ubuntu相关环境和命令设置

21.2uboot原理及实现

21.2.1uboot结构

21.2.2下载uboot源码

21.2.3uboot配置与编译

21.3内核概述及编译

21.3.1内核结构

21.3.2内核编译

21.4设备树原理及实现

21.4.1设备树功能

21.4.2设备树数据格式

21.4.3设备树的编译

21.5文件系统原理及实现

21.6打开设计工程

21.7使用SDK设计生成软件工程

21.7.1创建第一级引导启动代码

21.7.2SD启动镜像的生成

21.8验证Ubuntu操作系统的运行

第22章μC/OSⅢ操作系统在Zynq平台上的实现

22.1μC/OSⅢ操作系统简介

22.2μC/OSⅢ操作系统环境构建

22.3创建设计工程

22.4建立基于μC/OSⅢ操作系统的软件应用工程

22.4.1导入设计到SDK中

22.4.2创建新的μC/OSⅢ设计工程

22.4.3修改编译环境参数

22.4.4重新编译设计工程

22.5运行外设测试工程

22.5.1配置硬件平台

22.5.2配置运行环境

22.6相关文件目录功能

22.6.1App、BSP和Documentation文件夹

22.6.2μC/CPU文件夹

22.6.3μC/CSP文件夹

22.6.4μC/LIB文件夹

22.6.5μC/OSⅢ文件夹

22.6.6用于μC/OSⅢ文件夹的Xilinx  BSP

22.7基于μC/OSIII操作系统的关键工程文件分析

22.7.1Main()

22.7.2AppTaskStart()

22.7.3AppTaskCreate()

22.7.4AppMutexCreate()

22.7.5AppTask1()

22.7.6AppPrint()

22.7.7app_cfg.h

第23章HLS在Zynq嵌入式系统设计中的应用

23.1设计原理

23.2基于HLS生成FIR滤波器

23.2.1设计FIR滤波器

23.2.2运行仿真和验证功能

23.2.3设计综合

23.2.4设计优化

23.2.5运行CoSimulation

23.2.6实现ISim软件下的仿真

23.2.7使用指令创建Pcore

23.2.8生成Pcore核

23.3创建处理器系统

23.3.1建立新的设计工程

23.3.2修改处理器系统外设参数设置

23.3.3复制Pcore到当前工程

23.3.4例化并连接生成的Pcore

23.3.5添加用户约束到用户约束文件

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

23.4.1导入设计到SDK

23.4.2生成应用工程

23.4.3导入应用程序

23.4.4验证硬件设计

23.4.5运行应用工程

展开预览

猜您喜欢

评论

G886
较为清楚,谢谢!
2023-07-26 08:45:55
登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×