图书目录

目录

第1章可编程片上系统设计

1.1可编程片上系统

1.1.1软核及硬核处理器

1.1.2可编程片上系统技术发展

1.1.3可编程片上系统技术特点

1.2可编程片上系统设计与优化技术

1.2.1可编程片上系统设计技术

1.2.2通用可编程片上系统优化技术

1.2.3专用可编程片上系统优化技术

1.3Xilinx可编程片上系统芯片

1.3.1Spartan系列FPGA

1.3.2Virtex系列FPGA

1.3.3Zynq-7000系列FPGA

第2章AMBA AXI4协议

2.1AXI协议

2.2AXI4功能

2.2.1AXI4全局信号

2.2.2低功耗接口信号

2.2.3AXI4通道及信号

2.2.4AXI4交易通道的握手信号关系

2.2.5AXI4猝发类型及地址计算

2.2.6AWCACHE和ARCACHE属性

2.2.7AXI互联结构模型

2.2.8用户信号

2.3AXI4-Lite功能

2.4AXI4-Stream功能

第3章MicroBlaze软核处理器结构

3.1MicroBlaze处理器结构框架

3.1.1MicroBlaze存储器结构

3.1.2MicroBlaze浮点单元

3.1.3MicroBlaze流连接接口

3.1.4MicroBlaze流水线结构

3.1.5MicroBlaze特权指令

3.1.6MicroBlaze指令类型

3.2MicroBlaze寄存器

3.2.1通用寄存器

3.2.2特殊寄存器

3.3MicroBlaze虚拟存储器管理

3.3.1实模式

3.3.2虚拟模式

3.4MicroBlaze事件及处理

3.4.1复位

3.4.2硬件异常

3.4.3断点

3.4.4中断

3.4.5用户向量(异常)

3.5MicroBlaze指令和数据缓存

3.5.1MicroBlaze指令缓存

3.5.2MicroBlaze数据缓存

3.6MicroBlaze调试和跟踪

第4章MicroBlaze软核处理器接口

4.1MicroBlaze接口

4.2AXI4接口

4.2.1存储器映射接口

4.2.2流接口

4.3PLB接口

4.4LMB接口

4.5FSL接口

4.6XCL接口

4.6.1XCL接口原理

4.6.2XCL交易

4.7调试接口

4.8跟踪接口

4.9编程接口

4.9.1堆栈规则

4.9.2存储器模型

4.9.3中断和异常句柄

第5章可编程片上系统开发平台

5.1设计流程及EDK工具

5.1.1设计流程

5.1.2EDK工具

5.2平台产生器

5.2.1加载路径

5.2.2输出文件

5.2.3BMM流程

5.3仿真模型产生器

5.3.1仿真库

5.3.2仿真模型

5.3.3输出文件

5.3.4存储器初始化

5.4库产生器

5.4.1加载路径

5.4.2输出文件

5.4.3生成库和驱动

5.5平台规范工具

5.6flash存储器编程

5.6.1flash编程

5.6.2支持的flash硬件

5.6.3编程先决条件

5.6.4编程对话框

5.6.5定制flash编程

5.6.6可操作的特点和方法

5.7GNU编译器工具

5.7.1编译器框架

5.7.2编译器使用及选项

5.7.3MicroBlaze编译器

5.8GNU调试器

5.8.1GDB调试流程

5.8.2MicroBlaze的GDB目标

5.9Xilinx微处理器调试器

5.9.1XMD的使用

5.9.2连接命令选项

5.9.3MicroBlaze处理器目标

5.10系统ACE文件产生器

第6章可编程片上系统描述规范

6.1SOPC描述文件规范

6.2微处理器硬件规范

6.2.1MHS通用硬件规范

6.2.2AXI系统MHS规范

6.3微处理器外设规范

6.3.1MPD语法

6.3.2总线接口

6.3.3IO接口

6.3.4选项

6.3.5参数

6.3.6端口

6.3.7设计考虑

6.4外设分析命令

6.5黑盒定义

