内容简介
第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中生成的AXl4-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 如何把数组实现为AXl4的相关接口
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提供时钟信号
参考文献