Xilinx公司推出的Zynq全可编程芯片为软硬件协同设计提供了良好的硬件基础,功能强大的Vivado集成开发环境为嵌入式系统开发提供了良好的支撑。本书基于Vivado集成开发环境,以具体实验的方式详细介绍了使用Zynq-7000进行设计的具体步骤,引导读者从零开始逐渐学习和掌握嵌入式系统软硬件协同设计的基本方法。
样章试读
目录
- 目录
第1章 绪论 1
1.1 软硬件协同设计技术简介 1
1.2 Zynq全可编程SoC基础 5
1.2.1 Zynq处理系统 6
1.2.2 Zynq可编程逻辑 9
1.2.3 PS部分与PL部分间的接口 12
第2章 软硬件协同设计实验 16
2.1 交替闪烁LED灯 16
2.1.1 创建1个IP集成器设计 17
2.1.2 在Vivado中创建1个Zynq嵌入式系统 23
2.1.3 在Vitis IDE中创建1个软件应用程序 35
2.2 具有中断功能的计数器 47
2.2.1 扩展基本IP集成器设计 47
2.2.2 在Vivado中创建1个具有中断的Zynq嵌入式系统 48
2.2.3 在Vitis IDE中创建1个软件应用程序 58
2.2.4 增加1个中断源 65
2.3 使用Vivado HLS/Vitis HLS进行设计 74
2.3.1 在Vivado HLS中新建工程 74
2.3.2 Vivado HLS设计优化 80
2.3.3 Vivado HLS接口综合 95
2.3.4 Vitis HLS高层次综合 98
2.4 创建IP核 115
2.4.1 在硬件描述语言中创建IP并调用它 116
2.4.2 创建IP并实现具有按钮中断功能的计数器 145
2.4.3 在MathWorks HDL Coder中创建IP核 159
2.4.4 在Vivado HLS中创建IP核 169
2.5 软硬件协同设计综合实验 175
2.5.1 导入自定义IP到Vivado IP目录 176
2.5.2 向Vivado IP集成器设计中添加音频编解码器 182
2.5.3 在SDK中创建1个音频软件应用程序并测试 193
第3章 软硬件分离设计实验 203
3.1 显示输出“Hello world” 203
3.2 纯软件简易计算器 213
3.3 在ZedBoard开发板上实现流水灯 216
3.4 在ZedBoard开发板上实现纯硬件简单计算器 228
3.5 在Zybo开发板上实现流水灯 235
3.6 在Zybo开发板上实现纯硬件简单计算器 246
第4章 基于ZedBoard的扩展功能实验 253
4.1 程序固化实验 253
4.1.1 利用官方镜像SD卡启动ZedBoard 253
4.1.2 利用包含特定硬件信息的SD卡启动ZedBoard 258
4.1.3 通过QSPI启动ZedBoard 265
4.2 OLED显示实验 266
4.2.1 基于自定义IP实现文本显示 266
4.2.2 基于OLED IP核实现文本和图形显示 271
4.3 双核AMP实验 276
参考文献 293