大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
今天给大侠带来FPGA Xilinx Zynq 系列第十五篇,本篇内容目录简介如下:
5. 应用和机会 (“ 拿它能做什么?”)
5.6 动态片上系统
5.6.1 运行时刻系统灵活性
5.6.2 动态部分重配置 (DPR)
5.6.3 DPR 应用的例子
5.6.4 DPR 的好处
5.7 更多的机会:Zynq 的 “ 生态系统 ”
5.7.1 什么是生态系统?
5.7.2 有什么机会?
5.8. 本章回顾
5.9. 参考文献
本系列分享来源于《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。
应用和机会(拿它能做什么?)
5.6 动态片上系统
本章所提到过的所有的应用,要么需要一个灵活的平台,也就是在 PL 中实现的功能,要么是能从这当中受益的。接下来在本节中会讨论到,DPR 技术提供了一种可能,使得 PL 的一个部分 (或几个部分)可以在运行时刻被完全地重新配置。
5.6.1. 运行时刻系统灵活性
Zynq 全可编程 SoC 实现了设计时刻的灵活性,这是由于 Zynq 具有两个不同的部分,对开发工具和过程的支持,再加上用了 AXI 接口的结果。Vivado HLS 工具实现了更高程度上的易用性,而且无论是 PS 还是 PL 都能实现用 C 语言描述的功能。
PS 上运行的软件可以在运行时刻,藉由软件寄存器或共享内存,通过传递命令和诸如滤波器因数等的参数,来控制驻留在 PL 中的控制功能。这就形成了运行时刻的灵活性。
尽管对硬件做软件控制可以在运行时刻很好地调整功能,还是有一些时候需要的不仅仅是设置参数那样的灵活性,需要对硬件中实现的部件做更为基础性的改变。比如,可能想要实现一个支持不同架构的多种通信标准的 SDR,而在任一时刻,只会使用其中的一种。实际上,任何需要不同的硬件部件但又不会同时使用这些部分的应用,都可以从相关功能的时分复用中受益。
5.6.2. 动态部分重配置 (DPR)
DPR 技术涉及到指定 PL 的一块(或多块)区域在运行时刻可重配置。这些区域需要被指定为可重配置分区(Reconfigurable Partition,RP),并且在 PL 的其他部分还继续工作着的时候,它们的功能可以被完全改变。重要的是,RP 的重配置不会影响到 PL 的任何其他部分就能达成。
在一片 Zynq 或 FPGA 芯片中可能有多个 RP,而每个 RP 具有一组可重配置模块 (Reconfigurable Module,RM)。为了清楚起见,这里我们会关注单个 RP。
一个 RP 可能具有任意数量的相应的 RM,但是任一时刻,只有其中之一占据着 RP,因此,对应的功能就能在 PL 的一个特定的部位实现时分复用了。图 5.9 阐述了这个概念。
图 5.9: 对 PL 中的时分复用模块使用动态部分重配置
从设计者的角度看,RP 必须具有能放下要部署的最大的 RM 的容量,因为这样 才能保证有足够的 PL 资源来用于要支持的所有的设计。使用 DPR 还表示有一组位流片段要事先创建 (每个 RM 一个片段)并且恰当地保存起来,这样这些文件就可以在运行时刻被下载到 PL 中去配置 RP。在实际中,PS 上运行的软件应用通常负责协调 DPR 的运行。
5.6.3. DPR 应用的例子
DPR 显然和本章提出的两种应用特别有关系。
我们首先考虑 SDR 的例子。在这个例子中,我们假设一个无线通信收发信机的 PHY 是在 Zynq 上实现的,并带有软件控制。根据要支持的无线标准集的不同,SDR可能需要实现根本不同的硬件结构。没有 DPR 的话,这就需要把所有会用到的架构都同时实现,那么就会需要可观的资源成本;而有 DPR,所需的功能就可以被统一在一个单一的架构中,这个架构包括:(一)所有标准都通用的部件;和 (二)带有相应的 RM 的 RP,用于在不同的标准上有不同的硬件结构的那些部分 [18]。
图 5.10 显示了这样一个灵活 SDR 发射机架构的概念,图中假设 SDR 由四个功能 块组成:编码、调制、变换和数字升频器。我们假设最后的那些部件对于这个架构所有可能的变化都是通用的,而其他每个部件都有不同的 RM。在运行时刻由 PS 负责来选择适当的编码 RM、调制 RM 和变换 RM。(请注意这是为了讨论的目的而简化了的架构,而且数字升频器也是为了说明问题而假设是通用的 — 它其实未必如 此。)
值得记住的是,DPR 是对功能灵活定义的其他方法的补充而不是替代。DPR 只有在底层硬件结构需要改变的时候才是合适的。电台的其他部件最好不要用 DPR 来实现,而是直接用软件控制,比如前面 110 页中图 5.5 中的 NCO。
图 5.10: 使用 DPR 的灵活 SDR 架构
其次,考虑到图像处理算法通常由处理的几个不同的阶段组成,DPR 可能用来实 现过滤器的动态选择。比如,在 [25] 中,DPR 被用来选择实现边缘检测的 Sobel 滤波器,或是实现调整图像颜色的 Sepia滤波器。有一个用于 Sobel的 RM和一个 Sepia的 RM,然后被选中的滤波器类型作为位流片段被下载到 RP 中去。没有很紧的实时处理需要的图像处理应用也可以利用 DPR 来依次执行图像处理 算法的各个阶段,甚至可以只有单个 RP。文献 [11] 展示了这种类型的一个设计,用 FPGA 实现了一个生物信息指纹识别系统,这个方法对 Zynq 也是一样适用的。类似的,[10] 提到了汽车领域的一个例子,根据汽车行驶的方向,系统可以在偏离车道告警和倒车影像之间切换。
5.6.4. DPR 的好处
DPR 所实现的运行时刻灵活性具有很大的好处,某种程度上也许轻易就忘了使 用这项技术还有一些其他的优势。这些优势总结如下:
- 可能使用更小的芯片 — 基于 PL 的部件通过 DPR 可能实现时分复用,这样较小的 Zynq 芯片的使用就成为可能。
- 功能丰富 — 只要有足够的存储容量,RM 的数量就没有限制,那么就可能实现丰富的功能选择。
- 更低的功耗 — 如果用了 DPR 就能用较小的 Zynq 芯片,那么就意味着较低的静态功耗。动态功耗也会因为不需要同时实现所有的 PL 模块而降低。
- 节约成本 — 使用较小的芯片能直接降低成本。功耗降低还会降低运行成本。
- 增加新功能 — 新的功能可以直接由新的位流片段文件来加入,也就是说不需要重新做 PL 硬件设计。
因为这些原因,DPR 是一项有用的技术,同时在很多不同的应用领域都具有潜在的可行性。
5.7 更多的机会:Zynq 的 “ 生态系统 ”
本章迄今为止的讨论都是关于 Zynq上的应用的,也许这些领域代表了基于 Zynq 的产品开发的方向。还有另一个方向 —— 尽管不那么明显 —— 就是 Zynq 用的软件和硬件的支持。这些支持产品给核心产品和相关的开发工具增加了价值,并因此扩展了它的可能性。许多第三方开发者已经在做这样的事情了。本节接下去的部分,我们会描述当前 Zynq“ 生态系统 ” 的样子,并概述开发 者可以做出贡献并从这个生态系统中受益的一些机会 [61]。
5.7.1. 什么是生态系统?
如果你对消费电子产品有所体验,技术生态系统的概念就不会陌生。就拿智能手机来说,手机厂家提供了手机和基础的操作系统,然后可能提供一个 “ 应用商店(app store)” 或类似的机制,用户只要需要,就可以从那里获得在他们的手机上运行的额外的应用。应用商店里的 app 几乎无一例外是由手机厂家以外的其他公司开发的,而且有几千种不同的 app,从像是音乐管理、天气预报这样的主流兴趣,到像是记录汽车轨迹这样的特殊爱好都有。智能手机还有很多硬件附件,大多数也是第三方生产的,包括外壳和屏幕保护膜、便携音箱、充电器、车用套件等等。
Zynq 的情况有点类似。Xilinx 生产了芯片和一小套开发板,并提供了开发工具的核心集,但是还有很多机会留给其他公司来围绕 Zynq 开发软件工具、应用和基于硬件的产品。Zynq 的生态系统包括软件开发环境、专业的软件库、IP 开发工具、包装好的 IP、操作系统和中间件、用来在 Zynq 上做部署的软件应用、虚拟平台、硬件开发板、附件模块和其他的附件。久而久之,随着 Zynq 应用的稳定和多样发展,它的生态系统也会成为一个丰富的资源。另外,ARM 处理器也有它自己的生态系统,这也是可以利用的 [2]。
图 5.11 给出了 Zynq 生态系统的图形化表达,显示了有代表性的 (而非全部) 的精选的软件、硬件和支持资源。这个生态系统包括 Xilinx Alliance Program 伙 伴和其他基于 Zynq 或 Zynq 相关的产品和服务的第三方开发者 [59][61]。
5.7.2. 有什么机会?
Xilinx 鼓励第三方开发和销售围绕 Zynq 的产品与服务。这些产品与服务的市场主要是开发基于 Zynq 的产品的公司的圈子,这个圈子正在稳定地成长。不过,由于这个芯片是由两个标准的部件(ARM 处理器和 FPGA 部分)组成的,还存在向这两个平台移植的可能。比如,IP 开发者的机会是创建 Zynq 用户用的 IP 包,而这些包也可以用于通用的 FPGA 上。因此 Zynq 生态系统代表了技术公司可以参与其中的商业机会。
除了商业运作,还有开源项目和免费软件的机会。其实图 5.11 里描绘的生态系 统的某些部件就是开源的,比如广泛使用的用于计算机视觉的 OpenCV 库 [34] 和FreeRTOS 实时操作系统 [12]。
从另一方的角度,也就是产品开发者的角度来看,生态系统提供了获得创建基 于 Zynq 的系统所需的重要资源的机会。它代表了利用第三方 IP、软件部件、开发工具等的机会,使得开发者得以加速他们的设计和验证的过程,因此能更快地投入市场。
图 5.11: Zynq 生态系统
5.8. 本章回顾
本章精选了一些 Zynq 很适合的应用,从而展示了 Zynq 的广泛的应用能力。本章以实例分析的方式详细描述了三个特别的领域,分别是 SDR、智能系统与网络及图像与视频处理。每个例子都显示灵活性和可扩展性是重要的,因此 Zynq 是一个理想的平台。还着重指出了对不同处理类型的需要:像是计算机视觉这样的应用中,既需要高速、并行计算,也需要在处理器的软件上运行更为 “ 智能 ” 的算法。
还介绍了 DPR 技术,说明 DPR 可以提供很多好处,不仅仅是运作灵活性,还给基于 Zynq 的系统带来成本、功耗和升级能力方面的好处。
最后讨论了 Zynq 生态系统,并总结了大量的不断增长的第三方产品 (既有免费的也有商业的)。要指出的是参与到这个生态系统中来,为资源的提供者构成了商业机会,而对于这些资源的使用者来说,则代表了加速产品设计周期的有价值的机制
5.9. 参考文献
说明:所有的 URL 最后在 2014 年 6 月访问过。
[1] Apertus.org, “AXIOM Alpha Progress Report” 网页 , May 2013.位于 : https://www.apertus.org/article-axiom-alpha-update
[2] ARM Ltd., “ARM Community” 网页 .位于 : http://www.arm.com/community/
[3] D. Bailey, Design for Embedded Image Processing on FPGAs, Wiley-IEEE Press, 2011.
[4] T. Barnaby, “FPGAs Help Measure Trajectory of Particles in CERN’s Proton Synchrotron”, Xcell Journal, Fourth Quarter 2009, pp. 22 - 26.
[5] BBC News, “How New York is Releasing its ‘Big Data’ to the Public”, 12th October 2013. 位于 : http://www.bbc.co.uk/news/technology-24505860
[6] A. Bohandi, “Smart Transport”, Engineering & Technology, Vol. 7, Issues 6, July 2012, pp. 70 - 73.
[7] N. Buch, S. A. Velastin and J. Orwell, “A Review of Computer Vision Techniques for the Analysis of Urban Traffic”, IEEE Transactions on Intelligent Transportation Systems, Vol. 12, No. 3, September 2011, pp. 920 - 939.
[8] B. Dipert, J. Alvarez and M. Touriguian, “Embedded Vision: FPGAs’ Next Notable Technology Opportunity”, Xcell Journal, First Quarter 2012, pp. 14 - 19. 位于 : http://www.xilinx.com/publications/archives/xcell/Xcell78.pdf
[9] A. Dembosky, “Silicon Valley links with Salinas Valley to make Farming ‘Smart’”, Financial Times (ft.com), 28th June 2013.位于 : http://www.ft.com/cms/s/0/55656cf2-dff4-11e2-bf9d-00144feab7de.html#axzz2iIdk82Be
[10]F. Fons and M. Fons, “FPGA-based Automotive ECU Design Addresses AUTOSAR and ISO 262622 Standards”, Xcell Journal, First Quarter 2012, pp. 20 - 31. 位于 : http://www.xilinx.com/publications/archives/xcell/Xcell78.pdf
[11]F. Fons and M. Fons, “Making Biometrics the Killer App for FPGA Dynamic Partial Reconfiguration”, Xcell Journal, Third Quarter 2010, pp. 24 - 31.位于 : http://www.xilinx.com/publications/archives/xcell/Xcell72.pdf
[12]FreeRTOS 网站 .位于 : http://www.freertos.org/
[13]R. C. Gonzalez and R. E. Woods, Digital Image Processing, 3rd Edition, Pearson, 1998.
[14]A. Guan, S. H. Bayless, and R. Neelakantan, “Connected Vehicle Insights: Trends in Computer Vision”, Intelligent Transportation Society of America, Technology Scan Series 2011-2012.位于 : http://www.itsa.org/knowledgecenter/technologyscan/computer-vision-report
[15]G. Hampson et al, “Xilinx FPGAs Beam Up Next-Gen Radio Astronomy”, Xcell Journal, Second Quarter 2011, pp. 30 - 35. 位于 : http://www.xilinx.com/publications/archives/xcell/Xcell75.pdf
[16]G. P. Hancke, B. de Carvalho e Silva, and G. P. Hancke Jr., “The Role of Advanced Sensing in Smart Cities”, Sensors 2013, pp. 393 - 425.位于 : http://www.mdpi.com/1424-8220/13/1/393
[17]f. harris and W. Lowdermilk, “Software Defined Radio: part 22 in a series of tutorials on instrumentation and measurement”, IEEE Instrumentation and Measurement Magazine, Vol. 13, Issue 1, February 2010, pp. 23 - 32.
[18]K. He, L. Crockett and R. Stewart, “Dynamic Reconfiguration Technologies Based on FPGA in Software Defined Radio System”, Journal of Signal Processing Systems, Vol. 69, Issue 1, October 2012, pp. 75 - 85.
[19]T. Hill, “Motor Drives Migrate to Zynq SoC with Help from MATLAB”, Xcell Journal, Second Quarter 2014, pp. 32 - 37. 位于 : http://www.xilinx.com/publications/archives/xcell/Xcell87.pdf
[20]IMEC, “Wireless Communication: Cognitive Radio” 网页 . 位于 : http://www.imec-nl.nl/nl_en/research/green-radios/cognitive-radio.html
[21]International Telecommunications Union, “H265: High Efficiency Video Coding”, Recommendation H.265 (04/13), April 2013.
[22]“Joint Tactical Networking Centre” 网页 .位于 : http://www.jtnc.mil/Pages/Home.aspx
[23]F. K. Jondral, “Software-Defined Radio - Basics and Evolution to Cognitive Radio”, EURASIP Journal on Wireless Communications and Networking, Vo. 2005, Issue 3, August 2005, pp. 275-283.
[24]K. Khan, “FPGAs Help Drive Innovation in Complex Medical Systems”, Medical Electronics Design 网站 , April 2012. 位于 : http://www.medicalelectronicsdesign.com/article/fpgas-help-drive-innovation-complex-medicalsystems
[25]C. Kohn, “Partial Reconfiguration of a Hardware Accelerator on Zynq-7000 All Programmable SoC Devices”, Xilinx Application Note, XAPP1159, v1.0, January 2013. 位于 : http://www.xilinx.com/support/documentation/application_notes/xapp1159-partial-reconfig-hwaccelerator-zynq-7000.pdf
[26]Y. Lin, “Using Xilinx Devices to Solve Challenges in Industrial Applications”, Xilinx White Paper, WP410, v2.0, October 2012.
[27]MathWorks, Inc., “Image and Video Processing” 网页 .位于 : http://www.mathworks.com/image-video-processing/
[28]Mike Mitchell, “Zynq for Video Applications”, Xilinx presentation, 2012. 位于 : http://www.xilinx.com/Attachment/52101/video_opps_rv3.pdf
[29]Joe Mitola, “The Software Radio Architecture”, IEEE Communications Magazine, May 1995, pp. 26 - 38.
[30]Moving Pictures Experts Group website, “MPEG-4” 网页 .位于 : http://mpeg.chiariglione.org/standards/mpeg-4
[31]S. Neuendorffer, T. Li and D. Wang, “Accelerating OpenCV Applications with Zynq-7000 All Programmable SoC using Vivado HLS Video Libraries”, Xilinx Application Note, XAPP1167, v2.0, August 2013. 位于 : http://www.xilinx.com/support/documentation/application_notes/xapp1167.pdf
[32]Nokia Research Center, “NRC Presents Cognitive Radio” 网页 . 位于 : https://research.nokia.com/page/9401
[33]OECD, “Building Blocks for Smart Networks”, OECD Digital Economy Papers, No. 215, OECD Publishing, 2013. 位于 : http://dx.doi.org/10.1787/5k4dkhvnzv35-en
[34]OpenCV 网站 ,位于 : http://opencv.org/
[35]Phenox Lab, “Phenox” 网页 .位于 : http://phenoxlab.com/?page_id=296
[36]Red Pitaya 网站 .位于 : http://redpitaya.com/
[37]M. Russell and S. Fischaber, “OpenCV Based Road Sign Recognition on Zynq”, Proceedings of the 11th International Conference on Industrial Informatics, Bochum, Germany, July 2013, pp. 596 - 601.
[38]M. Santarini, “Xilinx FPGAs to Power Next-Generation Networked Battlefield”, Xcell Journal, Fourth Quarter 2009, pp. 8 - 14.位于 : http://www.xilinx.com/publications/archives/xcell/Xcell69.pdf
[39]M. Santarini, “Xilinx’s New SDNet Environment Enables ‘Softly’ Defined Networks”, Xcell Journal, Second Quarter 2014, pp. 8 - 13.位于 : http://www.xilinx.com/publications/archives/xcell/Xcell87.pdf
[40]J. Shankleman, “Public Transport Gets Smart”, The Guardian, 9th January, 2013. 位于 : http://www.theguardian.com/public-leaders-network/2013/jan/09/centro-public-transport-travelsystems
[41]A. Shukla et al, “Cognitive Radio Technology: A Study for Ofcom - Volume 1”, QinetiQ Ltd. consultancy report, February 2007. 位于 : http://stakeholders.ofcom.org.uk/binaries/research/technology-research/cograd_main.pdf
[42]D. Snoonian, “Smart Buildings”, IEEE Spectrum, August 2003, pp. 18 - 23.
[43]E. Strickland, “Cisco Bets on South Korean Smart City”, IEEE Spectrum, August 2011, pp. 11 - 12.
[44]P. Sundararajan, “High Performance Computing Using FPGAs”, Xilinx White Paper, WP375, v1.0, September 2010.
[45]P. D. Sutton et al, “Iris: An Architecture for Cognitive Radio Networking Testbeds”, IEEE Communications Magazine, September 2010, pp. 114 - 122.
[46]Teradeep 网页 :http://www.teradeep.com/
[47]J.A. Throop, D. J. Aneshansley, W. C. Anger, and D. L. Peterson, “Quality evaluation of apples based on surface defects: development of an automated inspection system”, Postharvest Biology and Technology, Vol. 36, Issue 3, June 2005, pp. 281-290.
[48]U. S. Energy Information Administration, “Electricity Use by Machine Drives Varies Significantly by Manufacturing Industry”, October 2013, 位于 : http://www.eia.gov/todayinenergy/detail.cfm?id=13431
[49]J. van de Belt, P. D. Sutton, and L. E. Doyle, “Accelerating Software Radio: Iris on the Zynq SoC”, Proceedings of the IFIP/IEEE 21st International Conference on Very Large Scale Integration (VLSI-SoC), October 2013, pp. 294 - 295.
[50]G. Velez et al, “A Reconfigurable Embedded Vision System for Advanced Driver Assistance”, Journal of Real Time Image Processing, Springer, March 2014.
[51]N. Walravens and P. Ballon, “Platform Business Models for Smart Cities: From Control and Value to Governance and Public Value”, IEEE Communications Magazine, June 2013, pp. 72 - 79.
[52]B. Wang and K. J. R. Liu, “Advances in Cognitive Radio Networks: A Survey”, IEEE Journal of Selected Topics in Signal Processing, Vol. 5, No. 1, February 2011, pp. 5 - 23.
[53]J. Wang, M. Ghosh, and K. Challapali, “Emerging Cognitive Radio Applications: A Survey”, IEEE Communications Magazine, March 2011, pp. 74 - 81.
[54]S. Weston et al, “FPGAs Speed the Computation of Complex Credit Derivatives”, Xcell Journal, First Quarter 2011, pp. 18 - 25.位于 : http://www.xilinx.com/publications/archives/xcell/Xcell74.pdf
[55]Wireless Innovation Forum, “What is Software Defined Radio?” 网页 ,位于 : http://www.wirelessinnovation.org/introduction_to_sdr
[56]xG Technology, “xG Technology Ships World’s First Comprehensive Cognitive Radio System to Walnut Hill Telephone Company”, press release, 16th October, 2013. 位于 : http://www.xgtechnology.com/2013-Press-Releases/xg-technology-ships-worlds-firstcomprehensive-cognitive-radio-system-to-walnut-hill-telephone-company.html
[57]Xilinx, Inc., “A Generation Ahead: Smarter Networks”, Backgrounder, 2013.位于 : http://www.xilinx.com/publications/prod_mktg/smarter-networks-backgrounder.pdf
[58]Xilinx, Inc., “Defense Grade Zynq-7000Q AP SoCs” 网页 .位于 : http://www.xilinx.com/products/silicon-devices/soc/zynq-7000q.html[59]Xilinx, Inc., “Xilinx Alliance Program” 网页 .位于 : http://www.xilinx.com/alliance/index.htm[60]Xilinx Inc., “Xilinx’s Zynq-7000 All Programmable SoCs Enable Mobilicom’s Advanced Peer-to-Peer Software-Defined Radios”, press release, 16th July 2013. 位于 : http://press.xilinx.com/2013-07-16-Xilinxs-Zynq-7000-All-Programmable-SoCs-EnableMobilicoms-Advanced-Peer-to-Peer-Software-Defined-Radios [61]Xilinx, Inc., “Zynq 7000 AP SoC Ecosystem” 网页 .位于 : http://www.xilinx.com/products/silicon-devices/soc/zynq-7000/ecosystem/index.htm[62]C. Zammariello and A. Lorelli, “Towards SDR Standardisation for Military Applications”, European Defence Agency news article, January 2012. 位于 : http://www.eda.europa.eu/info-hub/news/12-01-11/Towards_SDR_standardisation_for_military_applications
第十五篇到此结束,下一篇将带来第十六篇,开启第六章,The ZedBoard 等相关内容。欢迎各位大侠一起交流学习,共同进步。
END
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!