今天给大侠带来FPGA Xilinx Zynq 系列第十七篇,教育、研究和培训,本篇内容目录简介如下:
7. 教育、研究和培训
7.1 技术趋势和 SoC 教育
7.2 大学用 Zynq 教学
7.2.1 用 Xilinx 工具和板教学
7.2.2 数字设计和 FPGA 教学
7.2.3 计算机科学
7.2.4 嵌入式系统和 SoC 设计
7.2.5 算法实现 (如信号、图像和视频处理)
7.2.6 设计重用
7.2.7 新的和正在出现的设计方法
7.2.8 传感、机器人和原型
7.2.9 一个例子课程
7.3 项目和竞争
7.4 学术研究
7.5 Xilinx 大学计划 (XUP)
7.5.1 介绍 XUP
7.5.2 软件技术和许可
7.5.3 XUP 开发和教学板
7.5.4 XUP 研讨会和培训材料
7.5.5 对大学的技术支持
7.5.6 资格
7.5.7 联系 XUP
7.6 企业培训
7.6.1 课程的授权的培训提供者
7.6.2 其他资源
7.6.3 在线视频
7.7 本章回顾
7.8 参考文献
本系列分享来源于《The Zynq Book》,Louise H. Crockett, Ross A. Elliot,Martin A. Enderwitz, Robert W. Stewart. L. H. Crockett, R. A. Elliot, M. A. Enderwitz and R. W. Stewart, The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC, First Edition, Strathclyde Academic Media, 2016。
教育、研究和培训
本章来看看 Zynq 用于学术研究和教学,以及对业界和更广泛的社区的培训的机会与可能性。我们是基于不断增长的对于创建联网的嵌入式系统的兴趣,和在各种SoC 领域中能满足当前和未来的技术挑战的工程技能的兴趣来提出这个话题的。
作为教育内容的一部分,我们会着重于用 Zynq 做 SoC 设计的各种方面所带来的机会,以及在一些相关的学术方向上用 Zynq 作为通用平台的可能性。Zynq 所具有的可扩展性,加上相关的学术开发板,可以形成一个既适合正式课堂教学也适合基于项目的学习的平台。我们会给出每种情况的例子。
就研究而言,Zynq 具有广泛的适用性,因此在学术研究(尤其是以应用为主的研究)中存在着各种各样的可能。我们着重给出一些已经发表的论文,并会提到一些值得研究和探索的深入话题。
我们还会介绍 Xilinx 大学计划 (XUP),并介绍 XUP 在大学的教学和研究中所起到的支持机制的角色。最后,本章会概述特别针对于企业和爱好者社区的培训的资源。
7.1 技术趋势和 SoC 教育
最近几年主要的技术趋势之一,是互联网连接的飞速发展。10 年前,互联网的连接主要是通过 PC 进行的,而现在,消费者是通过智能手机和平板电脑获得无线数据的,不仅仅是在家里或办公室里,而是随时随地的。许多家庭还用上了基于互联网的电视、机顶盒或游戏机来做视频点播,从而能在任何合适的时间观看喜爱的节目了。这些以及其他一些技术的使用,使得总的互联网流量正在稳步上升,实际上全球 IP 流量到了 2015 年预计会超过每年 1.0 泽字节 (10 的 21 次方)[4]。
与此同时,我们还见证了连接了互联网的设备的数量的大幅上升。要知道,大约在 2008/2009 年间,全球范围内这样的设备的数量已经超过了当年全球人口的数量 [8]!
互联的设备的数量激增是得益于第 6 版互联网协议(IPv6)的支持的,IPv6 要取代 IPv4,来消除互联网地址空间的压力 [3]。部分由于 IPv6 带来的连接能力的提升,M2M 从 2010 年初开始发展了,成为互联网流量中的一个巨大的来源。在第 5 章中说过,M2M 指的是不需要人的直接干预就能连接到互联网来产生、使用或共享数据的一类设备。M2M 和 IoT(物联网)的概念是紧密联系在一起的,IoT 清晰地表达了对能相互之间进行独立通信和连接的自动化设备的需求 [2]。
这样的 M2M 终端也可以被看作是嵌入式系统,这些系统不是通用的计算机,而是被设计并优化为做特定功能的计算机。比如,M2M 可能带有分布在工业过程中的传感器和动作器来监视和调整生产条件,以提高生产率、降低浪费等。在第 5 章中讨论过,IoT 的应用领域包括:智能城市:一个松散的概念,覆盖了城市生活的几个方面;智能电网:能动态感知和调整的电力输送网络,来使得电力输送性能最大化,并能对失效实现自我保护;以及智能家居:以一种环保经济的方式让传感器和动作器来管理灯光亮度、温度、保安和娱乐系统。
M2M 型互联网流量还会在接下来的几年中继续增长,甚至会超过普通类型流量的增长 [4]。一份 2013 年的报告显示到了 2020 年将会有 2120 亿个设备接入互联网,其中大约 300 亿是机器人 [14]。这表明需要更多的连接互联网的嵌入式系统来实现智能电网、智能城市、智能大厦、智能健康 (还有其他的智能!) 、资产追踪、“ 大数据 ”,工业互联网和许多将要出现的应用。在这个领域中,创新、商业成功和社会受益的潜在机会是巨大的。由于需要以适当的成本、较低的功耗以及往往要求较小的物理尺寸来实现完全自动化的系统,SoC 对这样的应用的重要性是显而易见的。
在考虑电子和通信的课程体系改革时,技术进步的因素是巨大的。理工类院校要教育年轻工程师用于下一代互联网联网的嵌入式系统的开发的技术和概念,这些是非常重要的。
当然,IoT 并非驱动 SoC 发展的唯一因素。正如在第 5 章中所述,应用是多种多样的,包括先进通信和雷达系统、广播技术、机器视觉、汽车和航空航天,以及很多很多。总的来说,这些技术领域会激发新的商业机会,也会给工程师带来未来要解决的问题。
7.2 大学用 Zynq 教学
这一节主要关注在电子和计算机专业开发课程,找出可以使用 Zynq 全可编程 SoC 和相关的设计流来演示、支持或加强的教育场景。在这之前,应该先从总的局面来看看在学术环境下对 Xilinx 开发工具和板的使用情况。
7.2.1 用 Xilinx 工具和板教学
Vivado Design Suite 可以用在大学教学中让学生获得业界相关的经验,知道如何使用高级设计工具来构建 SoC 设计。有时间限制的课程实验也许和企业环境有所不同,但是商业开发所带来的效率的提高也能类似地作用于学术环境中,从而使学生能在有限的实验时间内收获更多。过去,学生用 VHDL 或 Verilog 做 FPGA 设计的话,由于课表时间的限制,也由于采用了底层基于 HDL 的设计方法,是无法期望能开发大型或复杂的 IP 包的。
用了 Zynq 和 Vivado 所带来的系统级的设计方法,学生就有可能构建更高级的 SoC 设计,在大学的课程或项目所限定的时间内,同时完成定制的硬件和软件。
从实际 “ 操作 ” 的角度看,Zynq 的学术开发板提供了一些板上的外设,能实现嵌入式系统开发所需的所有东西,包括从简单的输入 / 输入到终端通信、音频、视频和数据接口,用附加模块还可以进一步扩展板子。用上像这样的功能,往往就能把学生的作业加强成实现这类和真实世界交互的内容。用了 Zynq还有一个隐含的好处,就是这块开发板实际上还可以用做几个不同的教学领域的通用平台,跨越电子工程和计算机科学,让大学的院系可以更有效地利用已有的硬件平台。对于正在学习很多不同学科的学生来说,使用相同的实验平台能简化熟悉开发工具和板子的学习曲线,从而获得更多的时间来做学科相关的实际工作和项目。
我们特别指出 Zynq 实际上可以成为几个相关学科的基础,还能支持其他的实际例子,图 7.1 描绘了这种方式,随后会详细讨论。
7.2.2 数字设计和 FPGA 教学
在之前的章节中叙述过,Zynq 芯片的 PL 部分和 FPGA 芯片是等价的,用起来可以和 PS 部分完全无关。这就使得 Zynq 可以像标准的 FPGA 一样来用,从而能支持VHDL/Verilog、数字设计和 FPGA 技术这样的课程,或是用在通信、控制系统、信号处理和机器人这样的领域里的基于项目的教学中。
7.2.3 计算机科学
Zynq 中的双核 ARM 处理器可以和 FPGA 部分隔绝开来使用,因此用户看起来就是一个标准的 ARM 处理器。于是 Zynq 就可以被用作典型的计算机科学教学的实践平台,包括嵌入式系统、软件设计、操作系统和更有挑战性的应用,包括同构双核的对称多处理器 (Symmetric Multi-Processing,SMP)和非对称多处理器 (Asymmetric Multiprocessing,AMP)—— 参见第 21 章关于最后这个话题的进一 步资料。
7.2.4 嵌入式系统和 SoC 设计
讲授嵌入式系统设计涉及到教育学生嵌入式系统的概念、功能和运作,还要给学生介绍一些实际的嵌入式系统设计。 用了 Zynq 平台,学生可以学习关于通用嵌入式系统的概念,诸如总线、中断、 处理器、外设和存储器访问,因为这些 Zynq 平台都能覆盖到。而且因为 Zynq 是组合而成的,对于流行的 ARM 处理器架构和 FPGA 可编程逻辑,学生都能获得大量的经验。
7.2.5 算法实现 (如信号、图像和视频处理)
还有一种可能的学习模式,就是给学生提供一个已经准备好了的系统,其中有一个或多个 “ 黑盒子 ”,他们可以加入自己定制的功能进去的。这样就让学生有机会来关注系统的某个特定功能,并从子系统被集成进已有的系统后造成的影响中获得直接的反馈。
图 7.1: Zynq 相关的学术主题
这样的 “ 黑盒子 ” 方法的例子,可以带有软件和硬件的功能。比如,可以在 SDR 中插入特定的滤波级,在图像处理应用中可以加入边缘检测算法,或是在捕获到的传感器数据流中可以加入新开发的软件算法来识别出特定的模式。有一个不错的演示例子是实时视频系统,从摄像头来的流数据送进 Zynq 芯片来做计算,然后输出到视频显示器上。可以要求学生实现图像过滤或特征识别算法,而且能有机会得到结果的直接的可见的反馈。如有需要,可以用不同的设计方法和工具来实现算法功能,如果要在 Zynq 的 PL 部分实现的话,可以用 HDL、System Generator for DSP (* 一个在 FPGA 上设计 DSP 的软件 *),或 HLS,而要在处理器上实现功能的话可以用软件。
7.2.6 设计重用
以在 7.2.5 节所描述的方式来加入或改变功能的意义还能被进一步用来点出嵌入式系统设计中另一个产业相关的内容:设计重用。在教室环境中,学生 (或学生组)可以各自开发不同的 “ 黑盒子 ” 子系统,或同一个 “ 黑盒子 ” 的可互换的不同版本。后者可以通过各种 IP 创建方法,比如 System Generator for DSP、HDL 或 C 层面的代码产生的 HLS,来做出来。然后就可以要求他们用工业标准的 IP-XACT格式来和同班同学互换设计,以这样的方式来集合起来形成一个完整的系统,或是建立起实现各种设计所需的功能集合。这样能在教室环境给学生带来设计重用的理想的第一手经验。要是能让学生们共同认识到如果不是共享 IP,就不可能在这样的时间限制下做出一个设计来,那么这个意义就更强了。
图 7.2 描绘了这样的一种教室里的设计重用项目。在这里,四个小组 (A、B、 C 和 D)被安排开发要在 PL 中实现的一个 IP 的不同部分。每个小组都必须对他们所分配的 IP 包做设计和测试并编写文档。为了能做出整个系统,小组于是被要求接受一种设计重用模型,就是他们要让所做的 IP 包能提供给其他组用,从而能获得其他组的 IP,这样所有的组就都能得到所需的包了。A 组然后还必须在此基础上开发出整个硬件系统,并写软件来完成设计,同样的,其他的组也要以这个方式来完成他们的系统。这样的话,组的大小不同的问题也是相对比较容易解决的,只要给较大的组分配较复杂的 IP 去开发就好了。
图 7.2: 在教室环境中的设计重用 (从 A 组的角度看)
在分享开发出来的 IP,并试图重复其他人的工作成果的过程中,学生们还能获 得在真正的工程中测试和文档重要性的真实感受。这就是说,不是让老师满意、获得分数,而是确保健壮的计算,并且清晰地将所需的技术细节传递给其他工程师来重用自己的设计。同时作为 IP 的生产者和他人的 IP 的消费者的体验,能促使学生思考这样做在开发过程中的重要意义。
7.2.7 新的和正在出现的设计方法
Zynq 还可以用来教授和研究新的和正在出现的设计方法、语言和技术,比如 HLS、OpenCV 和 OpenCL。
HLS 是第 14 和 15 章要讨论的主要内容。
OpenCV(开源计算机视觉)是一个免费的 C/C 库,提供做实时图像处理的函数 [16]。OpenCV 是基于伯克利软件分发开源许可 (Berkeley Software Distribution,BSD)方式发布的 [17],这意味着它对于学术和商业使用都是免费的。
OpenCL (Open Computing Language,开放计算语言)是一个开发标准,给出了在异构的计算机单元上运行软件的框架 [15]。一个单元组可以由中央处理单元(Central Processing Units,CPU)、DSP、图像处理单元 (Graphics Processing Units,GPU)、FPGA 和其他类型的计算资源以任意方式组合而成。OpenCL 靠一个宿主处理器来控制系统中其他处理单元的执行,因此 Zynq 是特别适合 OpenCL 的平台:一个 ARM 核可以实现宿主控制,将功能分配到 (一)在 FPGA 中定制的处理单元,及 (二)第二个 ARM 核中。
7.2.8 传感、机器人和原型
Zynq 学术开发板上还带有扩展插座,可以用来接上 Pmod 扩展模块来扩展功能, 如果是 ZedBoard 的话,可以接 FMC 连接器。Pmod 厂家和第三方厂家做了很多 Pmod模块 [5][12],包括传感器 (光线、声音和温度传感器、接近检测器、陀螺仪、加速度计等)、动作器和数据变换器 (如步进电机驱动器、DAC 和 ADC)、通信接口(蓝牙、GPS、Wi-Fi 等)和可视化显示输出(LCD 和 OLED 显示器)。Pmod 还能做简单的定制接口和测试点,还能在面包板上用。
有了这么多附件,就能基于 Zynq 开发板做很多实用作品了。比如,可以为智能 建筑感知环境光线和温度,或搭建一个机器人车,甚至可能通过蓝牙和手机交互。作为这类应用的例子,Xilinx 大学计划已经做了一个 “ZRobot” 来作为教学开发平台,如图 7.3 所示 [11]。学生可以进一步加上传感器和动作器,或修改软件程序改变行为来增强或扩展这个机器人的功能。
7.2.9 一个例子课程
美国加州Claremont的Harvey Mudd学院的Karl L. Wang教授,在他和Digilent 的同事共同发表的 《An Effective Project-Based Embedded System Design Teaching Method(一种有效的基于项目的嵌入式系统设计教学方法)》论文中所呈 现的基于 Zynq 的教学是一个有意思的例子 [20]。论文总结了一个新开发的课程的内容和结构,这个课程是用 ZedBoard 作为课堂教学平台的。这门 16 周的课程由一系列的讲课和结构化组织起来的实验构成,然后有一个小组为单位做项目的阶段,在这个阶段中,学生要运用他们的知识和技能来提出自己定义的问题。这些小组看起来选择了各种各样的题目,包括弹球游戏、音乐合成器和带有避撞感知的机器人。论文的作者报告了对教学方法的正面反馈,并提出了将来可能的一些发展。
图 7.3: ZRobot,基于 ZedBoard 开发平台做的
7.3 项目和竞争
ZedBoard 和其他学术开发板的厂家 Digilent(迪之伦),会定期举办学生设计竞赛。这些竞赛是对全世界的学生开放的,致力于围绕 Digilent 的产品 (包括FPGA、Zynq 和单片机板)激发出创新的设计理念和作品。在最近举行的设计竞赛中,在写本书的时候 (2013 年),学生提出了诸如图像处理的形状识别、电力线通信和加密算法的实现这样的问题,这些问题能利用 Zynq 的 PL 来做硬件加速。
Xilinx 大学计划偶尔也会组织遍布全球的区域性设计竞赛,这些竞赛的目标也 是为了激发学生的参与和创新 [24]。
7.4 学术研究
正如 Zynq 在工科教学计划中和很多相关课题有关一样,Zynq 在电子工程和计算科学的研究中也具有很大的潜力。在写本书的时候,Zynq 还很 “ 年轻 ”,因此在其上所形成的创新的范围和方向还没有完全展现出来,不过,值得我们来看看目前做过的一些研究活动。
受第 5 章所提出来的那些研究领域的影响,你可能会认为围绕 Zynq 的研究会主要是应用驱动的,比如图像与视频处理、软件定义无线电、通信网络等等。不过,甚至在这些关键领域之外,Zynq 也广受欢迎,从至今已经发表的论文可以看出 Zynq可以发挥作用的研究领域是丰富多彩的。
其中具有特色的有:
- 光流 (optical flow)加速器 — 作为图像处理的一个应用,光流关注的是连续的视频帧之间的运动特征。在 [13] 中,研究人员报告了用 HLS 和 OpenCV在 Zynq 芯片上实现的光流算法。在这个项目中,直接观察到了用 HLS 做设计方法(在第 14 章深入讨论)的好处。比如,能扫描设计空间来找到最合适的实现。论文的结果表明所开发的设计达到了能与桌面处理器相提并论的性能,但是只消耗了大约七分之一的功率。
- 远程健康 / 安全监视 — 有一篇论文介绍了一个监视志愿者个体的系统的实现,这些志愿者可能容易跌落而受伤 [19]。系统从病人所戴的医学传感器上获得数据,这些传感器由一个三轴加速度计采集运动数据。传感器的数据是稀疏的,因此需要重构,这个重构是用实现了正交匹配追踪 (OrthogonalMatching Pursuit,OMP)算法的基于 PL 的加速器来实现的。另一个 PL 加速 器基于重构的数据来检测跌落,而软件程序则用来识别出跌落,从而决定应该采取何种措施。
- 图像处理和嵌入式视觉 — 正如第 5 章中所讨论过的,Zynq 是图像处理非常 适合的平台。[9] 的作者介绍了一个系统,在 ZC702 板上做的原型,利用了ARM处理器和 PL来分别实现 Linux上运行的软件框架和图像处理硬件加速器。所实现的功能包括图像稳定化、对比度自然化和运动目标的识别。论文提到了所实现的资源成本和帧速率,以及系统的可扩展性。
- “ 可进化 ” 的硬件 — 在第 5 章中介绍过,DPR 是一种对 FPGA 或 Zynq 的 PL 的某个区域实现重新编程,而芯片的其他部分能继续不受影响工作的技术。用基于 ARM 的软件控制做的 DPR 的实现 (以及用于可进化硬件的相关技术)是非常受关注的领域,[6] 和 [7] 的作者介绍了这样的做可配置 (或 “ 可进化”)的图像过滤系统。他们介绍了主要归功于 Zynq 架构所带来的巨大的性能提升,并提出了进一步研究的领域。
- Zynq 硬件虚拟化 — 在 [18] 中提出了 Zynq 平台虚拟化的课题,目标是抽象细节,尤其是实现 PL 的更具动态适应性的使用。换句话说,这是使得 PL 不仅仅是用来实现静态的协处理器,而且能根据计算的需要来实现功能的调整。作者评估了在 Zynq 上用标准管理程序(hypervisor)来支持这种计算模型的潜力,并展示了 Zynq 上的一个软硬件虚拟化框架。
- 气体识别 — 在 [1] 中,提出了一个基于 Zynq 的 SoC 设计,来识别气体。用了主成分分析 (Principal component analysis,一种基于矩阵的方法)来 做机器学习,从而识别出气体来。论文介绍说成功地用了 Vivado HLS 来做计 算并行矩阵运算的硬件加速,并给出了用来优化实现的指导。论文的结果表明Zynq的解决方案比在64位的Intel i7处理器上的基于软件的解决方案要快。
- 生物传感 — [10] 提出了实现具有大量通道的灵活的生物传感平台的问题。这样的平台需要支持从大量传感器 (1000 以上)采集到的数据,然后要对数据做后续的基于 FFT 的信号处理。所设计的系统被映射到 Zynq 架构上 (在ZedBoard 上),由 PL 来做 FFT 计算的加速。论文说这个系统支持比上一代平台多 8 倍的传感器,而且采样频率比之前的高 1000 倍。论文还指出了 Zynq 的可重配置的本性和它的灵活性,能扩展设计来适应更多的通道。这不是一个面面俱到的列表,围绕着Zynq平台的研究的深度和广度无可限量。
7.5 Xilinx 大学计划 (XUP)
学术活动是由 Xilinx 内部的 XUP 部门直接支持的。在学术圈子里提升这个组织的知名度、宣传它所提供的服务是重要的 [23]。
7.5.1 介绍 XUP
XUP 由一支专门的全球团队管理和运作,致力于支持全世界的大学使用 Xilinx 的工具和技术。XUP 建立的目标是促使大学在课程和研究中使用 Xilinx 的技术,XUP团队采取了各种手段来鼓励和支持学术活动。本节接下来简要地总结一下。
7.5.2 软件技术和许可
Vivado System Edition (系统版)的学术版可以低价提供,用以支持课堂教学和研究中使用完整功能的 Xilinx 软件。合格的机构可以从全球范围内的本地Xilinx 经销商或教育伙伴购买许可。某些情况下,若符合捐助计划的条件,XUP 还可以免费提供许可。
另外,学生可以获得 Xilinx WebPACK 来做个人和家庭的使用,这意味着课程作业可以在实验室之外的地方完成,如果愿意,学生可以在自己的笔记本电脑上做作业。WebPACK 包括了 Vivado 工具的核心功能(FPGA 设计、软件开发和仿真),是直接从互联网上免费下载的 [21]。
软件的最新的 WebPACK 版本通常会支持大多数过去的和某些当前的 Xilinx 芯片,但是没有每个产品系列中最新的、最高端的和受限制的芯片。比如,在写本书的时候,Vivado WebPACK 2014 支持 Zynq 系列中较小的芯片,但是不支持最大的, 最大的芯片需要 Vivado 的完整版本。一般来说,WebPACK 对学术教学或学生和爱好者在家里使用是足够的,因为大多数开发板(特别是那些用作教学用的板)用的是产品系列中较小的芯片。
读者请参考第 49 页上的表 3.1,上面列出了 WebPACK 所提供的功能,并比较了 Vivado 的 Design 及 System 版的不同。
7.5.3 XUP 开发和教学板
XUP 与合作伙伴合作来生产专门为学术设计的 FPGA 和 Zynq 开发板。这些板子 会装备一系列的 I/O 外设,包括 LED、开关和按钮、视频输入 / 输出、音频输入 /输出、以太网以及扩展口和引脚。
在写作本书的时候,有两种 XUP 的 Zynq 板:
- ZYBO — 一块低成本的板,配有 XC7Z010 Zynq 芯片和一组关键的 I/O 外设。ZyBo 板的尺寸很小,非常适合用作课堂教学。在第 69 页的 3.6.5 节介绍过ZYBO,图 3.9 有这块板的照片。
- ZedBoard — 一块增强的开发板,基于 XC7Z020 Zynq 芯片,带有扩展的外设。适合课堂使用,但是也适合做项目和较实际的应用。
XUP 板是由生产厂家支持的,也由 XUP 直接支持,他们提供针对这些板子的 教学和培训材料。用户可以通过 XUP 网站得到 Zynq 的教学材料。
ZedBoard 特别适合做研究工作,当然某些研究课题可能需要更大的芯片或专门 的外设支持,那么就需要用专业级的板子,比如 ZC702 或 ZC706。除了做课堂教学和课程作业,ZYBO 对某些类型的研究也会是有用的,比如传感器和网络应用。
7.5.4 XUP 研讨会和培训材料
XUP 的另一个作用是开发内部教学和培训的材料,包括对 Zynq 的特别支持,目的是培训教授、研究人员和助教有效地使用 Xilinx 工具和芯片。这些材料是提供给学术机构在自己的教学中反复使用的,可以是直接使用,也可以合成进其他教育材料中使用。学生也可以下载材料来自学。
这些教学材料构成了 XUP Professor Workshops (教授研讨会)的基础。此研讨会由 XUP 职员和学术伙伴运作,在全世界各地定期举办。研讨会是免费参加的,通常要两天时间,是对教授、教学人员和研究人员开放的。目前办的几次研讨会都关注于 Zynq。
7.5.5 对大学的技术支持
作为 XUP 的会员,学术机构可以获得技术支持,在开发课程或支持课程作业上可能会很有用。我们希望学生先向自己的教授和大学技术人员寻求技术帮助,不能解决的问题再由他们的教授通过 XUP 的渠道提交上来。
7.5.6 资格
所有能颁发奖学金的大学和某些研究机构具有成为 XUP 学术成员的资格。在一所有资格的机构中工作的教授、助教和研究人员从而就可以申请成为会员。要成为会员,首先要在 Xilinx 网站创建一个账号,然后申请 XUP 会员资格。
一旦得到批准,会员可以通过 XUP 获得资源和技术支持,下载培训材料,并注册参加教授研讨会。
7.5.7 联系 XUP
关于 XUP 的进一步的资料在它的网站 [23]:
http://www.xilinx.com/university
包括最新版本的教学材料,当前的研讨会排期和联络信息。
7.6 企业培训
在讨论了对学术圈的支持之后,下面来看一下对企业培训的支持。
7.6.1 课程的授权的培训提供者
Xilinx有一个全球的授权培训提供者(Authorised Training Providers,ATP) 的网络,它会提供 Xilinx FPGA 技术和设计工具的培训。这些课程的核心内容是由 Xilinx 开发和设计的,覆盖了 Zynq 架构、Vivado Design Suite,以及许多其他相 关的话题。培训以三种主要的模式提供:在教室里的 “ 实时 ” 课程,和录制的及实时的交互在线培训。
7.6.2 其他资源
除了正式的课程,Xilinx 还提供文档、参考设计和教程辅导,覆盖了 FPGA 设计概念、Xilinx 开发工具的使用和特定的应用例子。通常你所买到的任何开发板都会带有一套适合这块板子的教程辅导、例子和参考设计,这些东西能成为用户设计开发的基础。这种 “ 即拆即用 ” 的支持和对大学开发板的支持是类似的,具体的在 7.5.3 节中介绍过了。
7.6.3 在线视频
Xilinx 还提供了丰富的 QuickTake 培训视频,视频演示了设计概念和技术,着重介绍了 Xilinx 开发工具中有用的特性。视频从几分钟到一个小时的都有,提供的视频,正如名字所暗示的,是针对特定问题的简短而专注的内容。
QuickTake 视频是按照主题组织的,给读者看一下这个机制都提供了怎样的培训支持,在写本书的时候,视频的主题包括:Vivado 设计流的各个方面;实施设计约束;系统级的设计;编程与调试;Vivado HLS 和一些其他内容。除了在 Xilinx 网站 [22] 提供以外,这些视频还可以在 YouTube 观看 [25]。
7.7 本章回顾
本章我们展示了 Zynq 在工科课程体系,尤其是联网的嵌入式系统中的应用能力。值得指出的是 Zynq 和相关的设计工具及开发板可以成为一些相关课题的基础,包括 FPGA 设计、计算机科学和算法实现,以及嵌入式系统设计。
我们还看到 Zynq很适合基于项目的学习,通过设计竞赛来提供附加的、外部的激励来源。我们还考察了 Zynq 作为研究平台的潜力,介绍了一些基于 Zynq 做的研究工作 的早期例子。可以期待,更深入的研究会不断出现,更多的项目会完成、传播并激励其他人。
我们介绍了 XUP,解释了它对大学教学和研究的支持机制的作用,以及所提供的支持的类型。在有资格的机构中的教授、教师和研究人员可以成为 XUP 的会员来获得特定的学术资源。
最后,我们总结了企业培训的资源,包括 Xilinx 的 ATP 提供的课程和在线视频 培训。这些是对较为标准的支持资源的补充,比如在 Xilinx 网站的文档和教程辅导。
7.8 参考文献
说明:所有的 URL 最后一次访问是在 2014 年 6 月。
[1] A. A. S. Ali, A. Amira, F. Bensaali and M. Benammar, “Hardware PCA for Gas Identification Systems Using High Level Synthesis on the Zynq SoC”, Proceedings of the 20th IEEE Conferences on Electronics, Circuits and Systems (ICECS), December 2013, pp. 707-710.
[2] L. Atzori, A. Iera, G. Morabito, “The Internet of Things: A Survey”, Computer Networks, Vol. 54, Issue 15, October 2010, pp 2787-2805.
[3] H. Chao, H. Stuttgen, and D. Waddington, “IPv6: The Basis for the Next Generation Internet”, Guest Editorial, IEEE Communications Magazine, January 2004, pp. 86-87.
[4] Cisco, Inc., “The Zettabyte Era - Trends and Analysis”, 白皮书 , May 2013. 位于: http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/VNI_Hyperconnectivity_WP.pdf
[5] Digilent, Inc., Sensors / Peripherals / Interfaces (PmodsTM) 网页 , 位于 : http://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,401&Cat=9
[6] R. Dobai and L. Sekanina, “Image Filter Evolution on the Xilinx Zynq Platform”, Proceedings of the 2013 NASA/ESA Conference on Adaptable Hardware and Systems, Torino, Italy, June 2013, pp. 164 - 171.
[7] R. Dobai and L. Sekanina, “Towards Evolvable Systems Based on the Xilinx Zynq Platform”, Proceedings of the 2013 IEEE International Conference on Evolvable Systems, Singapore, April 2013, pp. 89 - 95.
[8] D. Evans, “The Internet of Things: How the Next Evolution of the Internet is Changing Everything”, 白皮 书 , Cisco, April 2011. 位于 : http://www.cisco.com/web/about/ac79/docs/innov/IoT_IBSG_0411FINAL.pdf
[9] E. Gudis et al, “An Embedded Vision Services Framework for Heterogeneous Accelerators”, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, Portland, Oregon, USA, June 2013, pp. 598 - 603.
[10]J. Leitão, J. Germano, N. Roma, R. Chaves and P. Tomás, “Scalable and High Throughput Biosensing Platform”, Proceedings of the 23rd International Conference on Field Programmable Logic and Applications (FPL), September 2013, pp. 1 - 6.
[11]P. Lysaght, “All Programmable Technologies in Academia”, keynote presentation, International Symposium on Applied Reconfigurable Computing, March 2013, Los Angeles, USA. 位于 : http://www.isi.edu/events/arc2013/Xilinx-ARC2013-Invited-Lysaght.pdf
[12]Maxim Integrated, Pmod-Compatible Plug-in Peripheral Modules 网页 . 位于 : http://www.maximintegrated.com/en/design/design-technology/fpga-design-resources/pmodcompatible-plug-in-peripheral-modules.html
[13]J. Monson, M. Wirthlin, and B. L. Hutchings, “Implementing High-Performance, Low-Power FPGA-Based Optical Flow Accelerators in C”, Proceedings of the 24th IEEE International Conference on ApplicationSpecific Systems, Architectures and Processors (ASAP), Washington DC, USA, June 2013, pp. 363-369.
[14]D. Nagel, “212 Billion Devices to Make Up ‘The Internet of Things’ by 2020”, THE Journal online, October 2013.位于 : http://thejournal.com/articles/2013/10/07/212-billion-devices-to-make-up-the-internet-of-thingsby-2020.aspx
[15]OpenCL 网站 ,位于 : http://www.khronos.org/opencl/
[16]OpenCV 网站 ,位于 : http://opencv.org/
[17]Open Source Initiative, “Open Sources Licenses By Category” 网页 , 位于 : http://opensource.org/licenses/category
[18]K. D. Pham, A. K. Jain, J. Cui, S. A. Fahmy, and D. L. Maskell, “Microkernel Hypervisor for a Hybrid ARMFPGA Platform”, Proceedings of the 24th IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP), Washington DC, USA, June 2013, pp. 219-226.
[19]H. Rabah, A. Amira, and A. Ahmad, “Design and Implementation of a Fall Detection System Using Compressive Sensing and Shimmer Technology”, Proceedings of the 24th International Conference on Microelectronics (ICM), pp. 1 - 4, December 2012.
[20]K. L. Wang, C. S. Cole, T. Wang, and J. Harris, “An Effective Project-Based Embedded System Design Teaching Method”, Proceedings of the 120th American Society for Engineering Education (ASEE) Annual Conference and Exposition, Atlanta, USA, June 2013.
[21]Xilinx, Inc., Vivado Design Suite Evaluation and WebPACK 网页 , 位于 : http://www.xilinx.com/products/design_tools/vivado/vivado-webpack.htm
[22]Xilinx, Inc., Vivado Video Tutorials 网页 , 位于 : http://www.origin.xilinx.com/training/vivado/
[23]Xilinx, Inc., Xilinx University Program 网站 , 位于 : http://www.xilinx.com/university[24]Xilinx, Inc., Xilinx University Program Design Contests 网页 ,位于 : http://www.xilinx.com/support/university/design-contests.html[25]YouTube, Xilinx Channel,位于 : http://www.youtube.com/user/XilinxInc?feature=watch
第十七篇到此结束,下一篇将带来第十八篇,开启第八章,也是第一部分PART A 的最后一篇,Zynq 的第一个工程。欢迎各位大侠一起交流学习,共同进步。
END
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!