6.6微处理器软件规范

6.6.1MSS格式

6.6.2全局参数

6.6.3实例指定参数

6.6.4MDD/MLD指定参数

6.6.5OS指定参数

6.6.6处理器指定参数

6.7微处理器库定义

6.7.1库定义文件

6.7.2MLD格式规范

6.7.3MLD参数描述

6.7.4设计规则检查

6.7.5库产生

6.8微处理器驱动定义

6.8.1驱动定义文件

6.8.2MDD格式规范

6.9Xilinx板描述格式

6.9.1XBD格式

6.9.2属性命令

6.9.3本地参数命令及子属性

6.9.4本地端口命令及子属性

6.9.5使用IO_INTERFACE关联IP

6.9.6使用IO_INTERFACE桥接IP

6.9.7AXI系统XBD格式

第7章基于AXI4可编程片上系统设计流程

7.1工程的建立

7.1.1使用BSP向导

7.1.2新建工程的结构分析

7.1.3使用SDK设计程序

7.1.4使用SDK下载程序

7.1.5使用SDK调试程序

7.2添加AXI IP到硬件设计

7.2.1打开工程

7.2.2添加和配置AXI GPIO外设

7.2.3产生外部GPIO连接

7.2.4使用SDK设计程序

7.2.5使用SDK下载程序

7.2.6应用程序分析

7.3定制并添加AXI IP到系统

7.3.1打开工程

7.3.2产生AXI外设模板

7.3.3创建AXI外设

7.3.4添加和连接AXI外设

7.3.5导入硬件设计到SDK工具

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

7.3.7使用SDK编写IP核应用程序

7.3.8修改程序的运行空间

7.3.9分析汇编目标文件

7.4中断控制器及中断服务程序的设计

7.4.1添加定时器和中断控制器

7.4.2编写中断服务程序

7.4.3修改链接脚本

7.4.4设计验证

7.5软件和硬件协同调试

7.5.1打开工程

7.5.2例化AXI ChipScope核

7.5.3启动SDK软件调试器

7.5.4启动ChipScope Pro硬件调试器

7.5.5执行H/S验证

第8章Xilinx操作系统及库

8.1Xilinx微核结构

8.2LibXil标准C库

8.3板级支持包

8.3.1MicroBlaze处理器API

8.3.2Xilinx硬件抽象层

8.4Xilkernel核

8.4.1Xilkernel构成

8.4.2建立Xilkernel应用程序

8.4.3Xilkernel处理模型

8.4.4Xilkernel调度模型

8.4.5POSIX接口

8.4.6Xilkernel API接口

8.4.7存储器保护

8.4.8系统初始化

8.4.9Xilkernel定制

8.5LibXil库

8.5.1LibXil FATFS

8.5.2LibXil MFS

8.5.3LibXil flash

8.5.4LibXil lsf

第9章基于AXI4的Xilkernel实现

9.1系统硬件平台构建

9.2Xilkernel操作系统构建

9.3应用程序进程的实现原理及方法

9.3.1shell.c应用程序

9.3.2信号量实现方法

9.3.3消息实现方法

9.3.4定时器实现方法

9.3.5井字游戏实现方法

9.3.6互斥实现方法

9.3.7动态优先级实现方法

9.3.8按键中断实现方法

第10章基于AXI4的lwIP协议栈实现

10.1lwIP协议栈

10.1.1建立硬件系统

10.1.2建立软件系统

10.1.3软件API

10.2系统硬件平台构建

10.3系统软件平台设计

10.3.1系统软件平台的自动生成

10.3.2BSP的相关设置分析

10.3.3应用程序关键代码分析

第11章基于AXI4的多核处理器系统实现

11.1设计原理

11.2硬件平台搭建

11.2.1添加第二个软核处理器

11.2.2添加处理器间的共享资源

11.2.3完成端口连接

11.2.4完成新添加资源的地址空间分配

11.3软件应用程序设计

11.3.1建立应用程序

11.3.2应用程序分析

11.4系统调试和测试