Xilinx All Programmable Zynq-7000 SoC设计指南
? 详尽介绍Zynq-7000 SoC的体系结构和相关生态系统,便于读者快速动手实践。
? 始终围绕软件和硬件协同设计的理念叙述,利于读者彻底掌握Zynq-7000 SoC的设计方法和技巧。
? 本书的编写得到了Xilinx及其合作伙伴的大力支持,藉其丰富的资源,反映出最新的设计技术水平。
《Xilinx All Programmable Zynq-7000 SoC设计指南》配套提供设计实例的完整设计代码和教学课件资源(下载地址www.gpnewtech.com)
本书内容(含)
? 可编程SoC设计
? AMBA协议规范
? Zynq-7000应用处理单元
? 可编程逻辑资源
? 系统互连结构
? 系统公共资源特性及功能
? Zynq调试和测试系统
? Zynq平台的启动和配置
? Zynq平台主要外设模块
? Zynq平台描述规范
? 高级综合工具HLS
? 14个设计实例
附赠内容
? 源代码:第12章~第23章涉及实例的源代码文件
《Xilinx All Programmable Zynq-7000 SoC设计指南》系统论述了Xilinx ALLProgrammable Zynq-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-III操作系统在Zynq平台上的实现和HLS在Zynq嵌入式系统设计中的应用。
何宾长期从事数字系统EDA方面教学与科研工作。在全国进行大学生电子设计竞赛极力推进FPGA专题方面的培训工作,在EDA教学与科研应用方面积累了丰富的经验。已出版相关图书《EDA原理及Verilog实现》、《EDA原理及VHDL实现》、《基于AXI4的可编程SOC系统设计》、《XilinxFPGA设计权威指南》等10本深受读者喜欢的Xilinx FPGA图书。
第1篇 Zynq-7000体系结构
第1章 可编程SoC设计导论 19
1.1 可编程SoC系统设计基础 19
1.1.1 软核及硬核处理器 19
1.1.2 可编程SoC技术的发展 20
1.1.3 可编程SoC系统技术特点 21
1.1.4 可编程SoC设计流程 21
1.1.5 可编程SoC开发工具 23
1.2 Xilinx Zynq平台导论 28
1.2.1 Xilinx Zynq平台功能 28
1.2.2 处理系统PS特性 30
1.2.3 可编程逻辑PL特性 35
1.2.4 互联特性及描述 37
1.2.5 Zynq信号、接口和引脚 39
1.3 Zynq平台设计方法学 46
1.3.1 使用PL实现软件算法的优势 46
1.3.2 设计PL加速器 47
1.3.3 PL加速限制 47
1.3.4 降低功耗 48
1.3.5 实时减负 49
1.3.6 可重配置计算 49
第2章 AMBA协议规范 50
2.1 AMBA规范导论 50
2.2 AMBA APB规范 51
2.2.1AMBA APB写传输 51
2.2.2AMBA APB读传输 52
2.2.3 AMBA APB错误响应 53
2.2.4操作状态 54
2.2.5AMBA3 APB信号 54
2.3 AMBA AHB规范 56
2.3.1 AMBA AHB结构 56
2.3.2 AMBA AHB操作 58
2.3.3 AMBA AHB传输类型 60
2.3.4 AMBA AHB猝发操作 61
2.3.5 AMBA AHB传输控制信号 64
2.3.6 AMBA AHB地址译码 66
2.3.7 AMBA AHB从设备传输响应 67
2.3.8 AMBA AHB数据总线 70
2.3.9 AMNA AHB传输仲裁 71
2.3.10 AMBA AHB分割传输 76
2.3.11 AMBA AHB复位 79
2.3.12 关于AHB数据总线的位宽 79
2.3.13 AMBA AHB接口设备 80
2.4 AMBA AXI4规范 11
2.4.1 AMBA AXI4概述 错误!未定义书签。
2.4.2 AMBA AXI4功能 11
2.4.3 AMBA AXI4互联结构 20
2.4.4 AXI4-Lite功能 22
2.4.5 AXI4-Stream功能 23
第2篇 Zynq-7000体系结构
第3章 Zynq-7000应用处理单元 27
3.1 应用处理单元 27
3.1.1 基本功能 27
3.1.2 系统级视图 29
3.2 Cortex-A9处理器 30
3.2.1 中央处理器 30
3.2.2 L1高速缓存 33
3.2.3 存储器管理单元 34
3.2.4 接口 37
3.2.5 NEON 38
3.2.6 性能监视单元 39
3.3 侦听控制单元 39
3.3.1 地址过滤 39
3.3.2 SCU主设备端口 40
3.4 L2高速缓存 40
3.4.1 互斥 L2-L1高速缓存配置 42
3.4.2 高速缓存替换策略 43
3.4.3 高速缓存锁定 43
3.4.4 使能/禁止 L2高速缓存控制器 44
3.4.5 RAM访问延迟控制 45
3.4.6 保存缓冲区操作 45
3.4.7 在Cortex-A9和L2控制器之间的优化 46
3.4.8 预取操作 47
3.4.9 编程模型 48
3.5 片上存储器 48
3.5.1 片上存储器结构 48
3.5.2 片上存储器功能 50
3.6 APU接口 57
3.6.1 PL协处理接口 57
3.6.2 中断接口 60
3.7 APU内的TrustZone 60
3.7.1 CPU安全过渡 61
3.7.2 CP15寄存器访问控制 61
3.7.3 MMU安全性 62
3.7.4 L1缓存安全性 62
3.7.5 安全异常控制 63
3.7.6 CPU调试 TrustZone访问控制 63
3.7.7 SCU寄存器访问控制 63
3.7.8 L2缓存中的TrustZone支持 63
3.8 应用处理单元复位 64
3.8.1 复位功能 64
3.8.2 复位后的APU状态 65
3.9 功耗考虑 65
3.9.1 待机模式 66
3.9.2 在L2控制器内的动态时钟门控 66
3.10系统地址分配 66
3.10.1 地址映射 66
3.10.2 系统总线主设备 68
3.10.3 I/O外设 68
3.10.4 SMC存储器 69
3.10.5 SLCR寄存器 69
3.10.6 杂项PS寄存器 70
3.10.7 CPU私有总线寄存器 70
3.11 中断 70
3.11.1 中断环境 71
3.11.2 中断控制器的功能 72
3.11.3 编程模型 76
3.12 定时器 77
3.12.1 CPU私有定时器和看门狗定时器 77
3.12.2 全局定时器 78
3.12.3 系统看门狗定时器 79
3.12.4 三重定时器/计数器 81
3.12.5 I/O信号 84
3.13 DMA控制器 85
3.13.1 DMA控制器结构及特性 85
3.13.2 DMA控制器功能 89
3.13.3 外部信号 99
3.13.4.寄存器描述 101
3.13.5.用于管理器和命令的指令集参考 102
3.13.6 编程模型参考 103
3.13.7 编程限制 109
3.13.8 DMAC IP配置选项 111
第4章 Zynq-7000可编程逻辑资源 112
4.1 Zynq-7000可编程逻辑资源特性 112
4.2 可编程逻辑资源功能 114
4.2.1 CLB,Slice和LUT 114
4.2.2 时钟管理 114
4.2.3 块RAM 115
4.2.4 数字信号处理-DSP Slice 116
4.2.5 输入/输出 117
4.2.6 低功耗串行收发器 118
4.2.7 PCI-E模块 119
4.2.8 XADC(模拟-数字转换器) 120
4.2.9 配置 120
第5章 系统互连结构 122
5.1 系统互连功能及特性 122
5.1.1 数据路径 124
5.1.2 时钟域 125
5.1.3 连接性 126
5.1.4 AXI ID 127
5.5.5 寄存器概述 128
5.2 服务质量 128
5.2.1 基本仲裁 128
5.2.2 高级QoS 128
5.2.3 DDR端口仲裁 129
5.3 AXI_HP接口 129
5.3.1 AXI_HP接口结构及特点 129
5.3.2 接口数据宽度 133
5.3.3 交易类型 134
5.3.4 命令交替和重新排序 135
5.3.5 性能优化总结 135
5.4 AXI_ACP接口 136
5.5 AXI_GP接口 137
5.6 AXI信号总结 137
5.7 PL接口选择 139
5.7.1 使用通用主设备端口的Cortex-A9 140
5.7.2 通过通用主设备的PS DMA控制器(DMAC) 141
5.7.3 通过高性能接口的PL DMA 142
5.7.4 通过AXI ACP的PL DMA 143
5.7.5 通过通用AXI从(GP)的PL DMA 144
第6章 系统公共资源特性及功能 145
6.1 时钟子系统 145
6.1.1 时钟系统结构及功能 145
6.1.2 CPU时钟域 147
6.1.3 时钟编程实例 148
6.1.4 时钟系统内生成电路结构 149
6.2 复位子系统 153
6.2.1 复位系统结构和层次 154
6.2.2 启动流程 155
6.1.3 复位的结果 156
第7章 Zynq调试和测试子系统 158
7.1 JTAG和DAP子系统 158
7.1.1 JTAG和DAP系统功能描述 160
7.1.2 JTAG和DAP系统I/O信号 162
7.1.3 编程模型 163
7.1.4 ARM DAP控制器 164
7.1.5 跟踪端口接口单元TPIU 165
7.1.6 Xilinx TAP控制器 165
7.2 CoreSight系统结构及功能 166
7.2.1 CoreSight结构 166
7.2.2 CoreSight功能 167
第8章 Zynq平台的启动和配置 172
8.1 Zynq平台启动和配置功能 172
8.2 外部启动要求 173
8.3 BootROM 175
8.3.1 BootROM功能 175
8.3.2 BootROM头部 178
8.3.3 启动设备 180
8.3.4 BootROM多启动和启动分区查找 184
8.3.5 调试状态 186
8.3.6 BootROM后状态 187
8.4 器件配置接口 189
8.4.1 器件配置接口功能 191
8.4.2 器件配置流程 193
8.4.3 PL配置 196
8.4.4 寄存器集合 197
第9章 Zynq平台主要外设模块 199
9.1 DDR存储器控制器 199
9.1.1 DDR存储器控制器接口及功能 200
9.1.2 AXI存储器端口接口 202
9.1.3 DDR核交易调度器 204
9.1.4 DDRC仲裁 204
9.1.5 DDR控制器PHY 206
9.1.6 DDR初始化和标定 206
9.1.7 纠错码 207
9.2 静态存储器控制器 208
9.2.1 静态存储器控制器接口及功能 209
9.2.2 静态存储器控制器和存储器的信号连接 210
9.3 四-SPI Flash控制器 212
9.3.1 四-SPI Flash控制器功能 213
9.3.2 四-SPI控制器反馈时钟 216
9.3.3 四-SPI Flash控制器接口 216
9.4 SD/SDIO外设控制器 218
9.4.1 SD/SDIO控制器功能 219
9.4.2 SD/SDIO控制器传输协议 221
9.4.3 SD/SDIO控制器接口信号连接 223
9.5 通用输入输出控制器 225
9.5.1 通用输入输出GPIO接口及功能 226
9.5.2 通用输入输出GPIO中断功能 227
9.6 USB主机、设备和OTG控制器 229
9.6.1 USB控制器接口及功能 230
9.6.2 USB主机操作模式 233
9.6.3 USB设备操作模式 235
9.6.4 USB OTG操作模式 238
9.7 吉比特以太网控制器 239
9.7.1 吉比特以太网控制器接口及功能 240
9.7.2 吉比特以太网控制器接口编程向导 242
9.7.3 吉比特以太网控制器接口信号连接 246
9.8 SPI控制器 248
9.8.1 SPI控制器的接口及功能 249
9.8.2 SPI控制器时钟设置规则 251
9.9 CAN控制器 252
9.9.1 CAN控制器接口及功能 252
9.9.2 CAN控制器操作模式 255
9.9.3 CAN控制器消息保存 256
9.9.4 CAN控制器接收过滤器 256
9.9.5 CAN控制器编程模型 257
9.10 UART控制器 260
9.10.1 UART控制器接口及功能 261
9.11 I2C控制器 264
9.11.1 I2C速度控制逻辑 265
9.11.2 I2C控制器的功能和工作模式 265
9.12 ADC转换器接口 268
9.12.1 ADC转换器功能 269
9.12.2 ADC命令格式 269
9.12.3 供电传感器报警 270
9.13 PCI-E接口 271
第10章 Zynq平台描述规范 273
10.1 Zynq平台文件描述规范功能集 273
10.2 微处理器硬件规范 273
10.2.1 通用微处理器硬件规范 274
10.2.2 AXI系统微处理器硬件规范 275
10.2.3 Zynq-7000系统微处理器规范实例 276
10.3 微处理器外设规范 280
Xilinx公司亚太地区销售与市场副总裁 杨飞
把握All Programmable SoC技术,推动中国创新事业
新年伊始,获悉北京化工大学何宾教授的《Xilinx All Programmable Zynq-7000SoC设计指南》图书即将完稿出版, 我感到非常振奋。
从诞生至今, 赛灵思一直都是行业的先锋企业, 29年来引领了众多的行业创新。在过去的两年中,赛灵思最为自豪的,就是自28nm产品推出以来公司所实现的众多的行业第一, 其中包括:
(1) 行业第一个All Programmable SoC Zynq-7000系列。该系列的发布为行业带来了软件和硬件全面可编程的SoC平台。
(2) 行业第一个3D IC。 该产品的发布使得半导体制造业突破了摩尔定律的限制。已经量产的Virtex-7 2000T 3DIC是目前半导体历史上最大的IC, 拥有68亿个晶体管。
(3) 行业第一个异构3D IC。该3D IC 让28nm FPGA功能和40nm 28G SerDes收发器功能得以完美集成,成为行业第一个拥有400G吞吐能力的单芯片。
(4) 行业第一个把高层次综合能力引入到All ProgrammableFPGA设计流程中,使得FPGA工程师能够通过构建基于C/C++/System C的模型而转换硬件实现。
(5) 打造行业第一个面向未来10年All Programmable 设计的新一代环境: Vivado DesignSuit,把集成和实现的速度提高4倍以上,大大提升了工程设计的生产力。
(6) Zynq加HLS (赛灵思高层次综合工具), 让系统设计工程师能够基于All ProgrammableSoC实现软硬件的协同设计,大幅缩短了其产品的上市进程。
所有这些赛灵思所创造的行业领先产品和技术, 让赛灵思能够为工程业界提供领先一代的价值优势,帮助工程师们充分释放其创造和创新的巨大潜能。
芯片平台进入门坎一直是局限中国信息行业发展的瓶颈,赛灵思的28nm All Programmable产品, 尤其是其Zynq系列,对于中国的工程师们来说,是一个非常合适且高效的平台, 可以支持他们实现精彩纷呈的行业创新。我很高兴中国的教授能够如此迅速地发现ZynqAll Programmable SoC的价值,并率先出版拥有大量实例的、理论和实践相结合的中文设计指南。这些图书将加速中国工程师借助Zynq 平台把创意变成现实,推动中国的创新事业。
更智能的专业化软硬件平台,将是嵌入式系统的未来。而Zynq All Programmable SoC,就是这样一个专业的、跨学科、跨产业、跨时空、和跨职业生涯的强大软硬件平台,不仅将加速中国学术界创新人才培养,而且还将在推动工业界的创新方面扮演重要的角色!
最后, 我再次对何教授及相关作者在该书出版上所做的努力表示诚挚的谢意!
ARM公司中国区大学计划经理时昕
紧密结合ARM与FPGA技术,致力中国智造
首先,恭喜北京化工大学何宾教授写作完成的《Xilinx Zynq-7000 All Programmable SoC平台设计指南》系列图书即将出版。
ARM公司自1990年诞生以来,一直致力于为芯片的设计开发提供领先的半导体知识产权(IP),全球有超过250家公司在ARM处理器IP的基础上开发出了数以百计的各类芯片。ARM在全球合作伙伴数量(包括世界领先的半导体公司和系统公司)也已经超过了1000个。
2012年,全球领先FPGA厂商赛灵思(Xilinx)公司与ARM合作,推出的Zynq-7000系列产品,完美的将ARM®双核Cortex?-A9MPCore? 处理系统与赛灵思可扩展的28nm可编程逻辑构架结合在一起。该系列采用了业界事实标准的AMBA®总线作为片上系统的互连总线,可支持双核Cortex-A9 处理器系统以及可编程逻辑中定制加速器和外设的并行开发。
作为行业内第一款集成了Cortex?-A系列内核的软、硬件全面可编程的平台,我们非常自豪能够参与和见证这一技术上的创新。同时,我们也非常高兴的看到FPGA的用户将可以从ARM生态中丰富的软、硬件资源中获益。相信Zynq-7000系列的推出,一定会给中国的工程师们提供一个更强大的工作和创新平台。
何宾老师基于该产品撰写的《Xilinx All ProgrammableSoC设计指南》,从片上系统(SoC)设计导论开始,继之以AMBA®片上总线规范以及Cortex?-A9处理器内核的说明,之后在详细描述Zynq-7000系列芯片特点的基础上系统介绍了如何基于Zynq的丰富资源与特性进行软硬件的协调开发。下册则提供了非常丰富的设计实例来说明设计流程和方法。
作为ARM大学计划的一员,我非常高兴的看到Zynq-7000系列开发平台已经走入了大学,成为大学生们学习和研究的工具。在校大学生是未来优秀工程师的主力军,何宾老师撰写的可编程平台设计指南,把行业内领先的技术带进了大学的课堂,这对优秀人才的培养以及国内半导体技术的发展都有着重大的意义。
相信本书的出版发行定能够对于芯片设计、嵌入式系统乃至计算机软硬相关学科的教学与科研提供很好的平台和参考。
《Xilinx All Programmable Zynq-7000SoC设计指南》是作者耗时半年多时间后,献给广大读者的又一本反映最新Xilinx可编程技术的著作。在该书编写的过程中感触颇多,愿于广大读者在此一起分享这些心得:
1.当Xilinx将ARM公司的双核Cortex-A9处理器嵌入到FPGA芯片内,并结合最新的28纳米工艺,制造出全新一代的可编程SoC平台后,起名叫EPP,即可扩展的处理平台,后来又改成AllProgrammable平台。在这个名字变化的过程中,反映了Xilinx给这个最新Zynq设计平台的定位,即:平台侧重于嵌入式系统的应用,未来的可编程逻辑器件向着嵌入式处理方向发展,即传统的可编程逻辑器件未来称为嵌入式处理元素。未来的嵌入式系统“硬件”和“软件”将根据应用的要求,真正的变成AllProgrammable(以下称为全可编程),即:可以在单芯片内设计满足特定要求的硬件平台和相应的软件应用。在这个全可编程的实现过程中,体现着软件和硬件协同设计、软件和硬件协同调试、软件的串行执行和硬件逻辑的并行执行完美结合、未来的嵌入式系统是“积木块”的设计风格等设计思想。这些设计理念将在Zynq-7000平台上由理想变成实现。
2.Zynq-7000器件是最新半导体技术、计算机技术和电子技术的一个结合体。在一个小小的半导体硅片上却集成了当今最新的信息技术。基于Zynq-7000平台进行高性能的嵌入式实现,需要微电子、数字逻辑、嵌入式处理器、计算机接口、计算机体系结构、数字信号处理等相关的知识。表面上看,Zynq-7000是一个比较复杂的系统。但是,是对一个设计者基础理论知识和系统级设计能力的一个真正的考察。在这个平台上实现嵌入式系统的应用,体现着自顶向下的一体化设计理念。
3.Zynq-7000平台是非常好的教学平台、科研平台和应用平台。作为教学平台,可以在这个平台上实现全过程的计算机相关课程的教学,使得学生可以清楚地看到每个实现的具体过程。这样,学生就可以真正地理解嵌入式系统的内涵;作为科研平台,从事嵌入式相关技术研究人员,可以在这个全开放的平台上,将算法进行高性能的实现。并且,可以在这个平台上实现很多设计的性能分析等研究;作为应用平台,该平台的应用将进一步的提高嵌入式系统的灵活性和可靠性、大大降低设计成本,提高了产品的市场竞争力。
为了更好的帮助读者学习和掌握Zynq全可编程平台的设计原理和实现方法。全书共23章,按照Zynq-7000基础理论篇、Zynq-7000体系结构篇和Zynq-7000设计实战篇分别进行了详细的介绍。
1.Zynq-7000基础理论篇,详细介绍了学习Zynq-7000全可编程平台需要的基础理论知识,共包括2个章节内容:
(1)可编程SoC设计导论,包括:可编程SoC系统概述、XilinxZynq平台导论和Zynq平台设计方法概述。
(2) AMBA协议规范,包括:AMBA规范概述、AMBA APB规范、AMBAAHB规范和AMBA AXI4规范。
2.Zynq-7000体系结构篇,详细介绍了Zynq-7000内的处理器系统、可编程逻辑系统、互联结构和外设模块等,共包含9个章节的内容:
(1)Zynq-7000应用处理单元,包括:应用处理单元概述、Cortex-A9处理器、侦听控制单元、L2高速缓存、片上存储、APU接口、APU内的TrustZone、应用处理单元复位、功耗考虑、系统地址分配、中断、定时器和DMA控制器。
(2)可编程逻辑资源,包括:可编程逻辑资源概述和可编程逻辑资源功能。
(3)系统互连结构,包括:系统互连概述、服务质量、AXI_HP接口、AXI_ACP接口、AXI_GP接口、AXI信号总结和PL接口选择。
(4)系统公共资源特性及功能,包括:时钟子系统和复位子系统。
(5)Zynq调试和测试子系统,包括:JTAG和DAP子系统、CoreSight系统及功能。
(6)Zynq平台的启动和配置,包括:概述、外部启动要求、BootROM和器件配置接口。
(7) Zynq平台主要外设模块,包括:DDR存储器控制器、静态存储器控制器、四-SPIFlash控制器、SD/SDIO外设控制器、通用输入输出控制器、USB主、设备和OTG控制器、吉比特以太网控制器、SPI控制器、CAN控制器、UART控制器、I2C控制器、ADC转换器接口和PCI-E接口。
(8)Zynq平台描述规范,包括:Zynq平台文件描述规范概述、微处理器硬件规范、微控制器外设规范、外设分析命令、黑盒定义、微处理器软件规范、微处理器库定义、微处理器驱动定义和Xilinx板描述格式。
(9)高级综合工具HLS概述,包括:高级综合工具概述、高级综合工具调度和绑定、VivadoHLS工具的优势、C代码的关键属性和HLS内提供的用于时钟测量的术语。
3.Zynq-7000设计实战篇,详细介绍了基于Zynq全可编程平台的不同设计实例,共包含12个章节的内容:
(1)使用BSP向导生成Zynq基本系统。包括:使用BSB向导生成Zynq基本系统、生成和运行存储器测试工程及生成和运行外设测试工程。
(2)添加AXIIP到设计。包括:设计原理、添加IP到系统设计、使用SDK设计和实现应用工程。
(3)基于定制IP实现简单嵌入式系统设计。包括:创建设计工程、定制GPIOIP核、添加和连接AXI外设、添加约束到用于约束文件、使用SDK设计和实现应用工程。
(4)基于定制IP实现复杂嵌入式系统设计。包括:设计原理、创建设计工程、定制VGAIP核、定制移位寄存器IP核、添加和连接VGA IP核、添加和连接shifterIP核、添加约束到用户约束文件、使用SDK设计和实现应用工程。
(5)软件和硬件协同调试系统。包括:复制并打开设计工程、例化AXIChipscope核、导入硬件设计到SDK工具、启动ChipScope Pro硬件调试器工具、执行H/S验证。
(6)Zynq平台配置和启动的实现。包括:生成SD卡镜像文件并启动、生成QSPIFlash镜像并启动。
(7)基于Zynq HP从端口的数据传输实现。包括:设计原理、创建设计工程、添加并配置AXICDMA到设计、使用SDK设计和实现应用工程。
(8)基于ZynqACP从端口数据传输实现。包括:设计原理、创建设计工程、配置PS端口、添加并连接IP到设计、使用SDK设计和实现应用工程。
(9)XADC在Zynq平台上的应用。包括:设计原理、创建设计工程、添加XADCIP到设计、使用SDK设计和实现应用工程。
(10)Ubuntu操作系统在Zynq平台上实现。包括:Ubuntu操作系统环境搭建、u-boot原理及实现、内核概述及编译、设备树原理及实现、文件系统原理及实现、打开设计工程、使用SDK设计生成软件工程、验证Ubuntu系统的运行。
(11)?C/OS-III操作系统在Zynq平台上的实现。包括:?C/OS-III操作系统概述、?C/OS-III操作系统环境构建、创建设计工程、建立?C/OS-III操作系统的软件应用工程、运行外设测试工程、相关文件目录功能、基于?C/OS-III操作系统的关键工程文件分析。
(12)HLS在Zynq嵌入式系统设计的应用。包括:设计原理、基于HLS生成FIR滤波器、创建处理器系统、使用SDK设计和实现应用工程。
在本书所包含这些设计实例代表着Zynq的一个应用的方向,在介绍这些设计实例的过程中,贯穿了很多重要的设计方法和设计思路,这些设计方法和设计思路比设计案例本身更加重要。为了便于读者的学习,本书还配套了光盘,光盘上提供了相关设计的完整工程及相关代码,以及教学课件等设计资源。
在本书的编写过程中,得到了大量的帮助。感谢彭勃、李宝隆、孙丹阳同学,他们分别帮助验证了本书实验部分案例的验证,以及完成了书中一部分表格和插图的绘制工作。中科院南京天文光学技术研究所的陆启帅参与本书实验部分第9章、第10章内容的编写。还要感谢Xilinx大学合作计划、ARM大学合作计划、美国Digilent公司、美国Avent公司和北京麦克泰软件技术有限公司在软件和硬件平台方面给予的大力支持和帮助。最后,也要对清华大学出版社的编辑和领导的辛勤工作表示感谢。正是由于他们的支持和帮助,使得作者能在短时间内高质量的完成该书的编写和校对工作。
虽然作者花费了大量的精力和时间用于该书的编写,但是由于作者的能力有限,书中一定会存在不足之处。在此,也恳请广大读者、同仁对本书提出宝贵的修改意见。
何宾
2013.1于北京