目录
vi
2.1.3 处理器系统外部接口 ……………………………………………… 21
2.2 可编程逻辑 …………………………………………………………………………… 22
2.2.1 逻辑部分 ………………………………………………………………….23
2.2.2 特殊资源:DSP48E1 和块 RAM ………………………………… 25
2.2.3 通用输入 / 输出 ……………………………………………………… 28
2.2.4 通信接口 ………………………………………………………………….29
2.2.5 其他可编程逻辑扩展接口 ………………………………………. 29
2.3 处理器系统与可编程逻辑的接口 ……………………………………….. 30
2.3.1 AXI 标准 …………………………………………………………………..30
2.3.2 AXI 互联和接口 ……………………………………………………… 31
2.3.3 EMIO 接口 ……………………………………………………………….. 34
2.3.4 其他 PL-PS 信号 ……………………………………………………… 34
2.4 安全 ……………………………………………………………………………………….35
2.4.1 安全引导 ………………………………………………………………….35
2.4.2 硬件支持 ………………………………………………………………….36
2.4.3 运行时刻安全 …………………………………………………………..36
2.5 Zynq-7000 系列成员 ……………………………………………………………. 39
2.6 本章回顾 ………………………………………………………………………………. 40
2.7 架构参考指南 ………………………………………………………………………. 41
2.8 参考文献 ………………………………………………………………………………. 44
章节 3 Zynq 设计指南 (“ 如何使用它? ”) …………………….47
3.1 入门 ……………………………………………………………………………………….48
3.1.1 获取设计工具 …………………………………………………………..48
3.1.2 开发工具内部版本和证书 ………………………………………. 49
3.1.3 设计工具功能 …………………………………………………………..50
3.1.4 第三方工具 ………………………………………………………………51
3.1.5 系统安装和需求 ……………………………………………………… 51
3.2 设计流程概述 ………………………………………………………………………. 53
3.2.1 需求和技术参数 ……………………………………………………… 54
3.2.2 系统设计 ………………………………………………………………….54
3.2.3 硬件开发和测试 ……………………………………………………… 55
3.2.4 软件开发和测试 ……………………………………………………… 58
3.2.5 系统集成和测试 ……………………………………………………… 60
3.3 SoC 设计团队 ………………………………………………………………………. 60
3.4 使用 Vivado 进行以 IP 为重点的系统级设计 …………………….62
vii
3.5 ISE 和 Vivado 设计套件 ……………………………………………………. 64
3.5.1 特性比较 …………………………………………………………………. 64
3.5.2 升级到 Vivado ………………………………………………………… 66
3.6 开发板 ………………………………………………………………………………….. 67
3.6.1 Zynq-7000 SoC ZC702 Evaluation Kit ………………. 67
3.6.2 Zynq-7000 SoC Video & Imaging Kit ………………… 69
3.6.3 Zynq-7000 ZC706 Evaluation Kit ………………………. 69
3.6.4 ZedBoard …………………………………………………………………. 69
3.6.5 ZYBO …………………………………………………………………………. 69
3.6.6 第三方开发板 …………………………………………………………. 70
3.6.7 附件和扩展 ……………………………………………………………… 71
3.6.8 使用开发板工作 ……………………………………………………… 72
3.7 支持和文档 …………………………………………………………………………… 72
3.8 章节回顾 ………………………………………………………………………………. 72
3.9 参考文献 ………………………………………………………………………………. 73
章节 4 芯片比较 (“ 为什么我需要 Zynq?”) …………………… 77
4.1 芯片选择的条件 …………………………………………………………………… 78
4.2 比较一:Zynq 对 FPGA …………………………………………………………. 80
4.2.1 MicroBlaze 处理器 ………………………………………………… 80
4.2.2 MicroBlaze 单片机系统 ………………………………………… 84
4.2.3 PicoBlaze ……………………………………………………………….. 85
4.2.4 ARM Cortex-M1 ……………………………………………………….. 85
4.2.5 其他处理器类型 ……………………………………………………… 85
4.2.6 总结说明 …………………………………………………………………. 87
4.3 比较二:Zynq 对标准处理器 ………………………………………………. 89
4.3.1 处理器操作 ……………………………………………………………… 89
4.3.2 执行分析 …………………………………………………………………. 92
4.3.3 总结说明 …………………………………………………………………. 94
4.4 比较三:Zynq 对分立的 FPGA- 处理器组合 ……………………….. 94
4.5 拓展 Zynq 架构和设计流 ……………………………………………………… 96
4.6 本章回顾 ………………………………………………………………………………. 98
4.7 参考文献 ………………………………………………………………………………. 99
章节 5 应用和机会 (“ 拿它能做什么 ?”) …………………….. 101
5.1 应用的概述 ………………………………………………………………………….102
viii
5.1.1 汽车 ………………………………………………………………………..102
5.1.2 通信 ………………………………………………………………………..102
5.1.3 防务和航空航天 …………………………………………………….103
5.1.4 机器人、控制和仪器 …………………………………………….104
5.1.5 图像和视频处理 …………………………………………………….104
5.1.6 医药 ………………………………………………………………………..105
5.1.7 高性能计算 (HPC) ……………………………………………….105
5.1.8 其他及未来的应用 …………………………………………………105
5.2 何时 Zynq 真的有用 …? ……………………………………………………106
5.3 通信:软件定义无线电 (SDR) ………………………………………..107
5.3.1 在无线通信中的趋势 …………………………………………….107
5.3.2 介绍软件定义无线电 (SDR) ……………………………….108
5.3.3 SDR 的实现和授权技术 ………………………………………….108
5.3.4 认知无线电 …………………………………………………………….110
5.4 智能系统和智能网络 ………………………………………………………….111
5.4.1 什么是智能系统? …………………………………………………111
5.4.2 智能系统的例子 …………………………………………………….112
5.4.3 智能网络:智能系统的通信 …………………………………114
5.4.4 相关概念 ………………………………………………………………..115
5.5 图像和视频处理,及计算机视觉 ………………………………………115
5.5.1 图像与视频处理 …………………………………………………….115
5.5.2 计算机视觉 …………………………………………………………….116
5.5.3 抽象的层级 …………………………………………………………….117
5.5.4 图像处理系统的实现 …………………………………………….118
5.5.5 Zynq 上的计算机视觉的例子:道路标识识别 …….120
5.6 动态片上系统 ……………………………………………………………………..121
5.6.1 运行时刻系统灵活性 …………………………………………….121
5.6.2 动态部分重配置 (DPR) ……………………………………….121
5.6.3 DPR 应用的例子 ……………………………………………………..122
5.6.4 DPR 的好处 ……………………………………………………………124
5.7 更多的机会:Zynq 的 “ 生态系统 ” ………………………………125
5.7.1 什么是生态系统? …………………………………………………125
5.7.2 有什么机会? …………………………………………………………126
5.8 本章回顾 ……………………………………………………………………………..128
5.9 参考文献 ……………………………………………………………………………..128
ix
章节 6 The ZedBoard ………………………………………………………. 133
6.1 介绍 Zed ………………………………………………………………………………133
6.2 ZedBoard 系统架构 …………………………………………………………….134
6.3 ZedBoard 设计流程 …………………………………………………………….136
6.4 ZedBoard 入门 …………………………………………………………………….137
6.4.1 盒子里有什么? …………………………………………………….137
6.4.2 硬件安装 ………………………………………………………………..137
6.4.3 烧写 ZedBoard ……………………………………………………….138
6.5 MicroZed ………………………………………………………………………………142
6.6 文档,教程和支持 ………………………………………………………………142
6.6.1 关于 ZedBoard 的文档 …………………………………………..142
6.6.2 演示和教程 …………………………………………………………….143
6.6.3 在线课程 ………………………………………………………………..143
6.6.4 其他 ZedBoard 资源和支持 …………………………………..144
6.7 ZedBoard.org 社区 …………………………………………………………….144
6.7.1 社区工程 ………………………………………………………………..144
6.7.2 博客 ………………………………………………………………………..144
6.7.3 支持论坛 ………………………………………………………………..145
6.8 本章回顾 ……………………………………………………………………………..145
6.9 参考文献 ……………………………………………………………………………..146
章节 7 教育、研究和培训 ………………………………………………. 147
7.1 技术趋势和 SoC 教育 ………………………………………………………….148
7.2 大学用 Zynq 教学 ………………………………………………………………..149
7.2.1 用 Xilinx 工具和板教学 ……………………………………….149
7.2.2 数字设计和 FPGA 教学 …………………………………………..150
7.2.3 计算机科学 …………………………………………………………….150
7.2.4 嵌入式系统和 SoC 设计 …………………………………………150
7.2.5 算法实现 (如信号、图像和视频处理) ……………..151
7.2.6 设计重用 ………………………………………………………………..152
7.2.7 新的和正在出现的设计方法 …………………………………153
7.2.8 传感、机器人和原型 …………………………………………….154
7.2.9 一个例子课程 ………………………………………………………..154
7.3 项目和竞争 ………………………………………………………………………….155
7.4 学术研究 ……………………………………………………………………………..156
7.5 Xilinx 大学计划 (XUP) ………………………………………………………158
x
7.5.1 介绍 XUP …………………………………………………………………158
7.5.2 软件技术和许可 …………………………………………………….158
7.5.3 XUP 开发和教学板 ………………………………………………….159
7.5.4 XUP 研讨会和培训材料 ………………………………………….159
7.5.5 对大学的技术支持 …………………………………………………160
7.5.6 资格 ………………………………………………………………………..160
7.5.7 联系 XUP …………………………………………………………………160
7.6 企业培训 ……………………………………………………………………………..160
7.6.1 课程的授权的培训提供者 ……………………………………..160
7.6.2 其他资源 ………………………………………………………………..161
7.6.3 在线视频 ………………………………………………………………..161
7.7 本章回顾 ……………………………………………………………………………..161
7.8 参考文献 ……………………………………………………………………………..162
章节 8 Zynq 的第一个工程 ………………………………………………165
8.1 软件安装指导 ……………………………………………………………………..166
8.2 目标和结果 ………………………………………………………………………….166
8.3 练习 1A 概述 ………………………………………………………………………..166
8.4 练习 1B 概述 ………………………………………………………………………..167
8.5 练习 1C 概述 ………………………………………………………………………..168
8.6 可能的扩展 ………………………………………………………………………….169
8.7 接下来是什么? ………………………………………………………………….169
8.8 参考文献 ……………………………………………………………………………..169
PART B Zynq SoC & 硬件设计…………………………………171
章节 9 嵌入式系统和 FPGA ………………………………………………173
9.1 什么是嵌入式系统? ………………………………………………………….173
9.1.1 应用 ………………………………………………………………………..174
9.1.2 一般嵌入式系统架构 …………………………………………….175
9.2 处理器 ………………………………………………………………………………….176
9.2.1 协处理器 ………………………………………………………………..177
9.2.2 处理器 cache ………………………………………………………….177
9.2.3 执行周期 ………………………………………………………………..179
9.2.4 中断 ………………………………………………………………………..183
9.3 总线 ……………………………………………………………………………………..184
xi
9.3.1 系统与外设总线 …………………………………………………….185
9.3.2 总线主机和从机 …………………………………………………….186
9.3.3 总线仲裁 ………………………………………………………………..186
9.3.4 存储器访问 …………………………………………………………….186
9.3.5 总线带宽 ………………………………………………………………..188
9.4 本章回顾 ……………………………………………………………………………..189
9.5 参考文献 ……………………………………………………………………………..189
章节 10 Zynq 片上系统概述 …………………………………………….. 191
10.1 接口与信号 ………………………………………………………………………….192
10.1.1 PS-PL AXI 接口 …………………………………………………….192
10.1.2 PL 协处理器接口 ……………………………………………………193
10.1.3 中断接口 ………………………………………………………………..196
10.2 互联 ……………………………………………………………………………………..197
10.2.1 互联特性 ………………………………………………………………..197
10.2.2 互联、主机和从机 …………………………………………………198
10.2.3 连接性 …………………………………………………………………….199
10.2.4 AXI_HP 接口 …………………………………………………………..200
10.2.5 AXI_ACP 接口 …………………………………………………………202
10.2.6 AXI_GP 接口 …………………………………………………………..202
10.3 存储器 …………………………………………………………………………………202
10.3.1 存储器接口 …………………………………………………………….203
10.3.2 片上存储器 (On-Chip Memory,OCM) …………………208
10.3.3 存储器映射 …………………………………………………………….210
10.4 中断 ……………………………………………………………………………………..211
10.4.1 中断信号 ………………………………………………………………..212
10.4.2 通用中断控制器 (GIC) ………………………………………….212
10.4.3 中断源 …………………………………………………………………….213
10.4.4 中断优先级定序和处理 …………………………………………217
10.4.5 延伸阅读 ………………………………………………………………..218
10.5 本章回顾 ……………………………………………………………………………..219
10.6 参考文献 ……………………………………………………………………………..219
章节 11 Zynq 片上系统的开发 ………………………………………….. 221
11.1 硬件 / 软件划分 ………………………………………………………………….221
11.2 剖析 ……………………………………………………………………………………..224
xii
11.3 软件开发工具 ……………………………………………………………………..226
11.3.1 软件工具 ………………………………………………………………..226
11.3.2 硬件配置工具 …………………………………………………………227
11.3.3 软件开发包 (SDK) ………………………………………………….228
11.3.4 微处理器调试器 …………………………………………………….228
11.3.5 用于 Xilinx Cortex-A9 编译器工具链 Sourcery
CodeBench Lite Edition ………………………………………………….229
11.3.6 逻辑分析仪 …………………………………………………………….229
11.3.7 System Generator for DSP …………………………………229
11.4 本章回顾 ……………………………………………………………………………..230
11.5 参考文献 ……………………………………………………………………………..230
章节 12 Zynq SoC 设计的下一步 ……………………………………….231
12.1 先决条件 ……………………………………………………………………………..231
12.2 目标与结果 ………………………………………………………………………….232
12.3 练习 2A 的概述 ……………………………………………………………………232
12.4 练习 2B 的概述 ……………………………………………………………………232
12.5 练习 2C 的概述 ……………………………………………………………………233
12.6 练习 2D 的概述 ……………………………………………………………………234
12.7 可能的扩展 ………………………………………………………………………….235
12.8 接下来? ……………………………………………………………………………..236
章节 13 IP 包设计 …………………………………………………………….237
13.1 概述 ……………………………………………………………………………………..237
13.2 业界趋势和哲学 ………………………………………………………………….239
13.3 IP 核设计方法 …………………………………………………………………….240
13.3.1 HDL ………………………………………………………………………….240
13.3.2 System Generator …………………………………………………241
13.3.3 HDL Coder ………………………………………………………………241
13.3.4 Vivado High-Level Synthesis ……………………………242
13.3.5 选择正确的 IP 创建方法 ……………………………………….244
13.4 仿真与文档 ………………………………………………………………………….244
13.4.1 仿真 ………………………………………………………………………..244
13.4.2 文档 ………………………………………………………………………..249
13.5 本章回顾 ……………………………………………………………………………..252
13.6 参考文献 ……………………………………………………………………………..252
xiii
章节 14 高层综合 …………………………………………………………….. 255
14.1 高层综合的概念 ………………………………………………………………….256
14.1.1 什么是高层综合 (HLS)? ………………………………….256
14.1.2 高层综合的动机 …………………………………………………….257
14.1.3 设计指标和硬件架构 …………………………………………….259
14.2 HLS 工具的开发 …………………………………………………………………..260
14.3 HLS 源代码语言 …………………………………………………………………..262
14.3.1 C ………………………………………………………………………………262
14.3.2 C++ ………………………………………………………………………….263
14.3.3 SystemC ………………………………………………………………….263
14.3.4 用于高层综合的其他语言 ……………………………………..264
14.4 介绍 Vivado HLS …………………………………………………………………264
14.4.1 Vivado HLS 做什么? ……………………………………………264
14.4.2 Vivado HLS 设计流 ………………………………………………..267
14.4.3 C 功能性验证和 C/RTL 协同仿真 ………………………….270
14.4.4 实现的度量指标和考虑因素 …………………………………271
14.4.5 高层综合过程的概述 …………………………………………….272
14.4.6 解决方案:探索设计空间 ……………………………………..276
14.4.7 Vivado HLS 库的支持 ……………………………………………277
14.5 在 Zynq 设计流中的 HLS ……………………………………………………..277
14.6 本章回顾 ……………………………………………………………………………..278
14.7 参考文献 ……………………………………………………………………………..278
章节 15 Vivado HLS: 近视 ………………………………………………… 281
15.1 一个 Vivado HLS 项目的剖析 …………………………………………….282
15.2 Vivado HLS 用户界面 ………………………………………………………..283
15.2.1 图形用户界面 ………………………………………………………..284
15.2.2 命令行界面 (CLI) ……………………………………………….286
15.3 数据类型 ……………………………………………………………………………..287
15.3.1 C 和 C++ 的自有数据类型 ………………………………………287
15.3.2 Vivado HLS 的 C 和 C++ 任意精度数据类型 …………289
15.3.3 SystemC 的任意精度类型 ………………………………………292
15.3.4 浮点数据类型和运算 …………………………………………….294
15.3.5 任意精度模式的验证 …………………………………………….294
15.4 接口规格和综合 ………………………………………………………………….295
15.4.1 C/C++ 函数定义 ……………………………………………………295
xiv
15.4.2 端口级别接口的综合 …………………………………………….296
15.4.3 端口接口协议类型 …………………………………………………298
15.4.4 端口接口协议的综合 …………………………………………….300
15.4.5 包级别的接口端口和协议 ……………………………………..302
15.4.6 接口综合指令 …………………………………………………………304
15.4.7 人工接口设定 …………………………………………………………308
15.5 算法综合 ……………………………………………………………………………..309
15.5.1 实现的度量指标和约束 …………………………………………309
15.5.2 数据类型 ………………………………………………………………..311
15.5.3 流水线 …………………………………………………………………….311
15.5.4 数据流 …………………………………………………………………….316
15.5.5 算法例子研究:循环 …………………………………………….319
15.5.6 数组 ………………………………………………………………………..327
15.6 设计评估和优化 ………………………………………………………………….328
15.6.1 设计约束 ………………………………………………………………..328
15.6.2 合成指令 ………………………………………………………………..329
15.6.3 统计与报告 …………………………………………………………….329
15.6.4 设计迭代和优化 …………………………………………………….329
15.7 从 Vivado HLS 导出 ……………………………………………………………330
15.7.1 Vivado IP Catalog (IP-XACT 格式) …………………330
15.7.2 DSP 的 System Generator ……………………………………..330
15.7.3 XPS 的 pcore …………………………………………………………..330
15.8 本章回顾 ……………………………………………………………………………..331
15.9 参考文献 ……………………………………………………………………………..331
章节 16 用 Vivado 高层综合做设计 ……………………………………333
16.1 前提条件 ……………………………………………………………………………..333
16.2 目标与成果 ………………………………………………………………………….333
16.3 练习 3A 概述 ………………………………………………………………………..334
16.4 练习 3B 概述 ………………………………………………………………………..334
16.5 练习 3C 概述 ………………………………………………………………………..334
16.6 肯能的扩展 ………………………………………………………………………….335
16.7 接下去? ……………………………………………………………………………..335
章节 17 IP 的创建 …………………………………………………………….337
17.1 目标与成果 ………………………………………………………………………….337
xv
17.2 练习 4A 概述 ………………………………………………………………………..338
17.3 练习 4B 概述 ………………………………………………………………………..338
17.4 练习 4C 概述 ………………………………………………………………………..339
17.5 可能的扩展 ………………………………………………………………………….340
17.6 接下来? ……………………………………………………………………………..341
章节 18 IP 重用与集成 …………………………………………………….. 343
18.1 概述 ……………………………………………………………………………………..343
18.2 系统设计 — 系统级的方法 ………………………………………………344
18.3 IP-XACT ……………………………………………………………………………….346
18.4 IP 库 ……………………………………………………………………………………346
18.4.1 Vivado IP Catalog ……………………………………………….347
18.4.2 第三方 …………………………………………………………………….347
18.4.3 定制 IP ……………………………………………………………………348
18.5 IP 集成 ………………………………………………………………………………..349
18.5.1 IP Integrator ………………………………………………………349
18.5.2 IP Packager …………………………………………………………..349
18.6 本章回顾 ……………………………………………………………………………..351
18.7 参考文献 ……………………………………………………………………………..351
章节 19 AXI 接口 …………………………………………………………….. 353
19.1 AXI 的开发 …………………………………………………………………………..353
19.2 各种 AXI4 …………………………………………………………………………….354
19.3 AXI 架构 ……………………………………………………………………………..354
19.3.1 地址通道 ………………………………………………………………..356
19.3.2 写数据通道 …………………………………………………………….356
19.3.3 读数据通道 …………………………………………………………….356
19.3.4 写响应通道 l ………………………………………………………….356
19.4 应用实例 ……………………………………………………………………………..356
19.5 AXI 会话 ………………………………………………………………………………358
19.5.1 AXI 写批量会话 ……………………………………………………..358
19.5.2 AXI 读批量会话 ……………………………………………………..358
19.6 在 Xilinx 工具流中的 AXI …………………………………………………360
19.7 小结 ……………………………………………………………………………………..364
19.8 参考文献 ……………………………………………………………………………..364
xvi
章节 20 探索 IP Integrator ………………………………………………….365
20.1 目标与成果 ………………………………………………………………………….366
20.2 练习 4A ………………………………………………………………………………..367
20.3 练习 4B ………………………………………………………………………………..367
20.4 练习 4C ………………………………………………………………………………..368
20.5 可能的扩展 ………………………………………………………………………….368
20.6 接下来? ……………………………………………………………………………..368
PART C 操作系统 & 系统集成…………………………………369
章节 21 Zynq 上的操作系统介绍 ……………………………………….371
21.1 为何要使用嵌入式操作系统? …………………………………………..371
21.1.1 加速面市 ………………………………………………………………..371
21.1.2 使用已有的功能 …………………………………………………….372
21.1.3 降低维护和开发的成本 …………………………………………373
21.2 选择正确的操作系统类型 ………………………………………………….373
21.2.1 单任务操作系统 …………………………………………………….373
21.2.2 实时操作系统 (RTOS) ……………………………………….374
21.2.3 其它嵌入式操作系统 …………………………………………….375
21.2.4 进一步的考虑 …………………………………………………………377
21.3 应用 ……………………………………………………………………………………..377
21.4 多处理器系统 ……………………………………………………………………..378
21.5 Zynq 操作系统 …………………………………………………………………….379
21.5.1 Linux ………………………………………………………………………..379
21.5.2 RTOS ……………………………………………………………………….382
21.5.3 其它操作系统 …………………………………………………………382
21.6 本章回顾 ……………………………………………………………………………..383
21.7 参考文献 ………………………………………………………………………………383
章节 22 Linux 概览 ……………………………………………………………385
22.1 简单历史 ……………………………………………………………………………..385
22.2 Linux 系统概述 ……………………………………………………………………386
22.3 许可 ……………………………………………………………………………………..387
22.3.1 GNU 通用公共许可 ……………………………………………….388
22.4 开发工具和资源 ………………………………………………………………….389
22.4.1 虚拟机 …………………………………………………………………….389
xvii
22.4.2 版本控制 ………………………………………………………………..391
22.4.3 Git ……………………………………………………………………………392
22.4.4 Linux 下的调试 ……………………………………………………..393
22.5 本章回顾 ……………………………………………………………………………..395
22.6 参考文献 ……………………………………………………………………………..396
章节 23 Linux 内核 ………………………………………………………….. 397
23.1 Linux 内核层级 ……………………………………………………………………397
23.2 系统调用接口 ……………………………………………………………………..398
23.3 内存管理 ……………………………………………………………………………..400
23.3.1 虚拟内存 ………………………………………………………………..400
23.3.2 内存的高端和低端 …………………………………………………401
23.4 进程管理 ……………………………………………………………………………..401
23.4.1 进程的表达 …………………………………………………………….402
23.4.2 进程创建、调度和析构 …………………………………………402
23.5 文件系统 ……………………………………………………………………………..404
23.5.1 Linux 文件系统 ………………………………………………………404
23.5.2 虚拟文件系统 ………………………………………………………..405
23.6 架构相关的代码 ………………………………………………………………….406
23.7 Linux 设备驱动 ……………………………………………………………………406
23.7.1 关于机制与策略的说明 …………………………………………407
23.7.2 模块 / 设备分类 …………………………………………………….407
23.8 本章回顾 ……………………………………………………………………………..407
23.9 参考文献 ………………………………………………………………………………408
章节 24 Linux 启动 ………………………………………………………….. 409
24.1 概述 ……………………………………………………………………………………..409
24.2 桌面 Linux 引导过程的各个阶段 ………………………………………411
24.2.1 BIOS …………………………………………………………………………411
24.2.2 第一级引导装载程序 (FSBL) ………………………………….411
24.2.3 第二级引导装载程序 (SSBL) ………………………………….412
24.2.4 内核 ………………………………………………………………………..413
24.2.5 Init ……………………………………………………………………………413
24.3 引导 Zynq ……………………………………………………………………………..414
24.3.1 Zynq 引导文件 ……………………………………………………….415
24.3.2 Stage-0 ( 引导 ROM) ……………………………………………….417
xviii
24.3.3 Stage-1 ( 第一级引导装载程序 ) …………………………….419
24.3.4 Stage-2 ( 第二级引导装载程序 ) …………………………….425
24.4 本章回顾 ……………………………………………………………………………..425
24.5 参考文献 ………………………………………………………………………………426
1.1. Zynq 的片上系统
既然我们已经把 Zynq 描述为一个片上系统 (SoC),那么显而易见,第一个问
题就会是 “ 什么是 SoC? ”
你也许知道,这个概念出现已经有一段时间了,潜在的意思是说单个硅芯片就
可以用来实现整个系统的功能,而不是需要用几个不同的物理芯片来实现。在过
去,SoC 这个术语常用于指专用集成电路 (Application Specific Integrated
Circuit,ASIC),它上面可以有数字的、模拟的和射频的元件,和混合信号模块组
合起来来实现模拟 – 数字转换和数字 – 模拟转换 (ADC 和 DAC)。单就数字部分而
言,一块 SoC 可以组合上数字系统所有的功能:处理、高速逻辑、接口、存储器等
等。所有这些功能也可以用物理上分立的器件来实现,然后在印刷电路板 (PCB)
的层面上组合起来。SoC 的解决方案成本更低,能在不同的系统单元之间实现更快
更安全的数据传输,具有更高的整体系统速度、更低的功耗、更小的物理尺寸和更
好的可靠性。事实上有一大堆无可辩驳的理由来说明 SoC 比等价的分立元件系统要
强!可以看一下图 1.1,这是关于板上系统和片上系统的简单图形化比较。
基于 ASIC 的 SoC 的主要缺点有 (一)开发时间和成本,以及 (二)缺乏灵活
性。开发 ASIC 时不可重用的工程投入 (及成本)是巨大的,使得这种 SoC 类型只
适合于大批量而且将来不需要升级的市场领域。基于 ASIC 的 SoC 的代表性例子包括
在 PC、平板和智能手机上用的集成处理器。这些处理器典型地是由至少两个处理器
核、存储器、图形处理器、接口和其他功能模块组合起来的 [4],而且大批量生产
出来用于寿命有限的产品中。
没有回复内容