编辑推荐
Xilinx ZYNQ-7000 All Programmable(AP) SoC系列器件将处理器的软件可编程能力与FPGA的硬件可编程能力完美结合,通过硬件、软件和I/O可编程性实现了扩展式系统级差异、集成和灵活性,并以其低功耗和低成本等系统优势实现无与伦比的系统性能,同时可以加速产品上市进程。与基于传统SoC的处理解决方案不同,ZYNQ-7000器件的灵活可编程逻辑能实现优化与差异化功能,使设计人员可以根据大部分应用的要求添加外设和加速器。
本书基于Xilinx公司的ZYNQ-7000 AP SoC,介绍了其体系结构与开发思想,并使用多个实例讲述了其开发方法与流程。
本书中所有实例的相关源代码都可在清华大学出版社网站下载。
在开发过程中如果有疑问,欢迎到电子创新网的赛灵思社区交流,作者将不定期在此网站发布勘误表、问题解答等。
内容简介
本书基于Xilinx公司的ZYNQ 7000 AP SoC,介绍了其体系结构与开发思想,并使用多个实例讲述了其开发方法与流程。全书共9章。书中讲述了ZYNQ.7000 AP SoC家族的特点、体系与结构以及软件开发的独特之处; 以Vivado开发套件为基础,讲述了ZYNQ.7000 AP SoC的软硬件开发流程; 为了方便使用ISE/PlanAhead软件的读者入手,还简要描述了使用它们开发ZYNQ��7000 AP SoC嵌入式软件的方法,但本书仍以Vivado套件为主要工具进行开发讲解; 给出了常用外设的使用示例,包括MIO/EMIO接口、通用I/O、中断控制器、定时器系统等,还给出了XADC模块的使用示例; 围绕Vivado以IP为中心的设计思想,用实例讲解了如何设计用户自定义IP核; 使用System Generator for DSP在Matlab/Simulink环境下建模,介绍了基于模型的DSP算法设计,并通过多个实例讲解了其设计思想和设计流程; 使用Vivado HLS软件,通过多个实例讲述了高层次综合的设计思想和设计流程。
本书可作为电子通信、软件工程、自动控制、智能仪器和物联网相关专业高年级本科生或研究生学习嵌入式操作系统及其应用技术的教材,也可作为嵌入式系统开发和研究人员的参考用书。
目录
第1章 不只是芯片,更是完整的平台产品
1.1 FPGA的这三十年
1.2 FPGA的芯片结构
1.3 传统的FPGA开发基本流程
1.4 Xilinx FPGA家族介绍
1.5 Xilinx开发工具与设计平台
1.5.1 ISE与Vivado、Vivado HLS简介
1.5.2 System Generator简介
1.6 为什么使用ZYNQ
1.6.1 ZYNQ家族的优势
1.6.2 ZYNQ家族的主要应用
1.6.3 现有的ZYNQ家族器件
1.6.4 ZYNQ家族的特性
1.7 UltraFast设计方法
第2章 ZYNQ的体系、结构与开发思想
2.1 应用处理器单元
2.1.1 APU的基本功能
2.1.2 APU的系统级视图
2.2 信号、接口与引脚
2.2.1 电源引脚
2.2.2 PS I/O引脚
2.2.3 PS-PL电平移位使能
2.2.4 PS-PL MIO-EMIO信号与接口
2.3 时钟
2.3.1 时钟系统
2.3.2 CPU时钟
2.4 复位
2.4.1 复位后的启动流程
2.4.2 复位资源
2.5 JTAG调试与测试
2.6 启动与配置
2.6.1 PS的启动过程
2.6.2 PL的启动过程
2.7 系统互联结构
2.8 可编程逻辑PL
2.8.1 PL的组件
2.8.2 输入/输出
2.8.3 PL的配置
2.9 ZYNQ开发思想
2.9.1 ZYNQ-7000软件开发的特点
2.9.2 ZYNQ-7000 SoC软件与应用的开发流程
2.9.3 设备的驱动架构
2.9.4 裸机程序开发流程
2.9.5 Linux程序开发
2.10 设计基于PL的算法加速器
2.10.1 用PL为PS卸载
2.10.2 PL与存储系统的性能
2.10.3 选择PL接口
第3章 ZYNQ-7000 AP SoC设计与开发流程
3.1 ZYNQ-7000 AP SoC开发流程简介
3.2 基于Vivado+SDK的设计与开发
3.2.1 使用Vivado构建硬件平台
3.2.2 使用SDK完成软件开发
3.2.3 启动镜像文件的生成与下载
3.3 基于PlanAhead+SDK的设计与开发
第4章 ARM Cortex-A9外围设备应用实例
4.1 MIO/EMIO接口
4.1.1 MIO/EMIO接口功能概述
4.1.2 应用实例
4.2 通用I/O模块GPIO
4.2.1 GPIO简介
4.2.2 功能详述
4.2.3 编程指南
4.2.4 应用实例
4.3 中断控制器GIC
4.3.1 GIC简介
4.3.2 中断源分类
4.3.3 中断优先级仲裁
4.3.4 相关寄存器
4.3.5 应用实例
4.4 定时器系统
4.4.1 定时器系统简介
4.4.2 私有定时器、私有看门狗
4.4.3 全局定时器
4.4.4 系统看门狗
4.4.5 TTC单元
4.4.6 编程指南
4.4.7 相关寄存器
4.4.8 应用实例
第5章 XADC模块应用实例
5.1 简介
5.2 功能详述
5.2.1 XADC模块相关引脚
5.2.2 模拟量输入类型及量化关系
5.2.3 电压、温度的记录与报警
5.2.4 自动校正功能
5.3 XADC工作模式
5.3.1 单通道模式
5.3.2 自动序列模式
5.3.3 外部多路复用器模式
5.4 控制接口
5.4.1 DPR/JTAG-TAP接口
5.4.2 常用接口单元
5.5 相关寄存器
5.5.1 状态寄存器
5.5.2 控制寄存器
5.6 应用实例
5.6.1 基于Vivado的XADC模块硬件配置
5.6.2 基于SDK的软件开发
第6章 用户IP核的定制
6.1 基于Vivado的用户IP核封装与例化
6.1.1 用户IP核的建立
6.1.2 用户IP核逻辑功能的设计与封装
6.1.3 用户IP核的例化
6.2 基于SDK的编程指导
第7章 基于模型的DSP设计
7.1 System Generator的安装、系统要求与配置
7.2 Simulink的基本使用方法
7.3 创建基于System Generator的简单设计
7.4 定点数据类型的处理
7.5 系统控制与状态机
7.6 多速率与串并转换
7.7 使用存储单元
7.8 在Vivado IDE中使用System Generator模型
7.9 把C/C++程序导入System Generator模型
7.10 把System Generator模型封装为自定义IP
7.11 对System Generator中生成的AXI4-Lite接口的模型进行验证
第8章 Vivado高层次综合
8.1 Vivado HLS的基本开发方法
8.2 Vivado HLS中的数据类型
8.2.1 任意精度整数类型
8.2.2 Vivado HLS支持的数学函数类型
8.3 Vivado HLS中的接口综合
8.3.1 模块级别的I/O协议
8.3.2 端口类型的处理
8.3.3 如何把数组实现为RTL接口
8.3.4 如何把数组实现为AXI4的相关接口
8.4 在Vivado IPI中使用HLS生成的IP
8.5 把使用HLS生成的IP用作PS的外设
第9章 MicroZed开发板的介绍
9.1 MicroZed基本介绍
9.2 下载程序与测试
9.3 测试更多的DDR内存空间
9.4 在MicroZed上运行开源Linux
9.4.1 在Linux中控制GPIO
9.4.2 在Linux中进行以太网通信
9.4.3 测试PS与USB的通信
9.4.4 由PS向PL提供时钟信号
参考文献
精彩书摘
《Xilinx ZYNQ-7000 AP SoC开发实战指南 EDA工程技术丛书》:
1.多处理器架构的考虑
1)多处理架构:AMP
在AMP架构下,两个ARM Cortex—A9内核都可以运行不同的操作系统,但是它们共享同一个物理内存。一般情况下,可以为两个ARM内核选择不同的操作系统,推荐的选择之一如下:
其中一个运行功能完整的操作系统,并作为主操作系统,例如Linux,它们具备完善的网络接口和用户界面,可以开发功能复杂的应用程序。
另一个内核则使用小尺寸的、轻量级别的操作系统,例如FreeRTOS,它们能够更高效地处理有关内存和实时性的应用。在这个内核上,甚至可以使用裸机(baremetal)程序,即不含有操作系统,用来完成一些实时性很高的微控制器应用。
在AMP下,系统设备(例如UART、定时器/计数器和以太网控制器)被哪一个处理器控制也是很关键的问题。一般而言,大多数设备都要被指定到某一个处理器中,而中断控制器可以在双核之间共享,但是其中的一个处理器要配置为中断的主控,因为需要它来初始化中断控制器。
两个内核之间的通信方式也是系统运行效率的关键因素之一,它可以通过处理器之间的中断、内存共享和消息传递等方式来实现。
2)多处理架构:SMP
在SMP架构下,两个ARM内核运行的是同一个操作系统。此时需要选择多核处理能力更强的操作系统,它的调度器需要自动、高效地在双核之间完成线程的调度。此时用户可以指定处理器来运行某个线程,使用任何可用的处理器处理中断,并指定其中的某一个作为系统初始化时的主处理器,并启动另外的内核。
……
前言/序言
Xilinx ZYNQ 7000 All Programmable(AP)SoC系列器件将处理器的软件可编程能力与FPGA的硬件可编程能力完美结合,通过硬件、软件和I/O可编程性实现了扩展式系统级差异、集成和灵活性,并以其低功耗和低成本等系统优势实现无与伦比的系统性能,同时可以加速产品上市进程。与基于传统SoC的处理解决方案不同,ZYNQ��7000器件的灵活可编程逻辑能实现优化与差异化功能,使设计人员可以根据大部分应用的要求添加外设和加速器。通过ZYNQ��7000 AP SoC平台,设计人员可以设计更智能的系统,控制和分析部分利用灵活的软件、紧密配合擅长实时处理的硬件,辅之以优化的系统接口,从而使得BOM成本可大幅削减、NRE成本更低、设计风险减少、加快上市时间。
本书导读
本书基于Xilinx公司的ZYNQ 7000 AP SoC,介绍了其体系结构与开发思想,并使用多个实例讲述了其开发方法与流程。
全书共9章。第1章讲述了ZYNQ 7000 AP SoC家族的特点,及其与传统FPGA和SoC的区别,给读者提供了一定的背景资料,使得读者对ZYNQ��7000 AP SoC的芯片和开发思想具有整体的概念。
第2章简要介绍了ZYNQ 7000 AP SoC的体系与结构,包括应用处理单元、接口与引脚、时钟、复位、JTAG调试与测试、启动与配置、系统的互联结构和可编程逻辑,并着重描述了ZYNQ 7000 AP SoC软件开发的独特之处以及设计基于可编程逻辑的算法加速器时需要考虑的多个问题。初学者一开始可能不容易理解这些内容,但是对这些内容有基本的理解之后,能更好地在编程、开发时,针对ZYNQ��7000 AP SoC的体系设计更高效的软硬件架构。因为ZYNQ��7000 AP SoC的特性众多,本书并未对器件手册和用户指南进行简单的翻译、复制,而是根据作者的理解、认识进行了归类描述。
第3章以Vivado开发套件为基础,讲述了ZYNQ��7000 AP SoC的软硬件开发流程; 为了方便使用ISE/PlanAhead软件的读者入手,还简要描述了使用它们开发ZYNQ 7000 AP SoC嵌入式软件的方法,但本书仍以Vivado套件为主要工具进行开发讲解。只有熟练掌握了Vivado套件的使用方法,才能做到高效的开发效率。
接下来的3章讲述了ZYNQ 7000 AP SoC的软硬件协同开发的思想与方法。其中,第4章为ZYNQ��7000 AP SoC中常用外设的使用示例,包括MIO/EMIO接口、通用I/O、中断控制器、定时器系统等。第5章为XADC模块的使用示例。第6章围绕Vivado以IP为中心的设计思想,用实例讲解了如何设计用户自定义IP核。
第7章与第8章讲述了针对ZYNQ 7000 AP SoC的、不同于传统HDL和C手工编码的高级开发方法。其中,第7章使用System Generator for DSP在Matlab/Simulink环境下建模,介绍了基于模型的DSP算法设计,并通过多个实例讲解了其设计思想和设计流程。第8章讲述了高层次综合的设计思想,使用Vivado HLS软件,通过多个实例讲述了高层次综合的设计思想和设计流程。这些内容并不是初学者所必须掌握的,然而它们可以作为更高级的开发方式,在复杂的、面向产品的开发过程中起到非常重要的作用。
第9章详细介绍了本书中所使用的安富利MicroZed平台的特点、基本使用方法、常用外设的测试过程和运行开源Linux的方法。使用其他ZYNQ 7000 AP SoC硬件平台的读者,也可结合其对应的硬件接口,进行相关的测试与验证工作。
相关资源
本书中所有实例的相关源代码都可在清华大学出版社网站下载。
致谢
在本书的写作过程中,得到了赛灵思公司中国区公共关系经理张俊伟女士、工业市场营销经理林逸芳女士和亚太区业务拓展经理罗霖先生的诸多帮助和鼓励,并最终促成了本书的编写; 感谢赛灵思为本书的编写所提供的软件授权。安富利公司的高级技术市场经理陈志勇博士和高级高级现场销售工程师黄志刚为本书的写作提供了技术支持和最新的MicroZed开发系统。感谢电子创新网为本书的实验部分提供了高速、稳定的下载地址。感谢清华大学出版社工作人员为本书的出版所做的大量工作。最后要感谢家人和朋友们的支持。
限于笔者的水平和经验,加之时间比较仓促,疏漏或者错误之处在所难免,敬请读者批评指正。有兴趣的朋友可发送邮件,与作者进行交流; 也可发送邮件,与本书策划编辑进行交流。
免责声明
本书内容仅用于教学和科研目的,书中引用的部分例子、图形和图表等内容的知识产权归Xilinx公司与Avent公司所有,作者保留其余内容的所有权利。禁止任何单位或个人摘抄或扩充本书内容用于出版发行,严禁将本书内容应用与商业场合。
作者
2015年9月
Xilinx ZYNQ-7000 AP SoC开发实战指南 EDA工程技术丛书 epub pdf mobi txt 电子书 下载 2024
Xilinx ZYNQ-7000 AP SoC开发实战指南 EDA工程技术丛书 下载 epub mobi pdf txt 电子书 2024